:root{color-scheme:light;--bg: #f5f5f4;--panel: #ffffff;--panel-2: #f1f1ef;--ink: #111111;--muted: #6f6f6f;--line: rgba(17, 17, 17, .16);--line-soft: rgba(17, 17, 17, .09);--accent: #414042;--accent-soft: #e6e5e2;--danger: #b42318;--review: #fff3c4;--review-line: #e7c200;--ok: #067647;--shadow: 0 18px 45px rgba(17, 17, 17, .1);font-family:FuturaPT,Avenir Next,Helvetica Neue,Arial,sans-serif}@font-face{font-family:FuturaPT;src:url(/fonts/FuturaPT-Book.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FuturaPT;src:url(/fonts/FuturaPT-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden}.shell{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.topbar{display:flex;align-items:center;gap:18px;background:var(--accent);color:#fff;padding:0 22px;height:64px}.brand-left{display:flex;align-items:center;gap:16px;min-width:0}.brand-home{display:flex;align-items:center;background:transparent;border:0;padding:0;margin:0;cursor:pointer;color:#fff}.brand-home:hover{opacity:.85}.brand-left .brand-div{width:1px;height:24px;background:#ffffff38;flex:none}.topbar .spacer{flex:1}.powered{display:flex;align-items:center;gap:8px;color:#ffffffc7;font-size:12px}.powered.on-light{color:var(--muted)}.profile{position:relative}.profile-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:190px;background:var(--panel);color:var(--ink);border:1px solid var(--line-soft);border-radius:10px;box-shadow:0 10px 30px #0000002e;padding:6px}.profile-user{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line-soft);margin-bottom:4px;color:var(--muted)}.profile-name{color:var(--ink);font-size:14px;font-weight:500}.profile-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:0;border-radius:7px;color:var(--ink);font-size:14px;cursor:pointer;text-align:left}.profile-item:hover{background:var(--accent-soft);color:var(--accent)}.appsmenu{position:relative}.apps-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:220px;background:var(--panel);color:var(--ink);border:1px solid var(--line-soft);border-radius:10px;box-shadow:0 10px 30px #0000002e;padding:6px}.apps-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;background:transparent;border:0;border-radius:7px;color:var(--ink);font-size:14px;cursor:pointer;text-align:left}.apps-item:hover{background:var(--accent-soft)}.apps-item.active{color:var(--accent);font-weight:500}.apps-name{flex:1}.apps-soon{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.apps-check{color:var(--accent)}.apps-sep{height:1px;background:var(--line-soft);margin:4px 2px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px}.kpi-label{font-size:12px;color:var(--muted);letter-spacing:.04em}.kpi-value{font-size:24px;font-weight:500;margin-top:4px}.kpi-suffix{font-size:13px;color:var(--muted);font-weight:400}.kpi-delta{font-size:12px;margin-top:2px}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-top:14px}.dash-stack{display:flex;flex-direction:column;gap:14px}.dash-panel{padding:16px}.dash-panel-head{display:flex;align-items:center;gap:7px;font-weight:500;margin-bottom:10px}.dash-note{margin-left:auto;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dash-split{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:center}.dash-table{width:100%;font-size:13px}.dash-table th{text-align:left}.dash-table .dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;vertical-align:middle}.dash-desc{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-defer{font-size:12px;margin-top:12px}@media(max-width:720px){.dash-split{grid-template-columns:1fr}}.chat-fab{position:fixed;right:22px;bottom:22px;z-index:45;width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;background:transparent;padding:0;overflow:hidden;display:grid;place-items:center;box-shadow:0 8px 24px #00000038;transition:transform .12s ease,filter .12s ease}.chat-fab:hover{transform:translateY(-1px) scale(1.04);filter:brightness(1.03)}.chat-fab img{width:100%;height:100%;display:block}.chat-drawer{position:fixed;right:22px;bottom:90px;z-index:46;width:400px;max-width:calc(100vw - 44px);height:min(560px,calc(100vh - 130px));background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;box-shadow:0 18px 50px #00000047;display:flex;flex-direction:column;overflow:hidden;animation:chat-pop .14s ease-out}@keyframes chat-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.chat-head{display:flex;align-items:center;gap:8px;padding:11px 12px;border-bottom:1px solid var(--line-soft)}.chat-head-mark{width:22px;height:22px;border-radius:50%;display:block}.chat-msgs{flex:1;overflow:hidden auto;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-hint{font-size:13px;line-height:1.5;padding:6px 2px}.chat-starters{display:flex;flex-direction:column;gap:8px;padding:2px}.chat-starters-q{font-size:14px;font-weight:500;color:var(--ink);margin:2px 0 6px}.chat-starter{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;cursor:pointer;background:var(--panel);color:var(--ink);font:inherit;font-size:13px;transition:background .12s ease,border-color .12s ease}.chat-starter:hover{background:var(--accent-soft);border-color:var(--accent)}.chat-starter:disabled{opacity:.5;cursor:default}.chat-starter svg{color:var(--accent);flex:none}.chat-starters .chat-hint{margin-top:2px;color:var(--muted)}.chat-bubble{max-width:88%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-bubble.assistant{align-self:flex-start;background:var(--panel-2);color:var(--ink);border-bottom-left-radius:4px}.chat-bubble.assistant .chat-plan{max-width:100%;margin-top:4px;padding:10px}.chat-plan table.grid td,.chat-plan table.grid th{padding:4px 6px}.chat-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line-soft)}.chat-input textarea{flex:1;resize:none;max-height:120px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:13px;overflow-x:hidden}.chat-input button.chat-send{padding:0;gap:0;width:36px;height:36px;min-width:36px;min-height:36px;border-radius:9px;align-self:flex-end;justify-content:center;flex:none}.chat-input button.chat-send svg{display:block}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--accent-soft)}.chat-modal-overlay{position:fixed;inset:0;z-index:60;background:#00000059;display:flex;align-items:center;justify-content:center;padding:20px}.chat-modal{width:640px;max-width:94vw;max-height:86vh;display:flex;flex-direction:column;padding:18px}.chat-modal-table{flex:1;min-height:0;overflow:auto;margin-top:4px;border:1px solid var(--line-soft);border-radius:10px}.chat-modal-table table.grid{width:100%}.chat-edit{width:100%;max-width:110px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:13px}.content{flex:1;min-width:0;max-width:1320px;width:100%;margin:0 auto;padding:18px 22px 40px}.shell.shell-fixed{height:100vh;overflow:hidden}.shell.shell-fixed .topbar{flex:none}.app-body{display:flex;flex:1;min-height:0;align-items:stretch}.sidebar{width:212px;flex:none;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line-soft);background:var(--panel);padding:10px 8px;transition:width .15s ease}.sidebar.collapsed{width:56px}.sidebar-toggle{align-self:flex-end;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;margin-bottom:6px}.sidebar-toggle:hover{background:var(--accent-soft);color:var(--accent)}.sidebar.collapsed .sidebar-toggle{align-self:center}.sidebar-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden}.sidebar-item:hover:not(:disabled){background:var(--accent-soft)}.sidebar-item.active{background:#111827;color:#fff}.sidebar-item:disabled{opacity:.42;cursor:not-allowed}.sidebar-item svg{flex:none}.sidebar.collapsed .sidebar-item{justify-content:center;padding:9px 0;gap:0}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.secondarybar{flex:none;display:flex;align-items:center;gap:12px;min-height:56px;padding:11px 22px;border-bottom:1px solid var(--line-soft)}.secondary-title{margin:0;font-size:17px;font-weight:500}.main-content{flex:1;min-width:0;min-height:0;padding:18px 22px 40px;overflow:auto}.topbar .btn.ghost-light{background:transparent;color:#fff;border-color:#ffffff40}.topbar .btn.ghost-light:hover{background:#ffffff1f}.muted-light{color:#ffffffb8;font-size:13px}.appgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:10px}.appcard{display:flex;align-items:center;gap:14px;padding:18px;background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;cursor:pointer;transition:border-color .15s}.appcard:hover:not(.disabled){border-color:var(--accent)}.appcard.disabled{opacity:.55;cursor:not-allowed}.appcard.soon{opacity:.78}.appcard-icon{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}.appcard-body{flex:1;min-width:0}.appcard-name{font-size:16px}.appcard-sub{font-size:12px;color:var(--muted)}.brandbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.brandbar label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.lookup{position:relative;min-width:320px}.lookup input:not([type=checkbox]){width:100%;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);font-size:14px}.lookup .menu{position:absolute;z-index:30;top:42px;left:0;right:0;max-height:320px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.lookup .opt{padding:9px 12px;font-size:14px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.lookup .opt:hover{background:var(--panel-2)}.lookup .opt.disabled{color:var(--muted);cursor:not-allowed}.lookup .opt.check{justify-content:flex-start;align-items:center;gap:8px}.lookup .opt.check input[type=checkbox]{width:15px;height:15px;margin:0;flex:none}.lookup .tag{font-size:11px;color:var(--muted)}.lookup .tag.ok{color:var(--ok)}.brand-landing{max-width:640px}.brand-landing-title{margin:4px 0;font-size:22px;font-weight:500}.brand-landing-sub{margin:0 0 18px;font-size:14px}.brand-search{position:relative;margin-bottom:14px}.brand-search .brand-search-icon{position:absolute;left:12px;top:12px;color:var(--muted)}.brand-search input{width:100%;height:42px;padding:0 12px 0 36px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:15px}.brand-groups{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.brand-chip{padding:6px 14px;border:1px solid var(--line-soft);border-radius:999px;background:var(--panel);color:var(--ink);font-size:13px;cursor:pointer}.brand-chip:hover{border-color:var(--accent)}.brand-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.brand-list{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto;border:1px solid var(--line-soft);border-radius:10px;padding:8px;background:var(--panel)}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:11px 14px;border:1px solid transparent;border-radius:8px;background:var(--panel-2);color:var(--ink);font-size:14px;cursor:pointer}.brand-row:hover:not(:disabled){border-color:var(--accent)}.brand-row.active{border-color:var(--accent);background:var(--accent-soft)}.brand-row.soon{opacity:.6;cursor:not-allowed}.brand-row-name{font-weight:500}.brand-row .tag{font-size:11px;color:var(--muted)}.brand-row .tag.ok{color:var(--ok)}.tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line-soft);border-radius:9px;background:var(--panel);width:fit-content;margin-bottom:16px}.tabs button{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;font-weight:650;cursor:pointer;font-family:inherit}.tabs button .num{width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;display:grid;place-items:center}.tabs button.active{background:#111827;color:#fff}.tabs button.active .num{background:#ffffff38;color:#fff}.tabs button:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;padding:22px}.muted{color:var(--muted)}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:13px;font-weight:650;cursor:pointer;font-family:inherit}.btn:hover{background:var(--panel-2)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:#2b2a2c}.btn:disabled{opacity:.5;cursor:not-allowed}.dropzone{border:2px dashed var(--line);border-radius:12px;padding:48px 24px;text-align:center;background:var(--panel);transition:border-color .15s,background .15s;cursor:pointer}.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}.dropzone .big{font-size:17px;margin:10px 0 4px}.progress{height:10px;border-radius:6px;background:var(--panel-2);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .4s}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}.metric{background:var(--panel);border:1px solid var(--line-soft);border-radius:9px;padding:12px 14px}.metric .v{font-size:22px;font-weight:400}.metric .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.gridwrap{border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:var(--panel);width:100%;max-width:100%}.gridtools{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line-soft)}.gridtools input.search{height:34px;min-width:220px;padding:0 10px;border:1px solid var(--line);border-radius:7px;font-size:13px}.gridtools select{height:34px;padding:0 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:var(--panel)}.gridscroll{overflow:auto;position:relative;min-width:0;max-width:100%}table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}table.grid th{position:sticky;top:0;z-index:2;background:var(--panel-2);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-weight:700;white-space:nowrap}table.grid td{padding:6px 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap}table.grid tr.review td{background:var(--review)}table.grid td.num{text-align:right;font-variant-numeric:tabular-nums}table.grid td.edit{cursor:text}table.grid input.cell{width:64px;border:1px solid var(--line);border-radius:5px;padding:2px 5px;font-size:12.5px;font-family:inherit}.pill{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.pill.disc{background:#fde7e5;color:var(--danger)}.pill.active{background:#ecfdf3;color:var(--ok)}.pill.bs{background:#eff6ff;color:#1d4ed8}.login{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.login .box{width:360px;background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;padding:28px;box-shadow:var(--shadow)}.login h1{font-size:20px;margin:0 0 4px}.login .dept{font-size:12px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.login input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:7px;font-size:14px;margin-bottom:12px}.error{color:var(--danger);font-size:13px;margin-top:8px}.notice{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:10px 12px;border-radius:8px;font-size:13px}.empty{padding:48px;text-align:center;color:var(--muted)}
