:root{--navy:#244c86;--navy-dark:#173968;--navy-light:#edf3fb;--border:#ccd5e0;--ink:#1b2b40;--muted:#697b90;--background:#e8edf3;--white:#fff;--danger:#b34242;--green:#18754f}
*{box-sizing:border-box}
html{height:100%;font-family:Tahoma,Verdana,Arial,sans-serif;font-size:13px;color:var(--ink)}
body{margin:0;min-height:100%;background:linear-gradient(135deg,#edf2f7,#d8e1eb);line-height:1.45}
a{color:#20589b;text-decoration:none}
a:hover{text-decoration:underline}
button,input,select{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #327de6;outline-offset:2px}
.app-frame{max-width:1740px;min-height:100vh;margin:0 auto;display:flex;flex-direction:column;padding:18px 24px 15px}
.app-banner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 5px 16px}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark,.window-mark{display:inline-flex;align-items:center;justify-content:center;color:white;background:linear-gradient(150deg,#4a95dc,#1a447d);box-shadow:inset 1px 1px 0 #ffffff78;border:1px solid #0d3874;font-family:Georgia,serif;font-weight:bold}
.brand-mark{height:39px;width:39px;border-radius:9px;font-size:28px;font-style:italic}
.brand strong{display:block;font-family:Arial,sans-serif;font-size:26px;color:#183966;font-style:italic;line-height:27px;letter-spacing:-1.5px}
.brand strong span{color:#5f82ab;font-weight:400}
.brand small{font-size:9px;display:block;letter-spacing:2px;color:#687b92;font-weight:bold}
.user-area{display:flex;align-items:center;gap:20px}
.user-area>div{text-align:right}
.user-area strong,.user-area span{display:block}
.user-area strong{font-size:12px;color:#203d62}
.user-area span{font-size:10px;color:#65768a}
.exit-button{border:1px solid #aab9cd;background:#f8fafc;color:#2e4d72;padding:8px 13px;border-radius:5px;font-size:11px;font-weight:bold}
.exit-button:hover{background:#fff}
.app-window{display:flex;flex-direction:column;flex:1;border:1px solid #76859a;border-radius:6px 6px 0 0;overflow:hidden;background:#f2f4f7;box-shadow:0 12px 28px #233a5650}
.window-title{display:flex;align-items:center;gap:8px;height:31px;background:linear-gradient(#4b7aad,#1d4e88 60%,#1b4277);color:white;padding:0 10px;font-size:12px;font-weight:bold;text-shadow:0 1px 1px #18375b;user-select:none}
.window-mark{width:18px;height:18px;font-size:14px;border-radius:3px;background:#fafafa;color:#1b4d89;box-shadow:none;border-color:#d1e0f3}
.window-controls{margin-left:auto;letter-spacing:4px;color:#e0eafa;font-family:Arial,sans-serif;font-size:15px}
.menubar{display:flex;gap:0;background:#f7f7f7;height:33px;padding-left:7px;align-items:stretch;border-bottom:1px solid #c8cfda}
.dropdown{position:relative;display:flex;align-items:stretch}
.menu-trigger{border:0;background:transparent;color:#202b38;padding:0 13px;font-size:12px}
.dropdown:hover .menu-trigger,.dropdown:focus-within .menu-trigger{background:#e1e9f4}
.dropdown-body{display:none;position:absolute;left:0;top:100%;z-index:50;min-width:195px;border:1px solid #8093ab;background:#f6f7f9;box-shadow:2px 4px 12px #0003;padding:4px}
.dropdown:hover .dropdown-body,.dropdown:focus-within .dropdown-body{display:block}
.dropdown-body a,.dropdown-body button{display:block;border:0;background:transparent;color:#203347;font-weight:normal;font-size:12px;width:100%;padding:8px;text-align:left;white-space:nowrap}
.dropdown-body a:hover,.dropdown-body button:hover{background:#d9e6f9;text-decoration:none}
.toolbar{display:flex;align-items:center;gap:4px;padding:6px 10px;min-height:48px;background:linear-gradient(#f7f9fc,#e8edf5);border-bottom:1px solid #bdcadb}
.tool-btn{height:31px;min-width:36px;background:transparent;border:1px solid transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 9px;color:#25558c;font-weight:bold;font-size:19px}
.tool-btn span{font-size:11px;color:#4c5d70;font-weight:normal}
.tool-btn:hover{border-color:#9ab2cf;background:#fff;text-decoration:none}
.toolbar-spacer{flex:1}
.tool-separator{width:1px;height:25px;background:#c5cfdb;margin:0 5px}
.search-widget{display:flex;align-items:center;gap:8px;color:#60738c;font-size:10px;text-transform:uppercase;letter-spacing:0.4px}
.search-widget input{width:195px;background:white;border:1px solid #afbed1;border-radius:4px;padding:6px 9px;color:#243a58;text-transform:none}
.search-shortcut{padding:2px 4px;background:#e8edf3;border:1px solid #d3dbe6;border-radius:3px;font-size:9px;text-transform:none}
.body-grid{display:grid;grid-template-columns:246px minmax(0,1fr);flex:1;min-height:650px}
.menu-pane{display:flex;flex-direction:column;background:#eaf0f7;border-right:1px solid #bcc9da;overflow:auto}
.pane-heading{background:#d6e1ef;border-bottom:1px solid #b8c9dd;padding:10px 14px;color:#35577e;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:0.7px}
.menu-tree{padding:9px 7px 0 10px}
.tree-home,.tree-group summary,.tree-item{display:flex;align-items:center;gap:7px;padding:7px 8px;color:#334c67;font-size:11px;border-radius:3px;list-style:none}
.tree-home{font-weight:bold;margin-bottom:3px}
.tree-home.active,.tree-item.active{background:#cddff3;color:#1c4a81;font-weight:bold}
.tree-group summary{cursor:pointer;font-weight:bold}
.tree-group summary::-webkit-details-marker{display:none}
.tree-group summary::before{content:'▸';font-size:10px;color:#7c8fa5}
.tree-group[open] summary::before{content:'▾'}
.tree-group summary:hover,.tree-item:hover,.tree-home:hover{background:#dce8f6;text-decoration:none}
.tree-children{margin:0 0 5px 17px;padding-left:9px;border-left:1px dashed #aebfd2}
.tree-item{font-weight:normal;line-height:1.25;min-height:29px}
.tree-item.muted{color:#8793a3;font-style:italic}
.tree-folder,.large-folder{display:inline-block;flex:none;position:relative;background:linear-gradient(#ffe9a3,#eabb58);border:1px solid #b99236;border-radius:1px 3px 3px 2px;width:15px;height:11px;box-shadow:inset 1px 1px 0 #fff6}
.tree-folder:before,.large-folder:before{content:'';position:absolute;background:#f2cf79;border:1px solid #c5a053;border-bottom:0;width:7px;height:3px;top:-4px;left:1px;border-radius:2px 2px 0 0}
.tree-file{display:inline-block;flex:none;width:11px;height:14px;background:linear-gradient(#fff,#d9e7f5);border:1px solid #86a0b9;border-radius:1px}
.sidebar-note{margin:auto 12px 16px;padding:12px;background:#f4f8fc;border:1px solid #cbd9e9;border-radius:4px;color:#5e7390;font-size:11px}
.sidebar-note strong{color:#355980;display:block;margin-bottom:3px}
.sidebar-note p{margin:0;line-height:1.6}
.main-pane{padding:0 25px 34px;background:#fff;min-width:0;min-height:640px}
.breadcrumb{padding:13px 0 10px;font-size:10px;color:#8592a2;border-bottom:1px solid #ebeff5;text-transform:uppercase;letter-spacing:0.7px}
.breadcrumb span{padding:0 9px;color:#b0becb}
.session-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 20px}
.session-heading h1{margin:4px 0;font-family:Arial,sans-serif;font-size:25px;font-weight:600;letter-spacing:-0.5px;color:#1e3655}
.session-heading p{margin:5px 0 0;color:#697b91;font-size:12px}
.eyebrow{color:#4676ab;font-size:10px;letter-spacing:1.4px;font-weight:bold}
.session-code{text-align:right;font-size:10px;color:#8292a4;line-height:1.6;letter-spacing:0.3px;min-width:100px}
.session-code strong{display:block;color:#2a5787;font-size:17px;letter-spacing:0;font-weight:bold}
.session-code small{display:block;font-size:9px}
.welcome-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(110deg,#f0f6fe,#f8fbff);border:1px solid #dce7f5;border-left:3px solid #477db6;padding:14px 18px;margin-bottom:22px;border-radius:3px}
.welcome-strip strong,.welcome-strip span{display:block}
.welcome-strip strong{color:#27486d;font-size:13px}
.welcome-strip div span{color:#73869d;font-size:11px;margin-top:2px}
.warning-tag{font-size:10px;color:#966e2f;font-weight:bold;background:#fff5df;border:1px solid #f1dfb6;border-radius:3px;padding:6px 9px;white-space:nowrap}
.desktop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.module-card{border:1px solid #dde4ed;background:#fdfefe;border-radius:5px;min-height:156px;padding:16px;transition:border-color .15s,box-shadow .15s}
.module-card:hover{border-color:#b5c9df;box-shadow:0 3px 12px #34536d16}
.module-card-head{display:flex;align-items:flex-start;gap:12px}
.large-folder{height:21px;width:28px;border-radius:2px 4px 4px 2px;margin-top:7px}
.large-folder:before{width:13px;height:5px;top:-6px}
.module-card-head a{display:block;font-weight:bold;color:#284c78;font-size:13px}
.module-card-head small{display:block;color:#8796a8;margin-top:3px;font-size:10px}
.module-links{display:flex;flex-direction:column;gap:0;margin:15px 0 0 40px;border-top:1px solid #e9eef4;padding-top:5px}
.module-links a{display:flex;justify-content:space-between;align-items:center;color:#546e8b;font-size:11px;padding:4px 0}
.module-links a span{color:#9eafc2}
.module-unavailable{font-size:10px;color:#9aabbc;font-style:italic;margin:15px 0 0 40px}
.important-note{margin-top:23px;background:#fafcff;border:1px solid #e2eaf4;padding:13px 16px;border-radius:4px;color:#76879b;font-size:11px;line-height:1.6}
.important-note strong{color:#4b6d95}
.status-bar{display:flex;align-items:center;height:30px;background:linear-gradient(#edf1f7,#dce4ed);border-top:1px solid #bbc7d6;color:#586c83;font-size:10px}
.status-cell{padding:5px 11px;border-right:1px solid #c4cedc;white-space:nowrap}
.status-grow{flex:1}
.ready-dot:before{content:'●';color:#35a16a;font-size:9px;margin-right:7px}
.site-footer{font-size:10px;text-align:center;color:#71839b;padding-top:11px}
.classic-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;white-space:nowrap;min-height:29px;border:1px solid #a5b4c6;background:linear-gradient(#fff,#eaf0f7);color:#30516e;border-radius:3px;padding:6px 12px;font-size:11px;font-weight:bold;box-shadow:inset 0 1px 0 white}
.classic-button:hover{background:linear-gradient(#fff,#e0e9f4);border-color:#7d9cbe;text-decoration:none}
.classic-button.primary{background:linear-gradient(#477fb8,#2d619a);border-color:#27558d;color:white;text-shadow:0 1px 0 #274d7a}
.classic-button.primary:hover{background:linear-gradient(#538fc7,#28588c)}
.classic-button.danger{color:#9b3737;border-color:#d3aaaa;background:linear-gradient(#fff,#fcf0f0)}
.classic-button kbd{font-family:inherit;font-size:9px;color:#8194a8;background:#f9fbfd;border:1px solid #d5dde7;border-radius:2px;padding:1px 4px;font-weight:normal}
.form-toolbar{display:flex;gap:7px;align-items:center;margin-bottom:15px;padding:9px 10px;border:1px solid #dce5ef;background:#f5f8fb;border-radius:4px}
.code-label{font-family:monospace;font-size:11px;color:#7590ac}
.data-panel{border:1px solid #ced9e7;border-radius:4px;margin-bottom:17px;overflow:hidden;background:#fff}
.panel-title{background:linear-gradient(#f8fafc,#e9eff6);border-bottom:1px solid #d6dfe9;display:flex;align-items:center;justify-content:space-between;padding:10px 13px;font-size:11px;font-weight:bold;color:#355779}
.panel-title span+span{font-size:10px;font-weight:normal;color:#8094ab}
.filter-row{display:flex;align-items:center;gap:9px;padding:11px 13px;background:#fff;border-bottom:1px solid #e2e9f0}
.filter-row label{font-size:11px;color:#647991}
input,select{border:1px solid #b5c2d1;border-radius:2px;background:#fff;padding:7px 9px;color:#213b59;min-width:0}
input:focus,select:focus{border-color:#4f85ba;outline:1px solid #b6d1ef}
input[readonly],select[disabled]{background:#f4f6f9;color:#748298}
.filter-row input{min-width:220px;max-width:430px;flex:1}
.table-scroll{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}
.data-table th{background:#edf3f9;color:#4d6481;font-weight:bold;text-align:left;padding:9px 11px;border-right:1px solid #dce5ee;border-bottom:1px solid #ccd9e7}
.data-table td{padding:9px 11px;border-bottom:1px solid #e9edf2;vertical-align:middle}
.data-table tr:nth-child(even) td{background:#fafcfe}
.data-table tr.record-row{cursor:pointer}
.data-table tr.record-row:hover td{background:#eaf3ff}
.data-table tr.record-row.selected td{background:#dcebf9;color:#244a7b}
.data-table th:last-child,.data-table td:last-child{border-right:0}
.data-table .num{text-align:right;font-variant-numeric:tabular-nums}
.data-table tfoot td{background:#eef4fa;font-weight:bold;border-top:1px solid #ced9e7}
.no-records{text-align:center;color:#8999aa;padding:27px!important;font-style:italic}
.table-footer{display:flex;justify-content:space-between;align-items:center;background:#fbfcfe;border-top:1px solid #e9eef4;padding:9px 12px;font-size:10px;color:#8393a6}
.table-footer a{padding:0 7px}
.form-panel{margin-top:17px}
.session-form{padding:17px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.field-label{display:flex;flex-direction:column;gap:5px;color:#4c6480;font-size:11px;font-weight:bold}
.field-label span em{color:#bc4938;font-style:normal}
.field-label input,.field-label select{width:100%;height:33px;font-weight:normal;font-size:12px}
.field-label.full{grid-column:1/-1}
.field-label.inline-checkbox{flex-direction:row;align-items:center;gap:15px;padding-top:12px}
.field-label.inline-checkbox input{width:16px;height:16px}
.form-actions{display:flex;gap:9px;align-items:center;margin-top:21px;border-top:1px solid #e6ecf3;padding-top:14px}
.disable-row{border-top:1px solid #ebeff4;padding:12px 17px;display:flex;justify-content:flex-end}
.read-only,.warning{padding:10px 13px;background:#fff6e7;border-bottom:1px solid #f2e1bd;color:#825d26;font-size:11px}
.notice{padding:11px 14px;margin:13px 0;color:#19593c;background:#ebf8f1;border-left:3px solid #269568;font-size:12px}
.notice-error{background:#fff0ee;border-color:#bd5747;color:#9a4135}
.session-list{border:1px solid #d6e0ec;border-radius:4px;overflow:hidden}
.session-list>a{display:flex;align-items:center;gap:15px;padding:15px;border-bottom:1px solid #e5eaf1}
.session-list>a:last-child{border-bottom:0}
.session-list>a:hover{background:#f0f7ff;text-decoration:none}
.session-list>a strong,.session-list>a small{display:block}
.session-list>a strong{color:#335b8a;font-size:12px}
.session-list>a small{color:#879aaf;font-family:monospace;font-size:10px}
.list-icon{font-size:23px;color:#5d89b8}
.open-arrow{margin-left:auto;font-size:17px;color:#a4b2c4}
.empty-state{text-align:center;border:1px dashed #bdcadd;border-radius:5px;padding:60px 30px;color:#73839b;background:#fbfcff}
.empty-state h2{font-size:19px;color:#35577a}
.empty-state p{max-width:430px;margin:10px auto 24px;font-size:12px}
.empty-icon{font-size:40px;color:#7ea4c9}
.status-pill{display:inline-block;border-radius:3px;background:#edf1f6;color:#596d84;font-size:10px;padding:3px 8px;border:1px solid #dce2e9}
.status-confirmed,.status-ordered{background:#edf4fe;color:#416b9e;border-color:#d2e0f5}
.status-received,.status-shipped{background:#e9f7ef;color:#25734c;border-color:#cde9d9}
.status-cancelled{background:#fff0f0;color:#ab4747;border-color:#f1d1d1}
.sub-panel-title{padding:13px 15px;font-weight:bold;color:#365a80;font-size:11px;background:#f6f9fc;border-top:1px solid #dce5ee;border-bottom:1px solid #dce5ee}
.add-line-form{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;padding:16px;background:#fbfcfe;border-top:1px solid #e1e8f0}
.add-line-form label{display:flex;flex-direction:column;gap:5px;color:#536b85;font-size:11px;font-weight:bold;flex:1;min-width:120px}
.add-line-form label:first-of-type{flex:2;min-width:240px}
.add-line-form select,.add-line-form input{height:32px;width:100%}
.small-delete{background:#fff4f4;border:1px solid #e4baba;color:#ac4d4d;border-radius:3px;width:23px;height:23px}
.transition-area{display:flex;align-items:center;justify-content:flex-end;gap:10px;background:#f7f9fb;border-top:1px solid #e1e8f1;padding:15px}
.login-stage,.setup-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 22% 12%,#c7d8e8,#e7eff5 55%,#d8e1eb)}
.login-window{width:min(430px,100%);border:1px solid #617b9b;border-radius:5px 5px 0 0;box-shadow:0 15px 45px #1f38504d;background:#fff;overflow:hidden}
.login-body{padding:32px 35px}
.login-logo{font-style:italic;font-weight:bold;font-family:Arial,sans-serif;color:#174477;letter-spacing:-2px;font-size:40px;text-align:center;line-height:1}
.login-logo span{color:#658bb8;font-weight:400}
.subheading{text-align:center;color:#7b8d9e;font-size:11px;margin:8px 0 32px}
.login-body form{display:flex;flex-direction:column;gap:16px}
.login-body label,.setup-card label{display:flex;flex-direction:column;gap:6px;color:#496584;font-size:11px;font-weight:bold}
.login-body label input{padding:10px 11px;width:100%;height:40px;font-size:13px}
.login-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8394a7;font-size:11px;padding-top:5px}
.login-row strong{color:#496b91}
.login-help{font-size:10px;color:#94a1af;margin:7px 0 0;line-height:1.6}
.window-status{border-top:1px solid #d5dee9;background:#e9eef6;color:#68809a;font-size:10px;padding:8px 12px}
.setup-card{width:min(540px,100%);padding:30px;background:#fff;border:1px solid #bccbdc;box-shadow:0 8px 28px #0002}
.setup-card h1{margin:0 0 10px;color:#214d7e}
.setup-card form{display:flex;flex-direction:column;gap:20px;margin:20px 0}
.setup-card .warning{margin-top:15px}
@media(max-width:1200px){.desktop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.body-grid{grid-template-columns:214px minmax(0,1fr)}.main-pane{padding:0 18px 25px}.status-grow{display:none}}
@media(max-width:760px){.app-frame{padding:0}.app-banner{padding:10px 12px;height:auto}.brand strong{font-size:20px}.brand small{font-size:8px}.user-area{gap:7px}.user-area span{display:none}.app-window{border-radius:0}.body-grid{grid-template-columns:minmax(0,1fr)}.menu-pane{border-right:0;border-bottom:1px solid #c8d4e1;max-height:220px;overflow:auto}.sidebar-note{display:none}.main-pane{padding:0 13px 22px}.desktop-grid{grid-template-columns:minmax(0,1fr)}.module-card{min-height:110px}.toolbar .tool-btn span,.search-widget>span,.search-shortcut{display:none}.search-widget input{width:140px}.session-heading h1{font-size:20px}.session-code{min-width:60px}.field-grid{grid-template-columns:1fr}.status-cell:nth-child(2){display:none}.status-bar{font-size:9px}.welcome-strip{align-items:flex-start;flex-direction:column}.add-line-form label:first-of-type{min-width:100%}}
@media print{.app-banner,.menubar,.toolbar,.menu-pane,.form-toolbar,.site-footer,.form-actions,.disable-row,.add-line-form,.transition-area,.exit-button{display:none!important}.app-frame{padding:0}.app-window{box-shadow:none;border:0}.body-grid{display:block}.main-pane{padding:10px}.data-panel{break-inside:avoid}.status-bar{background:white}}
