:root{--w-bg:#fafaf8;--w-card:#fff;--w-hover:#f4f4f1;--w-selected:#ecede9;--w-inset:#f7f6f3;--w-ink:#1a1613;--w-ink-2:#1a1613b8;--w-ink-55:#1a16138c;--w-ink-40:#1a161366;--w-ink-25:#1a161340;--w-hairline:#1412100d;--w-border-soft:#14121014;--w-border:#1412101f;--w-border-strong:#14121033;--w-st-ok:#7a9080;--w-st-pause:#a89472;--w-st-risk:#a07c6f;--w-st-done:#8c8580;--w-accent-blue:#3d5a88;--w-accent-blue-hover:#2f4870;--w-accent-blue-active:#243958;--w-accent-blue-soft:#e8eef6;--w-accent-blue-soft-2:#dce6f2;--w-accent-blue-line:#3d5a8833;--w-accent-blue-glow:#3d5a881f;--w-accent-orange:#b8693d;--w-accent-orange-hover:#9f5934;--w-accent-orange-active:#87492a;--w-accent-orange-soft:#f5e6d5;--w-accent-orange-soft-2:#edd7bc;--w-accent-orange-line:#b8693d33;--w-bg-blue:var(--w-accent-blue-soft);--w-bg-orange:var(--w-accent-orange-soft);--w-focus-ring:0 0 0 3px #3d5a882e;--w-shadow-pop:0 1px 1px #1a16130a, 0 6px 16px -4px #1a16131a, 0 24px 48px -12px #1a161314;--w-r-sm:6px;--w-r-md:8px;--w-dur:.14s;--w-ease:cubic-bezier(.2,.7,.2,1);--paper:#fafaf8;--paper-2:#f4f4f1;--paper-3:#14121014;--card:#fff;--card-2:#f7f6f3;--ink:#1a1613;--ink-2:#2b2521;--ink-3:#4a403a;--muted:#7a6f66;--subtle:#a59a8f;--faint:#c8bdb0;--blue:#3d5a88;--blue-deep:#243958;--blue-mid:#2f4870;--blue-light:#6b85b0;--blue-soft:#dce6f2;--blue-paper:#e8eef6;--orange:#b8693d;--orange-deep:#87492a;--orange-mid:#9f5934;--orange-light:#d49370;--orange-soft:#edd7bc;--orange-paper:#f5e6d5;--rust:var(--blue);--rust-deep:var(--blue-deep);--rust-mid:var(--blue-mid);--rust-light:var(--blue-light);--rust-soft:var(--blue-soft);--rust-paper:var(--blue-paper);--font-display:"Geist", system-ui, sans-serif;--font-sans:"Geist", system-ui, sans-serif;--font-mono:"Geist", system-ui, sans-serif;--r-xs:6px;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:32px;--r-full:9999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--shadow-1:0 1px 0 #1a161308, 0 1px 2px #1a16130a;--shadow-2:0 2px 4px #1a16130a, 0 8px 16px -6px #1a161314;--shadow-3:0 12px 32px -12px #1a16132e, 0 4px 12px -4px #1a161314;--shadow-hero:0 40px 80px -30px #1e3a8a59, 0 20px 40px -20px #1a16134d;--ease:cubic-bezier(.2, .7, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.56s;--focus-ring:0 0 0 3px #3d5a8838;--focus-ring-inverse:0 0 0 3px #fdf8ef5c;--selection-bg:#3d5a881a;--selection-edge:var(--blue);--z-sticky:10;--z-dropdown:40;--z-drawer:50;--z-modal:60;--z-toast:70;--z-tooltip:80;--bw-1:1px;--bw-2:2px;--border-dashed:1px dashed var(--paper-3);--o-disabled:.4;--o-muted:.65;--success:var(--ink-2);--warning:var(--orange-mid);--danger:var(--orange-deep);--neutral:var(--muted);--primary:var(--blue);--surface-0:var(--paper);--surface-1:var(--card);--surface-2:var(--card-2);--surface-3:var(--paper-2);--surface-4:var(--paper-3);--text-1:var(--ink);--text-2:var(--ink-2);--text-3:var(--muted);--text-4:var(--subtle);--text-faint:var(--faint);--text-inverse:var(--paper);--border-1:var(--paper-3);--border-2:var(--faint)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scrollbar-gutter:stable}body{font-family:var(--font-sans);color:var(--ink-2);background:var(--paper);letter-spacing:-.003em;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11", "tnum", "zero";font-size:14px;line-height:1.55}.kpi-value,.sb-cell .value,.profit-value,.stat-value,.tile-value,.hero-title,.lede h1,.panel-title,.num,.due,.pct,.cap-row .pct{font-variant-numeric:tabular-nums}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(1200px 800px at 85% -10%,#f973160f,#0000 60%),radial-gradient(900px 700px at -10% 100%,#2563eb0d,#0000 55%);position:fixed;inset:0}.chatbot-widget{z-index:70;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.chatbot-trigger{color:var(--blue-deep);background:linear-gradient(135deg,#fdf8effa,#e8eef6fa);border:1px solid #3d5a8824;border-radius:999px;align-items:center;gap:10px;padding:10px 14px 10px 10px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex;box-shadow:0 20px 40px #24395824,inset 0 1px #ffffffb3}.chatbot-trigger:hover{border-color:#3d5a8838;transform:translateY(-1px);box-shadow:0 24px 46px #2439582e,inset 0 1px #ffffffc2}.chatbot-trigger-icon{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%);width:42px;height:42px;color:var(--paper);border-radius:999px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff2e,0 10px 18px #24395838}.chatbot-trigger-copy{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.chatbot-trigger-kicker{color:var(--muted);font-size:11px}.chatbot-trigger-label{letter-spacing:-.01em;font-weight:500}.chatbot-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fdf8effa;border:1px solid #3d5a881f;border-radius:22px;width:min(360px,100vw - 32px);overflow:hidden;box-shadow:0 30px 60px #2439582e}.chatbot-panel-head{background:linear-gradient(#e8eef6cc,#fdf8ef00);border-bottom:1px solid #1a16130f;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 12px;display:flex}.chatbot-panel-meta{gap:6px;display:grid}.chatbot-panel-head-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.chatbot-panel-badge{width:fit-content;color:var(--blue-deep);background:#ffffffb8;border:1px solid #3d5a881f;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.chatbot-panel-badge-icon{place-items:center;display:grid}.chatbot-title{color:var(--ink);letter-spacing:-.02em;font-weight:600}.chatbot-sub{color:var(--subtle);margin-top:2px;font-size:12px}.chatbot-body{scrollbar-width:thin;scrollbar-color:#3d5a8838 transparent;flex-direction:column;gap:14px;max-height:360px;padding:16px 18px;display:flex;overflow-y:auto}.chatbot-message{align-items:flex-start;gap:10px;display:flex}.chatbot-message-user{justify-content:flex-end}.chatbot-message-stack{gap:6px;max-width:80%;display:grid}.chatbot-message-user .chatbot-message-stack{justify-items:end}.chatbot-message-author{color:var(--subtle);font-size:11px;font-weight:600}.chatbot-avatar{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%);width:34px;height:34px;color:var(--paper);border-radius:12px;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff29}.chatbot-bubble{background:var(--paper);color:var(--ink);border:1px solid #1a16130f;border-radius:18px;padding:12px 14px;line-height:1.55;box-shadow:inset 0 1px #fff6}.chatbot-bubble-default,.chatbot-bubble-muted,.chatbot-bubble-success,.chatbot-bubble-error{gap:10px;display:grid}.chatbot-bubble-muted{background:#e8eef694;border-color:#3d5a881a}.chatbot-bubble-success{background:#e8f5ede6;border-color:#528a692e}.chatbot-bubble-error{background:#f5e6d5b8;border-color:#b8693d3d}.chatbot-message-user .chatbot-bubble{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%);color:var(--paper);border-color:#0000;box-shadow:0 12px 24px #24395829}.chatbot-rich-text{gap:10px;display:grid}.chatbot-rich-paragraph{white-space:normal;margin:0}.chatbot-rich-table-wrap{gap:8px;display:grid}.chatbot-rich-table-actions{justify-content:flex-end;display:flex}.chatbot-rich-table-scroll{background:#ffffffa8;border:1px solid #3d5a881a;border-radius:14px;width:100%;overflow-x:auto}.chatbot-rich-table{border-collapse:collapse;width:100%;min-width:360px;font-size:12px}.chatbot-rich-table th,.chatbot-rich-table td{text-align:left;vertical-align:top;border-bottom:1px solid #3d5a8814;padding:8px 10px}.chatbot-rich-table th{color:var(--blue-deep);white-space:nowrap;background:#e8eef6cc;font-weight:700}.chatbot-rich-table td{color:var(--ink)}.chatbot-rich-table td a,.chatbot-rich-paragraph a{color:var(--blue-deep);text-underline-offset:2px;text-decoration:underline}.chatbot-rich-table tbody tr:last-child td{border-bottom:none}.chatbot-table-export{width:fit-content}.chatbot-action-row{flex-wrap:wrap;gap:8px;display:flex}.chatbot-mcp-card{background:#e8eef694;border:1px solid #3d5a8824;border-radius:14px;gap:10px;padding:12px;display:grid}.chatbot-mcp-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.chatbot-mcp-card-title{color:var(--blue-deep);font-size:12px;font-weight:700}.chatbot-mcp-chip{letter-spacing:.02em;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.chatbot-mcp-chip.is-ready{color:#1f6b45;background:#e8f5edf2}.chatbot-mcp-chip.is-warning{color:#9a4d1c;background:#f5e6d5e6}.chatbot-mcp-meta{color:var(--subtle);flex-wrap:wrap;gap:8px 12px;font-size:11px;display:flex}.chatbot-mcp-request{color:var(--ink);background:#ffffff94;border-radius:10px;padding:8px 10px;font-size:12px}.chatbot-mcp-params{gap:8px;display:grid}.chatbot-mcp-param{gap:3px;display:grid}.chatbot-mcp-param-label{color:var(--subtle);font-size:11px}.chatbot-mcp-required{color:var(--muted);font-style:italic}.chatbot-mcp-param-value{color:var(--ink);font-size:12px;font-weight:600}.chatbot-mcp-param-value.is-missing{color:#9a4d1c}.chatbot-mcp-missing{color:#9a4d1c;font-size:11px}.chatbot-mcp-edit{border-top:1px solid #3d5a881f;gap:10px;padding-top:4px;display:grid}.chatbot-mcp-edit-row-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.chatbot-mcp-edit-field{gap:4px;display:grid}.chatbot-mcp-edit-field span{color:var(--subtle);font-size:11px}.chatbot-mcp-edit-field select,.chatbot-mcp-edit-field input{color:var(--ink);background:#ffffffeb;border:1px solid #3d5a882e;border-radius:9px;padding:7px 9px;font-size:12px}.chatbot-mcp-edit-scope{flex-wrap:wrap;gap:6px;display:flex}.chatbot-mcp-edit-scope-option{color:var(--ink);cursor:pointer;background:#ffffffb3;border:1px solid #3d5a8829;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:11px;display:inline-flex}.chatbot-mcp-edit-scope-option.is-active{background:#3d5a881f;border-color:#3d5a884d;font-weight:600}.chatbot-mcp-edit-rows{background:#fff9;border:1px solid #3d5a881a;border-radius:10px;gap:4px;max-height:168px;padding:8px 9px;display:grid;overflow-y:auto}.chatbot-mcp-edit-row-option{color:var(--ink);align-items:center;gap:7px;font-size:12px;display:flex}.chatbot-mcp-edit-empty-rows{color:var(--subtle);font-size:11px}.chatbot-mcp-edit-hint{color:#9a4d1c;font-size:11px}.chatbot-import-card{background:#e8f5f694;border-color:#14564a29}.chatbot-import-recommendation-status{color:var(--subtle);align-items:center;gap:7px;font-size:11px;display:flex}.chatbot-import-spinner{border:2px solid #14564a40;border-top-color:#14564a;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite chatbot-import-spin}@keyframes chatbot-import-spin{to{transform:rotate(360deg)}}.chatbot-import-model-list{gap:8px;display:grid}.chatbot-import-model-option{text-align:left;cursor:pointer;background:#ffffffbf;border:1px solid #3d5a8829;border-radius:12px;gap:4px;padding:10px 12px;transition:border-color .2s,background .2s;display:grid}.chatbot-import-model-option:hover{border-color:#3d5a8852}.chatbot-import-model-option.is-active{background:#14564a1a;border-color:#14564a61}.chatbot-import-model-option-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.chatbot-import-model-option-label{color:var(--ink);font-size:12px;font-weight:700}.chatbot-import-model-badge{letter-spacing:.02em;color:#14564a;background:#14564a24;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.chatbot-import-model-option-desc{color:var(--subtle);font-size:11px}.chatbot-import-mapping-list{gap:8px;max-height:260px;padding-right:2px;display:grid;overflow-y:auto}.chatbot-import-mapping-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:10px;display:grid}.chatbot-import-mapping-field{color:var(--ink);font-size:12px;font-weight:600}.chatbot-import-mapping-row select{color:var(--ink);background:#ffffffeb;border:1px solid #3d5a882e;border-radius:9px;padding:7px 9px;font-size:12px}.chatbot-action{border-radius:12px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.chatbot-action:hover{transform:translateY(-1px)}.chatbot-action-primary{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%);color:var(--paper);box-shadow:0 12px 24px #2439582e}.chatbot-action-secondary{color:var(--blue-deep);background:#ffffffe6;border:1px solid #3d5a881f;box-shadow:inset 0 1px #fff9}.chatbot-composer{background:#ffffff61;border-top:1px solid #1a16130f;padding:14px 18px 18px}.chatbot-composer-label{color:var(--subtle);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.chatbot-composer-shell{background:#ffffffe0;border:1px solid #3d5a8824;border-radius:18px;align-items:flex-end;gap:10px;padding:10px;display:flex;box-shadow:inset 0 1px #fff9}.chatbot-composer-shell:focus-within{border-color:#3d5a884d;box-shadow:inset 0 1px #ffffffb3,0 0 0 3px #3d5a881f}.chatbot-composer-input{resize:none;width:100%;min-height:22px;max-height:120px;color:var(--ink);font:inherit;background:0 0;border:none;line-height:1.5}.chatbot-composer-input:disabled{opacity:.7;cursor:not-allowed}.chatbot-composer-input::placeholder{color:var(--subtle)}.chatbot-send{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%);width:40px;height:40px;color:var(--paper);border-radius:14px;flex-shrink:0;place-items:center;transition:transform .2s,box-shadow .2s,opacity .2s;display:grid;box-shadow:0 12px 24px #2439582e,inset 0 1px #ffffff2e}.chatbot-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 28px #24395838,inset 0 1px #ffffff2e}.chatbot-send:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.chatbot-composer-hint{color:var(--subtle);margin:8px 2px 0;font-size:11px}.connector-shell{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;display:grid}.connector-platform-list{background:#ffffff9e;border:1px solid #3d5a881a;border-radius:18px;gap:4px;min-width:0;padding:8px;display:grid;overflow:hidden}.connector-platform-item{width:100%;min-width:0;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.connector-platform-item:hover{background:#3d5a880f}.connector-platform-item.is-active{color:var(--ink);background:#e8eef6e6;font-weight:600}.connector-platform-dot{background:#3d5a8838;border-radius:999px;flex-shrink:0;width:8px;height:8px}.connector-platform-item.is-enabled .connector-platform-dot{background:var(--w-st-ok,#16a34a)}.connector-platform-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.connector-platform-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#24395814;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px}.connector-card{background:#ffffff9e;border:1px solid #3d5a881a;border-radius:18px;gap:16px;padding:18px;display:grid}.connector-card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.connector-card-head h3{color:var(--ink);font-size:16px}.connector-card-head p{color:var(--muted);margin:4px 0 0}.connector-card-head .toggle-row{flex:none;min-width:220px}.connector-note{color:var(--blue-deep);background:#e8eef6b8;border:1px solid #3d5a8824;border-radius:14px;padding:14px 16px}.connector-inline-actions{flex-wrap:wrap;gap:10px;display:inline-flex}@media (width<=900px){.connector-shell{grid-template-columns:1fr}.connector-platform-list{flex-wrap:wrap;display:flex}.connector-platform-item{flex:auto}.connector-card-head{flex-direction:column}}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}h1,h2,h3,h4{letter-spacing:-.02em;margin:0}.app{z-index:1;grid-template-columns:280px 1fr;min-height:100vh;display:grid;position:relative}.sidebar{padding:var(--s-2) var(--s-5) var(--s-4);background:linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.side-scroll{scrollbar-width:thin;scrollbar-color:var(--faint) transparent;flex:auto;min-height:0;margin:0 -2px;padding:0 2px 4px;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0,#000 4px calc(100% - 14px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 4px calc(100% - 14px),#0000 100%)}.side-scroll::-webkit-scrollbar{width:6px}.side-scroll::-webkit-scrollbar-track{background:0 0}.side-scroll::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:var(--r-full);background-clip:padding-box;border:1px solid #0000}.side-scroll:hover::-webkit-scrollbar-thumb{background:var(--faint);background-clip:padding-box}.side-scroll::-webkit-scrollbar-thumb:hover{background:var(--rust-mid);background-clip:padding-box}.sidebar:after{content:"";background:linear-gradient(180deg, transparent, var(--paper-3) 20%, var(--paper-3) 80%, transparent);width:1px;position:absolute;top:8%;bottom:8%;right:0}.brand{align-items:center;gap:var(--s-3);padding:0 var(--s-2) var(--s-5);display:flex;position:relative}.brand-mark{background:var(--ink);width:40px;height:40px;color:var(--paper);border-radius:10px;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0f,0 1px 2px #1a161333}.brand-mark:before{content:"";border-radius:inherit;background-image:linear-gradient(#fdf8ef0f 1px,#0000 1px),linear-gradient(90deg,#fdf8ef0f 1px,#0000 1px);background-position:-1px -1px;background-size:8px 8px;position:absolute;inset:0}.brand-mark .brand-mark-svg{z-index:1;color:var(--paper);display:block;position:relative}.brand-mark>span{z-index:1;position:relative}.brand-name{letter-spacing:-.022em;color:var(--ink);align-items:center;gap:6px;font-size:17px;font-weight:500;display:flex}.brand-name .plate{font-family:var(--font-mono);color:var(--subtle);letter-spacing:.8px;background:var(--paper-2);border-radius:3px;padding:2px 5px;font-size:9px;font-weight:500}.brand-sub{font-family:var(--font-mono);color:var(--subtle);letter-spacing:.2px;margin-top:2px;font-size:10.5px}.nav{flex-direction:column;display:flex}.nav-label{font-family:var(--font-mono);color:var(--subtle);letter-spacing:1.4px;text-transform:uppercase;padding:var(--s-4) var(--s-3) var(--s-2);box-sizing:border-box;justify-content:space-between;align-items:center;min-height:38px;font-size:9.5px;display:flex;position:relative}.nav-label:first-of-type{min-height:22px;padding-top:0}.nav-label .rule{height:1px;margin-left:var(--s-3);background:linear-gradient(90deg, var(--paper-3), transparent);flex:1}.nav a{align-items:center;gap:var(--s-3);padding:7px var(--s-3);border-radius:var(--r-sm);color:var(--ink-3);box-sizing:border-box;min-height:32px;font-size:13px;font-weight:450;line-height:18px;transition:background .2s,color .2s,padding .2s;display:flex;position:relative}.nav a:hover{background:var(--card-2);color:var(--ink);padding-left:calc(var(--s-3) + 2px)}.nav a:hover .chev{opacity:.6;transform:translate(0)}.nav a.active{color:var(--ink);background:var(--card);box-shadow:var(--shadow-1), inset 0 0 0 1px #1a161305;font-weight:500}.nav a.active:before{content:none}.nav a .count{font-family:var(--font-mono);color:var(--muted);border-radius:var(--r-full);background:var(--paper-2);letter-spacing:.5px;font-variant-numeric:tabular-nums;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:500}.nav a.active .count{background:var(--ink);color:var(--paper)}.nav a .chev{width:12px;height:12px;color:var(--subtle);opacity:0;flex-shrink:0;margin-left:auto;transition:opacity .2s,transform .2s;transform:translate(-4px)}.nav a .count+.chev{margin-left:6px}.nav-icon{stroke-width:1.5px;color:currentColor;opacity:.85;flex-shrink:0;width:17px;height:17px}.nav-section{flex-direction:column;display:flex}.nav-group{flex-direction:column;display:flex;position:relative}.nav-group-header{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:var(--s-3);padding:7px var(--s-3);border-radius:var(--r-sm);color:var(--ink-3);width:100%;min-height:32px;font-size:13px;font-weight:450;line-height:18px;transition:background .2s,color .2s,padding .2s;display:flex}.nav-group-header:hover{background:var(--card-2);color:var(--ink);padding-left:calc(var(--s-3) + 2px)}.nav-group-header:hover .chev{opacity:.6;transform:translateX(0) rotate(var(--chev-rot,0deg))}.nav-group-header:focus-visible{box-shadow:0 0 0 2px var(--paper-3) inset;outline:none}.nav-group-header.in-active{color:var(--rust,#f97316);font-weight:500}.nav-group-header.in-active .nav-icon{opacity:1}.nav-group-header .count{font-family:var(--font-mono);color:var(--muted);border-radius:var(--r-full);background:var(--paper-2);letter-spacing:.5px;font-variant-numeric:tabular-nums;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:500}.nav-group-header .chev{width:12px;height:12px;color:var(--subtle);opacity:.5;flex-shrink:0;margin-left:auto;transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .2s;transform:translate(0)rotate(0)}.nav-group-header .count+.chev{margin-left:6px}.nav-group[data-open=true] .nav-group-header .chev{--chev-rot:90deg;opacity:.8;transform:translate(0)rotate(90deg)}.nav-sublist{grid-template-rows:0fr;transition:grid-template-rows .22s cubic-bezier(.16,1,.3,1);display:grid}.nav-group[data-open=true] .nav-sublist{grid-template-rows:1fr}.nav-sublist-inner{flex-direction:column;min-height:0;padding:2px 0 4px;display:flex;position:relative;overflow:hidden}.nav-sublist-inner:before{content:"";left:calc(var(--s-3) + 8px);background:var(--paper-3);pointer-events:none;width:1px;position:absolute;top:0;bottom:4px}.nav .nav-child{padding:6px var(--s-3) 6px calc(var(--s-3) + 17px + var(--s-3) + 22px);color:var(--ink-3);border-radius:var(--r-sm);align-items:center;font-size:12.5px;font-weight:440;line-height:17px;transition:background .2s,color .2s;display:flex;position:relative}.nav .nav-child:hover{background:var(--card-2);color:var(--ink);padding-left:calc(var(--s-3) + 17px + var(--s-3) + 22px)}.nav .nav-child.active{color:var(--ink);background:var(--card);box-shadow:var(--shadow-1), inset 0 0 0 1px #1a161305;font-weight:500}.nav .nav-child .chev{display:none}.nav .nav-child:before{content:"";left:calc(var(--s-3) + 8px);background:var(--paper-3);pointer-events:none;width:14px;height:1px;position:absolute;top:50%}.nav .nav-child.active:before,.nav .nav-child:hover:before{background:var(--subtle)}.nav .nav-child .nav-dot{display:none}.nav-child-label{flex:1}.nav-project-switch{margin:1px 0;position:relative}.nav-project-switch-toggle{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:6px var(--s-3) 6px calc(var(--s-3) + 17px + var(--s-3) + 22px);color:var(--subtle);border-radius:var(--r-sm);align-items:center;gap:6px;font-size:11.5px;line-height:16px;transition:background .2s,color .2s;display:flex}.nav-project-switch-toggle:hover{background:var(--card-2);color:var(--ink)}.nav-project-switch-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-project-switch-toggle .chev{width:11px;height:11px;color:var(--subtle);flex-shrink:0;transition:transform .2s}.nav-project-switch-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.nav-project-search{margin:2px var(--s-3) 4px calc(var(--s-3) + 17px + var(--s-3) + 22px)}.nav-project-search input{box-sizing:border-box;border-radius:var(--r-sm);border:1px solid var(--paper-3);background:var(--paper);width:100%;color:var(--ink);padding:6px 8px;font-family:inherit;font-size:12px}.nav-project-search input:focus{border-color:var(--subtle);outline:none}.nav-project-results{flex-direction:column;gap:2px;max-height:220px;margin-top:4px;display:flex;overflow-y:auto}.nav-project-results button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-sm);color:var(--ink-3);flex-direction:column;gap:1px;padding:6px 8px;display:flex}.nav-project-results button:hover,.nav-project-results button[aria-selected=true]{background:var(--card-2);color:var(--ink)}.nav-project-results button strong{font-size:12px;font-weight:500}.nav-project-results button small{color:var(--muted);font-size:10.5px}.nav-project-empty{margin:2px var(--s-3) 4px calc(var(--s-3) + 17px + var(--s-3) + 22px);color:var(--muted);font-size:11.5px}.nav-flyout{display:none}.side-status{margin-top:var(--s-4);padding:8px var(--s-3);font-family:var(--font-mono);color:var(--muted);letter-spacing:1px;align-items:center;gap:8px;font-size:10px;display:flex}.side-status .live-dot{background:var(--rust);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.6s ease-in-out infinite pulse;box-shadow:0 0 0 3px #f973162e}.side-status .sep{background:var(--paper-3);flex:1;height:1px}.side-status .sync{color:var(--subtle)}.side-brief{margin-top:var(--s-2);padding:var(--s-4) var(--s-4) var(--s-4) var(--s-4);border-radius:var(--r-md);background:linear-gradient(180deg, transparent, #f9731614), var(--card);box-shadow:var(--shadow-1), inset 0 0 0 1px #1a161308;position:relative;overflow:hidden}.side-brief:before{content:"";filter:blur(10px);background:radial-gradient(circle,#f973164d,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;top:-30px;right:-30px}.side-brief:after{content:"";left:0;top:var(--s-5);bottom:var(--s-5);background:var(--orange);width:2px;position:absolute}.brief-head{margin-bottom:var(--s-2);justify-content:space-between;align-items:center;display:flex;position:relative}.side-brief-label{font-family:var(--font-mono);color:var(--ink);letter-spacing:.2px;font-size:9.5px;font-weight:600}.brief-time{font-family:var(--font-mono);color:var(--subtle);letter-spacing:1px;font-variant-numeric:tabular-nums;font-size:9.5px}.side-brief h4{font-family:var(--font-sans);color:var(--ink);margin-bottom:6px;font-size:13.5px;font-weight:600;line-height:1.35;position:relative}.side-brief p{color:var(--muted);margin:0 0 var(--s-3);font-size:11.5px;line-height:1.5;position:relative}.side-brief .btn{width:100%;height:32px;padding:0 14px;font-size:11.5px;position:relative}.side-brief .btn svg{width:11px;height:11px}.sidebar-footer-wrap{gap:var(--s-2);flex-direction:column;margin-top:auto;display:flex}.footer-logout{color:#dc2626;background:#dc262614;border:1px solid #dc262659;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:100%;height:30px;font-size:12px;font-weight:600;transition:background .2s,color .2s,opacity .2s,max-height .2s;display:flex}.footer-logout:hover{color:#fff;background:#dc2626}.sidebar-footer{padding-top:var(--s-5);align-items:center;gap:var(--s-3);display:flex;position:relative}.sidebar-footer:before{content:"";background:linear-gradient(90deg, transparent, var(--paper-3) 20%, var(--paper-3) 80%, transparent);height:1px;display:block;position:absolute;top:0;left:0;right:0}.user-meta{flex:1;min-width:0}.user-meta .name{color:var(--ink);letter-spacing:-.01em;font-size:13px;font-weight:500}.user-meta .status-line{font-size:10px;font-family:var(--font-mono);color:var(--subtle);letter-spacing:1px;align-items:center;gap:5px;margin-top:2px;display:flex}.user-meta .status-line .pip{background:var(--ink);border-radius:50%;flex-shrink:0;width:5px;height:5px}.footer-action{width:28px;height:28px;color:var(--subtle);background:0 0;border-radius:8px;flex-shrink:0;place-items:center;transition:background .2s,color .2s;display:grid}.footer-action:hover{background:var(--card);color:var(--ink)}.av{background:var(--paper-2);border-radius:50%;flex-shrink:0;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #1a16130f,0 1px 2px #1a161314}.av svg{width:100%;height:100%;display:block}.av-xs{width:26px;height:26px}.av-sm{width:30px;height:30px}.av-md{width:40px;height:40px}.av-lg{width:52px;height:52px}.av-mono{font-family:var(--font-mono);color:#fff;mix-blend-mode:normal;letter-spacing:0;place-items:center;font-weight:500;display:grid;position:absolute;inset:0}.av-xs .av-mono{font-size:9.5px}.av-sm .av-mono{font-size:10.5px}.av-md .av-mono{font-size:13px}.av-lg .av-mono{font-size:16px}.main{flex-direction:column;min-width:0;display:flex}.topbar{align-items:center;gap:var(--s-4);padding:var(--s-5) var(--s-8);z-index:10;-webkit-backdrop-filter:saturate(140%)blur(14px);background:#f5f1eacc;display:flex;position:sticky;top:0}.topbar:after{content:"";bottom:0;left:var(--s-8);right:var(--s-8);background:linear-gradient(90deg, transparent, var(--paper-3) 20%, var(--paper-3) 80%, transparent);height:1px;position:absolute}.search{background:var(--card);border-radius:var(--r-full);max-width:440px;box-shadow:var(--shadow-1), inset 0 0 0 1px transparent;color:var(--muted);flex:1;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:box-shadow .2s,background .2s;display:flex}.search:focus-within{box-shadow:0 0 0 4px #2563eb24, var(--shadow-2);background:#fff}.search input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.search svg{color:var(--subtle)}.kbd{font-family:var(--font-mono);color:var(--subtle);background:var(--paper-2);border-radius:4px;padding:2px 6px;font-size:10.5px}.topbar-actions{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.btn{border-radius:var(--r-full);height:40px;font-family:var(--font-sans);letter-spacing:-.003em;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:13px;font-weight:500;line-height:1;transition:transform .1s,box-shadow .25s,background .25s,color .25s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{flex-shrink:0}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--ink-2)}.btn-accent{background:var(--rust-mid);color:#fff9f2}.btn-accent:hover{background:var(--rust-deep)}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--paper-3);background:0 0}.btn-ghost:hover{background:var(--card);box-shadow:inset 0 0 0 1px var(--faint)}.btn-quiet{color:var(--muted);background:0 0;padding:0 14px}.btn-quiet:hover{color:var(--ink);background:var(--card-2)}.icon-btn{border-radius:var(--r-full);width:40px;height:40px;color:var(--muted);background:var(--card);box-shadow:inset 0 0 0 1px var(--paper-3);cursor:pointer;justify-content:center;align-items:center;transition:color .25s,background .25s,box-shadow .25s;display:inline-flex;position:relative}.icon-btn:hover{color:var(--ink);background:var(--card-2);box-shadow:inset 0 0 0 1px var(--faint)}.icon-btn .dot{background:var(--rust);width:7px;height:7px;box-shadow:0 0 0 2px var(--paper), 0 0 0 3px #f9731647;border-radius:50%;position:absolute;top:9px;right:10px}.btn-row{align-items:center;gap:var(--s-2);display:inline-flex}.content{padding:var(--s-4) var(--s-5) var(--s-10);gap:var(--s-8);flex-direction:column;width:100%;display:flex}.lede{justify-content:space-between;align-items:flex-end;gap:var(--s-5);display:flex}.eyebrow{font-family:var(--font-sans);letter-spacing:.2px;color:var(--muted);margin-bottom:var(--s-3);align-items:center;gap:8px;font-size:11px;font-weight:500;display:inline-flex}.eyebrow .spark{background:var(--orange);border-radius:50%;width:6px;height:6px;animation:2.6s ease-in-out infinite pulse;box-shadow:0 0 0 3px #f9731638}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #f9731638}50%{box-shadow:0 0 0 8px #f9731600}}.lede h1{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--ink);max-width:26ch;font-size:36px;font-weight:600;line-height:1.1}.lede h1 em{color:var(--ink);font-style:normal;font-weight:700}.lede .aside{text-align:right;color:var(--muted);max-width:28ch;font-size:13px;line-height:1.55}.lede .aside strong{color:var(--ink);font-weight:500}.hero{gap:var(--s-5);margin-top:var(--s-2);grid-template-columns:1.5fr 1fr;display:grid}.hero-card{padding:var(--s-8) var(--s-8) var(--s-7);border-radius:var(--r-xl);color:#fdf8ef;box-shadow:var(--shadow-hero);gap:var(--s-5);background:radial-gradient(120% 80% at 80% -20%,#fdba748c,#0000 55%),radial-gradient(80% 60% at -10% 110%,#2563eb47,#0000 55%),linear-gradient(155deg,#0f1629 0%,#0a0f1e 60%,#050812 100%);grid-template-rows:auto 1fr auto;min-height:320px;display:grid;position:relative;overflow:hidden}.hero-card:after{content:"";mix-blend-mode:overlay;opacity:.6;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:absolute;inset:0}.hero-top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.hero-eyebrow{font-family:var(--font-sans);letter-spacing:.2px;color:#fdf8efb3;font-size:11px;font-weight:500}.hero-edition{font-family:var(--font-sans);color:#fdf8efb3;letter-spacing:0;font-size:12px;font-weight:500}.hero-title{font-family:var(--font-sans);letter-spacing:-.025em;z-index:1;max-width:22ch;font-size:40px;font-weight:600;line-height:1.1;position:relative}.hero-title em{color:#fff;font-style:normal;font-weight:700}.hero-foot{justify-content:space-between;align-items:center;gap:var(--s-4);z-index:1;flex-wrap:wrap;display:flex;position:relative}.hero-sub{color:#fdf8efbf;max-width:48ch;font-size:14.5px;line-height:1.5}.hero-cta{gap:var(--s-3);flex-shrink:0;display:flex}.hero-cta .btn-ghost{color:#fdf8ef;background:#fdf8ef17;box-shadow:inset 0 0 0 1px #fdf8ef2e}.hero-cta .btn-ghost:hover{background:#fdf8ef24}.hero-side{gap:var(--s-5);grid-template-rows:1fr 1fr;display:grid}.tile{background:var(--card);border-radius:var(--r-lg);padding:var(--s-5) var(--s-5);box-shadow:var(--shadow-1);flex-direction:column;justify-content:space-between;display:flex;position:relative}.tile-label{font-family:var(--font-sans);color:var(--muted);letter-spacing:.2px;font-size:11px;font-weight:500}.tile-value{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--ink);margin-top:var(--s-3);font-size:32px;font-weight:600;line-height:1}.tile-value small{font-family:var(--font-sans);color:var(--muted);letter-spacing:0;margin-left:6px;font-size:13px;font-weight:400}.tile-meta{color:var(--muted);margin-top:4px;font-size:12.5px}.chip{font-family:var(--font-mono);border-radius:var(--r-full);letter-spacing:.3px;white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:500;display:inline-flex}.chip-up{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft)}.chip-down,.chip-rust{background:var(--orange-paper);color:var(--orange-deep);box-shadow:inset 0 0 0 1px var(--orange-soft)}.chip-ultra,.chip-ocean{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft)}.chip.ref-chip{font-family:var(--font-sans);letter-spacing:0;color:var(--ink);box-shadow:none;background:0 0;border-radius:0;padding:0;font-size:13px;font-weight:500}.spark-bars{height:40px;margin-top:var(--s-4);align-items:flex-end;gap:3px;display:flex}.spark-bars i{background:var(--faint);border-radius:2px 2px 0 0;flex:1;min-height:6px}.spark-bars i.h1{background:var(--subtle)}.spark-bars i.h2{background:var(--blue)}.spark-bars i.h3{background:var(--ink)}.segmented{--seg-h:34px;--seg-pad:4px;--seg-tint-bg:#f1f5fb;--seg-tint-edge:#3d5a8824;--seg-tint-fg:#243958;--seg-tint-num:#2439588c;padding:var(--seg-pad);background:var(--card);border-radius:var(--r-full);box-shadow:inset 0 0 0 1px var(--paper-3), 0 1px 0 #1a161305;isolation:isolate;align-items:center;gap:0;display:inline-flex;position:relative}.segmented .segmented-thumb{top:var(--seg-pad);height:var(--seg-h);background:var(--seg-tint-bg);box-shadow:inset 0 0 0 1px var(--seg-tint-edge);border-radius:var(--r-full);pointer-events:none;z-index:0;will-change:transform, width;transition:transform .42s cubic-bezier(.2,.7,.2,1),width .42s cubic-bezier(.2,.7,.2,1),opacity .2s;position:absolute;left:0}.segmented button{z-index:1;height:var(--seg-h);font-family:var(--font-sans);letter-spacing:-.005em;color:var(--muted);border-radius:var(--r-full);white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:0 18px;font-size:13px;font-weight:400;transition:color .28s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative}.segmented button:hover{color:var(--ink-2)}.segmented button.on{color:var(--seg-tint-fg);font-weight:500}.segmented button:focus-visible{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px #24395838;outline:none}.segmented .segmented-count{font-variant-numeric:tabular-nums;color:var(--subtle);letter-spacing:0;font-size:11.5px;font-weight:400;transition:color .28s cubic-bezier(.2,.7,.2,1);transform:translateY(-.5px)}.segmented button.on .segmented-count{color:var(--seg-tint-num)}.segmented .sep{background:var(--paper-3);width:1px;height:18px;margin:0 4px}.range-bar{justify-content:space-between;align-items:center;gap:var(--s-5);flex-wrap:wrap;display:flex}.range-bar .left{align-items:center;gap:var(--s-3);font-family:var(--font-mono);color:var(--muted);letter-spacing:.2px;font-size:11px;display:flex}.range-bar .date-chip{background:var(--card);height:40px;box-shadow:inset 0 0 0 1px var(--paper-3);border-radius:var(--r-full);color:var(--ink);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.2px;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.range-bar .date-chip svg{color:var(--muted)}.kpi-strip{gap:var(--s-5);grid-template-columns:repeat(5,1fr);display:grid}.kpi{background:var(--card);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-1);gap:var(--s-3);flex-direction:column;display:flex;position:relative}.kpi-head{justify-content:space-between;align-items:center;display:flex}.kpi-label{font-family:var(--font-sans);color:var(--ink-2);letter-spacing:-.008em;font-size:15.5px;font-weight:500}.kpi-ico{background:var(--paper-2);width:32px;height:32px;color:var(--ink-2);border-radius:10px;place-items:center;display:grid}.kpi-ico.hot{background:var(--orange-paper);color:var(--orange-deep);box-shadow:inset 0 0 0 1px var(--orange-soft)}.kpi-ico.dark{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft)}.kpi-value{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--ink);font-size:28px;font-weight:600;line-height:1}.kpi-value .unit{font-family:var(--font-sans);color:var(--muted);letter-spacing:0;margin-left:4px;font-size:13px;font-weight:400}.kpi-foot{color:var(--muted);white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.kpi-foot .delta{font-family:var(--font-mono);border-radius:var(--r-full);letter-spacing:.3px;white-space:nowrap;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:500}.kpi-foot .delta.up{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft)}.kpi-foot .delta.down{background:var(--orange-paper);color:var(--orange-deep);box-shadow:inset 0 0 0 1px var(--orange-soft)}.kpi-foot .delta.zero{background:var(--paper-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--paper-3)}.summary{background:var(--card);border-radius:var(--r-xl);padding:var(--s-7);box-shadow:var(--shadow-2);gap:var(--s-7);grid-template-columns:1.7fr 1fr;align-items:stretch;display:grid}.summary-head{margin-bottom:var(--s-6);justify-content:space-between;align-items:flex-end;display:flex}.summary-head h3{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--ink);font-size:20px;font-weight:600;line-height:1.2}.summary-head h3 em{color:var(--ink);font-style:normal;font-weight:700}.summary-head .month{font-family:var(--font-mono);color:var(--muted);letter-spacing:.2px;font-size:11px}.summary-breakdown{gap:var(--s-5);grid-template-columns:repeat(4,1fr);display:grid}.sb-cell{padding-right:var(--s-5);flex-direction:column;gap:6px;display:flex;position:relative}.sb-cell+.sb-cell:before{content:"";left:calc(var(--s-5) * -.5);background:var(--paper-3);width:1px;position:absolute;top:8px;bottom:8px}.sb-cell .label{font-family:var(--font-mono);color:var(--muted);letter-spacing:.2px;font-size:10.5px}.sb-cell .value{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--ink);font-size:24px;font-weight:600;line-height:1}.sb-cell .value .unit{font-family:var(--font-sans);color:var(--muted);margin-left:4px;font-size:12px}.sb-cell .sub{font-family:var(--font-mono);color:var(--muted);letter-spacing:.3px;font-size:11px}.profit-card{color:#fdf8ef;border-radius:var(--r-lg);padding:var(--s-5) var(--s-5) var(--s-6);gap:var(--s-4);background:radial-gradient(80% 100% at 120% -20%,#f9731659,#0000 60%),linear-gradient(160deg,#0f1629 0%,#0a0f1e 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.profit-card:after{content:"";mix-blend-mode:overlay;opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:absolute;inset:0}.profit-card>*{z-index:1;position:relative}.profit-head{justify-content:space-between;align-items:center;display:flex}.profit-label{font-family:var(--font-mono);color:#fdf8ef99;letter-spacing:.2px;font-size:10.5px}.profit-chip{font-family:var(--font-mono);border-radius:var(--r-full);color:#fdf8ef;letter-spacing:.3px;background:#fdf8ef1a;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:10.5px;font-weight:500;display:inline-flex}.profit-chip:before{content:"";background:var(--orange);border-radius:50%;flex-shrink:0;width:5px;height:5px;box-shadow:0 0 0 3px #f9731638}.profit-value{font-family:var(--font-sans);letter-spacing:-.025em;font-size:34px;font-weight:600;line-height:1}.profit-value .unit{font-family:var(--font-sans);color:#fdf8ef8c;margin-left:6px;font-size:15px}.profit-spark{align-items:flex-end;gap:3px;height:46px;margin-top:auto;display:flex}.profit-spark i{background:#fdf8ef2e;border-radius:2px 2px 0 0;flex:1;min-height:4px}.profit-spark i.hi{background:var(--blue-light)}.profit-spark i.peak{background:var(--orange);box-shadow:0 0 10px #f9731659}.stats{gap:var(--s-5);grid-template-columns:repeat(4,1fr);display:grid}.stat{background:var(--card);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-1);position:relative;overflow:hidden}.stat-head{justify-content:space-between;align-items:center;display:flex}.stat-ico{background:var(--card-2);width:38px;height:38px;color:var(--ink-2);border-radius:12px;place-items:center;display:grid}.stat-ico.rust{background:var(--orange-soft);color:var(--orange-deep)}.stat-ico.ultra{background:var(--paper-2);color:var(--ink)}.stat-ico.moss{background:var(--ink);color:var(--paper)}.stat-ico.ocean{background:var(--paper-2);color:var(--ink-2)}.stat-label{font-family:var(--font-sans);color:var(--muted);letter-spacing:.2px;margin-top:var(--s-5);font-size:11px;font-weight:500}.stat-value{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--ink);margin-top:6px;font-size:32px;font-weight:600;line-height:1}.stat-foot{margin-top:var(--s-3);align-items:center;gap:var(--s-2);color:var(--muted);font-size:12.5px;display:flex}.panel{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.panel-head{padding:var(--s-5) var(--s-5) var(--s-4);justify-content:space-between;align-items:center;display:flex}.panel-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:600;line-height:1.2}.panel-title em{color:var(--ink);font-style:normal;font-weight:700}.panel-sub{color:var(--muted);font-size:13px;font-family:var(--font-sans);letter-spacing:0;margin-top:4px}.grid-2{gap:var(--s-7);grid-template-columns:1.7fr 1fr;display:grid}table.projects{border-collapse:collapse;table-layout:auto;width:100%}table.projects th,table.projects td{text-align:left;padding:var(--s-3) var(--s-3);vertical-align:middle}table.projects th:first-child,table.projects td:first-child{padding-left:var(--s-5)}table.projects th:last-child,table.projects td:last-child{padding-right:var(--s-5)}table.projects th+th,table.projects td+td{box-shadow:inset 1px 0 #1412100b}.data-table-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--paper-3) transparent;position:relative;overflow-x:auto}.data-table-scroll::-webkit-scrollbar{background:0 0;height:8px}.data-table-scroll::-webkit-scrollbar-track{background:0 0}.data-table-scroll::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:var(--r-full);background-clip:padding-box;border:2px solid #0000}.data-table-scroll:hover::-webkit-scrollbar-thumb{background:var(--faint,#14121038);background-clip:padding-box}.data-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-3,#14121073);background-clip:padding-box}table.projects.is-flex{border-collapse:separate;border-spacing:0}table.projects.is-flex thead th .th-grip-row{align-items:center;gap:6px;width:100%;display:inline-flex}table.projects.is-flex thead th .th-grip{width:10px;height:14px;color:var(--faint,#1412102e);cursor:grab;opacity:0;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:inline-flex}table.projects.is-flex thead th:hover .th-grip,table.projects.is-flex thead th:focus-within .th-grip{opacity:1}table.projects.is-flex thead th .th-grip:hover{color:var(--ink-3,#141210a6)}table.projects.is-flex thead th .th-grip:active{cursor:grabbing}table.projects.is-flex thead th .th-label{white-space:nowrap;flex:1;min-width:0}table.projects.is-flex thead th .th-pin{appearance:none;border-radius:var(--r-sm);color:var(--faint,#1412102e);cursor:pointer;opacity:0;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:opacity .15s,color .15s,background .15s;display:inline-flex}table.projects.is-flex thead th:hover .th-pin,table.projects.is-flex thead th:focus-within .th-pin,table.projects.is-flex thead th .th-pin.is-on{opacity:1}table.projects.is-flex thead th .th-pin:hover{color:var(--ink-3,#141210a6);background:var(--card-2,#1412100a)}table.projects.is-flex thead th .th-pin.is-on{color:var(--ink,#1a1613)}table.projects.is-flex thead th .th-pin:focus-visible{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink);outline:none}.th-drag-ghost{padding:var(--s-2) var(--s-3);background:var(--paper);border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.2px;color:var(--ink);cursor:grabbing;-webkit-user-select:none;user-select:none;pointer-events:none;transform-origin:50%;align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex;box-shadow:0 12px 28px #14121024,0 0 0 1px #14121014}.th-drag-ghost .th-grip{color:var(--ink-3,#14121099);flex-shrink:0;align-items:center;display:inline-flex}.th-drag-ghost .th-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table.projects.is-flex th.col-sticky,table.projects.is-flex td.col-sticky{background:var(--paper);z-index:1;position:sticky;box-shadow:inset -1px 0 #14121014}table.projects.is-flex thead th.col-sticky{z-index:3}table.projects.is-flex tbody tr:nth-child(2n) td.col-sticky{background:linear-gradient(#efeae159, #efeae159), var(--paper)}table.projects.is-flex tbody tr:hover td.col-sticky{background:linear-gradient(var(--card-2), var(--card-2)), var(--paper)}@supports (animation-timeline:scroll()){table.projects.is-flex td.col-sticky:after,table.projects.is-flex th.col-sticky:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(90deg,#1412101a,#0000);width:8px;animation:linear both data-table-sticky-shadow;animation-timeline:scroll(inline);animation-range:0 24px;position:absolute;top:0;bottom:0;right:-8px}}@keyframes data-table-sticky-shadow{0%{opacity:0}to{opacity:1}}table.projects thead th{font-family:var(--font-mono);color:var(--blue-deep);letter-spacing:.2px;padding-top:var(--s-2);padding-bottom:var(--s-3);border-bottom:1px dashed var(--paper-3);text-transform:uppercase;-webkit-user-select:none;user-select:none;text-align:left;background:#f8fafd;font-size:10px;font-weight:500}table.projects.is-flex thead th.col-sticky{background:#f8fafd}table.projects thead th.num,table.projects tbody td,table.projects tbody td.num,table.projects tbody td.num-cell{text-align:left}table.projects tbody td.num,table.projects tbody td.num-cell{font-variant-numeric:tabular-nums}table.projects thead th.sortable{cursor:pointer;transition:color .2s}table.projects thead th.sortable:hover{color:var(--ink-2)}table.projects thead th .sort{color:var(--faint);vertical-align:middle;margin-left:5px;font-size:8px;transition:color .2s;display:inline-block}table.projects thead th.sorted .sort{color:var(--ink)}table.projects thead th.num,table.projects td.num{text-align:left;font-variant-numeric:tabular-nums}table.projects thead th.col-no{width:44px;padding-right:0}.row-no{font-family:var(--font-mono);color:var(--subtle);letter-spacing:1px;font-variant-numeric:tabular-nums;font-size:10px;font-weight:500}.row-no b{color:var(--ink-3);font-weight:500}table.projects tbody tr{transition:background .2s,box-shadow .2s;position:relative}table.projects tbody tr:nth-child(2n){background:#efeae159}table.projects tbody tr:hover{background:var(--card-2)}table.projects tbody tr:hover .row-no b{color:var(--ink)}table.projects tbody tr:hover .row-action{opacity:1;transform:translate(0)}table.projects tbody td{padding-top:var(--s-4);padding-bottom:var(--s-4);position:relative}table.projects tbody tr+tr td:before{content:"";background:var(--paper-3);opacity:.55;height:1px;position:absolute;top:0;left:0;right:0}table.projects tbody tr+tr td:first-child:before{left:var(--s-5)}table.projects tbody tr+tr td:last-child:before{right:var(--s-5)}table.projects tfoot td{padding:var(--s-3) var(--s-3);font-family:var(--font-mono);color:var(--muted);letter-spacing:.2px;border-top:1px dashed var(--paper-3);font-size:10.5px}table.projects tfoot td:first-child{padding-left:var(--s-5)}table.projects tfoot td:last-child{padding-right:var(--s-5)}table.projects tfoot td b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.phase{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.2px;white-space:nowrap;align-items:center;gap:5px;font-size:10px;font-weight:500;display:inline-flex}.phase:before{content:"";background:var(--orange-mid);border-radius:1px;width:4px;height:4px;transform:rotate(45deg)}.phase.done:before{background:var(--blue)}.phase.paused:before{background:var(--orange-paper);box-shadow:inset 0 0 0 1px var(--orange-light)}.progress:before{content:"";border-radius:inherit;pointer-events:none;background-image:linear-gradient(90deg,#0000 calc(25% - 1px),#1a16132e calc(25% - 1px) 25%,#0000 25%),linear-gradient(90deg,#0000 calc(50% - 1px),#1a161338 calc(50% - 1px) 50%,#0000 50%),linear-gradient(90deg,#0000 calc(75% - 1px),#1a16132e calc(75% - 1px) 75%,#0000 75%);position:absolute;inset:0}.progress>i{background:linear-gradient(90deg, var(--blue-light) 0%, var(--blue) 100%);border-radius:inherit;height:100%;display:block;position:relative}.progress>i:after{content:"";background:var(--blue);width:2px;box-shadow:0 0 0 2px var(--card);border-radius:1px;position:absolute;top:-2px;bottom:-2px;right:-1px}.progress.indigo>i,.progress.ocean>i{background:linear-gradient(90deg, var(--blue-light), var(--blue))}.progress-row .num{font-family:var(--font-mono);color:var(--ink-2);letter-spacing:.3px;min-width:34px;font-size:11.5px;font-weight:500}.avatars .av-more{background:var(--paper-2);width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--paper-3), 0 0 0 2px var(--card);font-family:var(--font-mono);color:var(--muted);letter-spacing:.2px;border-radius:50%;place-items:center;margin-left:-6px;font-size:9.5px;font-weight:500;display:inline-grid}tr:hover .avatars .av-more{box-shadow:inset 0 0 0 1px var(--paper-3), 0 0 0 2px var(--card-2)}.due-cell{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:inline-flex}.due-cell .count{font-family:var(--font-mono);color:var(--ink);letter-spacing:1px;background:var(--paper-2);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:500}.due-cell .count.warn{color:var(--ink);background:var(--orange-soft)}.due-cell .count.done{color:var(--muted);background:var(--paper-2)}.due-cell .date{font-family:var(--font-mono);color:var(--muted);letter-spacing:.2px;font-size:11.5px}.row-action{width:28px;height:28px;color:var(--subtle);opacity:0;background:0 0;border-radius:8px;place-items:center;transition:opacity .2s,transform .2s,background .2s,color .2s;display:inline-grid;transform:translate(-4px)}.row-action:hover{background:var(--card);color:var(--ink)}td.col-action,th.col-action{text-align:right;width:44px}.proj-name{align-items:center;gap:var(--s-3);color:var(--ink);font-size:14px;font-weight:500;display:flex}.proj-chip{--chip-bg:var(--ink);--chip-fg:var(--paper);--chip-accent:var(--rust);background:var(--chip-bg);width:40px;height:40px;color:var(--chip-fg);isolation:isolate;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);border-radius:8px;flex-shrink:0;position:relative;box-shadow:inset 0 0 0 1px #00000014,0 1px 2px #1a161326}.proj-chip:before{content:"";background:var(--chip-accent);clip-path:polygon(100% 0,100% 100%,0 0);z-index:2;width:11px;height:11px;position:absolute;top:0;right:0}.proj-chip:after{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(160deg,#0000 40%,#0000001f);position:absolute;inset:0}.proj-chip>span{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--chip-fg);z-index:3;text-shadow:0 1px #0000001f;place-items:center;font-size:15px;font-weight:600;display:grid;position:absolute;inset:0}.proj-chip>i{font-family:var(--font-mono);letter-spacing:.8px;color:var(--chip-fg);opacity:.45;z-index:3;font-size:8px;font-style:normal;font-weight:500;position:absolute;bottom:3px;left:4px}.proj-chip.v-ink{--chip-bg:var(--ink);--chip-fg:var(--paper);--chip-accent:var(--rust)}.proj-chip.v-rust{--chip-bg:var(--rust-mid);--chip-fg:#fff9f2;--chip-accent:var(--ink)}.proj-chip.v-deep{--chip-bg:var(--rust-deep);--chip-fg:var(--rust-soft);--chip-accent:var(--rust-light)}.proj-chip.v-coal{--chip-bg:var(--ink-3);--chip-fg:var(--paper);--chip-accent:var(--rust)}.proj-chip.v-stone{--chip-bg:var(--muted);--chip-fg:var(--paper);--chip-accent:var(--ink)}.proj-chip.v-paper{--chip-bg:var(--paper-2);--chip-fg:var(--ink);--chip-accent:var(--rust-deep)}.proj-chip.v-paper>span{text-shadow:none}.proj-chip.v-paper>i{opacity:.6}tr:hover .proj-chip{box-shadow:inset 0 0 0 1px #0000001f,0 4px 10px -4px #1a161340}.proj-sub{color:var(--muted);font-size:12px;font-weight:400;font-family:var(--font-sans);letter-spacing:0;margin-top:2px}.badge{border-radius:var(--r-full);font-family:var(--font-mono);letter-spacing:.4px;background:var(--paper-2);color:var(--muted);align-items:center;gap:6px;padding:4px 11px;font-size:10.5px;font-weight:500;display:inline-flex}.badge:before{content:"";background:var(--subtle);border-radius:50%;width:5px;height:5px}.badge{font-family:var(--font-mono);letter-spacing:.5px;white-space:nowrap;gap:6px;padding:4px 10px 4px 9px;font-size:10.5px;font-weight:500}.badge:before{content:"";background:var(--subtle);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.badge-ok{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft)}.badge-ok:before{background:var(--blue-light)}.badge-paused{background:var(--orange-paper);color:var(--orange-deep);box-shadow:inset 0 0 0 1px var(--orange-soft)}.badge-paused:before{background:var(--orange-light)}.badge-done{background:var(--blue-soft);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft)}.badge-done:before{background:var(--blue)}.badge-risk{background:var(--orange-soft);color:var(--orange-deep);box-shadow:inset 0 0 0 1px var(--orange-soft)}.badge-risk:before{background:var(--orange);box-shadow:0 0 0 3px #f973162e}.progress{background:var(--paper-3);border-radius:var(--r-full);width:140px;height:5px;position:relative;overflow:hidden}.progress>i{background:linear-gradient(90deg, var(--blue-light) 0%, var(--blue) 100%);border-radius:inherit;height:100%;display:block}.progress.indigo>i,.progress.ocean>i{background:linear-gradient(90deg, var(--blue-light), var(--blue))}.progress.mono>i{background:linear-gradient(90deg, var(--orange-light), var(--orange))}.progress-row{align-items:center;gap:10px;display:flex}.progress-row .num{font-family:var(--font-mono);color:var(--muted);letter-spacing:.3px;min-width:34px;font-size:11.5px}.avatars{display:inline-flex}.avatars .av{box-shadow:inset 0 0 0 1px #1a16130f, 0 0 0 2px var(--card);margin-left:-6px}.avatars .av:first-child{margin-left:0}tr:hover .avatars .av{box-shadow:inset 0 0 0 1px #1a16130f, 0 0 0 2px var(--card-2)}.due{font-family:var(--font-mono);color:var(--muted);letter-spacing:.3px;font-size:12px}.activity{margin:0;padding:0;list-style:none}.activity li{gap:var(--s-4);padding:var(--s-3) var(--s-5);display:flex;position:relative}.activity li+li:before{content:"";top:0;left:var(--s-5);right:var(--s-5);background:var(--paper-3);opacity:.5;height:1px;position:absolute}.activity .meta{color:var(--ink-2);font-size:13.5px;line-height:1.5}.activity .meta strong{color:var(--ink);font-weight:500}.activity .meta em{color:var(--muted);font-style:normal;font-weight:500}.activity .when{font-family:var(--font-mono);color:var(--subtle);letter-spacing:.5px;margin-top:4px;font-size:10.5px;display:block}.cap-list{padding:var(--s-4) var(--s-5) var(--s-5);gap:var(--s-4);flex-direction:column;display:flex}.cap-row .top{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.cap-row .name{color:var(--ink-2);font-size:14px;font-weight:450}.cap-row .pct{font-family:var(--font-mono);color:var(--ink);letter-spacing:.3px;font-size:14px;font-weight:500}.cap-row .bar{background:var(--paper-3);border-radius:var(--r-full);height:8px;overflow:hidden}.cap-row .bar i{border-radius:inherit;height:100%;display:block}@media (width<=1200px){.hero{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.hero-title{font-size:44px}.kpi-strip{grid-template-columns:repeat(3,1fr)}.kpi-strip .kpi:nth-child(n+4){grid-column:span 1}.summary{grid-template-columns:1fr}.summary-breakdown{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{display:none}.content{padding:var(--s-5);gap:var(--s-6)}.topbar{padding:var(--s-4)}.hero-card{padding:var(--s-6)}.hero-title,.lede h1{font-size:34px}}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);border-radius:inherit;outline:none}::selection{background:var(--selection-bg);color:var(--ink)}.check{appearance:none;background:var(--surface-1);width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--border-2);cursor:pointer;transition:background var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:4px;flex-shrink:0;margin:0;position:relative}.check:hover{box-shadow:inset 0 0 0 1px var(--ink-3)}.check:checked{background:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.check:checked:after{content:"";border:solid var(--paper);border-width:0 1.5px 1.5px 0;width:5px;height:9px;position:absolute;top:1.5px;left:4.5px;transform:rotate(45deg)}.check:indeterminate{background:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.check:indeterminate:after{content:"";background:var(--paper);border-radius:1px;height:2px;position:absolute;top:7px;left:3px;right:3px}.check:focus-visible{box-shadow:inset 0 0 0 1px var(--ink), var(--focus-ring)}.chip-filter{background:var(--surface-1);height:30px;box-shadow:inset 0 0 0 1px var(--border-1);border-radius:var(--r-full);font-family:var(--font-sans);letter-spacing:-.002em;color:var(--text-2);cursor:pointer;transition:box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease);border:none;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;display:inline-flex}.chip-filter:hover{box-shadow:inset 0 0 0 1px var(--border-2)}.chip-filter .cf-key{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.2px;font-size:9.5px}.chip-filter .cf-val{color:var(--text-1);letter-spacing:-.002em;font-size:12.5px;font-weight:500}.chip-filter:has(.cf-rm){padding-right:4px}.chip-filter .cf-rm{width:18px;height:18px;color:var(--text-3);cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:inline-grid}.chip-filter .cf-rm:hover{background:var(--orange-soft);color:var(--ink)}.chip-filter.is-add{box-shadow:none;border:1px dashed var(--border-2);color:var(--text-3);background:0 0;padding:0 12px}.chip-filter.is-add:hover{color:var(--ink);border-color:var(--ink-3);background-color:var(--surface-2)}.search-mini{background:var(--surface-1);height:32px;box-shadow:inset 0 0 0 1px var(--border-1);border-radius:var(--r-full);color:var(--text-3);min-width:220px;transition:box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease);align-items:center;gap:8px;padding:0 12px;font-size:12.5px;display:inline-flex}.search-mini:focus-within{box-shadow:inset 0 0 0 1px transparent, var(--focus-ring);background:#fff}.search-mini input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0}.search-mini svg{color:var(--text-4);flex-shrink:0}.search-mini .kbd{font-family:var(--font-mono);color:var(--text-4);background:var(--surface-3);letter-spacing:.3px;border-radius:3px;padding:1px 5px;font-size:9.5px}.icon-btn.sm{border-radius:8px;width:28px;height:28px}.icon-btn.sm svg{width:13px;height:13px}.icon-btn.md{border-radius:9px;width:32px;height:32px}.icon-btn.md svg{width:14px;height:14px}.btn.btn-sm{height:32px;padding:0 14px;font-size:12.5px}.btn.btn-sm svg{width:13px;height:13px}.kebab{width:28px;height:28px;color:var(--text-4);cursor:pointer;opacity:0;transition:opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease), background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:inline-grid;transform:translate(-4px)}.kebab:hover{background:var(--surface-1);color:var(--text-1)}.kebab:focus-visible{opacity:1;box-shadow:var(--focus-ring);transform:none}tr:hover .kebab,tr:focus-within .kebab,tr[data-selected=true] .kebab{opacity:1;transform:translate(0)}.menu-wrap[data-open=true] .kebab{opacity:1;background:var(--surface-2);color:var(--text-1);transform:translate(0)}.menu-wrap{display:inline-block;position:relative}.menu{background:var(--surface-1);border-radius:var(--r-md);min-width:220px;box-shadow:0 20px 40px -20px #1a161347, 0 6px 16px -8px #1a16131f, inset 0 0 0 1px var(--border-1);z-index:var(--z-dropdown);opacity:0;transform-origin:100% 0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);padding:6px;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px)scale(.98)}.menu[data-state=open]{opacity:1;pointer-events:auto;transform:none}.menu-label{font-family:var(--font-mono);color:var(--text-4);letter-spacing:.2px;padding:8px 10px 4px;font-size:9.5px;display:block}.menu-item{border-radius:var(--r-sm);color:var(--text-2);-webkit-user-select:none;user-select:none;text-align:left;cursor:pointer;width:100%;font-size:13px;font-weight:450;font-family:var(--font-sans);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2);color:var(--text-1);outline:none}.menu-item .mi-ico{width:14px;height:14px;color:var(--text-3);flex-shrink:0}.menu-item:hover .mi-ico{color:var(--ink)}.menu-item .mi-kbd{font-family:var(--font-mono);color:var(--text-4);background:var(--surface-3);letter-spacing:.3px;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:10px}.menu-item.is-danger{color:var(--text-2)}.menu-item.is-danger:hover{background:var(--orange-soft);color:var(--ink)}.menu-item.is-danger .mi-ico{color:var(--orange-mid)}.menu-item.is-danger:hover .mi-ico{color:var(--orange)}.menu-divider{background:var(--border-1);height:1px;margin:5px 2px}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.table-toolbar{align-items:center;gap:var(--s-3);padding:0 var(--s-5) var(--s-4);flex-wrap:wrap;display:flex}.table-toolbar .tt-left{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;display:inline-flex}.table-toolbar .tt-right{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.table-toolbar .tt-count{font-family:var(--font-mono);color:var(--text-4);letter-spacing:.2px;padding:0 var(--s-2);white-space:nowrap;font-size:10.5px}.table-toolbar .tt-count b{color:var(--text-1);font-variant-numeric:tabular-nums;font-weight:500}.tt-divider{background:var(--border-1);width:1px;height:20px;margin:0 4px;display:inline-block}.bulk-bar{align-items:center;gap:var(--s-3);margin:0 var(--s-5) var(--s-3);padding:7px 8px 7px var(--s-4);background:var(--ink);color:var(--text-inverse);border-radius:var(--r-md);box-shadow:var(--shadow-2);display:none;position:relative;overflow:hidden}.bulk-bar[data-visible=true]{animation:bulk-in var(--dur-3) var(--ease-out);display:flex}.bulk-bar:before{content:"";background:var(--orange);border-radius:0 2px 2px 0;width:2px;position:absolute;top:20%;bottom:20%;left:0}@keyframes bulk-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.bulk-bar .bb-count{font-family:var(--font-mono);letter-spacing:.2px;color:#fdf8efa6;font-size:11px}.bulk-bar .bb-count b{color:var(--text-inverse);font-variant-numeric:tabular-nums;font-weight:500}.bulk-bar .bb-actions{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.bb-btn{border-radius:var(--r-full);color:#fdf8efc7;height:28px;font-family:var(--font-sans);cursor:pointer;letter-spacing:-.003em;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.bb-btn:hover{color:var(--text-inverse);background:#fdf8ef1a}.bb-btn.is-danger:hover{color:#fff9f2;background:#f9731647}.bb-btn svg{width:12px;height:12px}.bb-sep{background:#fdf8ef26;width:1px;height:16px;margin:0 4px;display:inline-block}.bb-clear{color:#fdf8ef80;cursor:pointer;width:26px;height:26px;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:inline-grid}.bb-clear:hover{color:#fff;background:#fdf8ef1a}table.projects tbody tr[data-selected=true]{background:var(--selection-bg)!important}table.projects tbody tr[data-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--rust)}table.projects th.col-check,table.projects td.col-check{width:36px;padding-left:var(--s-5);padding-right:0}table.projects th.col-check+th,table.projects td.col-check+td{padding-left:var(--s-3)}.pagination{padding:var(--s-4) var(--s-5);border-top:var(--border-dashed);justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.pagination .pg-meta{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.2px;font-size:10.5px}.pagination .pg-meta b{color:var(--text-1);font-variant-numeric:tabular-nums;font-weight:500}.pg-controls{align-items:center;gap:2px;display:inline-flex}.pg-btn{min-width:30px;height:30px;font-family:var(--font-mono);color:var(--text-3);cursor:pointer;font-variant-numeric:tabular-nums;letter-spacing:.3px;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:11.5px;font-weight:500;display:inline-flex}.pg-btn:hover:not([disabled]){color:var(--text-1);background:var(--surface-2)}.pg-btn[data-current=true]{background:var(--ink);color:var(--text-inverse)}.pg-btn[disabled]{opacity:var(--o-disabled);cursor:not-allowed}.pg-btn svg{width:12px;height:12px}.pg-ellipsis{color:var(--text-4);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;padding:0 4px;font-size:12px}.pg-per-page{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.2px;align-items:center;gap:8px;font-size:10.5px;display:inline-flex}.pg-per-page select{font-family:var(--font-mono);color:var(--text-1);background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--border-1);cursor:pointer;letter-spacing:.3px;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%237a6f66' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 6px center;background-repeat:no-repeat;border:none;border-radius:6px;padding:4px 22px 4px 8px;font-size:11.5px}.pg-per-page select:focus-visible{box-shadow:inset 0 0 0 1px var(--ink), var(--focus-ring)}.empty-state{align-items:center;gap:var(--s-4);padding:var(--s-8) var(--s-5);text-align:center;flex-direction:column;display:flex}.empty-state .es-art{border-radius:var(--r-md);background:var(--surface-3);width:72px;height:72px;color:var(--text-3);isolation:isolate;place-items:center;display:grid;position:relative;overflow:hidden}.empty-state .es-art:before{content:"";background-image:linear-gradient(#1a16130f 1px,#0000 1px),linear-gradient(90deg,#1a16130f 1px,#0000 1px);background-size:8px 8px;position:absolute;inset:0}.empty-state .es-art:after{content:"";background:var(--rust);height:3px;position:absolute;top:0;left:0;right:0}.empty-state .es-art svg{z-index:1;color:var(--ink-3);position:relative}.empty-state h4{font-family:var(--font-sans);color:var(--text-1);letter-spacing:-.015em;font-size:16px;font-weight:600}.empty-state p{color:var(--text-3);max-width:36ch;margin:0;font-size:13px;line-height:1.55}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);background:var(--ink);color:var(--text-inverse);font-family:var(--font-mono);letter-spacing:.6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);z-index:var(--z-tooltip);border-radius:4px;padding:4px 8px;font-size:10px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(3px);box-shadow:0 6px 16px -6px #00000059}[data-tip]:before{content:"";border:4px solid #0000;border-top-color:var(--ink);opacity:0;transition:opacity var(--dur-2) var(--ease);z-index:var(--z-tooltip);pointer-events:none;border-bottom:0;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}[data-tip]:hover:after,[data-tip]:focus-visible:after,[data-tip]:hover:before,[data-tip]:focus-visible:before{opacity:1;transform:translate(-50%)translateY(0)}.overlay-root{z-index:var(--z-modal);display:none;position:fixed;inset:0}.overlay-root[data-state=open]{display:block}.overlay-bd{-webkit-backdrop-filter:blur(6px)saturate(140%);animation:ov-bd-in var(--dur-3) var(--ease-out);background:#1a161380;position:absolute;inset:0}@keyframes ov-bd-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-1);border-radius:var(--r-xl);width:min(520px,100vw - 48px);max-height:calc(100vh - 48px);box-shadow:0 40px 80px -30px #1a161399, 0 10px 30px -10px #1a16134d, inset 0 0 0 1px var(--border-1);animation:modal-in var(--dur-3) var(--ease-out);flex-direction:column;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.modal-head{padding:var(--s-5) var(--s-6) var(--s-4);align-items:flex-start;gap:var(--s-3);border-bottom:1px dashed var(--border-1);display:flex}.mh-art{background:var(--surface-3);width:40px;height:40px;color:var(--text-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.mh-art:after{content:"";background:var(--rust);height:3px;position:absolute;top:0;left:0;right:0}.mh-text{flex:1;min-width:0}.modal-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text-1);font-size:17px;font-weight:600;line-height:1.3}.modal-sub{color:var(--text-3);margin-top:4px;font-size:13px;line-height:1.5}.modal-close{width:28px;height:28px;color:var(--text-4);cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.modal-close:hover{background:var(--surface-2);color:var(--text-1)}.modal-body{padding:var(--s-5) var(--s-6);flex:1;min-height:0;overflow-y:auto}.modal-foot{padding:var(--s-4) var(--s-6);border-top:1px dashed var(--border-1);align-items:center;gap:var(--s-2);background:var(--surface-1);justify-content:flex-end;display:flex}.modal-foot .foot-hint{font-family:var(--font-mono);color:var(--text-4);letter-spacing:.2px;margin-right:auto;font-size:10px}.modal.is-danger .mh-art{background:var(--orange-soft);color:var(--orange-deep)}.modal.is-danger .mh-art:after{background:var(--orange-deep)}.drawer-root{z-index:var(--z-drawer);display:none;position:fixed;inset:0}.drawer-root[data-state=open]{display:block}.drawer-root .overlay-bd{-webkit-backdrop-filter:blur(6px)saturate(130%);animation:overlay-fade-in var(--dur-3) var(--ease-out);background:#1a16136b}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.drawer{width:var(--drawer-w,520px);background:var(--surface-1);max-width:100vw;box-shadow:-32px 0 60px -20px #1a161359, -8px 0 24px -12px #1a16132e, inset 1px 0 0 var(--border-1);animation:drawer-slide-in var(--dur-3) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden}.drawer.is-sm{--drawer-w:520px}.drawer.is-md{--drawer-w:680px}.drawer.is-lg{--drawer-w:920px}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=640px){.drawer,.drawer.is-sm,.drawer.is-md,.drawer.is-lg{--drawer-w:100vw}}.drawer-head{padding:var(--s-5) var(--s-6);align-items:flex-start;gap:var(--s-3);background:linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);border-bottom:1px dashed var(--border-1);display:flex;position:relative}.drawer-head .dh-eyebrow{font-family:var(--font-sans);color:var(--muted);letter-spacing:0;margin-bottom:4px;font-size:11px;font-weight:500}.drawer-title{font-family:var(--font-sans);letter-spacing:-.022em;color:var(--text-1);font-size:24px;font-weight:600;line-height:1.18}.drawer-sub{color:var(--text-3);margin-top:4px;font-size:13px;line-height:1.5}.drawer-body{min-height:0;padding:var(--s-6);scrollbar-width:thin;scrollbar-color:var(--faint) transparent;flex:1;overflow:hidden auto}.drawer-body::-webkit-scrollbar{width:6px}.drawer-body::-webkit-scrollbar-track{background:0 0}.drawer-body::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:var(--r-full);background-clip:padding-box;border:1px solid #0000}.drawer-body::-webkit-scrollbar-thumb:hover{background:var(--faint)}.drawer-foot{padding:var(--s-4) var(--s-6);border-top:1px dashed var(--border-1);align-items:center;gap:var(--s-2);background:var(--surface-0);display:flex}.drawer-foot .foot-hint{font-family:var(--font-mono);color:var(--text-4);letter-spacing:.2px;flex:1;font-size:10px}.drawer-foot .foot-hint kbd{background:var(--surface-3);color:var(--text-3);letter-spacing:.3px;border-radius:3px;padding:1px 5px;font-family:inherit}.toast-stack{bottom:var(--s-5);right:var(--s-5);z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed}.toast{background:var(--ink);min-width:300px;max-width:380px;color:var(--text-inverse);border-radius:var(--r-md);pointer-events:auto;animation:toast-in var(--dur-3) var(--ease-out);align-items:flex-start;gap:10px;padding:11px 12px 11px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px -15px #1a161373,0 8px 20px -8px #1a161333}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.toast[data-leaving=true]{animation:toast-out var(--dur-2) var(--ease) forwards}@keyframes toast-out{to{opacity:0;transform:translate(12px)scale(.98)}}.toast:before{content:"";background:var(--blue);width:2px;position:absolute;top:0;bottom:0;left:0}.toast.is-success:before{background:var(--blue-light)}.toast.is-danger:before{background:var(--orange)}.toast .t-ico{width:16px;height:16px;color:var(--blue-light);flex-shrink:0;margin-top:2px}.toast.is-danger .t-ico{color:var(--orange)}.toast .t-body{flex:1;min-width:0}.toast .t-title{font-family:var(--font-sans);color:var(--text-inverse);letter-spacing:-.01em;font-size:13px;font-weight:500}.toast .t-sub{color:#fdf8efa6;margin-top:2px;font-size:12px;line-height:1.45}.toast .t-close{cursor:pointer;color:#fdf8ef8c;width:22px;height:22px;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);background:0 0;border:none;border-radius:5px;place-items:center;margin-top:-1px;padding:0;display:inline-grid}.toast .t-close:hover{color:var(--text-inverse);background:#fdf8ef1a}.toast .t-progress{background:#fdf8ef1a;height:2px;position:absolute;bottom:0;left:0;right:0}.toast .t-progress i{background:var(--blue);transform-origin:0;height:100%;animation:toast-pg var(--toast-dur,4s) linear forwards;display:block}.toast.is-danger .t-progress i{background:var(--orange)}@keyframes toast-pg{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.field{flex-direction:column;gap:6px;display:flex}.field .f-label{font-family:var(--font-sans);color:var(--text-3);letter-spacing:0;align-items:center;gap:5px;font-size:11.5px;font-weight:500;display:flex}.field .f-label .req{background:var(--orange);text-indent:-999em;vertical-align:middle;border-radius:50%;flex-shrink:0;width:4px;height:4px;margin-left:1px;display:inline-block;overflow:hidden}.field .f-label .f-optional{color:var(--text-4);text-transform:none;letter-spacing:.2px;margin-left:auto;font-size:10px}.field .f-hint{font-family:var(--font-mono);color:var(--text-4);letter-spacing:.3px;font-size:10.5px;line-height:1.55}.field .f-error{font-family:var(--font-mono);color:var(--ink);letter-spacing:.3px;align-items:center;gap:6px;font-size:10.5px;font-weight:500;display:flex}.field .f-error:before{content:"";background:var(--orange);border-radius:50%;flex-shrink:0;width:5px;height:5px;box-shadow:0 0 0 2px #f9731633}.input{background:var(--surface-1);height:38px;box-shadow:inset 0 0 0 1px var(--border-1);border-radius:var(--r-sm);color:var(--text-1);font-size:13.5px;font-family:var(--font-sans);width:100%;transition:box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.input:hover:not([data-invalid=true]){box-shadow:inset 0 0 0 1px var(--border-2)}.input:focus-within{box-shadow:inset 0 0 0 1px var(--border-1);background:#fff}.input>input:focus-visible,.input>textarea:focus-visible{box-shadow:none}.input>input,.input>textarea{min-width:0;font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}.input>input::placeholder,.input>textarea::placeholder{color:var(--text-4)}.input .i-prefix,.input .i-suffix{font-family:var(--font-mono);color:var(--text-4);letter-spacing:.8px;flex-shrink:0;font-size:11px}.input .i-suffix{order:2}.input .i-ico{color:var(--text-4);flex-shrink:0}.input[data-invalid=true]{box-shadow:inset 0 0 0 1px var(--orange-mid)}.input[data-invalid=true]:focus-within{box-shadow:inset 0 0 0 1px var(--orange-mid), 0 0 0 3px #f9731633}:is(.input:has(input:disabled),.input:has(textarea:disabled)){background:var(--surface-3);opacity:var(--o-disabled);cursor:not-allowed}.input.is-textarea{align-items:flex-start;height:auto;padding:10px 12px}.input.is-textarea textarea{resize:vertical;min-height:72px;font-family:inherit;line-height:1.55}.input input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.input input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:grayscale()}.input input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.select{background:var(--surface-1);height:38px;box-shadow:inset 0 0 0 1px var(--border-1);border-radius:var(--r-sm);color:var(--text-1);font-size:13.5px;font-family:var(--font-sans);cursor:pointer;appearance:none;width:100%;transition:box-shadow var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237a6f66' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 12px center;background-repeat:no-repeat;border:none;align-items:center;padding:0 36px 0 12px;display:inline-flex}.select:hover{box-shadow:inset 0 0 0 1px var(--border-2)}.select:focus-visible{box-shadow:inset 0 0 0 1px var(--ink), var(--focus-ring);background-color:#fff}.toggle{flex-shrink:0;width:34px;height:20px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0;margin:0;position:absolute}.toggle .t-track{background:var(--surface-4);border-radius:var(--r-full);cursor:pointer;transition:background var(--dur-2) var(--ease);position:absolute;inset:0;box-shadow:inset 0 1px 2px #1a16130f}.toggle .t-thumb{background:var(--surface-1);width:16px;height:16px;transition:transform var(--dur-2) var(--ease), background var(--dur-2) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #1a161340}.toggle input:checked~.t-track{background:var(--ink)}.toggle input:checked~.t-track .t-thumb{transform:translate(14px)}.toggle input:focus-visible~.t-track{box-shadow:var(--focus-ring)}.toggle-row{align-items:center;gap:var(--s-3);padding:var(--s-3) 0;display:flex}.toggle-row .tr-text{flex:1;min-width:0}.toggle-row .tr-title{color:var(--text-1);letter-spacing:-.005em;font-size:13.5px;font-weight:500}.toggle-row .tr-sub{font-family:var(--font-sans);color:var(--text-4);letter-spacing:0;margin-top:2px;font-size:12px}.radio-group{background:var(--surface-3);border-radius:var(--r-full);box-shadow:inset 0 0 0 1px var(--border-1);gap:2px;padding:3px;display:inline-flex}.radio-group label{border-radius:var(--r-full);height:28px;font-family:var(--font-sans);color:var(--text-3);cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:500;display:inline-flex;position:relative}.radio-group label:hover{color:var(--text-1)}.radio-group input{opacity:0;pointer-events:none;position:absolute}.radio-group label:has(input:checked){background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--border-1)}.radio-group label:has(input:focus-visible){box-shadow:var(--focus-ring)}.fieldset{gap:var(--s-4);padding:0 0 var(--s-5);border-bottom:1px dashed var(--border-1);margin-bottom:var(--s-5);flex-direction:column;display:flex}.fieldset:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.fieldset .fs-head{margin-bottom:2px}.fieldset .fs-num{font-family:var(--font-sans);color:var(--muted);letter-spacing:0;margin-bottom:4px;font-size:11px;font-weight:500;display:inline-block}.fieldset .fs-title{font-family:var(--font-sans);color:var(--text-1);letter-spacing:-.012em;font-size:15px;font-weight:600}.fieldset .fs-desc{color:var(--text-3);margin-top:3px;font-size:12.5px;line-height:1.5}.form-grid-2{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.form-grid-2 .full{grid-column:1/-1}@media (width<=540px){.form-grid-2{grid-template-columns:1fr}}.entity-head{gap:var(--s-3);margin-bottom:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px solid var(--border-1);flex-direction:column;display:flex}.content.projet-detail{gap:0}.projet-detail>*{margin-bottom:var(--s-6)}.projet-detail>.entity-head{margin-bottom:var(--s-5)}.projet-detail>.kpi-row{margin-bottom:var(--s-6)}.projet-detail>.projet-tabs{margin:0 0 var(--s-5);padding-bottom:var(--s-2);border-bottom:1px solid var(--border-1)}.projet-detail .projet-tabs .seg-track,.projet-detail .projet-tabs [role=tablist]{background:0 0}.entity-head .head-row{justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.entity-head .head-id{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.entity-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:22px;font-weight:600}.entity-head .head-meta{align-items:center;gap:var(--s-2);font-family:var(--font-mono);letter-spacing:.2px;color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.entity-head .client-hero{align-items:center;gap:var(--s-3);display:flex}.chantier-select{font-family:var(--font-sans);color:var(--ink-2);background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--border-1);border-radius:var(--r-sm);cursor:pointer;appearance:none;font-variant-numeric:tabular-nums;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237a6f66' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-position:right 8px center;background-repeat:no-repeat;border:none;height:30px;padding:6px 26px 6px 10px;font-size:12.5px}.chantier-select:hover{box-shadow:inset 0 0 0 1px var(--border-2);color:var(--ink)}.entity-head .head-actions{align-items:center;gap:var(--s-2);margin-inline-start:auto;display:flex}.page-head{gap:var(--s-4);margin-bottom:var(--s-5);flex-direction:column;display:flex}.page-kicker{align-items:center;gap:var(--s-2);font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);font-size:12px;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:34px;font-weight:600}.page-lede{max-width:64ch;color:var(--text-3);margin:0;font-size:14.5px;line-height:1.55}.head-row{justify-content:space-between;align-items:flex-start;gap:var(--s-5);display:flex}.head-status{flex-shrink:0;padding-top:4px}.dot-sep{color:var(--faint);margin:0 2px}.back-link{color:var(--muted);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.3px;align-items:center;gap:4px;width:max-content;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink-2)}.kpi-row{gap:var(--s-4);margin-bottom:var(--s-5);grid-template-columns:repeat(4,1fr);display:grid}.kpi-card{background:var(--card);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);box-shadow:var(--shadow-1)}.kpi-label{font-family:var(--font-sans);letter-spacing:-.008em;color:var(--ink-2);margin-bottom:var(--s-2);font-size:15.5px;font-weight:500}.kpi-value{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.kpi-hot{color:var(--orange-deep)}.kpi-sub{font-family:var(--font-mono);letter-spacing:.3px;color:var(--muted);margin-top:4px;font-size:11px}.kpi-bar{background:var(--surface-3);border-radius:999px;height:4px;margin-top:8px;overflow:hidden}.kpi-bar i{background:var(--blue);border-radius:inherit;height:100%;display:block}.kpi-dotgrid{align-items:center;gap:14px;margin-top:2px;display:flex}.kpi-dots{flex-wrap:wrap;flex:auto;gap:5px;min-width:0;display:flex}.kpi-dot{background:var(--paper-2);width:11px;height:11px;box-shadow:inset 0 0 0 1px var(--paper-3);border-radius:50%;flex:none}.kpi-dot.on{background:var(--blue-deep,#243958);box-shadow:inset 0 0 0 1px var(--blue-deep,#243958)}.kpi-dot-legend{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;white-space:nowrap;flex:none;gap:4px;font-size:11px;display:grid}.kpi-dot-legend span{align-items:center;gap:6px;display:inline-flex}.kpi-dot-legend i{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.kpi-dot-legend .a i{background:var(--blue-deep,#243958)}.kpi-dot-legend .b i{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--paper-3)}.taux-cell{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.taux-bar{background:var(--surface-3);border-radius:999px;width:64px;height:3px;overflow:hidden}.taux-bar i{background:var(--w-st-done,var(--ink));border-radius:inherit;height:100%;display:block}.link-add{color:var(--accent,var(--ink));cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:12px;display:inline-block}.link-add:hover{text-decoration:underline}.panel-actions{align-items:center;gap:var(--s-2);display:flex}.ref-chip{font-family:var(--font-mono);letter-spacing:.3px;white-space:nowrap;max-width:100%;padding:2px 8px;font-size:11px;display:inline-block}.row-strong{color:var(--ink);font-weight:600;text-decoration:none;display:inline-block}a.row-strong:hover{color:var(--blue)}.row-sub{color:var(--muted);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.2px;margin-top:2px}.num-cell{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.num-hot{color:var(--orange-deep);font-weight:600}.num-warn{color:#b7791f;font-weight:600}.num-ok{color:#2f855a;font-weight:600}.bpu-marge-cell{color:#1d4ed8;background:#2563eb14;font-weight:600}.bpu-client-price-cell{color:#1e40af;background:#2563eb24;font-weight:700}.icon-link{border-radius:var(--r-sm);width:28px;height:28px;color:var(--muted);transition:color .15s var(--ease), background .15s var(--ease);justify-content:center;align-items:center;display:inline-flex}.icon-link:hover{color:var(--ink);background:var(--paper-2)}.documents-head{align-items:center}.docs-tabs-row{margin-bottom:var(--s-4);padding:0 var(--s-5)}.wrap-actions{flex-wrap:wrap;justify-content:flex-end}.documents-kanban{gap:var(--s-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.kanban-column{background:var(--paper-1);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--s-3);min-height:380px}.kanban-col-head{margin-bottom:var(--s-3);justify-content:space-between;align-items:center;font-weight:600;display:flex}.kanban-col-head span{color:var(--muted);font-family:var(--font-mono);font-size:11px}.kanban-stack{gap:var(--s-3);display:grid}.kanban-card{background:var(--card);border:1px solid var(--border-1);border-radius:var(--r-sm);padding:var(--s-3);box-shadow:var(--shadow-1);cursor:grab}.kanban-card-top{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:8px;display:flex}.kanban-kind{color:var(--muted);text-transform:uppercase;align-items:center;gap:4px;font-size:11px;display:inline-flex}.kanban-amount{margin-top:var(--s-3);font-variant-numeric:tabular-nums;font-weight:700}.kanban-actions{margin-top:var(--s-3);justify-content:flex-end;display:flex}@media (width<=1200px){.documents-kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}table.projects.compact th,table.projects.compact td{padding-top:10px;padding-bottom:10px;font-size:13.5px}table.projects.compact thead th{letter-spacing:.3px;font-size:11px}.quick-actions{align-items:center;gap:var(--s-2);padding:var(--s-3) 0;border-top:1px dashed var(--border-1);border-bottom:1px dashed var(--border-1);flex-wrap:wrap;display:flex}.summary-row{gap:var(--s-6);padding-top:var(--s-2);align-items:center;display:flex}.summary-row>div{flex-direction:column;gap:4px;display:flex}.summary-progress{flex:auto;max-width:420px}.meta-label{font-family:var(--font-mono);letter-spacing:.3px;color:var(--muted);font-size:11px}.meta-value{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.detail-grid{gap:var(--s-5);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.detail-main{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.detail-rail{gap:var(--s-4);top:calc(var(--topbar-h,64px) + var(--s-3));flex-direction:column;align-self:start;display:flex;position:sticky}.rail-card{padding:var(--s-4) var(--s-5)}.rail-title{font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);margin-bottom:var(--s-3);font-size:11.5px}.rail-foot{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px dashed var(--border-1);font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.rail-foot strong{color:var(--ink);font-variant-numeric:tabular-nums}.money-list{flex-direction:column;gap:8px;margin:0;display:flex}.money-list>div{justify-content:space-between;align-items:baseline;font-size:13.5px;display:flex}.money-list dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.2px;margin:0;font-size:12px}.money-list dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.money-list .sep{border-top:1px dashed var(--border-1);height:0;padding:0}.cost-bar{border-radius:var(--r-full);background:var(--paper-2);height:10px;margin-bottom:var(--s-3);display:flex;overflow:hidden}.cost-bar i{height:100%;display:block}.cb-mat{background:var(--blue)}.cb-mo{background:var(--orange-mid)}.cb-oth{background:var(--ink-3)}.cost-legend{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cost-legend li{align-items:center;gap:var(--s-2);color:var(--ink-2);font-size:13px;display:flex}.cost-legend li span{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.cb-mat{background:var(--blue)}.dot.cb-mo{background:var(--orange-mid)}.dot.cb-oth{background:var(--ink-3)}.cost-chart{width:100%;color:var(--blue);grid-template-rows:minmax(0,1fr) 22px;grid-template-columns:40px minmax(0,1fr);column-gap:6px;display:grid}.cost-chart svg{width:100%;height:100%;display:block}.cc-y-axis{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:0;grid-area:1/1;font-size:10.5px;position:relative}.cc-y-tick{white-space:nowrap;line-height:1;position:absolute;right:0;transform:translateY(-50%)}.cc-plot{border-bottom:1px solid #1a161314;border-left:1px solid #1a161314;grid-area:1/2;position:relative}.cc-x-axis{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:2/2;font-size:10.5px;position:relative}.cc-x-tick{white-space:nowrap;line-height:1;position:absolute;top:6px;transform:translate(-50%)}.cost-chart-tip{background:var(--card);border:1px solid var(--border-1);box-shadow:var(--shadow-2);pointer-events:none;white-space:nowrap;z-index:2;border-radius:8px;padding:6px 9px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.cost-chart-tip.is-left{transform:translate(-100%,calc(-100% - 10px))}.cost-chart-tip-label{color:var(--muted);letter-spacing:0;margin-bottom:2px;font-size:10.5px;line-height:1.2}.cost-chart-tip-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;line-height:1.2}.client-row{align-items:center;gap:var(--s-3);text-decoration:none;display:inline-flex}.client-row:hover .row-strong{color:var(--blue)}.avatar-sm,.avatar-lg{font-family:var(--font-mono);letter-spacing:.3px;background:linear-gradient(135deg, var(--blue-soft), var(--orange-soft));color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:56px;height:56px;box-shadow:var(--shadow-1);font-size:18px}.client-hero{align-items:center;gap:var(--s-4);display:flex}.client-meta{gap:var(--s-4);margin-top:var(--s-2);color:var(--muted);flex-wrap:wrap;font-size:13px;display:flex}.client-meta span{align-items:center;gap:6px;display:inline-flex}.tabs-row{align-items:center;gap:var(--s-3);display:flex}.stub-plan{padding:0 var(--s-5) var(--s-5)}.stub-plan-label{font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);margin-bottom:var(--s-2);font-size:11.5px}.stub-plan ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stub-plan li{padding:var(--s-2) var(--s-3);background:var(--paper-2);border-radius:var(--r-sm);font-family:var(--font-mono);color:var(--ink-2);font-size:12.5px}.devis-sheet{padding:var(--s-6) var(--s-7);background:var(--card)}.letterhead{padding-bottom:var(--s-5);border-bottom:2px solid var(--ink);margin-bottom:var(--s-5);justify-content:space-between;align-items:flex-start;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:22px;font-weight:600}.brand-sub{font-family:var(--font-mono);letter-spacing:.3px;color:var(--muted);margin-top:4px;font-size:11.5px}.letterhead-meta{text-align:right;font-family:var(--font-mono);color:var(--ink-2);font-size:12.5px}.letterhead-meta>div{margin-bottom:4px}.letterhead-meta strong{color:var(--ink);margin-left:var(--s-2)}.destinataire{margin-bottom:var(--s-5)}.section-label{font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);margin-bottom:var(--s-2);font-size:11px}.dest-card{padding:var(--s-3) var(--s-4);background:var(--paper-2);border-left:3px solid var(--blue);border-radius:0 var(--r-sm) var(--r-sm) 0}.devis-lines{margin-bottom:var(--s-5)}.devis-totals{max-width:320px;padding:var(--s-4);background:var(--paper-2);border-radius:var(--r-sm);flex-direction:column;gap:6px;margin-left:auto;display:flex}.devis-totals>div{color:var(--ink-2);justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.devis-totals strong{font-variant-numeric:tabular-nums}.devis-totals .grand{border-top:1px solid var(--faint);color:var(--ink);margin-top:4px;padding-top:8px;font-size:16px}.devis-totals .grand strong{font-size:18px;font-weight:600}.devis-note{margin-top:var(--s-5);color:var(--ink-2);font-size:13.5px;line-height:1.6}.print-menu{position:relative}.print-menu-pop{min-width:200px;z-index:var(--z-dropdown);background:var(--card);border:1px solid var(--border-1);border-radius:var(--r-sm);box-shadow:var(--shadow-3);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.print-menu-pop button{appearance:none;cursor:pointer;text-align:left;font-family:var(--font-sans);color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:13px}.print-menu-pop button:hover{background:var(--paper-2);color:var(--ink)}@property --sidebar-w{syntax:"<length>";inherits:true;initial-value:280px}@property --secondary-w{syntax:"<length>";inherits:true;initial-value:0}.app{--topbar-h:64px;grid-template-columns:var(--sidebar-w,280px) var(--secondary-w,0px) 1fr!important}.sidebar{height:100vh;position:sticky;top:0;overflow:hidden}.sidebar .brand>div:last-child,.sidebar .nav-label,.sidebar .nav a .nav-label-text,.sidebar .nav-group-header .nav-label-text,.sidebar .nav a .count,.sidebar .nav-group-header .count,.sidebar .nav a .chev,.sidebar .nav-group-header .chev,.sidebar .side-status>span:not(.live-dot),.sidebar .side-brief,.sidebar .sidebar-footer .user-meta,.sidebar .sidebar-footer .footer-action{opacity:1;white-space:nowrap;overflow:hidden;transform:translate(0)}.sidebar .nav a .nav-label-short,.sidebar .nav-group-header .nav-label-short{display:none}.sidebar-toggle{z-index:5;appearance:none;cursor:pointer;background:var(--card);width:26px;height:26px;color:var(--muted);border:1px solid var(--border-1);border-radius:var(--r-sm);box-shadow:var(--shadow-1);transition:color .15s var(--ease), border-color .15s var(--ease), background .15s var(--ease);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:18px;right:12px}.sidebar-toggle:hover{color:var(--orange-deep);border-color:var(--orange-light);background:var(--orange-paper)}.sidebar-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #f9731638}.sidebar[data-collapsed=true] .sidebar-toggle{right:calc(var(--sidebar-w,72px) - var(--s-5) - var(--s-3) - 8.5px - 13px)}.sidebar[data-collapsed=true]{padding-right:0}.sidebar[data-collapsed=true] .nav-label{visibility:hidden}.sidebar[data-collapsed=true] .nav{flex-direction:column;gap:0;display:flex}.sidebar[data-collapsed=true] .nav a{align-items:center;gap:var(--s-3);padding:7px var(--s-3);border-radius:var(--r-sm);flex-direction:row;min-width:0}.sidebar[data-collapsed=true] .nav a .nav-icon{margin:0}.sidebar[data-collapsed=true] .nav a .nav-label-text,.sidebar[data-collapsed=true] .nav a .count,.sidebar[data-collapsed=true] .nav a .chev{opacity:0;max-width:0;margin:0;padding:0;transform:translate(-4px)}.sidebar[data-collapsed=true] .nav a .nav-label-short{display:none}.sidebar[data-collapsed=true] .nav a{position:relative;box-shadow:none!important;background:0 0!important}.sidebar[data-collapsed=true] .nav a:hover{padding-left:var(--s-3)}.sidebar[data-collapsed=true] .nav a:before{content:"";width:calc(var(--s-3) * 2 + 17px);border-radius:var(--r-sm);transition:background var(--w-dur,.14s) var(--w-ease,ease);pointer-events:none;z-index:0;background:0 0;position:absolute;top:0;bottom:0;left:0}.sidebar[data-collapsed=true] .nav a:hover:before{background:var(--card-2)}.sidebar[data-collapsed=true] .nav a.active:before{background:var(--w-accent-blue-soft)}.sidebar[data-collapsed=true] .nav a>*{z-index:1;position:relative}.sidebar[data-collapsed=true] .side-status{justify-content:center;gap:0}.sidebar[data-collapsed=true] .side-status>span:not(.live-dot){opacity:0;max-width:0;margin:0;padding:0}.sidebar[data-collapsed=true] .side-brief{opacity:0;border:0;max-height:0;margin:0;padding:0;transform:translate(-8px)}.sidebar[data-collapsed=true] .sidebar-footer .user-meta,.sidebar[data-collapsed=true] .sidebar-footer .footer-action{opacity:0;max-width:0;margin:0;padding:0;transform:translate(-6px)}.sidebar[data-collapsed=true] .footer-logout{opacity:0;border-width:0;max-height:0;margin:0;padding:0;overflow:hidden}.sidebar[data-collapsed=true] .nav-group-header{align-items:center;gap:var(--s-3);padding:7px var(--s-3);border-radius:var(--r-sm);flex-direction:row;min-width:0;position:relative;background:0 0!important}.sidebar[data-collapsed=true] .nav-group-header:hover{padding-left:var(--s-3)}.sidebar[data-collapsed=true] .nav-group-header:before{content:"";width:calc(var(--s-3) * 2 + 17px);border-radius:var(--r-sm);transition:background var(--w-dur,.14s) var(--w-ease,ease);pointer-events:none;z-index:0;background:0 0;position:absolute;top:0;bottom:0;left:0}.sidebar[data-collapsed=true] .nav-group-header:hover:before{background:var(--card-2)}.sidebar[data-collapsed=true] .nav-group-header.in-active:before{background:var(--w-accent-blue-soft)}.sidebar[data-collapsed=true] .nav-group-header>*{z-index:1;position:relative}.sidebar[data-collapsed=true] .nav-group-header .nav-icon{margin:0}.sidebar[data-collapsed=true] .nav-group-header .nav-label-text,.sidebar[data-collapsed=true] .nav-group-header .count,.sidebar[data-collapsed=true] .nav-group-header .chev{opacity:0;max-width:0;margin:0;padding:0;transform:translate(-4px)}.sidebar[data-collapsed=true] .nav-group-header .nav-label-short{display:none}.sidebar[data-collapsed=true] .nav-sublist{grid-template-rows:0fr!important}.sidebar[data-collapsed=true] .nav-sublist-inner{padding:0}.sidebar[data-collapsed=true] .nav-flyout{min-width:200px;padding:var(--s-2);background:var(--paper);border-radius:var(--r-md);box-shadow:var(--shadow-2,0 8px 24px #00000014), 0 0 0 1px var(--paper-3);opacity:0;pointer-events:none;z-index:40;flex-direction:column;gap:1px;transition:opacity .14s,transform .16s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;left:calc(100% + 6px);transform:translate(-4px)}.sidebar[data-collapsed=true] .nav-flyout-title{font-family:var(--font-mono);color:var(--subtle);letter-spacing:.2px;padding:4px var(--s-3) 6px;font-size:10px}.sidebar[data-collapsed=true] .nav-group[data-flyout-open=true] .nav-flyout,.sidebar[data-collapsed=true] .nav-group:focus-within .nav-flyout{opacity:1;pointer-events:auto;transform:translate(0)}.secondary-sidebar{height:100vh;width:var(--secondary-w,0px);background:var(--paper);box-shadow:inset 1px 0 0 var(--paper-3), inset -1px 0 0 var(--paper-3);transition:width .32s cubic-bezier(.16,1,.3,1);position:sticky;top:0;overflow:hidden}.secondary-sidebar-inner{width:240px;height:100%;padding:calc(var(--topbar-h,64px) + var(--s-4)) var(--s-4) var(--s-4);opacity:0;flex-direction:column;transition:opacity .22s 60ms,transform .26s cubic-bezier(.16,1,.3,1) 40ms;display:flex;position:relative;transform:translate(-6px)}.secondary-sidebar-band{height:var(--topbar-h,64px);background:var(--paper);pointer-events:none;z-index:1;position:absolute;top:0;left:0;right:0;overflow:hidden}.secondary-sidebar-band:before{content:"";background-image:linear-gradient(90deg,#2563eb0f 1px,#0000 1px),linear-gradient(#2563eb0f 1px,#0000 1px);background-position:-1px -1px;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 70%,#0000 100%);mask-image:linear-gradient(#000 0% 70%,#0000 100%)}.secondary-sidebar-inner:after{content:"";top:var(--topbar-h,64px);background:linear-gradient(90deg, transparent, var(--paper-3) 20%, var(--paper-3) 80%, transparent);pointer-events:none;z-index:1;height:1px;position:absolute;left:0;right:0}.secondary-sidebar[data-open=true] .secondary-sidebar-inner{opacity:1;transform:translate(0)}.secondary-sidebar-head{align-items:center;column-gap:var(--s-2);margin-bottom:var(--s-4);grid-template-rows:auto auto;grid-template-columns:1fr auto;display:grid;position:relative}.secondary-sidebar-eyebrow{font-family:var(--font-mono);letter-spacing:.2px;color:var(--subtle);grid-column:1/2;font-size:9.5px;font-weight:500}.secondary-sidebar-title{font-family:var(--font-sans);letter-spacing:-.012em;color:var(--ink);grid-column:1/2;margin-top:4px;font-size:16px;font-weight:400;line-height:1.2}.secondary-sidebar-rule{height:1px;margin-top:var(--s-3);background:linear-gradient(90deg, var(--paper-3) 0%, var(--paper-3) 60%, transparent 100%);grid-column:1/-1}.secondary-sidebar-close{border-radius:var(--r-sm);width:22px;height:22px;color:var(--subtle);background:0 0;grid-area:1/2/2/3;place-items:center;transition:background .15s,color .15s;display:grid}.secondary-sidebar-close:hover{background:var(--card-2);color:var(--ink)}.secondary-sidebar-close:focus-visible{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink);outline:none}.secondary-sidebar-body{scrollbar-width:thin;scrollbar-color:var(--paper-3) transparent;flex-direction:column;flex:1;gap:1px;min-height:0;margin-right:-2px;padding-right:2px;display:flex;overflow-y:auto}.secondary-sidebar-body::-webkit-scrollbar{width:4px}.secondary-sidebar-body::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:var(--r-full)}.secondary-sidebar-row{opacity:0;transition:opacity .22s,transform .26s cubic-bezier(.16,1,.3,1);transition-delay:calc(80ms + var(--i,0) * 22ms);transform:translate(-4px)}.secondary-sidebar[data-open=true] .secondary-sidebar-row{opacity:1;transform:translate(0)}.secondary-sidebar-body .nav-child{padding:9px var(--s-3) 9px calc(var(--s-3) + 10px);border-radius:var(--r-sm);font-family:var(--font-sans);color:var(--muted);letter-spacing:-.005em;border-left:0;align-items:center;margin-left:0;font-size:13px;font-weight:400;transition:background .15s,color .15s;display:flex;position:relative}.secondary-sidebar-body .nav-child:before{content:"";left:var(--s-3);background:var(--paper-3);width:4px;height:1px;transition:width .18s,background .18s;position:absolute;top:50%;transform:translateY(-50%)}.secondary-sidebar-body .nav-child:hover{background:var(--card-2);color:var(--ink)}.secondary-sidebar-body .nav-child:hover:before{background:var(--subtle);width:8px}.secondary-sidebar-body .nav-child.active{color:var(--ink);background:var(--card-2)}.secondary-sidebar-body .nav-child.active:before{background:var(--ink);width:8px}.secondary-sidebar-body .nav-child .nav-dot{display:none}.sidebar[data-collapsed=true] .nav-flyout .nav-child{padding:6px var(--s-3);border-radius:var(--r-sm);border-left:0;margin-left:0}.sidebar[data-collapsed=true] .nav-flyout .nav-child .nav-dot{margin-left:0}.sidebar[data-collapsed=true] .nav-group-header.in-active{background:var(--orange-paper)}@media (prefers-reduced-motion:reduce){.app,.sidebar,.sidebar *,.sidebar-toggle{transition-duration:.01ms!important;animation-duration:.01ms!important}}.table-scroll{scrollbar-width:thin;scrollbar-color:var(--paper-3) transparent;width:100%;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%)}.table-scroll>table.projects{min-width:720px}.table-scroll>table.projects.compact{min-width:640px}.table-scroll::-webkit-scrollbar{height:8px}.table-scroll::-webkit-scrollbar-track{background:0 0}.table-scroll::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:var(--r-full);background-clip:padding-box;border:1px solid #0000}.table-scroll:hover::-webkit-scrollbar-thumb{background:var(--faint);background-clip:padding-box}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--blue-mid);background-clip:padding-box}.topbar{min-height:var(--topbar-h,64px);padding:0!important;display:block!important}.topbar-inner{align-items:center;gap:var(--s-5);padding:var(--s-4) var(--s-7);width:100%;max-width:1520px;min-height:var(--topbar-h,64px);box-sizing:border-box;transform:translateX(calc((var(--sidebar-w,280px) + var(--secondary-w,0px)) / -2));pointer-events:none;grid-template-columns:minmax(0,1fr) auto;margin-inline:auto;display:grid}.topbar-inner>*{pointer-events:auto}.topbar{position:relative}.topbar-actions{top:50%;right:var(--s-7);z-index:2;pointer-events:auto;margin-left:0;position:absolute;transform:translateY(-50%)}.topbar:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#2563eb0f 1px,#0000 1px),linear-gradient(#2563eb0f 1px,#0000 1px);background-position:-1px -1px;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 70%,#0000 100%);mask-image:linear-gradient(#000 0% 70%,#0000 100%)}.topbar-crumb{min-width:0}.crumb{font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.crumb-seg{align-items:center;gap:6px;display:inline-flex}.crumb-sep{color:var(--faint);font-size:13px}.crumb-link{color:var(--muted);transition:color .15s var(--ease);text-decoration:none}.crumb-link:hover{color:var(--ink-2)}.crumb-leaf{color:var(--ink);letter-spacing:.3px;font-weight:600}.crumb-leaf.current{text-transform:none;letter-spacing:-.005em;font-size:13px;font-family:var(--font-display);color:var(--ink);font-weight:600;position:relative}.crumb-leaf.current:after{content:"";background:var(--orange);border-radius:1px;height:1.5px;position:absolute;bottom:-4px;left:0;right:0}.crumb .mono{font-family:var(--font-mono);letter-spacing:.3px}.topbar-slot{justify-content:flex-start;align-items:center;min-width:0;display:flex}.cmd-root{z-index:11;width:min(560px,100vw - 32px);display:flex;position:fixed;top:13px;left:50%;transform:translate(-50%)}.cmd-pill{border:1px solid var(--paper-3);width:100%;height:38px;color:var(--muted);font-family:var(--font-sans);letter-spacing:-.002em;cursor:text;transition:border-color .16s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), color .16s var(--ease);background:#fffdf8;border-radius:12px;align-items:center;gap:10px;padding:0 6px 0 14px;font-size:13px;display:inline-flex;box-shadow:0 1px 2px #1a161308}.cmd-pill:hover{border-color:var(--ink-3);background:#fff;box-shadow:0 2px 4px #1a16130f}.cmd-pill>svg{color:var(--subtle);flex-shrink:0}.cmd-pill:hover>svg{color:var(--ink)}.cmd-pill-input{min-width:0;font-family:var(--font-sans);letter-spacing:-.002em;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.cmd-pill-input::placeholder{color:var(--subtle)}.cmd-pill-kbd{background:var(--paper-2);color:var(--subtle);font-family:var(--font-mono);letter-spacing:.3px;border-radius:6px;align-items:center;gap:2px;margin-left:auto;padding:3px 7px;font-size:10px;display:inline-flex}.cmd-pill-kbd span:first-child{font-size:11px;line-height:1}.cmd-root.is-open .cmd-pill{border-color:var(--ink-3);background:#fff;box-shadow:0 0 0 3px #2563eb1a,0 2px 4px #1a16130f}.cmd-root.is-open .cmd-pill>svg{color:var(--ink)}.cmd-clear{appearance:none;cursor:pointer;background:var(--paper-2);width:20px;height:20px;color:var(--muted);transition:background .15s var(--ease), color .15s var(--ease);border:0;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.cmd-clear:hover{background:var(--orange-paper);color:var(--orange-deep)}.cmd-panel{z-index:46;border:1px solid var(--paper-3);max-height:calc(100vh - 120px);animation:cmd-panel-in .18s var(--ease-out);transform-origin:0 0;background:#fffdf8;border-radius:12px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 24px 60px -18px #1a161347,0 8px 24px -10px #1e3a8a29}@keyframes cmd-panel-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.cmd-scopes{border-bottom:1px solid var(--paper-3);flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.cmd-scope{appearance:none;cursor:pointer;height:28px;box-shadow:inset 0 0 0 1px var(--paper-3);font-family:var(--font-sans);color:var(--ink-2);transition:color .15s var(--ease), background .15s var(--ease), box-shadow .15s var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:450;display:inline-flex}.cmd-scope svg{color:var(--muted)}.cmd-scope:hover{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--ink-3)}.cmd-scope:hover svg{color:var(--ink)}.cmd-scope.is-on{background:var(--ink);color:var(--paper);box-shadow:inset 0 0 0 1px var(--ink)}.cmd-scope.is-on svg{color:var(--orange-light)}.cmd-scope-clear{background:var(--orange-paper);color:var(--orange-deep);box-shadow:inset 0 0 0 1px var(--orange-light)}.cmd-scope-clear:hover{background:var(--orange-soft);box-shadow:inset 0 0 0 1px var(--orange-mid);color:var(--orange-deep)}.cmd-scope-clear svg{color:var(--orange-deep)}.cmd-body{flex-direction:column;flex:1;gap:10px;padding:10px 8px 12px;display:flex;overflow-y:auto}.cmd-body::-webkit-scrollbar{width:6px}.cmd-body::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:999px}.cmd-section{flex-direction:column;display:flex}.cmd-section-h{font-family:var(--font-mono);letter-spacing:.2px;color:var(--subtle);padding:6px 10px 4px;font-size:10px}.cmd-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.cmd-row{appearance:none;cursor:pointer;text-align:left;width:100%;transition:background .14s var(--ease);background:0 0;border:0;border-radius:8px;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.cmd-row:hover{background:var(--paper-2)}.cmd-row-ico{background:var(--blue-paper);width:20px;height:20px;color:var(--blue-deep);border-radius:6px;place-items:center;display:inline-grid}.cmd-row:hover .cmd-row-ico{background:var(--orange-paper);color:var(--orange-deep)}.cmd-row-title{color:var(--ink);font-size:13px;font-weight:500}.cmd-row-sub{font-family:var(--font-mono);letter-spacing:.3px;color:var(--muted);font-size:10px}.cmd-chips{flex-wrap:wrap;gap:6px;margin:0;padding:2px 10px 4px;list-style:none;display:flex}.cmd-saved{appearance:none;cursor:pointer;background:var(--paper-2);height:26px;color:var(--ink-2);font-family:var(--font-sans);transition:background .14s var(--ease), color .14s var(--ease);border:0;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;display:inline-flex}.cmd-saved svg{color:var(--muted)}.cmd-saved:hover{background:var(--orange-paper);color:var(--orange-deep)}.cmd-saved:hover svg{color:var(--orange)}.cmd-results,.cmd-group{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cmd-group+.cmd-group{border-top:1px solid var(--border-1);margin-top:4px;padding-top:4px}.cmd-row.is-active{background:var(--paper-2)}.cmd-row.is-active .cmd-row-ico{background:var(--orange-paper);color:var(--orange-deep)}.cmd-hint{color:var(--muted);margin:0;padding:8px 12px 10px;font-size:12.5px;line-height:1.5}.cmd-hint strong{color:var(--ink);font-weight:500}@media (width<=640px){.cmd-root{width:100%}.cmd-panel{width:calc(100vw - 24px)}}.topbar .search{background:var(--card);border-radius:var(--r-sm);min-width:240px;max-width:520px;box-shadow:inset 0 0 0 1px var(--border-1);transition:box-shadow .18s var(--ease);flex:auto;padding:9px 12px}.topbar .search:focus-within{box-shadow:inset 0 0 0 1px var(--border-2), inset 0 -2px 0 0 var(--orange);background:#fff}.topbar .search input::placeholder{color:var(--subtle)}.page-filters{margin-top:calc(var(--s-5) * -1);background:var(--paper-2);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--paper-3);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.pf-label{font-family:var(--font-mono);letter-spacing:.2px;color:var(--subtle);border-right:1px solid var(--paper-3);align-items:center;gap:6px;height:22px;margin-right:2px;padding:0 12px 0 4px;font-size:10px;display:inline-flex}.pf-label svg{color:var(--muted)}.pf-lead{border-right:1px solid var(--paper-3);align-items:center;gap:6px;height:28px;margin-right:4px;padding-right:8px;display:inline-flex}.pf-chips{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.page-filters .chip-filter{box-shadow:inset 0 0 0 1px var(--paper-3);background:#fff}.page-filters .chip-filter:hover{box-shadow:inset 0 0 0 1px var(--ink-3)}.page-filters .chip-filter.is-add{box-shadow:none;border:1px dashed var(--paper-3);background:0 0}.rapports-empty{text-align:center;color:var(--muted);padding:32px 24px;font-size:13px}.pf-reset{appearance:none;cursor:pointer;font-family:var(--font-mono);letter-spacing:.6px;color:var(--muted);transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:0;border-radius:999px;margin-left:auto;padding:5px 10px;font-size:10px}.pf-reset:hover{color:var(--orange-deep);background:var(--orange-paper)}@media (width<=720px){.pf-label{display:none}.pf-reset{margin-left:0}}.topbar-filters{align-items:center;gap:var(--s-2);flex-wrap:wrap;width:100%;display:flex}.topbar-filters .search-mini{flex:none}.tb-reset{appearance:none;cursor:pointer;font-family:var(--font-mono);letter-spacing:.3px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:4px 6px;font-size:11.5px}.tb-reset:hover{color:var(--orange-deep);background:var(--orange-paper)}.fs-root{align-items:center;display:inline-flex;position:static}.fs-pill{appearance:none;cursor:pointer;background:var(--card);border:1px solid var(--border-1);border-radius:var(--r-full);font-family:var(--font-sans);color:var(--ink-2);box-shadow:var(--shadow-1);transition:border-color .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);align-items:center;gap:10px;padding:9px 14px 9px 12px;font-size:13px;display:inline-flex}.fs-pill:hover{border-color:var(--orange-light);color:var(--ink)}.fs-root.fs-open .fs-pill{border-color:var(--orange);box-shadow:0 0 0 3px #f9731624, var(--shadow-1);background:#fff}.fs-pill svg:first-child{color:var(--muted)}.fs-summary{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.fs-sum-key{font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);font-size:10.5px}.fs-sum-val{color:var(--ink);font-weight:600}.fs-sum-dot{color:var(--faint);margin:0 2px}.fs-panel{background:var(--card);border-top:1px solid var(--border-1);padding:var(--s-5) var(--s-7);z-index:var(--z-dropdown);animation:fs-slide .22s var(--ease-out);position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 40px -20px #1a161333}@keyframes fs-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dash-filter{gap:var(--s-4);flex-direction:column;display:flex}.df-row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.df-label{font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);align-items:center;gap:6px;min-width:84px;font-size:11px;display:inline-flex}.df-date{font-family:var(--font-mono);color:var(--ink-2);margin-left:auto;font-size:12px}.qc-root{position:relative}.qc-pop{min-width:280px;z-index:var(--z-dropdown);background:var(--card);border:1px solid var(--border-1);border-radius:var(--r-md);box-shadow:var(--shadow-3);animation:qc-in .18s var(--ease-out);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes qc-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.qc-item{appearance:none;cursor:pointer;border-radius:var(--r-sm);text-align:left;background:0 0;border:0;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:8px 10px;display:grid}.qc-item:hover{background:var(--paper-2)}.qc-icon{background:var(--blue-paper);width:28px;height:28px;color:var(--blue-deep);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.qc-item:hover .qc-icon{background:var(--orange-paper);color:var(--orange-deep)}.qc-title{color:var(--ink);font-size:13.5px;font-weight:500}@media (width<=960px){.topbar{gap:var(--s-2);grid-template-columns:1fr;padding:var(--s-3) var(--s-4)!important}.topbar-crumb{order:1}.topbar-slot{order:2}.topbar-actions{order:3;justify-content:flex-end}.fs-panel{padding:var(--s-4)}}@media (width<=1100px){.detail-grid{grid-template-columns:1fr}.detail-rail{position:static}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.kpi-row{grid-template-columns:1fr}.head-row{flex-direction:column;align-items:flex-start}}.page-header-row{justify-content:space-between;align-items:flex-end;gap:var(--s-5);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.page-header-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:inline-flex}.settings-shell{gap:var(--s-5);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.settings-nav{gap:var(--s-4);top:calc(var(--topbar-h,64px) + var(--s-3));flex-direction:column;align-self:start;display:flex;position:sticky}.settings-nav-group{flex-direction:column;gap:2px;display:flex}.settings-nav-label{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding:0 var(--s-3);margin-bottom:2px;font-size:10.5px}.settings-nav-item{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:var(--s-3);padding:7px var(--s-3);border-radius:var(--r-sm);color:var(--ink-3);min-height:32px;font-size:13px;font-weight:450;line-height:18px;transition:background .2s,color .2s,padding .2s;display:flex}.settings-nav-item:hover{background:var(--card-2);color:var(--ink);padding-left:calc(var(--s-3) + 2px)}.settings-nav-item.active{color:var(--ink);background:var(--card);box-shadow:var(--shadow-1), inset 0 0 0 1px #1a161305;font-weight:500}.settings-nav-icon{opacity:.85;flex-shrink:0}.settings-nav-item-label{flex:1}.settings-nav-badge{font-family:var(--font-mono);color:var(--muted);border-radius:var(--r-full);background:var(--paper-2);letter-spacing:.5px;font-variant-numeric:tabular-nums;padding:2px 7px;font-size:10px;font-weight:500}.settings-nav-item.active .settings-nav-badge{background:var(--ink);color:var(--paper)}.settings-content{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.settings-section-head{justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.settings-section-head .panel-title{margin:0}.inherit-banner{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--card-2);box-shadow:inset 0 0 0 1px var(--faint);margin-bottom:var(--s-4);display:flex}.inherit-banner-icon{color:var(--muted);flex-shrink:0}.inherit-banner-text{color:var(--ink-2);flex:1;font-size:13px}.inherit-banner-text strong{color:var(--ink);font-weight:500}.inherit-banner.is-override{background:linear-gradient(180deg, transparent, #2563eb0f), var(--card-2)}@media (width<=900px){.settings-shell{grid-template-columns:1fr}.settings-nav{gap:var(--s-2);flex-flow:wrap;position:static}.settings-nav-group{gap:var(--s-2);flex-flow:wrap}.settings-nav-label{display:none}}.row-actions{opacity:.55;justify-content:flex-end;align-items:center;gap:2px;transition:opacity .18s;display:inline-flex}tr:hover .row-actions,.row-actions:focus-within{opacity:1}button.icon-link{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.icon-link{width:30px;height:30px;color:var(--subtle,#14121073);transition:background .15s var(--ease,ease), color .15s var(--ease,ease), transform .15s var(--ease,ease), box-shadow .15s var(--ease,ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-link:hover{background:var(--card-2,#1412100a);transform:translateY(-1px)}.icon-link:active{transform:translateY(0)}.icon-link:focus-visible{box-shadow:0 0 0 2px var(--paper,#fafaf8), 0 0 0 3px var(--ink,#1a1613);outline:none}.icon-link[aria-label=Ouvrir]:hover{color:var(--ink,#1a1613);background:#1412100f}.icon-link[aria-label=Modifier]:hover{color:var(--blue,#2563eb);background:#2563eb14}.icon-link[aria-label=Supprimer]:hover{color:var(--rust,#c2410c);background:#c2410c14}.icon-link:disabled{opacity:.35;cursor:not-allowed;background:0 0;transform:none}td.col-action{width:auto;min-width:96px}table.projects.is-flex td.col-action .row-actions,table.projects.is-flex td.col-action{text-align:right}@media (width<=640px){.page-header-row{flex-direction:column;align-items:stretch}}.confirm-body{color:var(--text-2);margin:0;font-size:14px;line-height:1.55}.confirm-body code{font-family:var(--font-mono);border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-2);padding:1px 6px;font-size:12.5px}.dash-period-bar{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.dash-period-dates{align-items:center;gap:var(--s-2);display:flex}.dash-period-dates .input{min-width:160px}.dash-period-arrow{color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.kpi-row.dash-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=1180px){.kpi-row.dash-kpis{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.kpi-row.dash-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.kpi-row.dash-kpis{grid-template-columns:1fr}}.assistant-connector-page{gap:var(--s-6)}.assistant-connector-head{align-items:center}.assistant-connector-layout{gap:var(--s-5);grid-template-columns:minmax(0,1.6fr) minmax(340px,.9fr);align-items:start;display:grid}.assistant-connector-main{gap:var(--s-5);display:grid}.assistant-connector-chat{position:sticky;top:96px}.assistant-connector-panel{gap:var(--s-4);display:grid}.assistant-connector-panel-head,.assistant-connector-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.assistant-connector-switcher{gap:var(--s-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.assistant-connector-card{text-align:left;cursor:pointer;border:1px solid #3d5a881f;border-radius:18px;gap:10px;padding:16px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.assistant-connector-card:hover,.assistant-connector-card.is-active{border-color:#3d5a8847;transform:translateY(-1px);box-shadow:0 18px 40px #18213414}.assistant-connector-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.assistant-connector-card-title{color:var(--ink);font-weight:700}.assistant-connector-card-copy{color:var(--muted);font-size:12px;line-height:1.5}.assistant-connector-toolbar-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.assistant-connector-inline-field{gap:6px;min-width:180px;display:grid}.assistant-connector-inline-field span{text-transform:uppercase;letter-spacing:.08em;color:var(--subtle);font-size:11px}.assistant-connector-inline-field input,.assistant-connector-inline-field select,.assistant-connector-sort-toggle,.assistant-connector-cell-control{border:1px solid var(--line);background:var(--paper);min-height:40px;font:inherit;color:var(--ink);border-radius:12px;padding:0 12px}.assistant-connector-sort-toggle{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.assistant-connector-schema{flex-wrap:wrap;gap:8px;display:flex}.assistant-connector-schema-chip{color:var(--ink);background:#e8eef699;border:1px solid #3d5a8824;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:600;display:inline-flex}.assistant-connector-cell-control{width:100%}.assistant-connector-cell-shell{gap:4px;min-width:0;display:grid}.assistant-connector-cell-ghost{visibility:hidden;white-space:pre;pointer-events:none;grid-area:1/1;align-self:start;padding:0 12px}.assistant-connector-cell-shell>.assistant-connector-cell-control{grid-area:1/1}.assistant-connector-cell-control.is-invalid{background:#fee2e28c;border-color:#dc2626;box-shadow:inset 0 0 0 1px #dc262614}.assistant-connector-cell-control.is-invalid:focus{outline-color:#dc262659}.assistant-connector-cell-error{color:#b91c1c;white-space:normal;font-size:10px;line-height:1.3;display:block}.assistant-connector-validation-note{background:#fef2f2eb;border:1px solid #dc26262e;border-radius:14px;gap:6px;margin-top:14px;padding:12px 14px;display:grid}.assistant-connector-validation-note strong{color:#991b1b}.assistant-import-banner{border:1px solid var(--w-border);background:var(--w-inset);border-radius:14px;gap:10px;margin-bottom:12px;padding:12px 14px;display:grid}.assistant-import-banner[data-status=imported]{background:#14564a0f;border-color:#14564a4d}.assistant-import-banner[data-status=error]{background:#fef2f2eb;border-color:#dc262633}.assistant-import-banner__head{align-items:center;gap:10px;min-width:0;display:flex}.assistant-import-banner__title{flex:1;gap:1px;min-width:0;display:grid}.assistant-import-banner__title strong{font-size:13.5px}.assistant-import-banner__title span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.assistant-import-banner__status{border-radius:var(--r-full);background:#0000000d;flex-shrink:0;padding:3px 10px;font-size:11.5px;font-weight:600}.assistant-import-banner__hint,.assistant-import-banner__summary{color:var(--ink-3);margin:0;font-size:12px;line-height:1.45}.assistant-import-banner__summary{color:var(--ink);font-size:12.5px}.assistant-import-banner__bar{border-radius:var(--r-full);background:#00000014;height:6px;overflow:hidden}.assistant-import-banner__bar>span{background:#14564a;height:100%;transition:width .2s;display:block}.assistant-import-banner__actions{flex-wrap:wrap;gap:8px;display:flex}.assistant-import-failures{color:#7f1d1d;background:#fef2f2eb;border:1px solid #dc26262e;border-radius:14px;gap:4px;margin-top:10px;padding:10px 14px;font-size:12px;display:grid}.assistant-import-failures strong{color:#991b1b}.assistant-import-failures ul{margin:0;padding-left:18px}.assistant-connector-validation-note span{color:#7f1d1d;font-size:12px}.chatbot-widget-embedded{z-index:auto;position:static;inset:auto}.chatbot-widget-embedded .chatbot-panel{width:100%;min-height:760px;max-height:calc(100vh - 120px);box-shadow:0 20px 52px #18213414}.chatbot-widget-embedded .chatbot-body{min-height:0}.chatbot-table-open{width:fit-content}.app.app-assistant-shell{background:radial-gradient(1200px 700px at 25% 0,#2563eb0f,#0000 55%),radial-gradient(900px 600px at 100% 10%,#f973160d,#0000 45%),linear-gradient(#fcfbf8 0%,#f6f3ec 100%);min-height:100vh;display:block}.assistant-shell-main{min-height:100vh}.assistant-workspace{background:0 0;grid-template-columns:minmax(240px,18%) minmax(0,52%) minmax(360px,30%);min-height:100vh;display:grid}.assistant-workspace-nav,.assistant-workspace-main,.assistant-workspace-assistant{min-height:100vh}.assistant-workspace-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb8;border-right:1px solid #24395814;flex-direction:column;gap:28px;padding:28px 24px;display:flex}.assistant-workspace-brand{align-items:center;gap:14px;display:flex}.assistant-workspace-brand-mark{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%);width:46px;height:46px;color:var(--paper);border-radius:16px;place-items:center;display:grid;box-shadow:0 14px 24px #2439582e}.assistant-workspace-brand-title{color:var(--ink);letter-spacing:-.02em;font-size:17px;font-weight:700}.assistant-workspace-brand-sub{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.assistant-workspace-menu{gap:8px;display:grid}.assistant-workspace-navlink{width:100%;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-weight:500;text-decoration:none;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:flex}.assistant-workspace-navlink:hover,.assistant-workspace-navlink.is-active{color:var(--blue-deep);background:#2563eb14;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #2563eb1f}.assistant-workspace-nav-card{background:linear-gradient(#fffffff2,#e8eef6bf);border:1px solid #24395814;border-radius:22px;margin-top:auto;padding:18px;box-shadow:0 16px 36px #24395814}.assistant-workspace-nav-card-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--subtle);font-size:10px}.assistant-workspace-nav-card-title{color:var(--ink);margin-top:8px;font-size:18px;font-weight:700}.assistant-workspace-nav-card p{color:var(--muted);margin:10px 0 0;font-size:12.5px;line-height:1.6}.assistant-workspace-main{flex-direction:column;gap:22px;padding:28px 28px 32px;display:flex;overflow:auto}.assistant-workspace-hero{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.assistant-workspace-hero-copy{gap:10px;display:grid}.assistant-workspace-hero-text{max-width:68ch;color:var(--muted);margin:0;font-size:14px;line-height:1.65}.assistant-workspace-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.assistant-workspace-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.assistant-workspace-kpi-card{background:#ffffffd9;border:1px solid #24395814;border-radius:24px;padding:18px 18px 16px;box-shadow:0 16px 32px #24395814}.assistant-workspace-kpi-icon{border-radius:14px;place-items:center;width:38px;height:38px;margin-bottom:14px;display:grid}.assistant-workspace-kpi-icon.is-blue{color:var(--blue-deep);background:#2563eb1f}.assistant-workspace-kpi-icon.is-ink{color:var(--ink);background:#1a16130f}.assistant-workspace-kpi-icon.is-green{color:#2f855a;background:#2f855a1f}.assistant-workspace-kpi-icon.is-orange{color:var(--orange-deep);background:#f9731624}.assistant-workspace-kpi-label{color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.assistant-workspace-kpi-value{color:var(--ink);margin-top:10px;font-size:28px;font-weight:700;line-height:1}.assistant-workspace-kpi-sub{color:var(--muted);margin-top:8px;font-size:12px}.assistant-workspace-connectors,.assistant-workspace-table,.assistant-workspace-flow{background:#ffffffd6;border:1px solid #24395814;border-radius:28px;padding:22px;box-shadow:0 20px 42px #24395814;margin-right:0!important}.assistant-workspace-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.assistant-workspace-section-head-tight{margin-bottom:16px}.assistant-workspace-data-status{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.assistant-workspace-data-status span,.assistant-workspace-group-pill{color:var(--blue-deep);background:#e8eef6b3;border:1px solid #2563eb14;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:600;display:inline-flex}.assistant-workspace-flow-steps{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assistant-workspace-flow-step{background:#f6f3ece6;border:1px solid #2439580f;border-radius:20px;gap:6px;min-width:124px;padding:14px 16px;display:grid}.assistant-workspace-flow-step span{width:28px;height:28px;color:var(--ink);background:#24395814;border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:grid}.assistant-workspace-flow-step strong{color:var(--ink);font-size:13px}.assistant-workspace-flow-step small{color:var(--muted);font-size:11px}.assistant-workspace-flow-step.is-done{background:#2f855a14}.assistant-workspace-flow-step.is-done span{color:#2f855a;background:#2f855a29}.assistant-workspace-flow-step.is-active{background:#2563eb14;border-color:#2563eb29}.assistant-workspace-flow-step.is-active span{color:var(--blue-deep);background:#2563eb29}.assistant-workspace-flow-arrow{color:var(--subtle);font-weight:700}.assistant-workspace-connector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.assistant-workspace-connector-card{text-align:left;cursor:pointer;background:linear-gradient(#fffffffa,#f7f4edf2);border:1px solid #24395814;border-radius:24px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;box-shadow:0 16px 36px #24395814}.assistant-workspace-connector-card:before{content:"";border-radius:inherit;background:var(--connector-accent);opacity:.8;pointer-events:none;position:absolute;inset:0}.assistant-workspace-connector-card>*{z-index:1;position:relative}.assistant-workspace-connector-card:hover,.assistant-workspace-connector-card.is-active{border-color:#2563eb33;transform:translateY(-2px);box-shadow:0 24px 44px #2439581f}.assistant-workspace-connector-card.is-active{box-shadow:0 24px 44px #24395824,0 0 0 2px #2563eb1f}.assistant-workspace-connector-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.assistant-workspace-connector-title{color:var(--ink);font-size:18px;font-weight:700}.assistant-workspace-connector-sub{color:var(--muted);margin-top:6px;font-size:12.5px;line-height:1.55}.assistant-workspace-connector-badge{color:var(--blue-deep);white-space:nowrap;background:#fffc;border:1px solid #24395814;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}.assistant-workspace-connector-fields{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.assistant-workspace-connector-fields span{color:var(--ink-2);background:#ffffffd1;border:1px solid #2439580f;border-radius:999px;padding:7px 10px;font-size:11px}.assistant-workspace-data-toolbar,.assistant-workspace-cleaning-bar,.assistant-workspace-pagination{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.assistant-workspace-data-toolbar{background:#f6f3ecf2;border:1px solid #2439580f;border-radius:22px;padding:18px}.assistant-workspace-field{gap:6px;min-width:150px;display:grid}.assistant-workspace-field-search{flex:260px}.assistant-workspace-field span,.assistant-workspace-cleaning-label{text-transform:uppercase;letter-spacing:.14em;color:var(--subtle);font-size:10px;font-family:var(--font-mono)}.assistant-workspace-field input,.assistant-workspace-field select,.assistant-workspace-inline-save input,.assistant-workspace-pill-button,.assistant-workspace-text-button,.assistant-connector-cell-control,.assistant-workspace-dropdown>summary{min-height:42px;color:var(--ink);font:inherit;background:#ffffffeb;border:1px solid #24395814;border-radius:14px}.assistant-workspace-field input,.assistant-workspace-field select,.assistant-workspace-inline-save input,.assistant-connector-cell-control{width:100%;padding:0 12px}.assistant-workspace-control-bar{justify-content:space-between;align-items:stretch;gap:16px;margin-top:16px;display:flex}.assistant-workspace-control-bar-surface{background:#f6f3ece6;border:1px solid #2439580f;border-radius:20px;flex:auto;min-width:0;padding:8px}.assistant-workspace-control-group,.assistant-workspace-cleaning-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assistant-workspace-pill-button,.assistant-workspace-text-button,.assistant-workspace-dropdown>summary,.assistant-workspace-saved-view{cursor:pointer;align-items:center;gap:8px;padding:0 14px;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.assistant-workspace-pill-button:hover,.assistant-workspace-text-button:hover,.assistant-workspace-dropdown>summary:hover,.assistant-workspace-saved-view:hover{transform:translateY(-1px);box-shadow:0 10px 20px #24395814}.assistant-workspace-cleaning-bar{justify-content:space-between;margin-top:16px}.assistant-workspace-group-summary{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.assistant-workspace-table-frame{margin-top:16px}.assistant-workspace-table-frame .data-table-scroll{background:#fffffff0;border:1px solid #24395814;border-radius:18px}.assistant-table-checkbox,.assistant-workspace-pagination-check input,.assistant-workspace-checkrow input{width:16px;height:16px;accent-color:var(--blue-deep)}.assistant-workspace-pagination{justify-content:space-between;margin-top:18px}.assistant-workspace-pagination-check{color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.assistant-workspace-pagination-status{color:var(--muted);font-size:12px}.assistant-workspace-pagination-status strong{color:var(--ink)}.assistant-workspace-pagination-actions{flex-wrap:wrap;gap:8px;display:flex}.assistant-workspace-dropdown{position:relative}.assistant-workspace-dropdown>summary{list-style:none}.assistant-workspace-dropdown>summary::-webkit-details-marker{display:none}.assistant-workspace-dropdown-panel{z-index:20;background:#fffffffa;border:1px solid #24395814;border-radius:18px;gap:10px;min-width:260px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 22px 40px #2439581f}.assistant-workspace-checkrow,.assistant-workspace-inline-save{align-items:center;gap:10px;display:flex}.assistant-workspace-checkrow span,.assistant-workspace-empty-note{color:var(--ink-2);font-size:12.5px}.assistant-workspace-inline-save{align-items:stretch}.assistant-workspace-inline-save input{flex:auto}.assistant-workspace-saved-view-list{flex-wrap:wrap;gap:8px;display:flex}.assistant-workspace-saved-view{min-height:36px;color:var(--blue-deep);background:#e8eef6a6;border:1px solid #24395814;border-radius:999px}.assistant-workspace-assistant{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc2;border-left:1px solid #24395814;overflow:hidden}.chatbot-widget-workspace,.chatbot-widget-workspace .chatbot-panel{height:100%}.chatbot-widget-workspace{position:static;inset:auto}.chatbot-widget-workspace .chatbot-panel{width:100%;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:auto auto 1fr auto;display:grid}.chatbot-widget-workspace .chatbot-panel-head{background:linear-gradient(#e8eef6b8,#fff0);padding:28px 24px 18px}.chatbot-widget-workspace .chatbot-workspace-meta{flex-wrap:wrap;gap:8px;display:flex}.chatbot-widget-workspace .chatbot-workspace-chip{color:var(--blue-deep);background:#ffffffd1;border:1px solid #24395814;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:700;display:inline-flex}.chatbot-widget-workspace .chatbot-workspace-chip-muted{color:var(--ink-2)}.chatbot-widget-workspace .chatbot-workspace-suggestions{gap:10px;padding:0 24px 14px;display:grid}.chatbot-widget-workspace .chatbot-workspace-suggestions-label{text-transform:uppercase;letter-spacing:.14em;color:var(--subtle);font-size:10px;font-family:var(--font-mono)}.chatbot-widget-workspace .chatbot-workspace-suggestions-list{flex-wrap:wrap;gap:8px;display:flex}.chatbot-widget-workspace .chatbot-workspace-suggestion{color:var(--ink-2);font:inherit;cursor:pointer;background:#ffffffe0;border:1px solid #24395814;border-radius:999px;padding:8px 12px;font-size:12px}.chatbot-widget-workspace .chatbot-body{min-height:0;max-height:none;padding:12px 24px 18px;overflow:auto}.chatbot-widget-workspace .chatbot-message-stack{max-width:min(88%,720px)}.chatbot-widget-workspace .chatbot-rich-table-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.chatbot-widget-workspace .chatbot-composer{background:#ffffffd1;padding:16px 24px 22px}.chatbot-widget-workspace .chatbot-composer-shell{border-radius:22px;align-items:center;min-height:64px}.chatbot-widget-workspace .chatbot-composer-input{min-height:44px}@media (width<=1440px){.assistant-workspace{grid-template-columns:260px minmax(0,1fr) 380px}.assistant-workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.assistant-workspace{grid-template-columns:1fr}.assistant-workspace-nav,.assistant-workspace-assistant{min-height:auto}.assistant-workspace-assistant{border-top:1px solid #24395814;border-left:0}}@media (width<=860px){.assistant-workspace-main{padding:20px 16px 24px}.assistant-workspace-hero,.assistant-workspace-section-head,.assistant-workspace-control-bar,.assistant-workspace-cleaning-bar,.assistant-workspace-pagination,.assistant-workspace-flow-steps{flex-direction:column;align-items:stretch}.assistant-workspace-flow-arrow{display:none}.assistant-workspace-connector-grid,.assistant-workspace-kpis{grid-template-columns:1fr}.assistant-workspace-dropdown-panel{min-width:100%;margin-top:8px;position:static}}@media (width<=1280px){.assistant-connector-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.assistant-connector-layout{grid-template-columns:1fr}.assistant-connector-chat{position:static}}@media (width<=720px){.assistant-connector-switcher{grid-template-columns:1fr}.assistant-connector-toolbar,.assistant-connector-panel-head{flex-direction:column}.assistant-connector-toolbar-controls{width:100%}.assistant-connector-inline-field{min-width:100%}}.dash-kpi{padding:var(--s-4) var(--s-5);flex-direction:column;gap:6px;display:flex}.dash-kpi .kpi-label{margin-bottom:0}.dash-kpi .kpi-value{font-size:22px}.kpi-icon{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:4px;display:inline-flex}.kpi-icon-rev{color:var(--w-st-ok);background:#7a90802e}.kpi-icon-cost{color:var(--w-st-risk);background:#a07c6f2e}.kpi-icon-profit{background:var(--blue-soft);color:var(--blue-deep)}.kpi-icon-margin{background:var(--orange-soft);color:var(--orange-deep)}.kpi-icon-liq{color:var(--w-st-ok);background:#7a90802e}.panel.fin-summary{padding:0}.fin-summary-head{justify-content:space-between;align-items:flex-start;gap:var(--s-5);padding:var(--s-5) var(--s-6) var(--s-4);border-bottom:1px solid var(--border-1);flex-wrap:wrap;display:flex}.fin-summary-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:18px;font-weight:600}.fin-summary-period{font-family:var(--font-mono);letter-spacing:.4px;color:var(--muted);margin-top:4px;font-size:11.5px}.fin-summary-stats{align-items:flex-start;gap:var(--s-6);display:flex}.fin-summary-stat{text-align:right;flex-direction:column;gap:2px;display:flex}.fin-summary-stat-label{font-family:var(--font-mono);letter-spacing:.2px;color:var(--muted);font-size:10.5px}.fin-summary-stat-value{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:22px;font-weight:600}.fin-summary-stat-value.num-ok{color:var(--w-st-ok)}.fin-summary-stat-value.num-hot{color:var(--orange-deep)}.fin-summary-breakdown{padding:var(--s-5) var(--s-6) var(--s-3);border-bottom:1px dashed var(--border-1)}.fin-summary-breakdown-label{font-family:var(--font-mono);letter-spacing:.2px;color:var(--muted);margin-bottom:var(--s-3);font-size:10.5px}.fin-summary-grid{gap:var(--s-5);padding:var(--s-5) var(--s-6) var(--s-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fin-summary-cell{padding-left:var(--s-3);border-left:2px solid var(--paper-2);flex-direction:column;gap:6px;display:flex}.fin-summary-cell-label{font-family:var(--font-mono);letter-spacing:.2px;color:var(--muted);white-space:nowrap;align-items:baseline;gap:6px;font-size:10.5px;display:flex}.fin-summary-cell-label span{text-transform:none;letter-spacing:.2px;color:var(--subtle);font-size:10px}.fin-summary-cell-value{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}@media (width<=980px){.fin-summary-head{flex-direction:column;align-items:flex-start}.fin-summary-stats{justify-content:flex-start;width:100%}.fin-summary-stat{text-align:left}.fin-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.fin-summary-grid{grid-template-columns:1fr}}.plate-panel{padding:0;overflow:hidden}.plate-row{border-radius:var(--r-md);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.plate-cell{border:0;border-right:1px solid var(--border-1);cursor:pointer;font:inherit;color:inherit;padding:var(--s-4) var(--s-4) 24px;text-align:left;background:0 0;flex-direction:column;gap:6px;min-height:84px;display:flex;position:relative}.plate-cell:last-child{border-right:0}.plate-cell:hover:not(.is-locked):not(.is-active){background:var(--paper-2)}.plate-cell:focus-visible{box-shadow:inset 0 0 0 2px var(--blue-soft);outline:none}.plate-cell.is-locked{cursor:not-allowed;background:var(--card-2)}.plate-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.plate-cell.is-done .plate-eyebrow,.plate-cell.is-active .plate-eyebrow{color:var(--blue)}.plate-cell.is-locked .plate-eyebrow{color:var(--faint)}.plate-name{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--ink);font-size:15px;font-weight:500}.plate-cell.is-locked .plate-name{color:var(--subtle);font-weight:400}.plate-cell.is-done:after{content:"";right:var(--s-4);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233D5A88' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-repeat:no-repeat;background-size:contain;width:12px;height:12px;position:absolute;bottom:8px}.plate-cell.is-active{background:var(--blue)}.plate-cell.is-active .plate-eyebrow{color:#ffffffc7}.plate-cell.is-active .plate-name{color:var(--card)}.plate-cell.is-active:after{content:"";right:calc(var(--s-4) + 2px);background:#ffffffa6;border-radius:1px;width:7px;height:7px;position:absolute;bottom:11px;transform:rotate(45deg)}.plate-cell.is-locked:after{content:"";right:var(--s-4);background:var(--faint);width:11px;height:1.5px;position:absolute;bottom:12px}@media (width<=720px){.plate-row{grid-template-columns:repeat(2,1fr)}.plate-cell:nth-child(2){border-right:0}.plate-cell:first-child,.plate-cell:nth-child(2){border-bottom:1px solid var(--border-1)}}.lot-pill{border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--border-1);letter-spacing:.2px;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.lot-pill strong{color:var(--blue-deep);font-weight:600}.lot-pill-row{flex-wrap:wrap;gap:4px;display:inline-flex}.locked-chantier{align-items:center;gap:var(--s-2);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-sm);width:100%;height:38px;padding:6px 10px;font-size:13.5px;display:inline-flex}.apply-all-row{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-sm);cursor:pointer;display:flex}.apply-all-row:hover{background:var(--hover)}.apply-all-text{flex:1;min-width:0}.apply-all-title{color:var(--ink);letter-spacing:-.005em;font-size:13px;font-weight:500}.apply-all-hint{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.plan-grid{gap:var(--s-5);grid-template-columns:minmax(0,1fr) 340px}.plan-grid-no-rail{grid-template-columns:minmax(0,1fr)}.plan-grid>.detail-rail{min-width:0}@media (width<=1100px){.plan-grid{grid-template-columns:minmax(0,1fr)}}.plan-rail{gap:var(--s-4);flex-direction:column;display:flex}.plan-rail>.segmented{width:100%}.plan-rail>.segmented>button{white-space:normal;text-align:center;flex:1 1 0;min-width:0;padding-inline:6px;font-size:11px}.plan-rail>.segmented .segmented-label{white-space:normal}.plan-rail-body{gap:var(--s-4);flex-direction:column;display:flex}.plan-panel .panel-head{padding-bottom:var(--s-3)}.plan-map{border-top:1px solid var(--border-1);background:var(--surface-2);width:100%}.plan-map .leaflet-container{outline:none;width:100%;height:100%}.plan-pin{background:0 0;border:0}.plan-pin-dot{cursor:pointer;width:18px;height:18px;transition:transform var(--dur-1) var(--ease);border:3px solid;border-radius:50%;display:block;box-shadow:0 1px 4px #1412102e}.plan-pin:hover .plan-pin-dot{transform:scale(1.15)}.plan-breadcrumb-btn{font-family:var(--font-mono);letter-spacing:.3px;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:11.5px;display:inline-flex}.plan-breadcrumb-btn:hover{color:var(--ink-2)}.rail-list{gap:var(--s-3);margin-top:var(--s-3);flex-direction:column;display:flex}.rail-group.is-dim{opacity:.55}.rail-group-head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.rail-group-head .row-strong{font-size:13px}.rail-tag{border-radius:var(--r-full);background:var(--blue-paper);color:var(--blue-deep);letter-spacing:.2px;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:500;display:inline-flex}.rail-batiments{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rail-batiment-btn{align-items:center;gap:var(--s-3);border-radius:var(--r-sm);width:100%;font:inherit;cursor:pointer;text-align:left;color:var(--ink-2);background:0 0;border:0;padding:8px 10px;display:flex}.rail-batiment-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.rail-batiment-btn:disabled{opacity:.55;cursor:not-allowed}.rail-batiment-ref{font-family:var(--font-mono);color:var(--muted);letter-spacing:.3px;min-width:36px;font-size:11px}.rail-batiment-nom{flex:1;min-width:0;font-size:13px}.rail-batiment-meta{font-family:var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:11.5px}.rail-niveaux{margin:var(--s-3) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.rail-niveau-btn{border-radius:var(--r-sm);width:100%;font:inherit;cursor:pointer;text-align:left;color:var(--ink-2);background:0 0;border:0;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.rail-niveau-btn:hover{background:var(--surface-2);color:var(--ink)}.rail-niveau-btn.is-selected{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft)}.rail-niveau-name{font-size:13px}.rail-niveau-state{align-items:center;display:inline-flex}.rail-meta{margin:var(--s-3) 0;gap:6px var(--s-3);grid-template-columns:max-content 1fr;padding:0;font-size:12.5px;display:grid}.rail-meta div{display:contents}.rail-meta dt{color:var(--muted)}.rail-meta dd{color:var(--ink-2);font-variant-numeric:tabular-nums;margin:0}.rail-stack{margin:var(--s-3) 0 0;gap:var(--s-3) var(--s-4);grid-template-columns:1fr 1fr;display:grid}.rail-stack-item{flex-direction:column;gap:2px;min-width:0;display:flex}.rail-stack-full{grid-column:1/-1}.rail-stack-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:400}.rail-stack-value{color:var(--ink-1);font-variant-numeric:tabular-nums;word-break:break-word;font-size:13px;line-height:1.4}.rail-help{margin:var(--s-3) 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}.plan-zone{flex-direction:column;display:flex;position:relative}.plan-sibling-overlay{margin:var(--s-3);z-index:5;-webkit-backdrop-filter:blur(6px);border:1px solid var(--border-1);border-radius:var(--r-md);max-width:calc(100% - var(--s-6));background:#fdf8eff0;flex-wrap:wrap;order:-1;align-items:center;gap:6px;padding:6px 8px;display:inline-flex;position:relative;box-shadow:0 2px 8px #1412101f}.plan-sibling-overlay-label{font-family:var(--font-mono);letter-spacing:.3px;text-transform:uppercase;color:var(--muted);padding-left:4px;font-size:10.5px;display:inline-block}.plan-sibling-pill{border-radius:var(--r-full);font:inherit;color:var(--ink-2);border:1px solid var(--border-1);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.plan-sibling-pill:hover:not(.is-active){background:var(--surface-2);color:var(--ink);border-color:var(--border-2)}.plan-sibling-pill.is-active{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft);cursor:default;border-color:#0000}.plan-sibling-ref{font-family:var(--font-mono);letter-spacing:.3px;opacity:.85;font-size:11px}.travaux-drawer-actions{margin-bottom:var(--s-3);justify-content:flex-end;display:flex}.travaux-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.travaux-row{gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-sm);grid-template-columns:1fr auto auto;align-items:center;display:grid}.travaux-row-main{min-width:0}.travaux-row-meta{align-items:center;gap:var(--s-3);min-width:200px;display:inline-flex}.travaux-drawer-summary{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--border-1);align-items:center;gap:8px;font-size:12.5px;display:flex}.plan-image{border-top:1px solid var(--border-1);background:#1e1c1a;flex-direction:column;margin:0;display:flex;position:relative}.plan-image-generic{top:var(--s-3);right:var(--s-3);z-index:1;border-radius:var(--r-full);color:#fff;font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;padding:4px 8px;font-size:10.5px;position:absolute}.plan-image img{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:580px;display:block}.plan-image figcaption{padding:var(--s-3) var(--s-5);background:var(--card);border-top:1px solid var(--border-1);font-variant-numeric:tabular-nums;font-size:12.5px}.rail-card-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.rail-card-sub{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:500;display:inline-flex}.rail-chip-row{margin-top:var(--s-3);flex-wrap:wrap;gap:4px;display:flex}.resources-card{padding:var(--s-4) var(--s-4) var(--s-3)}.rail-mini-table{border-collapse:collapse;width:100%;font-size:12.5px}.rail-mini-table thead th{text-align:left;font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--muted);padding:0 var(--s-2) var(--s-2);border-bottom:1px solid var(--border-1);white-space:nowrap;font-size:10.5px;font-weight:500}.rail-mini-table thead th.num{text-align:right}.rail-mini-table tbody td{padding:var(--s-3) var(--s-2);border-bottom:1px solid var(--border-1);vertical-align:top;color:var(--ink-2);font-variant-numeric:tabular-nums}.rail-mini-table tbody td.num{text-align:right;white-space:nowrap}.rail-mini-table tbody tr:last-child td{border-bottom:none}.rail-mini-table .row-strong{font-size:12.5px}.rail-mini-table .row-sub{font-size:11px}.rail-mini-table .row-actions-cell{white-space:nowrap;justify-content:flex-end;gap:2px;padding-right:0;display:flex}.rail-empty{padding:var(--s-3) 0 var(--s-1);color:var(--muted);margin:0;font-size:12.5px}.rail-edit-batiment{margin-top:var(--s-3);padding:var(--s-2) var(--s-3);border:1px dashed var(--border-1);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;background:0 0;align-items:center;gap:6px;font-size:12px;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.rail-edit-batiment:hover{border-color:var(--blue);color:var(--blue-deep);background:var(--blue-paper)}.plan-viewer{text-align:center;padding:var(--s-7) var(--s-5);background:var(--surface-2);border-top:1px solid var(--border-1);flex-direction:column;justify-content:center;align-items:center;min-height:320px;display:flex}.plan-viewer-icon{border-radius:var(--r-md);background:var(--blue-paper);width:64px;height:64px;color:var(--blue-deep);margin-bottom:var(--s-3);justify-content:center;align-items:center;display:inline-flex}.plan-viewer-title{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.005em;font-size:16px;font-weight:600}.plan-viewer-sub{font-family:var(--font-mono);color:var(--muted);letter-spacing:.2px;margin-top:4px;font-size:12px}.plan-viewer-hint{margin:var(--s-3) 0 0;max-width:44ch;color:var(--muted);font-size:12.5px;line-height:1.5}.bpu-tag{border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--border-1);font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.bpu-tag .dot{border-radius:50%;width:6px;height:6px}.bpu-tag.is-rh .dot{background:var(--blue)}.bpu-tag.is-mat .dot{background:var(--orange-mid)}.bpu-tag.is-eq .dot{background:var(--ink-3)}.bpu-tag-row{flex-wrap:wrap;gap:4px;display:inline-flex}.batiment-group{background:var(--surface-2);padding:9px var(--s-5);align-items:center;gap:var(--s-3);border-bottom:1px solid var(--border-1);border-top:1px solid var(--border-1);font-size:12.5px;display:flex}.batiment-group:first-child{border-top:0}.batiment-group-ref{font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:.3px;font-size:11.5px}.batiment-group-name{color:var(--ink);font-weight:600}.batiment-group-meta{color:var(--muted);letter-spacing:.2px;font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px}.batiment-cards{gap:var(--s-4);padding:var(--s-4) var(--s-5);flex-direction:column;display:flex}.batiment-card{background:var(--card);border:1px solid var(--border-1);border-radius:var(--r-md);flex-direction:column;display:flex;overflow:hidden}.batiment-card-head{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-1);background:var(--surface-1);display:flex}.batiment-card-id{align-items:center;gap:var(--s-3);flex:1;min-width:0;display:flex}.batiment-card-id .row-strong{font-size:14px}.batiment-card-id .row-sub{align-items:center;gap:4px;display:inline-flex}.batiment-card-plans-head{padding:var(--s-3) var(--s-4) var(--s-2);justify-content:space-between;align-items:center;display:flex}.batiment-plans-title{font-family:var(--font-sans);color:var(--muted);letter-spacing:.2px;text-transform:none;font-size:12.5px;font-weight:500}.batiment-plans{padding:0 var(--s-4) var(--s-3);gap:var(--s-2);flex-direction:column;display:flex}.plan-row{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-sm);display:flex}.plan-row-icon{width:32px;height:32px;color:var(--blue-deep);background:var(--blue-paper);border-radius:var(--r-sm);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.plan-row-body{flex:1;min-width:0}.plan-row-add{background:var(--surface-1);gap:var(--s-2)}.plan-row-add>.input,.plan-row-add>.select{flex:1;min-width:0}.map-wrap-block{gap:var(--s-2);margin-top:var(--s-1);flex-direction:column;display:flex}.map-toolbar{align-items:center;gap:var(--s-3);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.map-hint{flex:auto;min-width:0}.map-toolbar-actions{gap:var(--s-2);align-items:center;display:flex}.btn-text{cursor:pointer;font:inherit;color:var(--ink-2);border-radius:var(--r-sm);background:0 0;border:0;padding:4px 6px;font-size:12px;font-weight:500}.btn-text:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-text:disabled{color:var(--faint);cursor:not-allowed}.btn-text.danger:hover:not(:disabled){color:var(--orange-deep);background:var(--orange-soft)}.map-wrap{border:1px solid var(--border-1);border-radius:var(--r-sm);background:var(--surface-2);position:relative;overflow:hidden}.map-wrap .leaflet-container{width:100%;height:100%;font-family:var(--font-sans);background:var(--surface-2)}.map-readout{align-items:center;gap:var(--s-2);color:var(--muted);letter-spacing:.2px;font-variant-numeric:tabular-nums;padding:0 2px;font-size:12px;display:flex}.map-readout strong{color:var(--ink);font-weight:500}.map-readout .dot-sep{color:var(--faint)}.map-vertex{background:var(--card);border:2px solid var(--blue);width:22px;height:22px;color:var(--blue-deep);font-variant-numeric:tabular-nums;cursor:grab;border-radius:50%;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;transition:transform .12s;display:flex;box-shadow:0 1px 2px #1412102e}.map-vertex:hover{transform:scale(1.12)}.map-vertex:active{cursor:grabbing}.map-vertex span{line-height:1}.map-point{background:var(--blue);border:3px solid var(--card);cursor:grab;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #14121052}.map-point:active{cursor:grabbing}.bucket-table{font-size:13px}.bucket-table thead th{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding-top:8px;padding-bottom:8px;font-size:10.5px;font-weight:500}.bucket-table tbody td{vertical-align:middle;padding-top:6px;padding-bottom:6px}.bucket-table td .input,.bucket-table td input{border-radius:var(--r-xs);background:var(--card);border:1px solid var(--border-1);font-variant-numeric:tabular-nums;width:100%;height:28px;padding:0 8px;font-size:12.5px}.bucket-table td.num-cell .input,.bucket-table td.num-cell input{text-align:right}.bucket-table td .input:focus,.bucket-table td input:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-paper);outline:none}.bucket-table tr.bucket-foot td{background:var(--surface-2);border-top:1px solid var(--border-1);padding-top:8px;padding-bottom:8px}.bucket-table tr.bucket-foot td.row-sub{text-transform:uppercase;letter-spacing:.3px;color:var(--muted);text-align:right;font-size:10.5px}.bucket-empty{border:1px dashed var(--border-1);border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);color:var(--muted);background:var(--surface-2);text-align:center;font-size:12.5px}.comp-table td .bpu-tag{white-space:nowrap}.comp-table tbody tr td:first-child{padding-right:var(--s-2)}.chantier-filter{align-items:center;gap:var(--s-3);margin:0 0 var(--s-3);box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:wrap;padding:0;display:flex}.chantier-filter-label{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;padding-right:2px;font-size:11px;font-weight:500}.chantier-filter-pills{flex-wrap:wrap;flex:auto;gap:6px;min-width:0;display:flex}.chantier-filter-pill{border-radius:var(--r-full);font:inherit;color:var(--ink-2);border:1px solid var(--border-1);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:500;display:inline-flex}.chantier-filter-pill:hover:not(.is-active){background:var(--surface-2);color:var(--ink);border-color:var(--border-2)}.chantier-filter-pill.is-active{background:var(--blue-paper);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-soft);border-color:#0000}.chantier-filter-ref{color:var(--blue-deep);opacity:.8;letter-spacing:.3px;font-size:11px}.chantier-filter-pill:not(.is-active) .chantier-filter-ref{color:var(--muted);opacity:1}.chantier-filter-count{border-radius:var(--r-full);background:var(--surface-2);color:var(--muted);margin-left:2px;padding:1px 6px;font-size:10.5px}.chantier-filter-pill.is-active .chantier-filter-count{color:var(--blue-deep);background:#2439581a}.table-pagination{justify-content:flex-end;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-top:1px solid var(--border-1);background:var(--card);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:12px;display:flex}.table-pagination-controls{align-items:center;gap:4px;display:inline-flex}.table-pagination-controls button{border:1px solid var(--border-1);background:var(--card);width:26px;height:26px;color:var(--ink-2);border-radius:var(--r-sm);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.table-pagination-controls button:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:var(--border-2)}.table-pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.table-pagination-status{padding:0 var(--s-2)}.table-pagination-status strong{color:var(--ink)}.table-fixed-h .table-scroll{max-height:440px;overflow:auto}.table-fixed-h table.projects.compact thead th{z-index:1;background:var(--card);box-shadow:0 1px 0 var(--border-1);position:sticky;top:0}.danger-zone{margin-top:var(--s-5);padding:var(--s-4) var(--s-5);border:1px dashed var(--orange-soft);border-radius:var(--r-md);background:var(--orange-paper);align-items:center;gap:var(--s-4);display:flex}.danger-zone-text{flex:auto;min-width:0}.danger-zone-title{color:var(--orange-deep);letter-spacing:-.005em;margin-bottom:2px;font-size:13.5px;font-weight:600}.danger-zone-sub{color:var(--ink-2);letter-spacing:.2px;font-size:12.5px}.config-page-head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.config-back-btn{border-radius:var(--r-sm);background:var(--card);color:var(--ink-2);border:1px solid var(--border-1);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.config-back-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--border-2)}.config-page-eyebrow{letter-spacing:.3px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.bpu-table tr.is-expanded>td{background:var(--surface-2);border-bottom-color:#0000}.bpu-chev{border-radius:var(--r-sm);background:var(--surface-1);width:24px;height:24px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--border-2);justify-content:center;align-items:center;transition:background .12s,color .12s,box-shadow .12s,transform .12s;display:inline-flex}.bpu-chev:hover{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-3);overflow:hidden}.bpu-chev[aria-expanded=true]{background:var(--ink);color:var(--paper);box-shadow:inset 0 0 0 1px var(--ink)}.bpu-chev[aria-expanded=true]:hover{background:var(--ink-2);box-shadow:inset 0 0 0 1px var(--ink-2)}.bpu-row-expand>td{background:var(--surface-2);padding:0 var(--s-5) var(--s-4);border-top:0}.bpu-comp{gap:var(--s-3);flex-direction:column;display:flex}.bpu-comp-grid{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=1100px){.bpu-comp-grid{grid-template-columns:1fr}}.bpu-comp-col{background:var(--card);border:1px solid var(--border-2);border-radius:var(--r-md);flex-direction:column;min-height:auto;display:flex;overflow:hidden;box-shadow:0 1px #00000005}.bpu-comp-col-head{padding:var(--s-3) var(--s-3) var(--s-2);background:var(--card);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border-1);background:var(--surface-1);justify-content:space-between;align-items:center;display:flex}.bpu-comp-col-title{align-items:center;gap:var(--s-2);font-family:var(--font-sans);color:var(--ink);letter-spacing:-.005em;font-size:12.5px;font-weight:500;display:inline-flex}.bpu-comp-col-count{font-size:11.5px}.bpu-tag-dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px;display:inline-block}.bpu-tag-dot.is-rh{background:var(--blue)}.bpu-tag-dot.is-mat{background:var(--orange-mid)}.bpu-tag-dot.is-eq{background:var(--ink-3)}.mat-type-tag{border-radius:var(--r-full);letter-spacing:.2px;white-space:nowrap;border:1px solid #0000;align-items:center;padding:1px 8px;font-size:10.5px;font-weight:600;line-height:16px;display:inline-flex}.mat-type-tag[data-type=materiel]{color:var(--ink-3);background:var(--paper-2);border-color:var(--paper-3)}.mat-type-tag[data-type=service]{color:var(--w-accent-blue);background:var(--w-accent-blue-soft);border-color:var(--w-accent-blue-line)}.brc-tags{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.bpu-comp-col-foot{padding:var(--s-2) var(--s-3) var(--s-3);background:var(--card);padding:var(--s-2) var(--s-3);border-top:1px solid var(--border-1);background:var(--surface-1);justify-content:space-between;align-items:center;font-size:12px;display:flex}.bpu-comp-empty{margin:0 var(--s-2) var(--s-2);border-radius:var(--r-sm);padding:var(--s-4);color:var(--ink-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.bpu-comp-list{padding:var(--s-2);gap:var(--s-2);scrollbar-gutter:auto;background:0 0;flex-direction:column;max-height:none;margin:0;list-style:none;display:flex;overflow:hidden visible}.bpu-comp-list::-webkit-scrollbar{width:8px}.bpu-comp-list::-webkit-scrollbar-track{background:0 0}.bpu-comp-list::-webkit-scrollbar-thumb{background:var(--border-2);border:2px solid var(--card);border-radius:var(--r-full)}.bpu-comp-list::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}.bpu-comp-list{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.bpu-table tr{cursor:pointer}.bpu-table tr.bpu-row-expand,.bpu-table tr.bpu-total-row,.bpu-table tr.bpu-add-row,.bpu-table tr.bpu-inline-create-row{cursor:default}.bpu-inline-edit-row>td,.bpu-inline-create-row>td{background:color-mix(in srgb, var(--blue-paper) 45%, white)}.bpu-inline-stack{flex-direction:column;gap:2px;display:flex}.bpu-table{table-layout:fixed}.bpu-table td,.bpu-table th{vertical-align:top}.bpu-table .input{width:100%;min-width:0}.bpu-inline-input{height:auto;min-height:24px;box-shadow:none;font-size:inherit;color:inherit;background:0 0;border:0;border-radius:0;padding:0;line-height:1.35}.bpu-inline-input::placeholder{color:var(--subtle)}.bpu-inline-input:focus{box-shadow:inset 0 -1px 0 var(--blue);background:#ffffff73;border:0}.bpu-inline-input-strong{color:var(--ink);font-weight:600}.bpu-inline-input-sub{font-family:var(--font-mono);color:var(--muted);font-size:12.5px}.bpu-inline-edit-row .num-cell .input,.bpu-inline-create-row .num-cell .input,.bpu-inline-edit-row .num-cell .bpu-inline-input,.bpu-inline-create-row .num-cell .bpu-inline-input{text-align:right}.bpu-inline-edit-row td,.bpu-inline-create-row td{overflow:hidden}.bpu-total-row>td{background:var(--surface-2);border-top:1px solid var(--border-2);font-variant-numeric:tabular-nums}.bpu-add-row td{border-top:1px dashed var(--border-2);padding:0}.bpu-add-row-button{appearance:none;background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--surface-2) 92%, white) 0, color-mix(in srgb, var(--surface-2) 92%, white) 10px, color-mix(in srgb, var(--blue-paper) 45%, white) 10px, color-mix(in srgb, var(--blue-paper) 45%, white) 20px);width:100%;color:var(--ink-2);cursor:pointer;transition:background .16s var(--ease), color .16s var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:12px 14px;display:inline-flex}.bpu-add-row-button:hover{color:var(--blue-deep)}.bpu-comp-col-head{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.bpu-comp-col-title{margin-right:auto}.bpu-resource-card{border:1px solid var(--border-2);border-radius:var(--r-sm);padding:var(--s-3);background:var(--card);gap:var(--s-2);flex-direction:column;display:flex;overflow:visible}.bpu-resource-card .brc-head{align-items:center;gap:var(--s-2);display:flex}.bpu-resource-card .brc-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-size:12.5px;overflow:hidden}.bpu-resource-card .brc-meta{color:var(--ink-2);font-size:11.5px}.bpu-resource-card .brc-row{gap:var(--s-2);display:flex}.bpu-resource-card .brc-qty{color:var(--ink-2);flex-direction:column;flex:1;gap:4px;font-size:11.5px;display:flex}.bpu-resource-card .brc-qty .input,.bpu-resource-card .brc-qty input{width:100%}.bpu-resource-card .brc-qty input{font-size:12.5px}.bpu-resource-card .brc-foot{border-top:1px solid var(--border-1);padding-top:var(--s-2);justify-content:space-between;align-items:center;font-size:12px;display:flex}.aff-trigger{font-family:var(--font-sans);color:var(--ink-2);background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--border-1);border-radius:var(--r-sm);cursor:pointer;border:none;align-items:center;gap:6px;height:26px;padding:4px 8px;font-size:12.5px;display:inline-flex}.aff-trigger:hover{box-shadow:inset 0 0 0 1px var(--border-2);color:var(--ink)}.picker-search{padding-bottom:var(--s-3)}.picker-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.picker-empty{padding:var(--s-5);text-align:center;color:var(--ink-3);font-size:12.5px}.picker-row{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);background:var(--card);border:1px solid var(--border-2);border-radius:var(--r-sm);cursor:pointer;text-align:left;color:var(--ink);grid-template-columns:minmax(0,1fr) auto auto;font-family:inherit;display:grid;box-shadow:0 1px #00000005}.picker-row:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3)}.picker-row:disabled{opacity:.55;cursor:not-allowed}.picker-row-id{align-items:center;gap:var(--s-2);min-width:0;display:inline-flex}.picker-row-name{flex-direction:column;gap:2px;min-width:0;display:flex}.picker-row-name .row-strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.picker-row-tarif{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-size:12.5px;font-weight:500}.app.app-assistant-workspace{height:100vh;overflow:hidden}.app.app-assistant-workspace .main{height:100%;min-height:0;overflow:hidden}.content.content-assistant-workspace{flex:1;gap:0;max-width:none;min-height:0;padding:0;overflow:hidden}.assistant-connector-simple-page{box-sizing:border-box;gap:0;height:100%;min-height:0;padding:16px;display:grid;overflow:hidden auto}.assistant-connector-simple-heading{min-width:0}.assistant-connector-simple-subtitle{color:var(--muted);max-width:72ch;margin:4px 0 0;font-size:12.5px}.assistant-connector-simple-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.assistant-connector-simple-shell{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);align-items:stretch;gap:12px;min-height:0;display:grid}.assistant-connector-simple-main,.assistant-connector-simple-assistant{min-width:0;min-height:0}.assistant-connector-simple-main{flex-direction:column;gap:0;padding:14px;display:flex;overflow:hidden}.assistant-connector-simple-assistant{height:100%;padding:0;overflow:hidden}.assistant-connector-simple-shell{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr)}.assistant-connector-simple-assistant{display:block}.assistant-connector-simple-main .assistant-workspace-group-summary,.assistant-connector-progress,.assistant-connector-inline-select-all,.assistant-connector-tool-secondary{display:none}.assistant-connector-filters-row{margin-bottom:10px}.assistant-connector-tools-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.assistant-connector-tools-row>*{min-height:38px}.assistant-connector-simple-table-region{gap:0}.assistant-connector-bottom-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:10px;display:grid}.assistant-connector-bottom-bar>.assistant-connector-inline-select-all{grid-column:1;justify-self:start}.assistant-connector-bottom-bar>.table-pagination{grid-column:2;justify-content:center;justify-self:center}.assistant-connector-bottom-bar>.assistant-connector-connect-button{grid-column:3;justify-self:end}.assistant-connector-simple-meta-type{min-height:34px;color:var(--ink-2);font-size:12px;font-weight:600;font-family:var(--font-mono);cursor:pointer;appearance:none;background:#2439581a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23243958' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 6 8 10 12 6'/%3E%3C/svg%3E") right 10px center/12px no-repeat;border:1px solid #24395829;border-radius:999px;align-items:center;padding:0 30px 0 12px;display:inline-flex}.assistant-connector-simple-meta-type:hover{background-color:#24395829}.assistant-connector-simple-meta-type:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.assistant-connector-simple-cleaning-bar{margin-top:0}.assistant-connector-simple-table-region{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.assistant-connector-simple-table-frame{flex:auto;min-height:0;display:flex}.assistant-connector-simple-table-frame .data-table-shell,.assistant-connector-simple-table-frame .data-table-scroll{flex:auto;min-height:0}.assistant-connector-simple-table-frame .data-table-scroll thead th{z-index:3;background:#fffffffa;position:sticky;top:0;box-shadow:0 1px #24395814}.assistant-connector-connect-button{cursor:pointer;color:#fff;min-height:38px;font:inherit;white-space:nowrap;background:linear-gradient(#22c55e,#16a34a);border:0;border-radius:14px;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex;box-shadow:0 14px 24px #22c55e33}.assistant-connector-connect-button:disabled{opacity:.65;cursor:not-allowed}.assistant-connector-progress{background:#f0fdf4e6;border:1px solid #22c55e24;border-radius:18px;gap:10px;margin-bottom:10px;padding:12px 14px;display:grid}.assistant-connector-progress-copy{gap:4px;display:grid}.assistant-connector-progress-copy strong{color:#166534}.assistant-connector-progress-copy span{color:#15803d;font-size:12px}.assistant-connector-progress-bar{background:#22c55e1f;border-radius:999px;height:8px;overflow:hidden}.assistant-connector-progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#16a34a);height:100%;transition:width .28s;display:block}.assistant-connector-page-button,.assistant-connector-page-number{min-width:36px;height:36px;color:var(--ink);cursor:pointer;font:inherit;background:#ffffffeb;border:1px solid #24395814;border-radius:12px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.assistant-connector-page-button:disabled,.assistant-connector-page-number:disabled{opacity:.45;cursor:not-allowed}.assistant-connector-page-number.is-active{color:var(--blue-deep);background:#2563eb1f;border-color:#2563eb29}.assistant-connector-inline-select-all{background:#ffffffeb;border:1px solid #24395814;border-radius:12px;min-height:36px;padding:0 10px}.assistant-connector-help-content ol,.assistant-connector-help-content ul{color:var(--ink-2);gap:10px;margin:0;padding-left:18px;line-height:1.55;display:grid}@media (width<=1280px){.assistant-connector-simple-shell{grid-template-columns:1fr}.assistant-connector-simple-page{height:auto;min-height:100%}.assistant-connector-simple-shell{height:auto}.assistant-connector-simple-main,.assistant-connector-simple-assistant{height:auto;min-height:480px}}@media (width<=860px){.assistant-connector-simple-actions{justify-content:flex-start}.assistant-connector-bottom-bar{grid-template-columns:1fr;justify-items:stretch}.assistant-connector-bottom-bar>.assistant-connector-inline-select-all,.assistant-connector-bottom-bar>.table-pagination,.assistant-connector-bottom-bar>.assistant-connector-connect-button{justify-self:stretch}}.logo-field{align-items:center;gap:var(--s-4);display:flex}.logo-field-preview{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--surface-3);justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.logo-field-preview img{object-fit:contain;max-width:100%;max-height:100%}.logo-field-placeholder{border:var(--border-dashed);border-radius:var(--r-md);text-align:center;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.logo-field-actions{gap:var(--s-2);flex-direction:column;align-items:flex-start;display:flex}.plan-image.plan-image-editor{background:var(--card);min-width:0;color:var(--ink)}.plan-image-editor .plan-tool-palette{z-index:3;background:var(--card);border-bottom:1px solid var(--border-1);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex;position:relative}.plan-image-editor .plan-tool-palette .btn{flex-shrink:0}.plan-image-editor .plan-editor-zoom{border-radius:var(--r-sm);background:var(--blue-paper);color:var(--blue-deep);font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:5px 8px;font-size:11px}.plan-image-editor .plan-draw-hint{min-width:0;color:var(--ink-2);flex:230px;font-size:12px;line-height:1.5}.plan-image-editor .plan-editor-viewport{overscroll-behavior:contain;background:var(--surface-2);min-width:0;max-height:min(70vh,680px);position:relative;overflow:auto}.plan-image-editor .plan-editor-canvas{transform-origin:0 0;isolation:isolate;-webkit-user-select:none;user-select:none;width:100%;line-height:0;position:relative}.plan-image-editor .plan-editor-canvas>img{pointer-events:none;-webkit-user-drag:none;width:100%;max-width:none;height:auto;max-height:none;display:block}.plan-image-editor .plan-zone-layer,.plan-image-editor .plan-zone-shape,.plan-image-editor .plan-draft-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.plan-image-editor .plan-zone-layer{z-index:1}.plan-image-editor .plan-zone-shape{z-index:1;overflow:visible}.plan-image-editor .plan-zone-polygon{stroke-width:1.5px;vector-effect:non-scaling-stroke}.plan-image-editor .plan-zone-polygon.is-active{stroke-width:2.5px}.plan-image-editor .plan-zone-box{z-index:2;cursor:move;pointer-events:auto;appearance:none;border:1.5px solid;border-radius:3px;min-width:0;min-height:0;margin:0;padding:0;display:block;position:absolute}.plan-image-editor .plan-zone-shape+.plan-zone-box{border-style:dashed;background:0 0!important}.plan-image-editor .plan-zone-box.is-active{z-index:3;border-width:2px;box-shadow:0 0 0 2px #ffffffbf}.plan-image-editor .plan-zone-label{z-index:4;border-radius:var(--r-sm);background:var(--card);max-width:180px;color:var(--ink);font:500 12px/1.35 var(--font-sans);text-align:left;overflow-wrap:anywhere;cursor:move;pointer-events:auto;border:1px solid;border-left-width:3px;padding:5px 9px;display:block;position:absolute;box-shadow:0 2px 6px #1412101f}.plan-image-editor .plan-zone-label.is-active{z-index:5;background:var(--blue-paper);color:var(--blue-deep)}.plan-image-editor .plan-zone-box:focus-visible,.plan-image-editor .plan-zone-label:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.plan-image-editor .plan-zone-corners{pointer-events:none}.plan-image-editor .plan-zone-resize{border:2px solid var(--blue);background:var(--card);cursor:nwse-resize;pointer-events:auto;border-radius:3px;width:12px;height:12px;display:none;position:absolute;bottom:-6px;right:-6px;box-shadow:0 1px 4px #1412102e}.plan-image-editor .plan-zone-box:is(.is-active,:hover,:focus-visible) .plan-zone-resize{display:block}.plan-image-editor .plan-editor-canvas.is-draw-mode{cursor:crosshair}.plan-image-editor .is-draw-mode :is(.plan-zone-box,.plan-zone-label,.plan-zone-resize){pointer-events:none}.plan-image-editor .plan-draft-svg{z-index:6;overflow:visible}.plan-image-editor :is(.plan-draft-rect,.plan-draft-polyline,.plan-draft-polygon){stroke:var(--blue);stroke-width:2px;vector-effect:non-scaling-stroke;fill:none}.plan-image-editor .plan-draft-rect{stroke-width:1px;stroke-dasharray:4 4}.plan-image-editor .plan-draft-polygon{fill:#2563eb21}.plan-image-editor .plan-draft-point{z-index:7;border:2px solid var(--card);background:var(--blue);color:#fff;width:20px;height:20px;font:600 10px/1 var(--font-mono);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #14121033}.plan-image-editor .plan-image-generic{background:var(--surface-2);color:var(--muted);-webkit-backdrop-filter:none;backdrop-filter:none;align-self:flex-start;margin:8px 16px;position:static}.plan-image-editor>figcaption{line-height:1.5}@media (width<=600px){.plan-image-editor .plan-tool-palette{gap:6px;padding:10px}.plan-image-editor .plan-draw-hint{flex-basis:100%}.plan-image-editor .plan-zone-label{max-width:140px;font-size:11px}}@media (width<=760px){.app{grid-template-columns:minmax(0,1fr)!important}.app>.sidebar,.app>.secondary-sidebar{display:none}.app>.main{grid-column:1;min-width:0}.app>.main .topbar-inner{transform:none}}.reveal{opacity:0;animation:rise .7s var(--ease-out) forwards;transform:translateY(8px)}@keyframes rise{to{opacity:1;transform:none}}.reveal:first-child{animation-delay:50ms}.reveal:nth-child(2){animation-delay:.12s}.reveal:nth-child(3){animation-delay:.2s}.reveal:nth-child(4){animation-delay:.28s}.reveal:nth-child(5){animation-delay:.36s}.skeleton{background:var(--surface-3);border-radius:4px;display:inline-block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#fdf8ef8c 50%,#0000);animation:1.4s linear infinite shimmer;position:absolute;inset:0}body{background:var(--w-bg)!important}body:before{display:none!important}body .topbar{background:#ffffffd9!important}body .topbar:after{background:linear-gradient(90deg, transparent, var(--w-border-soft) 20%, var(--w-border-soft) 80%, transparent)!important}body .search,body .search-mini{background:var(--w-card)!important;color:var(--w-ink-55)!important}body .search input,body .search-mini input{color:var(--w-ink)!important}body .search:focus-within{background:var(--w-card)!important;box-shadow:var(--w-focus-ring)!important}body .search-mini:focus-within{background:var(--w-card)!important;box-shadow:inset 0 0 0 1px transparent, var(--w-focus-ring)!important}.sidebar-logo{height:116px;color:var(--w-ink);-webkit-user-select:none;user-select:none;transition:opacity var(--w-dur) var(--w-ease);justify-content:center;align-items:flex-start;gap:0;margin:0;padding:0;display:flex;overflow:hidden}.sidebar-logo .sidebar-logo-mark{color:var(--w-ink);flex:none;display:block}.sidebar-logo .sidebar-logo-img{mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:160px;height:auto;margin-top:-16px;display:block}.sidebar[data-collapsed=true] .sidebar-logo{visibility:hidden;pointer-events:none}body .panel{background:var(--w-card)!important;border:1px solid var(--w-border)!important;box-shadow:none!important;border-radius:var(--w-r-md)!important}body table.projects thead th{border-bottom-color:var(--w-border)!important}body .cmd-pill{background:var(--w-card)!important;border-color:var(--w-border-soft)!important;color:var(--w-ink-55)!important}body .cmd-pill:hover{background:var(--w-card)!important;border-color:var(--w-border)!important}body .cmd-root.is-open .cmd-pill{background:var(--w-card)!important;border-color:var(--w-border)!important;box-shadow:var(--w-focus-ring), 0 2px 4px #1412100a!important}body .cmd-pill>svg,body .cmd-pill:hover>svg,body .cmd-root.is-open .cmd-pill>svg{color:var(--w-ink-55)}body .cmd-pill-input{color:var(--w-ink)!important}body .cmd-pill-input::placeholder{color:var(--w-ink-40)!important}body .cmd-pill-kbd{display:none!important}.page-title{margin:0;padding:4px 4px 20px}.page-title-eyebrow{font-family:var(--font-sans);letter-spacing:-.012em;color:var(--w-ink);font-size:28px;font-weight:500;display:block}.page-title-name{font-family:var(--font-sans);color:var(--w-ink-55);letter-spacing:0;margin:4px 0 0;font-size:17px;font-weight:400}.tf-strip{border-bottom:1px solid var(--w-border-soft);background:var(--w-card);font-family:var(--font-sans);color:var(--w-ink);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;font-size:13px;font-weight:400;display:flex}.tf-strip .tf-lead{border-radius:var(--w-r-sm);width:28px;height:28px;color:var(--w-ink-55);cursor:pointer;transition:background var(--w-dur) var(--w-ease), color var(--w-dur) var(--w-ease);background:0 0;border:0;place-items:center;display:inline-grid}.tf-strip .tf-lead:hover{background:var(--w-hover);color:var(--w-ink)}.tf-strip .tf-lead:focus-visible{outline:none;box-shadow:0 0 0 3px #1a16131f}.tf-strip .tf-lead svg{width:15px;height:15px}.tf-chip{border:1px solid var(--w-border);border-radius:var(--w-r-sm);background:var(--w-card);height:28px;transition:border-color var(--w-dur) var(--w-ease);align-items:center;gap:6px;padding:0 4px 0 10px;font-size:12px;display:inline-flex}.tf-chip:hover{border-color:var(--w-ink-25)}.tf-chip.is-editing{border-color:var(--w-ink)}.tf-chip-body{cursor:pointer;color:var(--w-ink);background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.tf-chip-k{font-family:var(--font-mono);letter-spacing:.2px;color:var(--w-ink-55);font-size:10px}.tf-chip-v{color:var(--w-ink)}.tf-chip-x{cursor:pointer;width:22px;height:22px;color:var(--w-ink-25);opacity:.75;transition:color var(--w-dur) var(--w-ease), background var(--w-dur) var(--w-ease), opacity var(--w-dur) var(--w-ease);background:0 0;border:0;border-radius:4px;place-items:center;display:inline-grid}.tf-chip:hover .tf-chip-x{opacity:1;color:var(--w-ink-55)}.tf-chip-x:hover{background:var(--w-hover);opacity:1;color:var(--w-ink)!important}.tf-chip-x:focus-visible{box-shadow:var(--w-focus-ring);opacity:1;outline:none}.tf-chip-x svg{width:12px;height:12px}.tf-clear{cursor:pointer;color:var(--w-ink-55);transition:color var(--w-dur) var(--w-ease);background:0 0;border:0;margin-left:auto;font-size:12px}.tf-clear:hover{color:var(--w-ink)}.tf-export{cursor:pointer;border-radius:var(--w-r-sm);width:28px;height:28px;color:var(--w-ink-55);transition:background var(--w-dur) var(--w-ease), color var(--w-dur) var(--w-ease);background:0 0;border:0;place-items:center;display:inline-grid}.tf-export:hover{background:var(--w-hover);color:var(--w-ink)}.tf-export svg{width:15px;height:15px}.tf-panel{z-index:50;background:var(--w-card);border:1px solid var(--w-border);border-radius:var(--w-r-md);box-shadow:var(--w-shadow-pop);width:580px;font-family:var(--font-sans);color:var(--w-ink);animation:tf-in .14s var(--w-ease);transform-origin:0 0;font-size:13px;font-weight:400;position:absolute;overflow:hidden}@keyframes tf-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.tf-panel-head{border-bottom:1px solid var(--w-border-soft);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.tf-panel-title{font-size:14px}.tf-panel-clear{cursor:pointer;color:var(--w-ink-55);background:0 0;border:0;font-size:12px}.tf-panel-clear:hover{color:var(--w-ink)}.tf-section{padding:14px 18px 16px}.tf-section+.tf-section{border-top:1px solid var(--w-border-soft)}.tf-section-title{font-family:var(--font-sans);letter-spacing:0;color:var(--w-ink-55);margin-bottom:10px;font-size:11px;font-weight:500}.qf-chips{flex-wrap:wrap;gap:6px;display:flex}.qf-chip{border:1px solid var(--w-border);background:var(--w-card);height:28px;color:var(--w-ink);cursor:pointer;transition:background var(--w-dur) var(--w-ease), border-color var(--w-dur) var(--w-ease), color var(--w-dur) var(--w-ease);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;display:inline-flex}.qf-chip:hover{background:var(--w-hover);border-color:var(--w-ink-25)}.qf-chip.is-active{background:var(--w-ink);color:#fff;border-color:var(--w-ink)}.qf-chip.is-active:hover{background:#000}.qf-chip svg{flex-shrink:0;width:13px;height:13px}.bf-rows{flex-direction:column;gap:8px;display:flex}.bf-row{grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:6px;display:grid}.bf-pill{border:1px solid var(--w-border);border-radius:var(--w-r-sm);background:var(--w-card);width:100%;height:32px;color:var(--w-ink);cursor:pointer;white-space:nowrap;min-width:0;transition:background var(--w-dur) var(--w-ease), border-color var(--w-dur) var(--w-ease);justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:12.5px;display:inline-flex}.bf-pill:hover{background:var(--w-hover);border-color:var(--w-ink-25)}.bf-pill .caret{width:10px;height:10px;color:var(--w-ink-40);flex-shrink:0}.bf-pill>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bf-op{color:var(--w-ink-55)}.bf-field.is-empty>span:first-child,.bf-value.is-empty>span:first-child{color:var(--w-ink-40)}.bf-pill.is-disabled{color:var(--w-ink-25);cursor:not-allowed;background:var(--w-card)}.bf-pill.is-disabled:hover{background:var(--w-card);border-color:var(--w-border)}.bf-pill.is-disabled .caret{color:var(--w-ink-25)}.bf-x{cursor:pointer;border-radius:var(--w-r-sm);width:28px;height:28px;color:var(--w-ink-25);opacity:.7;transition:background var(--w-dur) var(--w-ease), color var(--w-dur) var(--w-ease), opacity var(--w-dur) var(--w-ease);background:0 0;border:0;flex-shrink:0;place-items:center;display:inline-grid}.bf-row:hover .bf-x{opacity:1;color:var(--w-ink-55)}.bf-x:hover{background:var(--w-hover);opacity:1;color:var(--w-ink)!important}.bf-x:focus-visible{box-shadow:var(--w-focus-ring);opacity:1;outline:none}.bf-x svg{width:13px;height:13px}.bf-row-pending .bf-pill{animation:bf-pending-in .16s var(--w-ease)}@keyframes bf-pending-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.bf-empty{text-align:center;color:var(--w-ink-55);padding:18px 0 6px;font-size:12.5px}.tf-add{cursor:pointer;border-radius:var(--w-r-sm);height:28px;color:var(--w-ink-55);transition:background var(--w-dur) var(--w-ease), color var(--w-dur) var(--w-ease);background:0 0;border:0;align-items:center;gap:6px;margin-top:10px;margin-left:-4px;padding:0 10px;font-size:12.5px;display:inline-flex}.tf-add:hover{color:var(--w-ink);background:var(--w-hover)}.tf-add svg{width:12px;height:12px}.tf-pop{z-index:60;background:var(--w-card);border:1px solid var(--w-border);border-radius:var(--w-r-md);box-shadow:var(--w-shadow-pop);width:280px;font-family:var(--font-sans);color:var(--w-ink);animation:tf-in .12s var(--w-ease);transform-origin:0 0;flex-direction:column;font-size:13px;font-weight:400;display:flex;position:absolute;overflow:hidden}.tf-pop-head{border-bottom:1px solid var(--w-border-soft);align-items:center;gap:6px;height:40px;padding:0 10px 0 14px;display:flex}.tf-pop-back{cursor:pointer;border-radius:var(--w-r-sm);width:26px;height:26px;color:var(--w-ink-55);transition:background var(--w-dur) var(--w-ease), color var(--w-dur) var(--w-ease);background:0 0;border:0;place-items:center;margin-left:-6px;display:inline-grid}.tf-pop-back:hover{background:var(--w-hover);color:var(--w-ink)}.tf-pop-back:focus-visible{outline:none;box-shadow:0 0 0 3px #1a16131f}.tf-pop-title{color:var(--w-ink);flex:1;font-size:12.5px}.tf-pop-title-sub{font-family:var(--font-sans);letter-spacing:0;color:var(--w-ink-40);font-size:11px}.tf-search{border-bottom:1px solid var(--w-border-soft);height:38px;transition:background var(--w-dur) var(--w-ease);align-items:center;gap:8px;padding:0 14px;display:flex}.tf-search:focus-within{background:var(--w-inset)}.tf-search:focus-within svg{color:var(--w-ink)}.tf-search svg{color:var(--w-ink-40);flex-shrink:0}.tf-search input{color:var(--w-ink);background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:12.5px;font-weight:400}.tf-search input::placeholder{color:var(--w-ink-40)}.tf-list{flex:auto;min-height:0;padding:4px;overflow-y:auto}.tf-list::-webkit-scrollbar{width:8px}.tf-list::-webkit-scrollbar-thumb{background:var(--w-border);border-radius:4px}.tf-opt{cursor:pointer;border-radius:var(--w-r-sm);text-align:left;width:100%;height:32px;color:var(--w-ink);transition:background var(--w-dur) var(--w-ease);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-family:inherit;font-size:12.5px;font-weight:400;display:flex}.tf-opt:hover{background:var(--w-hover)}.tf-opt:has(input:checked){background:var(--w-selected)}.tf-opt-meta{font-family:var(--font-mono);letter-spacing:.2px;color:var(--w-ink-40);margin-left:auto;font-size:10px}.tf-opt .tf-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tf-bulk{gap:14px;padding:8px 14px 4px;font-size:11px;display:flex}.tf-bulk button{cursor:pointer;color:var(--w-ink-55);font:inherit;background:0 0;border:0;padding:0}.tf-bulk button:hover{color:var(--w-ink)}.tf-opt input[type=checkbox],.tf-opt input[type=radio]{appearance:none;border:1px solid var(--w-ink-25);background:var(--w-card);cursor:pointer;width:14px;height:14px;transition:background var(--w-dur) var(--w-ease), border-color var(--w-dur) var(--w-ease);flex-shrink:0;place-items:center;margin:0;display:inline-grid}.tf-opt input[type=checkbox]{border-radius:3px}.tf-opt input[type=radio]{border-radius:50%}.tf-opt input:hover{border-color:var(--w-ink-40)}.tf-opt input[type=checkbox]:checked{background:var(--w-ink);border-color:var(--w-ink);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 6.2l2.4 2.4L9.7 3.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:50%;background-repeat:no-repeat;background-size:11px 11px}.tf-opt input[type=radio]:checked{border-color:var(--w-ink);background:radial-gradient(circle at center, var(--w-ink) 0 4px, var(--w-card) 5px 100%)}.tf-opt input:focus-visible{outline:none;box-shadow:0 0 0 3px #1a16131f}.tf-text-body,.tf-range-body{padding:12px 14px}.tf-range-body{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tf-range-body label,.tf-text-body label{font-family:var(--font-sans);letter-spacing:0;color:var(--w-ink-55);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.tf-input{border:1px solid var(--w-border);border-radius:var(--w-r-sm);background:var(--w-card);width:100%;height:34px;color:var(--w-ink);font-variant-numeric:tabular-nums;transition:border-color var(--w-dur) var(--w-ease), box-shadow var(--w-dur) var(--w-ease);padding:0 10px;font-family:inherit;font-size:13px;font-weight:400}.tf-input:focus{border-color:var(--w-ink);outline:none;box-shadow:0 0 0 3px #1a16130f}.tf-text-body select.tf-op{border:1px solid var(--w-border);border-radius:var(--w-r-sm);background:var(--w-card);width:100%;height:30px;color:var(--w-ink-55);appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 4l3 3 3-3' fill='none' stroke='%231a1613' stroke-opacity='.5' stroke-width='1.5'/></svg>");background-position:right 10px center;background-repeat:no-repeat;margin-bottom:8px;padding:0 28px 0 10px;font-family:inherit;font-size:12px;font-weight:400}.tf-text-body select.tf-op:hover{color:var(--w-ink)}.tf-pop-foot{border-top:1px solid var(--w-border-soft);justify-content:flex-end;align-items:center;gap:6px;padding:10px 12px;display:flex}.tf-btn{cursor:pointer;border-radius:var(--w-r-sm);height:28px;transition:background var(--w-dur) var(--w-ease), color var(--w-dur) var(--w-ease);border:0;padding:0 12px;font-family:inherit;font-size:12px;font-weight:400}.tf-btn-ghost{color:var(--w-ink-55);background:0 0}.tf-btn-ghost:hover{color:var(--w-ink);background:var(--w-hover)}.tf-btn-primary{background:var(--w-ink);color:#fff}.tf-btn-primary:hover{background:#000}.tf-btn-primary:disabled{background:var(--w-ink-25);cursor:not-allowed}.tf-empty{text-align:center;color:var(--w-ink-55);padding:28px 18px;font-size:12.5px}body table.projects{background:var(--w-card);font-weight:400}body table.projects thead th{font-family:var(--font-sans);letter-spacing:0;color:var(--w-ink);border-bottom:1px solid var(--w-border-soft);font-size:12px;font-weight:500}body table.projects thead th .sort{color:var(--w-ink-25)}body table.projects thead th.sortable:hover,body table.projects thead th.sortable:hover .sort{color:var(--w-ink)}body table.projects tbody tr{background:0 0!important}body table.projects tbody tr:hover{background:var(--w-hover)!important}body table.projects tbody td{color:var(--w-ink);white-space:nowrap;font-weight:400;vertical-align:middle!important}body table.projects tbody td[data-col-id=note]{white-space:normal;overflow-wrap:anywhere;max-width:36ch}body table.projects tbody td.col-action,body table.projects tbody td[data-col-id=actions]{text-overflow:clip;overflow:visible}body table.projects tbody tr+tr td:before{background:var(--w-hairline)!important;opacity:1!important}body table.projects tbody td .row-strong,body table.projects .proj-name{color:var(--w-ink);font-weight:400}body table.projects tbody td .row-sub,body table.projects tbody td.num-cell,body table.projects tbody td.num,body table.projects tbody td.num-hot,body table.projects tbody td a,body .kpi-card .kpi-label{color:var(--w-ink)}body .kpi-card .kpi-value{color:var(--w-ink);font-weight:400}body .kpi-card .kpi-value.kpi-hot{color:var(--w-ink)}body .ref-chip,body .chip.ref-chip,body .chip.ultra.ref-chip{font-family:var(--font-mono);letter-spacing:.3px;font-size:11.5px;box-shadow:none!important;color:var(--w-ink)!important;background:0 0!important;border:0!important;height:auto!important;padding:0!important;font-weight:400!important}body .badge{font-family:var(--font-mono);letter-spacing:.2px;white-space:nowrap;align-items:center;font-size:10.5px;display:inline-flex;background:var(--w-bg-blue)!important;color:var(--w-ink)!important;box-shadow:none!important;border:0!important;border-radius:999px!important;height:20px!important;padding:3px 9px!important;font-weight:400!important;line-height:1!important}body .badge:before{display:none!important}body .badge.badge-ok,body .badge.badge-done{background:var(--w-bg-blue)!important}body .badge.badge-paused,body .badge.badge-risk{background:var(--w-bg-orange)!important}body .badge .b-dot{display:none}body .progress{border-radius:999px;height:4px;overflow:hidden;background:var(--w-hover)!important}body .progress:before{display:none!important}body .progress>i{opacity:1;border-radius:inherit;background:var(--w-ink)!important}body .progress>i:after{display:none!important}body .progress-row .num,body .progress-row .pct{color:var(--w-ink);font-weight:400}.auth-shell{background:var(--w-bg);min-height:100vh;color:var(--w-ink);font-family:var(--font-sans);grid-template-rows:auto 1fr;display:grid}.auth-top{justify-content:flex-start;align-items:center;padding:24px 40px;display:flex}.auth-mark{color:var(--w-ink);-webkit-user-select:none;user-select:none;align-items:center;height:96px;text-decoration:none;display:inline-flex;overflow:hidden}.auth-mark-img{mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;height:100%;display:block}.auth-stage{place-items:center;padding:16px 24px 32px;display:grid}.auth-core{width:100%;max-width:392px;padding:44px 36px 36px;position:relative}.auth-frame{pointer-events:none;position:absolute;inset:0}.auth-frame svg{width:100%;height:100%;overflow:visible}.auth-frame .line{fill:none;stroke:var(--w-ink);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:1500;stroke-dashoffset:1500px;animation:7s cubic-bezier(.45,.05,.2,1) infinite auth-frame-draw}.auth-frame .tick{fill:none;stroke:var(--w-accent-orange-active);stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-dasharray:22 1500;stroke-dashoffset:0;animation:7s linear infinite auth-frame-tick}@keyframes auth-frame-draw{0%{stroke-dashoffset:1500px}55%{stroke-dashoffset:0}72%{stroke-dashoffset:0}to{stroke-dashoffset:-1500px}}@keyframes auth-frame-tick{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1500px}}@media (prefers-reduced-motion:reduce){.auth-frame .line{stroke-dashoffset:0;animation:none}.auth-frame .tick{opacity:0;animation:none}}.auth-title{letter-spacing:-.022em;color:var(--w-ink);margin:0 0 22px;font-size:28px;font-weight:400}.auth-title b{font-weight:600}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form .field{gap:6px}.auth-form .input{height:40px}.auth-row{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.auth-check{color:var(--w-ink-2,var(--ink-2));cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-check input{accent-color:var(--w-ink)}.auth-link{color:var(--w-ink);border-bottom:1px solid var(--w-border);padding-bottom:1px;font-size:13px;text-decoration:none}.auth-link:hover{border-bottom-color:var(--w-ink)}.auth-cta{justify-content:space-between;width:100%;margin-top:6px;padding-left:18px;padding-right:16px}.auth-arr{font-family:var(--font-mono);transition:transform .25s var(--w-ease);font-size:14px;display:inline-block}.auth-cta:hover .auth-arr{transform:translate(3px)}.auth-switch{color:var(--w-ink-55);text-align:center;margin-top:10px;font-size:12.5px}.auth-switch a{color:var(--w-ink);border-bottom:1px solid var(--w-border);padding-bottom:1px;text-decoration:none}.auth-switch a:hover{border-bottom-color:var(--w-ink)}.auth-error{color:var(--w-accent-orange-active);letter-spacing:-.005em;margin-top:4px;font-size:12.5px}.auth-msg{color:var(--w-ink-2,var(--ink-2));margin:0;font-size:14px;line-height:1.55}.auth-msg b{color:var(--w-ink);font-weight:500}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
