:root{--navy:#13285a;--navy-2:#1a3470;--navy-text:#c8d3ec;--blue:#2563eb;--blue-soft:#e8f0fe;--green:#16a34a;--green-soft:#e7f7ec;--orange:#f59e0b;--orange-soft:#fff3e0;--purple:#7c5cd6;--purple-soft:#f1ecfd;--bg:#f3f6fb;--surface:#fff;--border:#e3e8f0;--border-strong:#cfd7e3;--text:#1b2437;--muted:#6b7486;--accent:#2563eb;--ok:#15803d;--ok-bg:#e5f6eb;--warning:#b45309;--warning-bg:#fff1dc;--danger:#dc2626;--danger-bg:#fdecec;--radius:8px;--radius-lg:14px;--shadow:0 1px 2px #1018280a, 0 2px 8px #1018280d;--gap:18px;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:700}h2{margin:0;font-size:16px;font-weight:700}.shell{min-height:100vh;display:flex}.sidebar{width:236px;color:var(--navy-text);background:linear-gradient(#14295c 0%,#102250 100%);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:12px;padding:22px 20px 20px;display:flex}.brand-mark{background:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;padding:4px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:17px;font-weight:800;line-height:1.1;display:block}.brand-accent{color:#f87171}.brand-sub{color:var(--navy-text);margin-top:4px;font-size:11px;line-height:1.25;display:block}.sidebar nav{flex-direction:column;flex:1;gap:4px;padding:8px 14px;display:flex}.sidebar nav a{color:var(--navy-text);border-radius:10px;align-items:center;gap:12px;padding:11px 14px;font-weight:500;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff12;text-decoration:none}.sidebar nav a.active{background:var(--blue);color:#fff;box-shadow:0 4px 12px #2563eb59}.nav-badge{color:#fff;background:#ef4444;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:grid}.sidebar-user{color:#fff;border-top:1px solid #ffffff14;align-items:center;gap:12px;padding:18px 20px;display:flex}.avatar{width:38px;height:38px;color:var(--navy);background:#c9d5f2;border-radius:50%;place-items:center;display:grid}.user-name{font-weight:600;display:block}.user-role{color:var(--navy-text);font-size:12px;display:block}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar-search{border:1px solid var(--border-strong);max-width:460px;color:var(--muted);background:#fff;border-radius:10px;flex:1;align-items:center;gap:10px;padding:0 12px;display:flex}.topbar-search input{background:0 0;border:0;outline:none;padding:10px 0}.topbar-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.topbar-right{align-items:center;gap:22px;display:flex}.icon-btn{color:#475169;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px;position:relative}.icon-btn:hover{background:#f1f4f9}.dot-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:-2px;right:-4px}.topbar-date{border-left:1px solid var(--border);color:#475169;align-items:center;gap:10px;padding-left:22px;display:flex}.topbar-date strong{color:var(--text);font-size:14px;display:block}.topbar-date .small{display:block}.content{gap:var(--gap);flex-direction:column;flex:1;min-width:0;padding:24px 28px;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--gap);flex-wrap:wrap;display:flex}.page-header p{margin:4px 0 0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.card{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-body{padding:18px}.card-head{align-items:center;gap:12px;display:flex}.card-head p{margin:2px 0 0}.card-head .push,.card-head>a:last-child{white-space:nowrap;margin-left:auto}.head-icon{background:var(--blue-soft);width:36px;height:36px;color:var(--blue);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.head-icon.warn{background:var(--warning-bg);color:var(--warning)}.bordered-top{border-top:1px solid var(--border)}.grid-2{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(420px,1fr));align-items:start;display:grid}.grid-3{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.dash{gap:var(--gap);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.dash-main{gap:var(--gap);flex-direction:column;min-width:0;display:flex}.dash-side{gap:var(--gap);flex-direction:column;display:flex;position:sticky;top:90px}.dash-row{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(330px,1fr));align-items:stretch;display:grid}.welcome{border-radius:var(--radius-lg);background:linear-gradient(90deg,#e3edfd 0%,#eef4ff 100%);border:1px solid #d6e3fb;align-items:center;gap:18px;padding:20px 24px;display:flex}.welcome p{color:#3d4a63;margin:4px 0 0}.welcome-icon{width:58px;height:58px;color:var(--blue);box-shadow:var(--shadow);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.kpis{gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kpi{border-radius:var(--radius-lg);border:1px solid var(--border);min-width:0;padding:16px 18px}.kpi-icon{color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:12px;display:grid}.kpi-label{color:#3d4a63;font-size:13px;font-weight:500}.kpi-value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:28px;font-weight:800}.kpi-value-text{white-space:nowrap;text-overflow:ellipsis;padding:4px 0 2px;font-size:20px;overflow:hidden}.kpi-note{color:#3d4a63;align-items:center;gap:4px;margin-top:6px;font-size:12px;display:flex}.note-up{color:var(--ok)}.note-down,.note-alert{color:var(--danger)}.kpi-blue{background:#edf3ff;border-color:#d9e5fd}.kpi-blue .kpi-icon{background:#5b8def}.kpi-green{background:#ebf8ef;border-color:#cfeeda}.kpi-green .kpi-icon{background:#34b36a}.kpi-orange{background:#fff4e6;border-color:#fde3c0}.kpi-orange .kpi-icon{background:#f59e0b}.kpi-purple{background:#f3effd;border-color:#e3d9fa}.kpi-purple .kpi-icon{background:#8b6fe0}.colchart{flex-direction:column;gap:8px;display:flex}.colchart-plot{border-bottom:1px solid var(--border-strong);align-items:flex-end;gap:14px;height:190px;padding:22px 6px 0;display:flex}.col{cursor:default;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.col-value{color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:12px;font-weight:700}.col-bar{background:var(--blue);border-radius:4px 4px 0 0;width:100%;max-width:56px;min-height:2px;transition:opacity .1s}.col:hover .col-bar{opacity:.85}.col-tip{color:#fff;white-space:nowrap;z-index:2;pointer-events:none;background:#1b2437;border-radius:6px;flex-direction:column;padding:6px 10px;font-size:12px;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.colchart-labels{gap:14px;padding:0 6px;display:flex}.colchart-labels a{text-align:center;color:#3d4a63;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.pred-list,.review-list,.upcoming{margin:0;padding:0;list-style:none}.pred-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:11px 0;display:flex}.pred-list .prov{color:var(--muted);cursor:help;font-size:13px;font-weight:700}.pred-list li:last-child{border-bottom:0}.pred-list li>a{color:var(--text);flex:1;min-width:120px;font-weight:500}.review-list li{border-bottom:1px solid var(--border);padding:8px 0}.review-list li:last-child{border-bottom:0}.pill{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.pill-danger{background:var(--danger-bg);color:var(--danger)}.pill-warning{background:var(--warning-bg);color:var(--warning)}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-neutral{color:var(--muted);background:#eef1f6}.tag{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.tag-danger{background:var(--danger-bg);color:var(--danger);border-color:#f8caca}.tag-warning{background:var(--warning-bg);color:var(--warning);border-color:#fbd9a5}.tag-ok{background:var(--ok-bg);color:var(--ok);border-color:#bfe8cd}.tag-neutral{color:var(--muted);border-color:var(--border);background:#eef1f6}.row-avatar{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);vertical-align:middle;border-radius:50%;place-items:center;margin-right:10px;font-size:12px;font-weight:700;display:inline-grid}.pipeline{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:10px;display:grid}.pipe{border-radius:var(--radius);background:#f7f9fc;padding:10px 12px}.pipe-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.subhead{font-size:13px;font-weight:700}.side-title{margin-bottom:2px}.quick{flex-direction:column;gap:10px;display:flex}.qa{font:inherit;color:#fff;cursor:pointer;text-align:left;border:0;border-radius:10px;align-items:center;gap:12px;padding:13px 16px;font-weight:600;transition:filter .1s;display:flex}.qa:hover{filter:brightness(.95)}.qa-green{background:#22a35a}.qa-blue{background:#3b7cf0}.qa-orange{background:#f59e0b}.qa-purple{background:#7c5cd6}.upcoming{flex-direction:column;gap:8px;display:flex}.upcoming-item{border:1px solid var(--border);color:var(--text);border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.upcoming-item:hover{background:#f7f9fc;text-decoration:none}.date-tile{text-align:center;width:44px;color:var(--muted);background:#f1f5fb;border-radius:8px;flex-shrink:0;padding:4px 0;font-size:11px}.date-tile strong{color:var(--text);font-size:18px;line-height:1.1;display:block}.date-tile.overdue{background:var(--danger-bg);color:var(--danger)}.date-tile.overdue strong{color:var(--danger)}.upcoming-text{flex-direction:column;flex:1;min-width:0;display:flex}.upcoming-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reminder{border-radius:var(--radius-lg);background:#fff1f1;border:1px solid #fbd0d0;padding:18px 20px}.reminder h2{color:var(--danger);align-items:center;gap:8px;display:flex}.reminder p{color:#3d4a63;margin:10px 0 0;line-height:1.55}.stats{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.stats.compact{margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:14px 16px}.stat.warning{background:var(--orange-soft)}.stat.danger{background:var(--danger-bg)}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px}.stat-value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:700}.stat-value.small{font-size:18px}.stat-note{color:var(--muted);margin-top:2px;font-size:12px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;background:#f7f9fc;padding:11px 16px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:11px 16px}.table tbody tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#f7f9fc}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.table-soft{border:1px solid var(--border);border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden}.table-soft td{vertical-align:middle;white-space:nowrap}.right{text-align:right}.strong{font-weight:600}input,select,textarea{font:inherit;color:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;width:100%;padding:9px 12px}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2563eb1f}.btn{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;white-space:nowrap;color:var(--text);background:#fff;padding:9px 16px;font-weight:500}.btn:hover{background:#f4f6fa}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:#1d4fd8}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-small{padding:5px 11px;font-size:13px}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.icon-btn.icon-danger{color:var(--danger)}.icon-btn.icon-danger:hover{background:var(--danger-bg)}.modal.modal-wide{width:min(1080px,96vw)}.starting{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:14px;display:flex}.starting-head{flex-direction:column;gap:2px;display:flex}.starting-table th{white-space:normal;vertical-align:bottom;color:var(--text);min-width:110px;font-size:12px}.starting-table th span{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.starting-table td{white-space:normal;vertical-align:middle;padding:8px 10px}.starting-table td:first-child{min-width:170px}.starting-table input{min-width:80px}.starting-table .meaning{min-width:230px;font-size:13px;line-height:1.45}.add-row{align-self:flex-start;align-items:center;gap:5px;display:inline-flex}.guide{background:#f6f9fe;border:1px solid #dbe6fb;border-radius:10px;padding:0}.guide summary{cursor:pointer;color:var(--blue);padding:10px 14px;font-weight:600}.guide-body{flex-direction:column;gap:10px;padding:0 14px 12px;display:flex}.guide-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 18px;margin:0;display:grid}.guide-columns dt{font-size:13px;font-weight:700}.guide-columns dd{color:#3d4a63;margin:2px 0 0;font-size:13px}.guide-status{color:#3d4a63;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:6px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.guide-status .tag{margin-right:6px}.guide-wrap{padding:12px 18px 0}.guide-wrap+.table{margin-top:12px}.btn-delete{color:var(--danger);border-color:#f6c4c4;align-items:center;gap:5px;display:inline-flex}.btn-delete:hover{background:var(--danger-bg)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar select,.toolbar input[type=date]{width:auto}.toolbar .search{flex:1;min-width:240px}label.inline{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}label.inline select,label.inline input{width:auto;color:var(--text)}.tabs{background:#eef1f6;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.tab{font:inherit;cursor:pointer;color:#475169;background:0 0;border:0;border-radius:8px;padding:7px 14px;font-weight:500}.tab.active{color:var(--text);box-shadow:var(--shadow);background:#fff}.tab-count{opacity:.75;margin-left:6px;font-size:12px}.tabs-block{margin-bottom:14px;display:flex}.tabs-block .tab{flex:1}.form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.span-2{grid-column:span 2}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--muted);font-size:12px;font-weight:600}.field-hint{color:var(--muted);font-size:12px}.field-error{color:var(--danger);font-size:12px}.form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.hint{color:var(--muted);align-self:end;margin:0;font-size:12px}.calc-preview{color:#1e3a6e;background:#f0f6ff;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.badge{color:#475169;white-space:nowrap;background:#eef1f6;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badges{flex-wrap:wrap;gap:4px;display:inline-flex}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-ok{color:var(--ok)}.muted{color:var(--muted)}.small{font-size:12px}.pad{padding:16px}.empty{color:var(--muted);text-align:center;padding:24px 16px}.alert{border-radius:var(--radius);padding:12px 16px}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #f6c4c4}.notice{border-bottom:1px solid var(--border);color:#475169;background:#f6f9fe;margin:0;padding:10px 18px;font-size:13px}.notice.boxed{border:1px solid var(--border);border-radius:var(--radius)}.fb-mark{color:#fff;vertical-align:1px;background:#1877f2;border-radius:4px;margin-left:4px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1;display:inline-block}.info-row{gap:var(--gap);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:16px 18px;display:grid}.scroll-x{overflow-x:auto}.nowrap{white-space:nowrap}.modal-backdrop{z-index:60;background:#0f172a73;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);width:min(640px,94vw);max-height:84vh;overflow:auto;box-shadow:0 20px 50px #0f172a40}.modal p{margin-top:0}.calc{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:24px;display:grid}.calc-inputs{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.calc-inputs .field:last-child{grid-column:span 2}.calc-results{border:1px solid var(--border);border-radius:var(--radius);background:#f6f9fe;flex-direction:column;gap:14px;padding:14px 16px;display:flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.field.checkbox{justify-content:center}.field.checkbox input{width:auto;margin-right:6px}.assistant{gap:var(--gap);grid-template-columns:240px 1fr;align-items:start;display:grid}.conv-list{flex-direction:column;gap:4px;display:flex;position:sticky;top:90px}.btn.block{width:100%;margin-bottom:8px}.conv{border-radius:var(--radius);border:1px solid #0000;align-items:center;display:flex}.conv.active{background:var(--surface);border-color:var(--border)}.conv-title{text-align:left;font:inherit;cursor:pointer;color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:8px 10px;overflow:hidden}.conv-title:hover{color:var(--accent)}.chat{flex-direction:column;min-height:70vh;display:flex}.transcript{flex-direction:column;flex:1;gap:10px;max-height:65vh;padding:16px;display:flex;overflow-y:auto}.msg{border-radius:12px;max-width:85%;padding:10px 14px;line-height:1.5}.msg-user{background:var(--blue-soft);white-space:pre-wrap;align-self:flex-end}.msg-assistant{border:1px solid var(--border);background:#fff;align-self:flex-start}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 8px;padding-left:20px}.md-h{margin:4px 0 6px;font-weight:700}.md code,.notice code,.alert code,.gate code{background:#eef1f6;border-radius:4px;padding:1px 4px;font-size:12px}.md-pre,.tool-body pre,.approval pre{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#f6f9fe;border-radius:6px;max-height:320px;margin:4px 0 8px;padding:8px 10px;font-size:12px;overflow-x:auto}.md-table{border:1px solid var(--border);margin:4px 0 8px}.md-table td,.md-table th{padding:6px 10px}.tool{color:var(--muted);align-self:flex-start;max-width:85%;font-size:13px}.tool summary{cursor:pointer;list-style:none}.tool summary::-webkit-details-marker{display:none}.tool-icon{text-align:center;width:16px;font-weight:700;display:inline-block}.tool-done .tool-icon{color:var(--ok)}.tool-error .tool-icon{color:var(--danger)}.tool-body{margin-top:6px}.working{font-size:13px}.suggestions{text-align:left;color:var(--text);margin:8px 0 0;display:inline-block}.suggestions li{margin:4px 0}.chat-alert{margin:0 16px 8px}.approvals{border-top:1px solid var(--border);background:#fffaf0;flex-direction:column;gap:10px;padding:12px 16px;display:flex}.approvals-head{justify-content:space-between;align-items:center;display:flex}.approval{border:1px solid var(--border);border-left:4px solid var(--orange);border-radius:var(--radius);background:#fff;padding:10px 12px}.approval.kind-code{border-left-color:var(--blue)}.approval.kind-schema{border-left-color:var(--danger)}.approval.kind-error{border-left-color:var(--muted)}.approval-title{margin-bottom:4px;font-weight:600}.approval-actions{align-items:center;gap:8px;display:flex}.approval-actions .reason{flex:1}.diff{flex-direction:column;display:flex}.approval pre.diff-old{background:#fdf0f0;border-color:#f3c2c2}.approval pre.diff-new{background:#eef8f1;border-color:#bfe3cb}.composer{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.composer textarea{resize:vertical;min-height:44px}.gate{flex-direction:column;gap:10px;max-width:420px;display:flex}.result-cell{word-break:break-word;max-width:360px}@media (width<=1250px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.dash{grid-template-columns:1fr}.dash-side{position:static}}.menu-btn,.drawer-close,.bottom-nav,.drawer-backdrop{display:none}@media (width<=900px){.sidebar{z-index:40;width:min(290px,84vw);height:100%;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-102%);box-shadow:0 0 40px #0000004d}.menu-open .sidebar{transform:translate(0)}.menu-open .drawer-backdrop{z-index:35;background:#0f172a73;display:block;position:fixed;inset:0}.drawer-close{color:#fff;place-items:center;margin-left:auto;display:grid}.drawer-close:hover{background:#ffffff1a}.sidebar nav a{padding:13px 14px}.menu-btn{place-items:center;display:grid}.topbar{gap:10px;padding:10px 14px}.topbar-right{gap:6px}.topbar-date{display:none}.topbar-search{max-width:none}.bottom-nav{z-index:30;border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #1018280f}.bottom-nav a,.bottom-nav button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;padding:4px 0;font-size:11px;font-weight:600;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--blue)}.bn-icon{place-items:center;display:grid;position:relative}.bn-icon .dot-badge{top:-6px;right:-12px}.content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.dash-side{position:static}.assistant{grid-template-columns:1fr}.conv-list{max-height:150px;position:static;overflow-y:auto}.chat{min-height:0}.transcript{min-height:45vh;max-height:none}.composer{bottom:calc(66px + env(safe-area-inset-bottom));background:#fff;position:sticky}}@media (width<=700px){input,select,textarea{padding:11px 12px;font-size:16px}.btn{padding:11px 16px}.btn-small{padding:8px 12px}.content{padding:14px 12px calc(88px + env(safe-area-inset-bottom));gap:14px}h1{font-size:21px}.page-header{align-items:stretch}.page-header>.actions{width:100%}.page-header>.actions>.btn,.page-header>.actions>.tabs{flex:1}.page-header>.actions label.inline{width:100%}.page-header>.actions label.inline select{flex:1}.toolbar{gap:8px}.toolbar>*{flex:100%;width:100%}.toolbar select,.toolbar input[type=date]{width:100%}.toolbar>select{flex:calc(50% - 4px);width:auto;min-width:0}.toolbar label.inline{justify-content:space-between}.toolbar label.inline>select,.toolbar label.inline>input{flex:1}.toolbar>.search{flex:100%;min-width:0}.tabs{max-width:100%;overflow-x:auto}.tab{white-space:nowrap}.grid-2,.grid-3,.dash-row,.form-grid,.settings-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.calc,.calc-inputs{grid-template-columns:1fr}.calc-inputs .field:last-child{grid-column:auto}.info-row{grid-template-columns:1fr 1fr;gap:12px;padding:14px}.card{padding:14px}.panel-head{flex-wrap:wrap;gap:8px;padding:12px 14px}.panel-head>.actions{width:100%}.panel-head label.inline{justify-content:space-between;width:100%}.panel-head label.inline select{flex:1}.panel-body{padding:14px}.notice{padding:10px 14px}.welcome{gap:12px;padding:14px 16px}.welcome h1{font-size:19px}.welcome-icon{width:44px;height:44px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:12px}.kpi-icon{width:34px;height:34px;margin-bottom:8px}.kpi-value{font-size:22px}.kpi-value-text{font-size:16px}.quick{grid-template-columns:1fr 1fr;gap:8px;display:grid}.qa{flex-direction:column;align-items:flex-start;gap:6px;padding:12px;font-size:13px}.colchart-plot{gap:8px;height:160px}.colchart-labels{gap:8px}.colchart-labels a{font-size:11px}.pred-list li>a{min-width:0}.guide-status,.guide-columns{grid-template-columns:1fr}.guide-wrap{padding:10px 12px 0}.modal-backdrop{align-items:stretch;padding-top:0}.modal,.modal.modal-wide{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.modal .panel-head{z-index:1;background:#fff;position:sticky;top:0}.form-actions{flex-wrap:wrap}.form-actions>.btn{flex:1}.approval-actions{flex-wrap:wrap}.approval-actions .reason{flex-basis:100%}.msg,.tool{max-width:100%}.table:not(.md-table){border:0;display:block}.table:not(.md-table) thead{display:none}.table:not(.md-table) tbody{display:block}.table:not(.md-table) tr{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin:10px;padding:4px 14px;display:block}.table:not(.md-table) td{text-align:right;border-bottom:1px dashed var(--border);white-space:normal;min-height:38px;padding:9px 0 9px 44%;display:block;position:relative}.table:not(.md-table) td:before{content:attr(data-label);text-align:left;width:42%;color:var(--muted);font-size:12px;font-weight:600;position:absolute;top:9px;left:0}.table:not(.md-table) tbody tr:last-child td{border-bottom:1px dashed var(--border)}.table:not(.md-table) tr td:last-child{border-bottom:0}.table:not(.md-table) td:first-child{text-align:left;padding:12px 0 10px;font-size:15px;font-weight:600}.table:not(.md-table) td:first-child:before{display:none}.table:not(.md-table) td[data-label=""]:not(:first-child){min-height:0;padding-left:0}.table:not(.md-table) td[data-label=""]:before{display:none}.table:not(.md-table) td .muted.small,.table:not(.md-table) td .badges{font-weight:400}.table:not(.md-table) .num{text-align:right}.table.table-soft{border-radius:0;overflow:visible}.table:not(.md-table) tr.clickable:hover td{background:0 0}.table:not(.md-table) .row-avatar{width:30px;height:30px}.panel>.table:not(.md-table),.scroll-x>.table:not(.md-table){padding-bottom:2px}.scroll-x,.panel,.card{overflow-x:visible}.panel:not(:has(.panel-head)):has(.table:not(.md-table)){box-shadow:none;background:0 0;border:0}.panel:not(:has(.panel-head)):has(.table:not(.md-table)) .table tr{margin:10px 0}.panel:not(:has(.panel-head)):has(.table:not(.md-table)) .notice{border:1px solid var(--border);border-radius:10px}.starting-table tr{margin:8px 0}.starting-table td:first-child{font-size:14px}.starting-table input{text-align:right;min-width:0}.starting-table .meaning{text-align:left;padding-left:0}.starting-table .meaning:before{width:auto;margin-bottom:4px;display:block;position:static}}.product-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.product-photo{aspect-ratio:1;color:#9aa6bb;background:#f3f6fb;place-items:center;display:grid;overflow:hidden}.product-photo img{object-fit:contain;background:#fff;width:100%;height:100%}.product-info{flex-direction:column;flex:1;gap:4px;padding:14px 16px 6px;display:flex}.product-info h3{margin:0;font-size:16px;line-height:1.3}.product-price{font-size:17px;font-weight:700}.product-stats{gap:18px;margin:8px 0 0;display:flex}.product-stats dt{color:var(--muted);font-size:11px}.product-stats dd{margin:0;font-weight:600}.product-actions{justify-content:space-between;align-items:center;padding:10px 16px 14px;display:flex}.product-actions .btn{align-items:center;gap:6px;display:inline-flex}.photo-picker{align-items:center;gap:16px;display:flex}.photo-picker .product-photo{border:1px solid var(--border);border-radius:12px;flex-shrink:0;width:120px}.photo-picker label.btn{cursor:pointer;align-items:center;gap:6px;margin-right:6px;display:inline-flex}.photo-picker .hint{margin-top:8px}.page-header .btn-primary{align-items:center;gap:6px;display:inline-flex}@media (width<=700px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-info{padding:10px 12px 4px}.product-info h3{font-size:14px}.product-actions{padding:8px 12px 12px}.photo-picker{flex-direction:column;align-items:flex-start}}.mobile-only{display:none}@media (width<=700px){.mobile-only{display:revert}.expand-all{justify-content:space-between;align-items:center;margin:4px 0 2px;display:flex}.customers-table .row-summary{align-items:center;gap:8px;display:flex}.customers-table .row-title{overflow-wrap:anywhere;flex:1;min-width:0}.customers-table .row-summary .tag{flex-shrink:0;font-size:11px}.customers-table .details-toggle{flex-shrink:0;align-items:center;gap:2px;padding:6px 10px;display:inline-flex}.customers-table .details-toggle svg{transition:transform .15s}.customers-table tr.open .details-toggle svg{transform:rotate(180deg)}.customers-table tr:not(.open) td:not(:first-child),.customers-table tr:not(.open) .row-extra{display:none}.table.customers-table tbody tr:not(.open) td:first-child{border-bottom:0;padding:12px 0}}.calc-order{grid-template-columns:1fr 110px;gap:10px;display:grid}.calc-buttons{gap:8px;display:flex}.pred-summary{max-width:340px;margin-top:4px}.sidebar-user .logout-btn{color:var(--navy-text);margin-left:auto}.sidebar-user .logout-btn:hover{color:#fff}.sidebar-user>span:nth-child(2){min-width:0}.sidebar-user .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=700px){.tabs{flex-wrap:wrap;display:flex;overflow:visible}.tabs .tab{flex:auto}table[data-collapse]>tbody>tr:not([data-open])>td:not(:first-child):not(.keep){display:none}table[data-collapse]>tbody>tr>td:first-child{cursor:pointer;padding-right:96px;position:relative}table[data-collapse]>tbody>tr>td:first-child:after{content:"Details ▾";color:var(--text);border:1px solid var(--border-strong);background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;position:absolute;top:9px;right:0}table[data-collapse]>tbody>tr[data-open]>td:first-child:after{content:"Hide ▴"}.table:not(.md-table) tr:not([data-open])>td:first-child:last-child,table[data-collapse]>tbody>tr:not([data-open])>td:first-child,table[data-collapse]>tbody>tr:not([data-open])>td.keep{border-bottom:0}}.lp{--lp-bg:#1c1f1d;--lp-line:#3f4742;--lp-text:#f1f4f2;--lp-muted:#b4bcb7;--lp-accent:#7fd39c;--lp-price:#9be3b3;background:var(--lp-bg);min-height:100vh;color:var(--lp-text);font-family:Inter,system-ui,sans-serif}.lp h1,.lp h2,.lp h3{letter-spacing:-.01em;font-family:Bricolage Grotesque,Inter,sans-serif}.lp a{color:inherit}.lp-top{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--lp-line);background:#1c1f1deb;justify-content:space-between;align-items:center;gap:12px;padding:12px 40px;display:flex;position:sticky;top:0}.lp-brand{white-space:nowrap;align-items:center;gap:10px;font-weight:800;display:flex}.lp-brand img{object-fit:contain;background:#fff;border-radius:8px;width:34px;height:34px;padding:2px}.lp-top nav{align-items:center;gap:22px;display:flex}.lp-top nav a{color:var(--lp-muted);font-weight:600;text-decoration:none}.lp-top nav a:hover{color:var(--lp-text)}.lp-muted{color:var(--lp-muted);margin:0}.lp-foot{text-align:center;max-width:1180px;color:var(--lp-muted);margin:0 auto;padding:48px 40px 40px;font-size:13px}.lp-foot div{color:var(--lp-text);margin-bottom:6px;font-size:14px;font-weight:700}.lp-foot p{margin:0}@media (width<=960px){.lp-top{padding:10px 16px}.lp-foot{padding:36px 16px 32px}}@media (width<=420px){.lp-brand>span{display:none}}.lp-legal{max-width:760px;margin:0 auto;padding:40px 40px 8px;line-height:1.65}.lp-legal h1{margin:0 0 4px;font-size:clamp(30px,4vw,42px)}.lp-legal h2{margin:30px 0 6px;font-size:21px}.lp-legal p,.lp-legal li{color:var(--lp-text)}.lp-legal p{margin:0 0 12px}.lp-legal ul{margin:0 0 12px;padding-left:22px}.lp-legal a,.lp-form a,.lp-foot-links a{color:var(--lp-accent)}.lp-missing{color:var(--lp-price)}.lp-foot-links{justify-content:center;gap:20px;display:flex;margin-top:10px!important}@media (width<=960px){.lp-legal{padding:28px 16px 4px}}.lp-top nav a.lp-back{color:var(--lp-text);display:inline}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lg-page{--lg-red:#d7191f;--lg-red-dark:#b81318;--lg-ink:#1c1f24;--lg-muted:#6b7280;--lg-line:#e2e6eb;--lg-blue:#1a6fe0;--lg-scale:.82;min-height:100dvh;color:var(--lg-ink);background:#dfe8f1;font-family:Montserrat,Inter,system-ui,sans-serif;position:relative;overflow:clip}.lg-stage{aspect-ratio:1671/941;--pic:calc(100cqw / 1671);--px:calc(var(--pic) * var(--lg-scale));width:max(100vw,177.577vh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);container-type:inline-size}.lg-bg{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.lg-halo{left:calc(var(--pic) * 642);top:calc(var(--pic) * -20);width:calc(var(--pic) * 658);height:calc(var(--pic) * 1000);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);-webkit-mask-composite:source-in;pointer-events:none;background:#ffffff1f;position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 84%,#0000),linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 84%,#0000),linear-gradient(#0000,#000 10% 90%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.lg-card{left:calc(var(--pic) * 919);box-sizing:border-box;width:calc(var(--px) * 525);padding:calc(var(--px) * 38) calc(var(--px) * 48) calc(var(--px) * 32);text-align:center;-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);border-radius:calc(var(--px) * 22);box-shadow:0 calc(var(--px) * 30) calc(var(--px) * 70) #0f172a29, inset 0 1px 0 #ffffffe6;background:#ffffffb3;border:1px solid #ffffffbf;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.lg-brand img{width:auto;height:calc(var(--px) * 104);margin:0 auto;display:block}.lg-brand-name{margin:calc(var(--px) * 6) 0 0;font-size:calc(var(--px) * 36);letter-spacing:-.015em;color:#25282d;font-weight:800;line-height:1.1}.lg-brand-name span{color:var(--lg-red)}.lg-brand-hub{margin:calc(var(--px) * 4) 0 0;font-size:calc(var(--px) * 17);color:#2b2f36;font-weight:600}.lg-title{margin:calc(var(--px) * 40) 0 0;font-size:calc(var(--px) * 32);font-weight:700;line-height:1.15}.lg-subtitle{margin:calc(var(--px) * 8) 0 0;font-size:calc(var(--px) * 17);color:var(--lg-muted)}.lg-form{gap:calc(var(--px) * 20);width:100%;margin-top:calc(var(--px) * 32);text-align:left;flex-direction:column;display:flex}.lg-input{height:calc(var(--px) * 55);border:1px solid var(--lg-line);border-radius:calc(var(--px) * 10);background:#ffffffeb;align-items:center;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;position:relative}.lg-input:hover{background:#fff;border-color:#c9d0d8}.lg-input:focus-within{border-color:var(--lg-red);background:#fff;box-shadow:0 0 0 3px #d7191f1f}.lg-input-invalid,.lg-input-invalid:hover{border-color:#e0868a}.lg-input-icon{width:calc(var(--px) * 24);height:calc(var(--px) * 24);margin-left:calc(var(--px) * 20);color:var(--lg-muted);flex:none}.lg-input input{min-width:0;height:100%;padding:0 calc(var(--px) * 16) 0 calc(var(--px) * 26);border-radius:inherit;color:var(--lg-ink);font:400 calc(var(--px) * 16) Montserrat, Inter, sans-serif;box-shadow:none;background:0 0;border:0;flex:1}.lg-input input:focus{box-shadow:none;outline:none}.lg-input input::placeholder{color:#7c838d}.lg-field-error{margin:calc(var(--px) * 6) 0 0 calc(var(--px) * 4);color:#b42318;font-size:calc(var(--px) * 13.5)}.lg-eye{width:calc(var(--px) * 40);height:calc(var(--px) * 40);margin-right:calc(var(--px) * 10);color:var(--lg-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;transition:color .15s,background-color .15s;display:grid}.lg-eye svg{width:calc(var(--px) * 22);height:calc(var(--px) * 22)}.lg-eye:hover{color:var(--lg-ink);background:#0f172a0d}.lg-options{margin-top:calc(var(--px) * -2);justify-content:space-between;align-items:center;gap:12px;display:flex}.lg-remember{align-items:center;gap:calc(var(--px) * 10);font-size:calc(var(--px) * 15);color:#3b4048;cursor:pointer;display:inline-flex}.lg-remember input{width:calc(var(--px) * 18);height:calc(var(--px) * 18);accent-color:var(--lg-red);cursor:pointer;margin:0;padding:0}.lg-link{color:var(--lg-blue);font:500 calc(var(--px) * 15) Montserrat, Inter, sans-serif;cursor:pointer;background:0 0;border:0;padding:0;transition:color .15s}.lg-link:hover{color:#0f56b8;text-decoration:underline}.lg-note,.lg-alert{padding:calc(var(--px) * 10) calc(var(--px) * 14);border-radius:calc(var(--px) * 8);font-size:calc(var(--px) * 14);margin:0;line-height:1.45}.lg-note{color:#4b5563;background:#f1f3f6f2}.lg-alert{color:#a4161a;background:#fdecec}.lg-submit{justify-content:center;align-items:center;gap:calc(var(--px) * 12);height:calc(var(--px) * 56);margin-top:calc(var(--px) * 4);border-radius:calc(var(--px) * 10);background:linear-gradient(180deg, #e0242a, var(--lg-red));color:#fff;font:600 calc(var(--px) * 20) Montserrat, Inter, sans-serif;cursor:pointer;box-shadow:0 calc(var(--px) * 8) calc(var(--px) * 18) #d7191f47;border:0;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.lg-submit svg{width:calc(var(--px) * 22);height:calc(var(--px) * 22);transition:transform .15s}.lg-submit:hover{background:linear-gradient(180deg, #cf1d23, var(--lg-red-dark));box-shadow:0 calc(var(--px) * 12) calc(var(--px) * 22) #d7191f52;transform:translateY(-1px)}.lg-submit:hover svg{transform:translate(3px)}.lg-submit:active{transform:translateY(0)}.lg-submit:disabled{opacity:.75;cursor:default;transform:none}.lg-submit:focus-visible,.lg-link:focus-visible,.lg-eye:focus-visible,.lg-remember input:focus-visible{outline:2px solid var(--lg-ink);outline-offset:2px}.lg-secure{justify-content:center;align-items:center;gap:calc(var(--px) * 8);width:100%;margin:calc(var(--px) * 34) 0 0;padding-top:calc(var(--px) * 30);font-size:calc(var(--px) * 15);color:#4b5563;border-top:1px solid #0f172a17;display:flex}.lg-secure svg{width:calc(var(--px) * 18);height:calc(var(--px) * 18)}@media (aspect-ratio<=7/5),(width<=1239px) and (height<=699px){.lg-stage{aspect-ratio:auto;box-sizing:border-box;--px:calc(.84px * var(--lg-scale));place-items:center;width:auto;min-height:100dvh;padding:24px 16px;display:grid;position:relative;top:auto;left:auto;transform:none;container-type:normal}.lg-bg{object-fit:fill;width:max(165.282vw,177.577vh);max-width:none;height:auto;position:fixed;inset:50% 0 auto auto;transform:translateY(-50%)}.lg-card{width:min(calc(460px * var(--lg-scale)), 100%);position:relative;top:auto;left:auto;transform:none}.lg-input input{font-size:16px}.lg-submit{font-size:17px}.lg-eye{width:44px;height:44px;margin-right:4px}.lg-halo{display:none}}@media (width<=380px){.lg-card{padding:28px 18px 22px}.lg-options{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.lg-input,.lg-eye,.lg-link,.lg-submit,.lg-submit svg{transition:none}}
