/* [KM-UI-NORDIC-NEW-B1A1] Logic: 北歐主題 Design Token 與全域基礎定義 */
:root {
    --bg-color: #fcfaf8;
    --glass-bg: rgba(255, 255, 255, 0.95);
    --glass-border: rgba(188, 108, 37, 0.15);
    --primary-gradient: linear-gradient(135deg, #d4a373 0%, #faedcd 100%);
    --accent-color: #bc6c25;
    --text-main: #2d3436;
    --text-muted: #636e72;
    --card-bg: #fff;
    --sidebar-width: 300px;
    --header-height: 70px;
    --module-toolbar-height: 58px;
    --quote-fixed-left-width: 680px;
    --quote-vendor-col-width: 176px;
    --quote-table-min-3-vendors: 1208px;
    --quote-table-min-4-vendors: 1384px;
    --quote-matrix-region-height: 766px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Outfit', 'Noto Sans TC', sans-serif;
    -webkit-font-smoothing: antialiased;
    font-size: 0.9rem;
}

body {
    background-color: var(--bg-color);
    background-image: 
        radial-gradient(at 0% 0%, rgba(212, 163, 115, 0.08) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(250, 237, 205, 0.1) 0px, transparent 50%);
    color: var(--text-main);
    margin: 0;
    overflow: hidden;
    height: 100vh;
}

#app {
    display: grid;
    grid-template-areas: 
        "header"
        "module-toolbar"
        "main";
    grid-template-rows: var(--header-height) var(--module-toolbar-height) 1fr;
    grid-template-columns: 1fr;
    height: 100vh;
    width: 100vw;
    overflow: hidden;
}

/* Glass Scrollbar [KM-UI-NORDIC-MOD-S1B2] */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.08); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.15); }
