:root{--teal-900:#0e4a52;--teal-700:#1f6f78;--teal-600:#2a8089;--teal-400:#5fa9ae;--teal-200:#b7dadb;--teal-100:#ddefef;--teal-50:#eef7f7;--gold-600:#b07d27;--gold-500:#c8943a;--gold-200:#ecd6ae;--gold-100:#f7ebd5;--ink:#0f2a3d;--ink-2:#4a5b68;--ink-3:#7c8b96;--bg:#f4f7f8;--surface:#fff;--chrome:#d9ede0;--chrome-hover:#c9e4d2;--chrome-line:#bfdcc9;--sidebar-bg:#dcefe2;--sidebar-hover:#165c3a14;--sidebar-line:#bfdcc9;--sidebar-text:#23463a;--sidebar-muted:#4d6d5e;--sidebar-icon:#1f7a4d;--scene-sun:#e8b13a;--scene-far:#cde6d4;--scene-field-1:#a7d3b3;--scene-field-2:#86c29a;--scene-field-3:#5f9f77;--scene-mustard:#ecc85a;--scene-mustard-dark:#c99a2e;--scene-earth:#d4a273;--scene-earth-dark:#a8703f;--scene-door:#5b3a22;--scene-thatch:#b08a4f;--scene-thatch-dark:#7d5f30;--scene-lime:#f6efe0;--scene-lime-shade:#e5dac3;--scene-geru:#b5583c;--scene-tree:#4f9368;--scene-tree-dark:#2f6f4a;--scene-trunk:#6b4a2e;--scene-ink:#23463a;--scene-shadow:#23463a24;--nav-active:var(--teal-700);--nav-active-edge:var(--gold-500);--navy:#12303e;--navy-text:#bccbd2;--navy-muted:#7f99a5;--chrome-height:68px;--line:#e1e8eb;--line-soft:#edf1f3;--blue:#2f6fb3;--blue-bg:#e6effa;--green:#2e9e6b;--green-bg:#e3f4ec;--red:#d24c47;--red-bg:#fbe5e4;--amber:#c27a12;--amber-bg:#fcf0dc;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Fraunces", Georgia, serif;--radius:8px;--radius-lg:14px;--shadow:0 1px 2px #0f2a3d0a, 0 4px 16px #0f2a3d0a}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;max-width:100vw;margin:0;font-size:15px;line-height:1.5;overflow-x:hidden}h1,.page-title h1,.heading-serif,h2,h3,h4,.card-header h2,.chart-title,.section-title{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-weight:600}.font-serif{font-family:var(--font-serif)!important}.font-sans{font-family:var(--font-sans)!important}button,select,input,textarea{font:inherit;color:inherit}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-header{align-items:center;gap:10px;padding:16px 20px 12px;display:flex}.card-header .card-icon{color:var(--teal-700);flex-shrink:0}.card-header h2{min-width:0;font-family:var(--font-serif);color:var(--ink);letter-spacing:-.01em;flex:1;font-size:18px;font-weight:600}.card-header .card-actions{color:var(--ink-3);align-items:center;gap:10px;margin-left:auto;font-size:13.5px;display:flex}.link-button{color:var(--teal-700);background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:13.5px;font-weight:500;display:inline-flex}.link-button:hover{color:var(--teal-900)}.btn{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:14.5px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:var(--chrome-line);background:var(--bg)}.btn-primary{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.btn-primary:hover{background:var(--teal-900);border-color:var(--teal-900)}.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-secondary:hover{background:var(--bg);border-color:var(--chrome-line)}.btn-outline{background:var(--surface);border-color:var(--teal-200);color:var(--teal-700)}.btn-outline:hover{background:var(--teal-50);border-color:var(--teal-700)}.btn-ghost{border-color:var(--line);color:var(--ink-2);background:0 0}.btn-ghost:hover{background:var(--bg);border-color:var(--chrome-line);color:var(--ink)}.btn-sm,.btn-small,.btn.btn-sm,.btn.btn-small{border-radius:6px;gap:6px;height:32px;padding:0 12px;font-size:13px}.input,.select,input.input,select.select{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--surface);height:40px;color:var(--ink);font-family:var(--font-sans);box-sizing:border-box;outline:none;padding:0 12px;font-size:14.5px;line-height:normal;transition:border-color .15s,box-shadow .15s}.input:hover,.select:hover{border-color:var(--teal-400)}.input:focus,.select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50)}.select,select.select,.page-actions select,.card-header select,.field select{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--surface);height:40px;color:var(--ink);font-family:var(--font-sans);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234a5b68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");outline:none;padding:0 32px 0 12px;font-size:14.5px;transition:border-color .15s,box-shadow .15s;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:14px 14px!important}.select:hover,select.select:hover,.page-actions select:hover,.card-header select:hover,.field select:hover{border-color:var(--teal-400);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f6f78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:14px 14px!important}.select:focus,select.select:focus,.page-actions select:focus,.card-header select:focus,.field select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50);background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:14px 14px!important}.select.select-sm,select.select-sm{background-position:right 8px center;background-size:12px 12px;height:34px;padding:0 28px 0 10px;font-size:13.5px}.toolbar-search{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-sizing:border-box;align-items:center;gap:8px;height:40px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.toolbar-search:hover{border-color:var(--teal-400)}.toolbar-search input{min-width:0;color:var(--ink);font-size:14px;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:0}.toolbar-search input::placeholder{color:var(--ink-3)}.p-2{padding:8px!important}.p-3{padding:12px!important}.p-4{padding:16px!important}.p-5{padding:20px!important}.p-6{padding:24px!important}.pl-8,input.pl-8{padding-left:32px!important}.pl-9,input.pl-9{padding-left:36px!important}.pl-10,input.pl-10{padding-left:40px!important}.pl-11,input.pl-11{padding-left:44px!important}.pl-12,input.pl-12{padding-left:48px!important}.pr-8,input.pr-8{padding-right:32px!important}.pr-9,input.pr-9{padding-right:36px!important}.pr-10,input.pr-10{padding-right:40px!important}.tone-neutral{--tone:var(--ink-3);--tone-bg:#eef1f3}.priority-pill{background:var(--tone-bg);color:var(--tone)}.priority-pill i{background:var(--tone);border-radius:50%;width:7px;height:7px}.text-ink{color:var(--ink)}.text-red{color:var(--red);font-weight:500}.delta-up,.delta-down{align-items:center;gap:2px;font-weight:600;display:inline-flex}.delta-up{color:var(--green)}.delta-down{color:var(--red)}.table-wrap{-webkit-overflow-scrolling:touch;padding:0 20px 14px;position:relative;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:660px;font-size:14.5px}.data-table:has(th:nth-child(7)){min-width:780px}.data-table .mono-sub{white-space:nowrap}.data-table th{white-space:nowrap;text-align:left;color:var(--ink);background:var(--bg);border-bottom:1px solid var(--line);padding:12px 14px;font-size:13.5px;font-weight:600}.data-table th:first-child{border-radius:8px 0 0 8px}.data-table th:last-child{border-radius:0 8px 8px 0}.data-table td{border-bottom:1px solid var(--line-soft);color:var(--ink-2);vertical-align:middle;padding:12px 14px}.data-table tbody tr:hover td{background:#fafcfc}.data-table tbody tr:last-child td{border-bottom:none}.data-table .align-center{text-align:center}.data-table .nowrap{white-space:nowrap}.mono{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}.cell-strong{color:var(--ink);font-weight:500}.cell-sub{color:var(--ink-3);font-size:13px}.icon-button.small{width:30px;height:30px;color:var(--ink-3);margin:0 auto}.icon-button.small:hover{background:var(--bg)}.row-menu{position:relative}.row-menu-list{z-index:10;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;min-width:190px;padding:6px;position:absolute;top:34px;right:0;box-shadow:0 10px 30px #0f2a3d1f}.row-menu-list button{background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;display:flex}.row-menu-list button:hover{background:var(--teal-50);color:var(--teal-900)}.row-menu-list.is-floating{z-index:50;position:fixed}.row-menu-list .menu-good{color:var(--green)}.row-menu-list .menu-danger{color:var(--red)}.row-menu-list .menu-danger:hover{background:var(--red-bg);color:var(--red)}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=380px){.stat-grid{grid-template-columns:minmax(0,1fr)}}.stat-card{box-shadow:inset 0 3px 0 var(--tone), var(--shadow);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.stat-top{align-items:center;gap:10px;display:flex}.stat-top h3{min-width:0;color:var(--ink);overflow-wrap:break-word;font-size:15px;font-weight:500}.stat-icon{background:var(--tone-bg);width:38px;height:38px;color:var(--tone);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.stat-value,.scorecard-value,.candidate-stat-value,.kpi-value{font-family:var(--font-serif);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:38px;font-weight:600;line-height:1.05}.num,.tabular-nums,[data-num],span.font-mono,p.font-mono,td.font-mono,div.font-mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:-.01em;font-family:var(--font-sans)!important}.stat-meta{flex-direction:column;gap:2px;font-size:13.5px;line-height:1.4;display:flex}@media (width<=380px){.stat-top{flex-direction:column;align-items:flex-start;gap:8px}.stat-icon{width:32px;height:32px}.stat-value{font-size:28px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;min-height:72px;padding:4px 0 14px;display:flex;position:relative;overflow:visible}.page-title,.page-actions{position:relative}.page-title h1{font-family:var(--font-serif);letter-spacing:-.01em;font-size:34px;font-weight:600;line-height:1.15}.page-title p{color:var(--ink-2);margin:4px 0 0;font-size:15px}.page-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-title{min-width:0}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:3px;display:inline-flex}.segmented button{height:32px;color:var(--ink-2);background:0 0;border:none;border-radius:6px;padding:0 14px;font-size:14px}.segmented button:hover{color:var(--ink)}.segmented button.is-selected{background:var(--teal-50);color:var(--teal-900);font-weight:600}.btn-success{background:var(--green);border-color:var(--green);color:#fff}.btn-success:hover{background:#268a5c;border-color:#268a5c}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.btn-danger:hover{background:#b93f3a;border-color:#b93f3a}.btn-outline-danger{color:var(--red);border-color:#f0c4c2}.btn-outline-danger:hover{background:var(--red-bg);border-color:var(--red)}.btn:disabled{opacity:.5;cursor:default}.btn.btn-small{gap:6px;height:34px;padding:0 12px;font-size:13.5px}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:13px;font-weight:500;display:inline-flex}.muted{color:var(--ink-3)}.tone-info{--tone:var(--blue);--tone-bg:var(--blue-bg)}.tone-attention{--tone:var(--amber);--tone-bg:var(--amber-bg)}.tone-urgent{--tone:var(--red);--tone-bg:var(--red-bg)}.tone-good{--tone:var(--green);--tone-bg:var(--green-bg)}.coming-soon{text-align:center;color:var(--ink-3);flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.coming-soon h1{color:var(--ink);font-size:18px}.coming-soon p{margin:0 0 10px}@media (width<=640px){.page-header{flex-direction:column;align-items:stretch;gap:8px;min-height:auto;padding-bottom:10px}.page-title h1{font-size:clamp(22px,6vw,26px);line-height:1.2}.page-title p{font-size:13.5px}.page-actions{justify-content:flex-start;gap:8px}.page-actions>.btn{flex:auto;justify-content:center}.stat-card{gap:4px;padding:12px 14px}.stat-icon{width:32px;height:32px}.stat-top h3{font-size:13.5px}.stat-value,.scorecard-value,.candidate-stat-value,.kpi-value{font-size:26px;line-height:1.1}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes fade{0%{opacity:0}}@keyframes grow-x{0%{transform:scaleX(0)}}.page-anim{animation:.35s cubic-bezier(.2,.7,.2,1) backwards rise}.page-anim .card{animation:.45s cubic-bezier(.2,.7,.2,1) backwards rise}.page-anim :is(.stat-grid,.dash-row,.card-grid)>:nth-child(2){animation-delay:50ms}.page-anim :is(.stat-grid,.dash-row,.card-grid)>:nth-child(3){animation-delay:.1s}.page-anim :is(.stat-grid,.dash-row,.card-grid)>:nth-child(4){animation-delay:.15s}.page-anim :is(.stat-grid,.dash-row,.card-grid)>:nth-child(n+5){animation-delay:.2s}.stat-card,.lift{transition:transform .18s,box-shadow .18s}.stat-card:hover,.lift:hover{box-shadow:inset 0 3px 0 var(--tone,transparent), 0 8px 24px #0f2a3d14;transform:translateY(-2px)}.tab-panel{animation:.25s both fade}.funnel-bar,.service-bar,.insight-track div,.progress div{transform-origin:0;animation:.7s cubic-bezier(.2,.7,.2,1) both grow-x}.btn{transition:background .15s,border-color .15s,transform .1s}.btn:active{transform:scale(.97)}.progress{background:var(--line-soft);border-radius:999px;height:6px;overflow:hidden}.progress div{background:var(--tone);border-radius:999px;height:100%;transition:width .4s}.checklist{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.check-step{width:100%;color:var(--ink-2);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.check-step:hover:not(:disabled){background:var(--bg)}.check-step:disabled{cursor:default}.check-box{border:1.5px solid var(--chrome-line);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;transition:background .2s,border-color .2s,transform .2s;display:grid}.check-step.is-done{color:var(--ink)}.check-step.is-done .check-box{background:var(--green);border-color:var(--green);transform:scale(1.05)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (width<=768px),(pointer:coarse){html,body{-webkit-text-size-adjust:100%;max-width:100vw;overflow-x:hidden}.btn{touch-action:manipulation;height:42px;font-size:14px}.btn.btn-small{height:38px}.icon-button{touch-action:manipulation;width:42px;height:42px}.icon-button.small{width:38px;height:38px}.link-button,.share-toggle{min-height:38px}.check-step{min-height:42px}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{font-size:16px!important}.overflow-x-auto,.app-content,.sidebar-nav,.candidate-content-canvas{-webkit-overflow-scrolling:touch}}.auth-page{background:var(--bg);grid-template-columns:minmax(360px,5fr) 7fr;min-height:100vh;display:grid}.auth-brand{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-line);color:var(--ink-2);flex-direction:column;gap:56px;padding:36px 44px;display:flex;position:relative;overflow:hidden}.auth-range{pointer-events:none;width:100%;height:52%;animation:.9s cubic-bezier(.2,.7,.2,1) .15s backwards rise;position:absolute;bottom:0;left:0;right:0}.auth-brand>:not(.auth-range):not(.auth-foot){position:relative}.auth-brand .logo-name{color:var(--ink)}.auth-brand .logo-sub{color:var(--gold-600)}.auth-brand .logo-tag{color:var(--sidebar-muted)}.auth-brand-copy{max-width:420px;animation:.6s cubic-bezier(.2,.7,.2,1) .1s backwards rise}.auth-brand-copy h1{font-family:var(--font-serif);color:var(--ink);margin:0 0 14px;font-size:34px;font-weight:500;line-height:1.2}.auth-brand-copy p{color:var(--ink-2);margin:0;font-size:15px;line-height:1.6}.auth-brand .auth-foot{color:#fff;text-shadow:0 1px 8px #0f1e2880;font-size:12px;position:absolute;bottom:24px;left:44px}.auth-main{place-items:center;padding:24px;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow);padding:26px 30px;animation:.45s cubic-bezier(.2,.7,.2,1) backwards rise}.auth-card h2{font-family:var(--font-serif);color:var(--ink);margin:0 0 12px;font-size:28px;font-weight:500}.auth-tabs{border-radius:var(--radius);background:var(--bg);box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:4px;width:100%;margin-bottom:16px;padding:4px;display:grid}.auth-tabs button{height:38px;color:var(--ink-2);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:0;padding:0 8px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:flex}.tab-label-full{display:inline}.tab-label-short{display:none}@media (width<=540px){.tab-label-full{display:none}.tab-label-short{display:inline}.auth-tabs button{gap:4px;padding:0 4px;font-size:12.5px}}.auth-tabs button.is-active{background:var(--surface);color:var(--teal-700);box-shadow:0 1px 3px #0f2a3d1a}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-lead{color:var(--ink-2);margin:0;font-size:15px;line-height:1.55}.role-pick{box-sizing:border-box;border:none;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;width:100%;min-width:0;margin:0;padding:0;display:grid}.role-pick .field-label{grid-column:1/-1;width:100%;margin-bottom:2px}.role-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;box-sizing:border-box;flex-direction:column;gap:3px;width:100%;min-width:0;padding:9px 10px;transition:all .15s;display:flex;position:relative}.role-card:hover{border-color:var(--teal-400);background:#f7fbfa}.role-card.is-selected{border-color:var(--teal-600);background:var(--teal-50);box-shadow:0 0 0 1px var(--teal-600)}.role-card-header{align-items:center;gap:6px;display:flex}.role-icon{color:var(--teal-700);justify-content:center;align-items:center;display:flex}.role-person-name{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.role-badge-tag{color:var(--teal-700);background:#1f6f7814;border-radius:4px;align-self:flex-start;margin-top:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.role-scope-callout{border-radius:var(--radius);background:#f2f8f6;border:1px solid #d4e8e1;margin-top:4px;padding:10px 14px}.role-scope-title{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.role-dest-tag{font-family:var(--font-mono);color:var(--teal-800);background:#e2f0ea;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.role-pick-note{color:var(--ink-3);margin:0;font-size:12.5px;line-height:1.45}.role-pick legend{margin-bottom:6px;padding:0}.role-pick input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.auth-quick-login-wrap{border-top:1px dashed var(--line);flex-direction:column;gap:6px;margin-top:8px;padding-top:10px;display:flex}.quick-login-label{color:var(--ink-3);font-size:12px;font-weight:600}.quick-login-buttons{flex-wrap:wrap;gap:6px;display:flex}.btn-quick-role{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn-quick-role:hover{border-color:var(--teal-600);background:var(--teal-50);color:var(--teal-700)}.btn-quick-role.is-active{border-color:var(--teal-600);background:var(--teal-700);color:#fff}.auth-submit{justify-content:center;height:42px;margin-top:4px;font-size:15px}.auth-note{text-align:center;color:var(--ink-3);margin:-4px 0 0;font-size:13px}.auth-error{border-radius:var(--radius);background:var(--red-bg);color:var(--red);margin:0;padding:10px 12px;font-size:14px;line-height:1.45;animation:.2s both fade}.auth-register{color:var(--ink-2);text-align:center;margin:0;font-size:14.5px}.auth-demos{border-top:1px solid var(--line-soft);flex-direction:column;gap:8px;padding-top:14px;font-size:13.5px;display:flex}.auth-demos button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px 14px;transition:border-color .15s,background .15s;display:flex}@media (width>=500px){.auth-demos button{flex-direction:row;justify-content:space-between;align-items:center}}.auth-demos button:hover{border-color:var(--teal-600);background:var(--teal-50)}.auth-demos strong{color:var(--ink);font-size:14px;font-weight:600}.auth-demos button span{color:var(--teal-700);font-size:12.5px}.auth-new{text-align:center;color:var(--ink-2);margin:0;font-size:14.5px}.auth-new a{color:var(--teal-700);font-weight:600}.auth-sample{color:var(--teal-700);text-underline-offset:3px;background:0 0;border:none;align-self:center;font-size:14px;text-decoration:underline}@media (width<=860px){.auth-page{flex-direction:column;width:100%;max-width:100vw;min-height:100dvh;display:flex;overflow-x:hidden}.auth-brand{box-sizing:border-box;border-right:none;border-bottom:1px solid var(--sidebar-line);gap:14px;width:100%;padding:16px 16px 14px}.auth-brand-copy h1{margin-bottom:0;font-size:20px;line-height:1.25}.auth-brand-copy p,.auth-brand .auth-foot,.auth-range{display:none}.auth-main{box-sizing:border-box;width:100%;max-width:100vw;padding:16px 14px max(28px, env(safe-area-inset-bottom,28px));flex-direction:column;align-items:center;display:flex;overflow-x:hidden}.auth-card{box-sizing:border-box;width:100%;max-width:440px;margin:0 auto;padding:20px 16px;overflow:hidden}}@media (width<=520px){.auth-tabs{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:4px;width:100%;padding:3px;display:grid}.auth-tabs button{min-width:0;height:36px;padding:0 4px;font-size:12px}.auth-card{padding:16px 12px}}@media (width<=440px){.role-pick{grid-template-columns:1fr}}.app-shell{--sidebar-width:256px;min-height:100vh;position:relative}.sidebar{width:var(--sidebar-width);z-index:30;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-line);flex-direction:column;height:100vh;transition:width .2s,transform .24s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-brand{height:var(--chrome-height);border-bottom:1px solid var(--sidebar-line);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.sidebar-brand-link{color:inherit;align-items:center;min-width:0;text-decoration:none;display:flex}.sidebar-close-btn,.mobile-search-trigger,.icon-button.mobile-search-trigger{display:none}.logo{align-items:center;gap:12px;display:flex}.logo-mark{flex-shrink:0;width:44px;height:38px}.logo-text{white-space:nowrap;flex-direction:column;line-height:1.15;display:flex}.logo-name{font-family:var(--font-serif);color:#fff;font-size:21px;font-weight:600}.logo-sub{font-family:var(--font-serif);color:var(--gold-500);font-size:14px}.logo-tag{color:var(--sidebar-muted);margin-top:2px;font-size:11px}.sidebar .logo-name{color:var(--ink)}.sidebar .logo-sub{color:var(--gold-600)}.sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:6px;min-height:0;padding:16px 12px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-group{flex-direction:column;display:flex}.sidebar-section{letter-spacing:.05em;text-transform:uppercase;width:100%;height:36px;color:var(--sidebar-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s;display:flex}.sidebar-section:hover{background:var(--sidebar-hover);color:var(--ink)}.sidebar-section.has-active{color:var(--teal-700)}.sidebar-section-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.sidebar-section-label.is-long{letter-spacing:.04em}.sidebar-section svg{flex-shrink:0;margin-left:auto;transition:transform .2s}.nav-group.is-open .sidebar-section svg{transform:rotate(180deg)}.nav-group-items{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.nav-group.is-open .nav-group-items{grid-template-rows:1fr}.sidebar-user-card{background:#ffffffd1;border:1px solid #1f6f7829;border-radius:10px;align-items:center;gap:12px;margin:8px 12px 4px;padding:10px 12px;display:flex;box-shadow:0 1px 3px #0000000a}.sidebar-user-card .avatar{background:var(--teal-700);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid;box-shadow:0 2px 4px #1f6f7833}.sidebar-user-card .user-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex;overflow:hidden}.sidebar-user-card .user-meta strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.sidebar-user-card .role-chip{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.nav-group-inner{flex-direction:column;gap:3px;min-height:0;padding:0;display:flex;overflow:hidden}.nav-group.is-open .nav-group-inner{padding:4px 0 2px}.nav-item{height:42px;color:var(--sidebar-text);white-space:nowrap;border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s,transform .1s;display:flex;position:relative}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-item>span:not(.nav-badge):not(.nav-icon){text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-badge{flex-shrink:0}.nav-item svg{color:var(--sidebar-icon);flex-shrink:0;transition:color .15s}.nav-item:hover{background:var(--sidebar-hover);color:var(--teal-900)}.nav-item.is-active{background:linear-gradient(135deg, var(--teal-700) 0%, #175a61 100%);border-radius:8px;font-weight:600;box-shadow:0 2px 6px #0e4a5238;color:#fff!important}.nav-item.is-active svg{color:#fff}.nav-badge{background:var(--sidebar-text);color:#fff;border-radius:11px;place-items:center;min-width:24px;height:22px;margin-left:auto;padding:0 7px;font-size:12.5px;font-weight:600;display:grid}.nav-item.is-active .nav-badge{background:#ffffff40}.sidebar-brand,.sidebar-nav{z-index:1;position:relative}.sidebar-footer{border-top:1px solid var(--sidebar-line);background:var(--sidebar-bg);pointer-events:none;flex-shrink:0;width:100%;margin-top:auto;position:relative;overflow:hidden}.sidebar-mountains{pointer-events:none;width:100%;height:148px;animation:.9s cubic-bezier(.2,.7,.2,1) .1s backwards rise;display:block}.sidebar-motto{z-index:3;font-family:var(--font-serif);letter-spacing:-.01em;color:var(--teal-900);pointer-events:none;text-shadow:0 1px 2px #ffffffd9;margin:0;font-size:15px;font-weight:700;line-height:1.25;position:absolute;top:16px;left:20px}.sidebar-motto:after{content:"";background:var(--gold-500);border-radius:2px;width:32px;height:2.5px;margin-top:6px;display:block}@media (height<=860px){.nav-item{height:40px}}.app-main{margin-left:var(--sidebar-width);min-width:0;min-height:100vh;max-width:calc(100vw - var(--sidebar-width));flex-direction:column;transition:margin-left .2s,max-width .2s;display:flex;overflow-x:clip}.topbar{z-index:20;height:var(--chrome-height);background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0f2a3d08}.icon-button{width:34px;height:34px;color:var(--ink-2);background:0 0;border:none;border-radius:6px;place-items:center;display:grid;position:relative}.icon-button:hover{background:var(--chrome-hover);color:var(--ink)}.search{background:var(--surface);border:1px solid var(--chrome-line);border-radius:6px;flex:1;align-items:center;gap:8px;max-width:420px;height:34px;padding:0 8px 0 10px;display:flex}.search:focus-within{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50)}.search input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.search kbd{border:1px solid var(--line);background:var(--bg);font-family:var(--font-sans);color:var(--ink-3);border-radius:4px;padding:1px 6px;font-size:12px}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.bell-dot{background:var(--red);width:7px;height:7px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:7px;right:8px}.user-chip{text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:3px 6px 3px 3px;display:flex}.user-chip:hover{background:var(--chrome-hover)}.avatar{background:var(--teal-700);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12.5px;font-weight:600;display:grid}.user-meta{flex-direction:column;line-height:1.25;display:flex}.user-meta strong{font-size:14px;font-weight:500}.user-meta span{color:var(--ink-3);font-size:12px}.app-content{flex:1;min-width:0;max-width:100%;padding:20px 24px 24px}.app-footer{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:0 24px 14px;font-size:13px;display:flex}.footer-reset{color:var(--ink-3);text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.footer-reset:hover{color:var(--ink)}.sidebar-backdrop{display:none}@media (width>=1024px){.app-shell.desktop-collapsed,.app-shell.menu-toggled{--sidebar-width:76px}.desktop-collapsed .nav-group-items,.menu-toggled .nav-group-items{grid-template-rows:1fr}.desktop-collapsed .logo-text,.desktop-collapsed .sidebar-section,.desktop-collapsed .nav-item span:not(.nav-icon),.desktop-collapsed .sidebar-motto,.menu-toggled .logo-text,.menu-toggled .sidebar-section,.menu-toggled .nav-item span:not(.nav-icon),.menu-toggled .sidebar-motto{display:none}.desktop-collapsed .sidebar-brand,.menu-toggled .sidebar-brand,.desktop-collapsed .nav-item,.menu-toggled .nav-item{justify-content:center;padding:0}.desktop-collapsed .nav-item.is-active,.menu-toggled .nav-item.is-active{border-radius:8px;margin-left:0;padding:0}.desktop-collapsed .nav-item.is-active:before,.menu-toggled .nav-item.is-active:before{display:none}.desktop-collapsed .nav-item .nav-badge,.menu-toggled .nav-item .nav-badge{min-width:16px;height:16px;font-size:10px;display:grid;position:absolute;top:2px;right:6px}}@media (width<=1023px){.app-shell{display:block}.app-main{max-width:100vw!important;margin-left:0!important}.sidebar{z-index:50;width:280px;max-width:calc(100vw - 44px);transition:transform .24s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar-brand{padding:0 14px 0 18px}.sidebar-close-btn{width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.sidebar-close-btn:hover{background:var(--sidebar-hover);color:var(--ink)}.mobile-open .sidebar,.menu-toggled .sidebar{transform:translate(0);box-shadow:12px 0 36px #0f2a3d47}.mobile-open .sidebar-backdrop,.menu-toggled .sidebar-backdrop{z-index:45;-webkit-backdrop-filter:blur(2px);background:#0f2a3d66;animation:.2s fade-in;display:block;position:fixed;inset:0}.topbar{gap:10px;padding:0 16px}.app-content{padding:16px 16px 24px}.app-footer{padding:0 16px 16px}.user-meta,.search kbd{display:none}}body.mobile-drawer-open{touch-action:none;overflow:hidden}@media (width<=640px){.topbar{gap:8px;height:58px;padding:0 12px}.mobile-search-trigger,.icon-button.mobile-search-trigger{place-items:center;display:grid}.global-search.is-mobile-open .mobile-search-trigger,.global-search.is-mobile-open .icon-button.mobile-search-trigger,.search-container:not(.is-mobile-expanded){display:none}.search-container.is-mobile-expanded{z-index:25;display:flex;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.search-container.is-mobile-expanded .search{background:var(--surface);border-color:var(--teal-600);width:100%;max-width:none;height:42px;padding:0 8px 0 12px;box-shadow:0 4px 20px #0f2a3d33}.search-mobile-close{color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;width:32px;height:32px;margin-left:4px;display:grid}.search-mobile-close:hover{background:var(--chrome-hover);color:var(--ink)}.app-content{padding:14px 12px 20px}.app-footer{padding:0 12px 14px;font-size:12px}.avatar{width:30px;height:30px;font-size:11px}.user-chip{gap:6px;padding:2px 4px}.user-chip>svg{display:none}.icon-button{width:36px;height:36px}}.mobile-bottom-nav{display:none}@media (width<=768px){.mobile-bottom-nav{z-index:40;height:calc(58px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--sidebar-line,#dce8e2);box-sizing:border-box;background:#fffffff0;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0f2a3d12}.mobile-bottom-item{height:100%;color:var(--ink-2,#4a5b68);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;text-decoration:none;transition:color .15s,transform .1s;display:flex}.mobile-bottom-item:active{transform:scale(.92)}.mobile-bottom-item.is-active{color:var(--teal-700,var(--teal-700));font-weight:700}.mobile-bottom-item .mobile-bottom-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.mobile-bottom-item.is-active .mobile-bottom-icon{color:var(--teal-700,var(--teal-700))}.app-main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}.dashboard-hero{background:linear-gradient(135deg, var(--teal-900) 0%, #15223c 100%);color:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:22px 26px;display:flex;box-shadow:0 4px 18px #0e4a521f}.dashboard-hero-content h1{font-family:var(--font-serif,"Fraunces", serif);letter-spacing:-.01em;margin:0 0 6px;font-size:26px;font-weight:600;color:#fff!important}.dashboard-hero-content p{color:var(--teal-200);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13.5px;display:flex}.dashboard-hero-badge{letter-spacing:.02em;color:#f7ebd5;background:#ffffff1f;border:1px solid #ffffff38;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.dashboard-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dashboard-hero-btn{color:var(--teal-900);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 2px 8px #00000014}.dashboard-hero-btn:hover{color:var(--teal-900);background:#f7ebd5;transform:translateY(-1px)}.dashboard-hero-btn--secondary{color:#fff;background:#ffffff26;border:1px solid #ffffff4d}.dashboard-hero-btn--secondary:hover{color:#fff;background:#ffffff40}.scorecard-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}@media (width<=1200px){.scorecard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.scorecard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.scorecard-grid{grid-template-columns:minmax(0,1fr)}}.scorecard-card{border:1px solid var(--line,#e2e8f0);color:inherit;background:#fff;border-radius:10px;flex-direction:column;justify-content:space-between;gap:10px;padding:16px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.scorecard-card:before{content:"";background:var(--card-accent,var(--teal-700));height:3px;position:absolute;top:0;left:0;right:0}.scorecard-card:hover{border-color:var(--card-accent,var(--teal-700));transform:translateY(-2px);box-shadow:0 6px 16px #0f2a3d12}.scorecard-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.scorecard-label{color:var(--ink-2,#4a5b68);text-transform:uppercase;letter-spacing:.03em;font-size:12.5px;font-weight:600}.scorecard-icon{background:var(--card-icon-bg,var(--teal-50));width:34px;height:34px;color:var(--card-accent,var(--teal-700));border-radius:8px;flex-shrink:0;place-items:center;display:grid}.scorecard-value{font-family:var(--font-serif,"Fraunces", serif);color:var(--ink,#0f2a3d);margin:2px 0;font-size:28px;font-weight:700;line-height:1.1}.scorecard-meta{color:var(--ink-3,#7c8b96);border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:2px;padding-top:8px;font-size:12px;display:flex}.action-center-section{border:1px solid var(--line,#e2e8f0);background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px #0000000a}.action-center-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.action-center-title{font-family:var(--font-serif,"Fraunces", serif);color:var(--ink,#0f2a3d);align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.action-center-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.action-card{color:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:all .15s;display:flex}.action-card:hover{border-color:var(--teal-700);background:#fff;box-shadow:0 3px 10px #1f6f7814}.action-card-left{align-items:center;gap:10px;min-width:0;display:flex}.action-card-icon{background:var(--teal-50);width:32px;height:32px;color:var(--teal-700);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.action-card-info{flex-direction:column;min-width:0;display:flex}.action-card-title{color:#0f2a3d;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.action-card-sub{color:#64748b;font-size:11.5px}.action-card-badge{color:#b91c1c;background:#fee2e2;border-radius:12px;flex-shrink:0;padding:3px 8px;font-size:11.5px;font-weight:700}.analytics-section{border:1px solid var(--line,#e2e8f0);background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000a}.analytics-nav{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;display:flex}.analytics-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.analytics-tab-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.analytics-tab-btn:hover{color:#0f2a3d;background:#f1f5f9}.analytics-tab-btn.is-active{background:var(--teal-900);color:#fff}.analytics-tab-badge{color:inherit;background:#fff3;border-radius:10px;padding:1px 6px;font-size:11px}.analytics-tab-btn:not(.is-active) .analytics-tab-badge{color:#475569;background:#e2e8f0}.funnel-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:18px;display:grid}.funnel-step{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 10px;transition:all .15s;position:relative}.funnel-step:hover{border-color:var(--teal-700);background:#f0fdfa}.funnel-step-label{color:#64748b;margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.funnel-step-count{font-family:var(--font-serif,"Fraunces", serif);color:#0f2a3d;font-size:22px;font-weight:700}.funnel-step-progress{background:#e2e8f0;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.funnel-step-bar{background:var(--teal-700);border-radius:2px;height:100%}.shortcuts-bar{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.shortcuts-label{color:#475569;text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.shortcuts-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shortcut-link{color:#0f2a3d;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.shortcut-link:hover{background:var(--teal-50);border-color:var(--teal-700);color:var(--teal-700)}.projects-hub{flex-direction:column;gap:20px;display:flex}.projects-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.projects-control-bar{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);border-radius:var(--radius-lg,12px);flex-direction:column;gap:14px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #0000000a}.projects-search-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.projects-search-box{flex:1;min-width:240px;max-width:480px;position:relative}.projects-search-box svg{color:var(--ink-3,#94a3b8);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.projects-search-input{border-radius:var(--radius-md,8px);border:1px solid var(--line,#cbd5e1);background:var(--bg,#f8fafc);width:100%;color:var(--ink,#0f172a);padding:9px 12px 9px 36px;font-size:13.5px;transition:all .15s}.projects-search-input:focus{border-color:var(--teal-700,var(--teal-700));background:#fff;outline:none;box-shadow:0 0 0 3px #1f6f781f}.projects-view-toggle{background:var(--bg,#f1f5f9);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.view-toggle-btn{color:var(--ink-2,#64748b);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.view-toggle-btn.is-active{color:var(--teal-900,#0f2a3d);background:#fff;box-shadow:0 1px 3px #00000014}.projects-dept-tabs{scrollbar-width:thin;align-items:center;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.dept-pill{border:1px solid var(--line,#e2e8f0);background:var(--bg,#f8fafc);color:var(--ink-2,#475569);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.dept-pill:hover{border-color:var(--teal-700,var(--teal-700));color:var(--teal-800,var(--teal-900));background:#fff}.dept-pill.is-active{background:var(--teal-900,var(--teal-900));color:#fff;border-color:var(--teal-900,var(--teal-900))}.dept-pill-count{background:#00000014;border-radius:10px;padding:1px 6px;font-size:11px}.dept-pill.is-active .dept-pill-count{background:#ffffff38}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px;display:grid}.project-card{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);border-radius:var(--radius-lg,12px);flex-direction:column;justify-content:space-between;padding:18px 20px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 1px 3px #0000000a}.project-card:hover{border-color:var(--teal-600,#2a8a96);transform:translateY(-2px);box-shadow:0 8px 20px #0f2a3d14}.project-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.project-index-badge{background:var(--bg,#f1f5f9);color:var(--ink-2,#475569);border-radius:6px;padding:3px 8px;font-family:monospace;font-size:11px;font-weight:700}.project-dept-tag{color:#166534;text-overflow:ellipsis;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;max-width:220px;padding:3px 10px;font-size:11.5px;font-weight:600;overflow:hidden}.project-card-title{color:var(--ink,#0f172a);font-size:16px;font-weight:700;line-height:1.35;font-family:var(--font-serif,inherit);margin:0 0 10px}.project-hr-hero{color:#0369a1;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:8px;width:100%;margin-bottom:14px;padding:8px 14px;font-size:13.5px;font-weight:700;display:inline-flex}.project-hr-hero strong{color:#0284c7;font-size:17px}.project-financial-ribbon{background:var(--bg,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;padding:10px 12px;display:grid}.ribbon-item{flex-direction:column;display:flex}.ribbon-label{color:var(--ink-3,#64748b);text-transform:uppercase;letter-spacing:.3px;font-size:10.5px;font-weight:600}.ribbon-value{color:var(--ink,#0f172a);font-variant-numeric:tabular-nums;margin-top:2px;font-size:14px;font-weight:700}.ribbon-value.is-income{color:#15803d}.ribbon-value.is-margin{color:var(--teal-800,var(--teal-900))}.project-progress-wrap{margin-bottom:14px}.project-progress-bar{background:var(--line,#e2e8f0);border-radius:4px;height:6px;overflow:hidden}.project-progress-fill{background:linear-gradient(90deg, var(--teal-700), #3b82f6);border-radius:4px;height:100%;transition:width .4s}.project-card-footer{border-top:1px solid var(--line,#f1f5f9);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.project-lead-meta{color:var(--ink-2,#64748b);font-size:12px}.project-inspect-btn{border:1px solid var(--teal-700,var(--teal-700));color:var(--teal-800,var(--teal-900));cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.project-inspect-btn:hover{background:var(--teal-900,var(--teal-900));color:#fff}.project-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1050;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.project-modal-card{border-radius:var(--radius-xl,16px);background:#fff;border:1px solid #ffffff26;flex-direction:column;width:100%;max-width:1080px;max-height:92vh;animation:.2s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 25px 60px -12px #0f2a3d59}.project-modal-header{color:#fff;background:linear-gradient(135deg,#092c3e 0%,#0d4057 50%,#0e5a6f 100%);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 28px;display:flex}.project-modal-title-wrap{flex-direction:column;gap:8px;display:flex}.project-modal-header h2{color:#fff;letter-spacing:-.2px;font-size:21px;font-weight:700;font-family:var(--font-serif,inherit);margin:0}.project-modal-sub{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modal-header-chip{color:#f1f5f9;background:#ffffff1f;border:1px solid #ffffff38;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.modal-header-chip.is-teal{color:#a7f3d0;background:#2dd4bf2e;border-color:#2dd4bf59}.modal-header-chip.is-blue{color:#bae6fd;background:#38bdf82e;border-color:#38bdf859}.modal-header-chip.is-gold{color:#fde68a;background:#fbbf242e;border-color:#fbbf2459}.project-modal-close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.project-modal-close:hover{background:#ffffff40;transform:scale(1.05)}.project-modal-tabs{scrollbar-width:thin;background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:12px 28px;display:flex;overflow-x:auto}.modal-tab-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 1px 2px #00000008}.modal-tab-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.modal-tab-btn.is-active{color:#fff;background:#092c3e;border-color:#092c3e;box-shadow:0 3px 8px #092c3e38}.modal-tab-badge{color:#475569;background:#f1f5f9;border-radius:12px;padding:2px 7px;font-size:11px;font-weight:700}.modal-tab-btn.is-active .modal-tab-badge{color:#fff;background:#ffffff38}.project-modal-body{flex:1;padding:26px 28px;overflow-y:auto}.commission-split-progress{flex-direction:column;gap:8px;margin-top:14px;display:flex}.split-bar-track{background:#e2e8f0;border-radius:6px;height:10px;display:flex;overflow:hidden}.split-bar-commission{background:#0d9488;height:100%;transition:width .3s}.split-bar-work{background:#0284c7;height:100%;transition:width .3s}.split-bar-legend{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.aravali-commission-policy-banner{border-radius:var(--radius-lg,14px);color:#fff;background:linear-gradient(135deg,#092c3e 0%,#164e63 50%,#0e7490 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #092c3e26}.aravali-commission-policy-banner:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1f 0%,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;bottom:-50px;right:-50px}.policy-banner-left{flex:1;min-width:280px;max-width:640px}.policy-banner-badge{text-transform:uppercase;letter-spacing:.5px;background:#ffffff26;border:1px solid #ffffff40;border-radius:20px;align-items:center;gap:6px;margin-bottom:8px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.policy-banner-left h3{color:#fff;font-size:18px;font-weight:700;font-family:var(--font-serif,inherit);margin:0 0 6px}.policy-banner-left p{color:#e0f2fe;margin:0;font-size:12.5px;line-height:1.55}.policy-banner-stats{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.policy-stat-item{flex-direction:column;display:flex}.policy-stat-label{text-transform:uppercase;letter-spacing:.5px;color:#bae6fd;font-size:10.5px;font-weight:600}.policy-stat-value{color:#fff;margin:2px 0;font-size:20px;font-weight:800}.policy-stat-item.is-commission .policy-stat-value{color:#a7f3d0}.policy-stat-item.is-work .policy-stat-value{color:#7dd3fc}.policy-stat-sub{color:#cbd5e1;font-size:11px}.policy-stat-divider{background:#fff3;width:1px;height:36px}@media (width<=768px){.policy-stat-divider{display:none}}.portal{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.portal-top{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);min-height:var(--chrome-height,68px);align-items:center;display:flex;position:sticky;top:0}.portal-top-inner{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.portal-brand{align-items:center;gap:16px;min-width:0;display:flex}.portal-brand .logo-name{color:var(--ink)}.portal-brand .logo-sub{color:var(--gold-600)}.portal-brand .logo-tag{color:var(--ink-3)}.portal-tag{border-left:1px solid var(--line);color:var(--teal-700);white-space:nowrap;padding-left:16px;font-size:13px;font-weight:500}.portal-top-actions{align-items:center;gap:12px;display:flex}.portal-user-chip{border-radius:var(--radius);background:#1f6f780d;border:1px solid #1f6f781f;align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.portal-user-chip .avatar{background:var(--teal-700);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12.5px;font-weight:600;display:grid}.portal-user-chip .user-meta{flex-direction:column;line-height:1.25;display:flex}.portal-user-chip .user-meta strong{color:var(--ink);font-size:13px;font-weight:600}.portal-user-chip .user-meta span{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:11px;overflow:hidden}.portal-preview{background:var(--gold-100);text-align:center;color:var(--gold-600);padding:9px 24px;font-size:13px}.portal-main{box-sizing:border-box;flex-direction:column;gap:20px;width:100%;max-width:1200px;margin:0 auto;padding:24px;display:flex}.portal-hero{padding:26px 28px 22px}.portal-hero-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.portal-hero h1{font-family:var(--font-serif);color:var(--ink);margin:0 0 6px;font-size:32px;font-weight:500}.portal-hero p{color:var(--ink-2);margin:0;font-size:15px}.portal-service{border-radius:var(--radius);background:var(--teal-50);text-align:right;flex-direction:column;gap:3px;max-width:320px;padding:10px 14px;display:flex}.portal-service span{color:var(--ink-3);font-size:13px}.portal-service strong{color:var(--teal-900);font-size:15.5px}.portal-hero .portal-closed{border-radius:var(--radius);background:var(--bg);padding:12px 14px}.journey{grid-template-columns:repeat(var(--steps,5), 1fr);margin:0;padding:0;list-style:none;display:grid}.journey li{text-align:center;flex-direction:column;align-items:center;gap:8px;animation:.4s cubic-bezier(.2,.7,.2,1) backwards rise;display:flex;position:relative}.journey li:not(:first-child):before{content:"";background:var(--line);width:100%;height:2px;position:absolute;top:14px;right:50%}.journey li.is-done:before,.journey li.is-current:before{background:var(--green)}.journey-dot{z-index:1;border:2px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--ink-3);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;transition:background .3s,border-color .3s;display:grid;position:relative}.is-done .journey-dot{border-color:var(--green);background:var(--green);color:#fff}.is-current .journey-dot{border-color:var(--teal-700);color:var(--teal-700);box-shadow:0 0 0 4px var(--teal-100)}.journey-label{color:var(--ink-3);font-size:13.5px}.is-done .journey-label{color:var(--ink-2)}.is-current .journey-label{color:var(--ink);font-weight:600}.portal-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.portal-col{flex-direction:column;gap:20px;min-width:0;display:flex}.portal-card{padding:20px 22px}.portal-card h2{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:20px;font-weight:500}.portal-card>h2{margin-bottom:14px}.portal-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.portal-empty,.portal-note{color:var(--ink-2);margin:0;font-size:15px;line-height:1.55}.portal-note{border-radius:var(--radius);background:var(--amber-bg);color:var(--amber);margin-top:12px;padding:10px 12px;font-size:14px}.quote-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.quote-summary>div{background:var(--surface);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.quote-summary span{color:var(--ink-3);font-size:13px}.quote-summary strong{color:var(--ink);font-size:15px;font-weight:600}.quote-summary>.quote-summary-total{background:var(--teal-50)}.quote-summary-total strong{font-family:var(--font-serif);color:var(--teal-900);font-size:21px}.portal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.portal-confirm,.portal-message{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:12px;padding:14px;animation:.25s backwards rise;display:flex}.portal-message{margin-top:14px}.portal-confirm p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.portal-sent{border-radius:var(--radius);background:var(--green-bg);color:var(--green);align-items:center;gap:8px;margin:14px 0 0;padding:10px 12px;font-size:13px;animation:.25s both fade;display:flex}.portal-steps{margin-top:12px}.portal-steps .check-step{cursor:default}.portal-docs{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-docs li{border-top:1px solid var(--line-soft);color:var(--teal-700);align-items:center;gap:12px;padding:10px 0;animation:.25s both fade;display:flex}.portal-docs li:first-child{border-top:none}.portal-docs li>span{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-docs strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.portal-docs .muted{font-size:13px}.portal-contact{flex-direction:column;gap:10px;display:flex}.portal-contact>a:not(.btn),.portal-contact>span{color:var(--ink-2);overflow-wrap:anywhere;align-items:center;gap:8px;font-size:14px;display:flex}.portal-contact>a:not(.btn):hover{color:var(--teal-700)}.portal-contact>a:not(.btn) svg,.portal-contact>span svg{color:var(--ink-3);flex-shrink:0}.portal-contact .btn-whatsapp{justify-content:center;margin-top:6px}.portal-person{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;margin-bottom:2px;padding-bottom:12px;display:flex}.portal-person .avatar{width:40px;height:40px;font-size:14px}.portal-person>span:last-child{flex-direction:column;gap:2px;display:flex}.portal-person strong{color:var(--ink);font-size:15px}.portal-person .muted{font-size:13px}.portal-facts{flex-direction:column;gap:12px;margin:0;display:flex}.portal-facts dt{color:var(--ink-3);font-size:13px}.portal-facts dd{color:var(--ink);margin:2px 0 0;font-size:15px}.portal-foot{text-align:center;color:var(--ink-3);margin-top:auto;padding:18px 24px;font-size:13px}@media (width<=900px){.portal-grid{grid-template-columns:1fr}.quote-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-top-inner{padding:10px 16px}.portal-brand .logo-text,.portal-tag{display:none}.portal-top .btn{white-space:nowrap;padding:0 12px}.portal .hide-sm{display:none}.portal-brand{overflow:hidden}.portal-top-actions{flex-shrink:0;gap:6px}.portal-brand:after{text-overflow:ellipsis;white-space:nowrap;content:"Client Portal";font-family:var(--font-serif);color:var(--ink);font-size:17px;overflow:hidden}.portal-main{gap:16px;padding:16px}.portal-hero{padding:18px 16px}.portal-hero-head{flex-direction:column;gap:14px;margin-bottom:20px}.portal-hero h1{font-size:22px}.portal-service{text-align:left;align-self:stretch;max-width:none}.journey{grid-template-columns:1fr;gap:12px}.journey li{text-align:left;flex-direction:row}.journey li:not(:first-child):before{width:2px;height:12px;top:-12px;left:14px;right:auto}.portal-card{padding:16px}.portal-actions .btn{flex:auto;justify-content:center}}.portal-service select{border:1px solid var(--teal-200);background:var(--surface);border-radius:6px;height:32px;margin-top:6px;padding:0 8px;font-size:12.5px}.project-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.project-tabs button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;transition:border-color .15s,background .15s;display:flex}.project-tabs button strong{color:var(--ink);font-size:14.5px}.project-tabs button span{color:var(--ink-3);font-size:12.5px}.project-tabs button.is-active{border-color:var(--teal-600);background:var(--teal-50)}.project-meta{color:var(--ink-2);margin:0 0 16px;font-size:14px}.project-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.portal-card h3{color:var(--ink);align-items:center;gap:8px;margin:0 0 10px;font-size:14.5px;font-weight:600;display:flex}.portal-card h3 .muted{font-weight:400}.portal-card h3 svg{color:var(--teal-700)}.project-authority{color:var(--ink-2);margin:-4px 0 10px;font-size:13.5px}.milestones{flex-direction:column;margin:12px 0 0;padding:0;list-style:none;display:flex}.milestones li{color:var(--ink-3);grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:7px 0;font-size:14px;animation:.3s both fade;display:grid;position:relative}.milestones li:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:25px;bottom:-7px;left:8px}.milestones li.is-done:not(:last-child):after{background:var(--green)}.ms-dot{z-index:1;border:2px solid var(--line);background:var(--surface);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:relative}.milestones .is-done .ms-dot{border-color:var(--green);background:var(--green)}.milestones .is-current .ms-dot{border-color:var(--teal-700);box-shadow:0 0 0 3px var(--teal-100)}.milestones .is-done,.milestones .is-current{color:var(--ink)}.milestones .is-current .ms-label{font-weight:600}.ms-when{color:var(--ink-3);white-space:nowrap;font-size:13px}.milestones .is-current .ms-when{color:var(--teal-700);font-weight:500}.portal-empty.small{font-size:14px}.letters-title{border-top:1px solid var(--line-soft);padding-top:16px;margin-top:20px!important}.portal-docs li>span{flex:1}.portal-docs .btn-small{flex-shrink:0}.portal-updates{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-updates li{border-left:2px solid var(--line);padding:0 0 14px 18px;animation:.3s both fade;position:relative}.portal-updates li:last-child{border-left-color:#0000;padding-bottom:0}.portal-updates li:before{content:"";background:var(--teal-400);width:10px;height:10px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;position:absolute;top:3px;left:-6px}.portal-updates li.is-you:before{background:var(--gold-500)}.portal-updates li.is-letter:before{background:var(--green)}.portal-updates li.is-upcoming:before{background:var(--surface);border:2px solid var(--teal-700);width:8px;height:8px}.portal-updates .muted{font-size:12.5px}.portal-updates p{color:var(--ink);margin:2px 0 0;font-size:14px;line-height:1.45}.portal-sent span{line-height:1.45}@media (width<=640px){.project-columns{grid-template-columns:1fr;gap:18px}.portal-docs .btn-small{padding:0 10px}.portal-docs strong{white-space:normal;overflow-wrap:anywhere}}.done-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.done-list>li{border-top:1px solid var(--line-soft)}.done-list>li:first-child{border-top:none}.done-row{align-items:center;gap:12px;padding:10px 0;display:flex}.done-tick{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.done-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.done-text strong{color:var(--ink);font-size:15px;font-weight:500}.done-text .muted{font-size:13.5px}.done-body{padding:4px 0 16px 34px;animation:.25s backwards rise}.portal-bare .portal-card-head h2{display:none}.portal-bare .portal-card-head{justify-content:flex-start;margin-bottom:12px}.journey-note{color:var(--teal-700);margin-top:-4px;font-size:11.5px;font-weight:500}@media (width<=640px){.done-body{padding-left:0}.journey-note{margin:0 0 0 auto}}.portal-band{background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-line);position:relative;overflow:hidden}.band-range{pointer-events:none;width:min(50%,780px);height:100%;animation:.9s cubic-bezier(.2,.7,.2,1) .1s backwards rise;position:absolute;bottom:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 40%);mask-image:linear-gradient(90deg,#0000 0,#000 40%)}.portal-band.is-compact .band-range{aspect-ratio:760/300;width:auto}.portal-band-inner{box-sizing:border-box;max-width:1200px;margin:0 auto;padding:26px 24px 84px;animation:.4s both fade;position:relative}.portal-band.is-compact .portal-band-inner{padding:18px 24px 52px}.portal-band h1,.band-title{font-family:var(--font-serif);color:var(--ink);margin:0 0 6px;font-size:34px;font-weight:500}.band-lead,.portal-band .portal-hero-head p{color:var(--ink-2);margin:0;font-size:15px}.portal-band .portal-hero-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px}.portal-band .portal-service{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:999px;flex-flow:wrap;align-items:center;gap:6px 10px;max-width:none;padding:6px 12px}.portal-band .portal-service select{margin-top:0}.portal-band .portal-closed{border-radius:var(--radius);background:var(--surface);margin:0;padding:12px 14px}.portal-band .journey-dot{background:var(--surface)}.portal-band .is-done .journey-dot{background:var(--green)}@media (width>=1280px){.portal-band:not(.is-compact) .portal-band-inner{padding-right:440px}}@media (width<=1279px){.band-range{opacity:.35;width:70%}}.portal-band+.portal-main{margin-top:-60px;position:relative}.portal-band.is-compact+.portal-main{margin-top:-40px}.portal-card h2.card-title-icon{align-items:center;gap:10px;display:flex}.title-icon{background:var(--teal-50);width:30px;height:30px;color:var(--teal-700);border-radius:8px;flex-shrink:0;place-items:center;display:grid}@media (width<=640px){.portal-band-inner{padding:20px 16px 64px}.portal-band.is-compact .portal-band-inner{padding:18px 16px 52px}.portal-band h1,.band-title{font-size:23px}.band-range{opacity:.3;width:100%}.portal-band+.portal-main{margin-top:-44px}}.portal-stages{margin:14px 0 6px}.portal-stage-caption{display:none}@media (width<=640px){.portal .portal-stages{grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.portal .portal-stages li{justify-content:center;padding:0;display:flex}.portal .portal-stages li:not(:first-child):before{width:100%;height:2px;display:block;top:11px;left:auto;right:50%}.portal .portal-stages .erm-dot{width:24px;height:24px;font-size:11px}.portal .portal-stages strong{display:none}.portal-stage-caption{color:var(--ink);margin:10px 0 0;font-size:13.5px;font-weight:600;display:block}}.portal-stage-note{margin:8px 0 4px;font-size:12.5px}.portal-bell{position:relative}.portal-bell-count{background:var(--red);min-width:17px;height:17px;box-shadow:0 0 0 2px var(--surface);text-align:center;color:#fff;border-radius:9px;padding:0 4px;font-size:10.5px;font-weight:700;line-height:17px;position:absolute;top:2px;right:2px}.portal-bell-menu{width:min(340px,100vw - 32px);right:0}.portal-bell-item{flex-direction:column;gap:2px;padding:9px 14px;font-size:13px;display:flex}@media (width<=900px){.portal-grid>.portal-col{display:contents}.portal-quote{order:1}.portal-updates-card{order:2}.portal-steps-card,.portal-payments{order:3}.portal-questions{order:4}.portal-documents{order:5}.portal-completed{order:6}.portal-contact{order:7}.portal-details{order:8}}.portal-help-bar{display:none}@media (width<=640px){.portal-help-bar{z-index:20;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:1fr 1fr;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #0f2a3d14}.portal-help-bar .btn{justify-content:center}.portal:has(.portal-help-bar) .portal-main{padding-bottom:84px}}.pay-dues,.pay-history{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pay-dues li,.pay-history li{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;display:grid}.pay-history li{grid-template-columns:minmax(0,1fr) auto}.pay-dues li:first-child,.pay-history li:first-child{border-top:none}.pay-dues span,.pay-history li>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.pay-dues strong,.pay-history strong{color:var(--ink);font-size:15px;font-weight:600}.pay-dues .muted,.pay-history .muted{font-size:13.5px}.pay-dues b{font-family:var(--font-serif);white-space:nowrap;font-size:18px}.pay-history-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 4px;font-size:13px;font-weight:600}.pay-rejected{color:var(--red);font-size:13px}.pay-drawer{width:min(600px,100vw)}.pay-step{margin-bottom:22px}.pay-step h3{color:var(--ink);align-items:center;gap:10px;margin:0 0 12px;font-size:16.5px;display:flex}.pay-step h3 span{background:var(--teal-50);width:24px;height:24px;color:var(--teal-700);border-radius:50%;place-items:center;font-size:12px;display:grid}.pay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.pay-grid input[type=file]{height:auto;padding:6px;font-size:12.5px}.pay-methods{border:1px solid var(--line);background:var(--bg);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;padding:16px;display:grid}.pay-upi{flex-direction:column;align-items:center;gap:4px;font-size:12px;display:flex}.pay-qr{width:170px;height:170px;box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:10px;place-items:center;display:grid}.pay-qr-empty{text-align:center;color:var(--ink-3);padding:16px;font-size:12px}.pay-bank{flex-direction:column;gap:10px;margin:0;display:flex}.pay-bank dt{color:var(--ink-3);font-size:13px}.pay-bank dd{color:var(--ink);margin:1px 0 0;font-size:15px;font-weight:500}.pay-done{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.pay-done h3{margin:6px 0 0;font-size:18px}.pay-done-icon{background:var(--green-bg);width:52px;height:52px;color:var(--green);border-radius:50%;place-items:center;display:grid}@media (width<=640px){.pay-grid,.pay-methods{grid-template-columns:1fr}.pay-methods{justify-items:center}.pay-bank{width:100%}}.pay-drawer .lead-drawer-title{min-width:0}.pay-drawer .lead-drawer-title h2{overflow-wrap:anywhere}.portal-journey{margin-top:22px}.portal-journey-caption{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:600;display:flex}.portal-journey-caption select{padding:2px 6px;font-size:12px}.vendor-shell{background:var(--bg);min-height:100vh;display:flex;position:relative}.vendor-sidebar{background:var(--sidebar-bg,#dcefe2);border-right:1px solid var(--sidebar-line,#bfdcc9);z-index:40;flex-direction:column;flex-shrink:0;width:260px;height:100vh;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.vendor-sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:39;opacity:0;background:#0f172a73;transition:opacity .2s;display:none;position:fixed;inset:0}.vendor-sidebar-brand{height:var(--chrome-height,68px);border-bottom:1px solid var(--sidebar-line,#bfdcc9);background:var(--sidebar-bg,#dcefe2);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.vendor-sidebar-brand-link{cursor:pointer;align-items:center;display:flex}.vendor-sidebar-close{color:var(--sidebar-text,#23463a);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;display:none}.vendor-sidebar-close:hover{background:var(--sidebar-hover,#165c3a14)}.vendor-sidebar-profile{background:#ffffffd9;border:1px solid #1f6f7829;border-radius:10px;align-items:center;gap:12px;margin:12px 12px 8px;padding:12px 14px;display:flex;box-shadow:0 1px 3px #0000000a}.vendor-profile-avatar{background:var(--teal-700);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid;box-shadow:0 2px 4px #1f6f7833}.vendor-profile-info{flex-direction:column;min-width:0;line-height:1.25;display:flex;overflow:hidden}.vendor-profile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.vendor-profile-company{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11.5px;overflow:hidden}.vendor-profile-tags{gap:5px;margin-top:5px;display:flex}.vendor-tag-badge{background:var(--teal-100);color:var(--teal-800);font-size:10px;font-weight:700;font-family:var(--font-mono,monospace);border-radius:4px;padding:1px 6px}.vendor-type-badge{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.vendor-sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 12px;display:flex;overflow:hidden auto}.vendor-sidebar-nav::-webkit-scrollbar{display:none}.vendor-nav-group{margin-bottom:4px}.vendor-group-header{text-transform:uppercase;letter-spacing:.05em;width:100%;color:var(--sidebar-text-muted,#406050);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:11px;font-weight:700;transition:color .15s;display:flex}.vendor-group-header:hover{color:var(--teal-900)}.vendor-group-header.has-active{color:var(--teal-800);font-weight:800}.vendor-group-arrow{color:inherit;opacity:.7}.vendor-group-items{flex-direction:column;gap:2px;margin-top:2px;display:flex}.vendor-nav-item{width:100%;height:42px;color:var(--sidebar-text,#23463a);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.vendor-nav-item:hover{background:var(--sidebar-hover,#165c3a14);color:var(--teal-900)}.vendor-nav-item.is-active{background:linear-gradient(135deg, var(--teal-700) 0%, #175a61 100%);border-radius:8px;font-weight:600;box-shadow:0 2px 6px #0e4a5238;color:#fff!important}.vendor-nav-item.is-active .vendor-item-icon{color:#fff}.vendor-item-icon{color:var(--sidebar-icon,#2d5a47);flex-shrink:0;place-items:center;display:grid}.vendor-item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.vendor-badge{color:inherit;background:#00000014;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.vendor-nav-item.is-active .vendor-badge{color:#fff;background:#ffffff40}.vendor-badge.tone-urgent{color:#fff;background:#ef4444}.vendor-sidebar-footer{border-top:1px solid var(--sidebar-line,#bfdcc9);flex-shrink:0;width:100%;margin-top:auto;padding:14px 12px 16px;position:relative;overflow:hidden}.vendor-footer-actions{margin-bottom:12px}.vendor-signout-btn{color:#b91c1c;cursor:pointer;background:#ef444414;border:1px solid #ef444433;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.vendor-signout-btn:hover{background:#ef444426;border-color:#ef44444d}.vendor-sidebar-motto{font-family:var(--font-serif,"Fraunces", Georgia, serif);color:var(--sidebar-text,#23463a);margin:0 0 10px;font-size:13.5px;font-weight:600;line-height:1.25}.vendor-sidebar-motto:after{content:"";background:var(--gold-500,#c8943a);width:24px;height:2px;margin-top:6px;display:block}.vendor-sidebar-mountains{pointer-events:none;width:100%;height:90px;display:block}.vendor-main-wrap{flex-direction:column;flex:1;min-width:0;max-width:calc(100vw - 260px);min-height:100vh;margin-left:260px;transition:margin-left .25s,max-width .25s;display:flex}.vendor-menu-toggle{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;display:none}.vendor-menu-toggle:hover{background:var(--surface-muted)}@media (width<=1023px){.vendor-main-wrap{max-width:100vw!important;margin-left:0!important}.vendor-sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 20px 25px -5px #0003}.vendor-sidebar.is-mobile-open{transform:translate(0)}.vendor-sidebar-overlay.is-visible{opacity:1;pointer-events:auto;display:block}.vendor-sidebar-close,.vendor-menu-toggle{display:flex}}.dept-portal-badge{color:var(--teal-800,#164e54);background:linear-gradient(135deg,#1f6f781f 0%,#c8943a1f 100%);border:1px solid #1f6f7840;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.dept-hero-schemes{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.dept-scheme-chip{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex;box-shadow:0 1px 2px #0000000a}.dept-scheme-chip .chip-count{background:var(--teal-50,#f0fdf4);color:var(--teal-800,#164e54);border:1px solid var(--teal-200,#bbf7d0);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.attendance-mode-nav{background:var(--surface-muted,#f1f5f9);border:1px solid var(--line);border-radius:10px;align-items:center;gap:4px;margin-bottom:16px;padding:4px;display:flex}.attendance-mode-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:flex}.attendance-mode-btn:hover{color:var(--ink);background:#fff9}.attendance-mode-btn.is-active{background:var(--surface,#fff);color:var(--teal-800,#164e54);box-shadow:0 2px 6px #00000014}.daily-kpi-bar{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px;display:grid}.daily-kpi-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.daily-kpi-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600}.daily-kpi-val{color:var(--ink);align-items:baseline;gap:6px;font-size:20px;font-weight:700;display:flex}.daily-kpi-item.is-present{border-left:4px solid #16a34a}.daily-kpi-item.is-absent{border-left:4px solid #dc2626}.daily-kpi-item.is-leave{border-left:4px solid #d97706}.daily-kpi-item.is-tour{border-left:4px solid #2563eb}.status-btn-group{background:var(--surface-muted,#f1f5f9);border:1px solid var(--line);border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.status-btn{cursor:pointer;color:var(--ink-3);background:0 0;border:none;border-radius:4px;padding:4px 9px;font-size:12px;font-weight:700;line-height:1;transition:all .12s}.status-btn:hover{color:var(--ink);background:#0000000f}.status-btn.is-active-P{color:#fff;background:#16a34a;box-shadow:0 1px 3px #16a34a59}.status-btn.is-active-A{color:#fff;background:#dc2626;box-shadow:0 1px 3px #dc262659}.status-btn.is-active-L{color:#fff;background:#d97706;box-shadow:0 1px 3px #d9770659}.status-btn.is-active-OD{color:#fff;background:#2563eb;box-shadow:0 1px 3px #2563eb59}.remarks-input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:130px;color:var(--ink);border-radius:4px;padding:4px 8px;font-size:12px}.remarks-input:focus{border-color:var(--teal-600);outline:none;box-shadow:0 0 0 2px #1f6f7826}.sync-badge{color:#16a34a;align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.flowchart-wrapper{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:14px 16px;box-shadow:0 1px 3px #0000000a}.flowchart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.flowchart-title{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:600;display:flex}.flowchart-pipeline{scrollbar-width:thin;align-items:stretch;gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.flowchart-step{background:var(--surface-muted,#f8fafc);border:1.5px solid var(--line);cursor:pointer;border-radius:9px;flex-direction:column;flex:1;justify-content:space-between;gap:6px;min-width:165px;padding:9px 11px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.flowchart-step:hover{border-color:var(--teal-600);background:var(--surface);transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.flowchart-step.is-completed{background:#f0fdf499;border-color:#86efac}.flowchart-step.is-active{border-color:var(--teal-700);background:#1f6f780f;box-shadow:0 0 0 3px #1f6f7826}.flowchart-step-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.flowchart-step-num{background:var(--line);width:20px;height:20px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:10.5px;font-weight:700;display:grid}.flowchart-step.is-completed .flowchart-step-num{color:#fff;background:#16a34a}.flowchart-step.is-active .flowchart-step-num{background:var(--teal-700);color:#fff}.flowchart-step-badge{color:var(--ink-2);background:#0000000d;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.flowchart-step.is-completed .flowchart-step-badge{color:#166534;background:#16a34a1f}.flowchart-step.is-active .flowchart-step-badge{color:var(--teal-800);background:#1f6f781f}.flowchart-step-name{color:var(--ink);font-size:12px;font-weight:600;line-height:1.3}.flowchart-step-sub{color:var(--ink-3);font-size:10.5px;line-height:1.25}.flowchart-connector{color:var(--ink-4,#94a3b8);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 2px;display:flex}.tree-flowchart{flex-direction:column;gap:10px;padding:4px 0;display:flex}.tree-root-node{background:linear-gradient(135deg, var(--teal-800) 0%, var(--teal-900) 100%);color:#fff;border-radius:8px;align-items:center;gap:8px;width:fit-content;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #0000001a}.tree-branches{border-left:2px dashed var(--teal-300,#93c5fd);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-left:16px;padding-left:18px;display:grid;position:relative}.tree-branch-card{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;transition:all .15s;display:flex;position:relative}.tree-branch-card:hover{background:var(--surface);border-color:var(--teal-600);box-shadow:0 2px 8px #0000000d}.tree-branch-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.tree-sub-nodes{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.tree-leaf-node{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.tree-leaf-node strong{color:var(--ink)}.issue-flow-steps{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:4px;margin:8px 0;padding:6px 10px;display:flex;overflow-x:auto}.issue-flow-step{color:var(--ink-3);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 6px;font-size:11px;font-weight:600;display:flex}.issue-flow-step.is-done{color:#166534;background:#16a34a1a}.issue-flow-step.is-current{color:var(--teal-800);background:var(--surface);box-shadow:0 1px 3px #00000014}.portal-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f2a3d8c;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.portal-modal-card{background:var(--surface,#fff);border:1px solid var(--line,#e1e8eb);border-radius:12px;flex-direction:column;width:100%;max-height:92vh;display:flex;overflow-y:auto;box-shadow:0 20px 45px #0f2a3d33}.portal-modal-header{border-bottom:1px solid var(--line,#e1e8eb);background:var(--surface-muted,#f8fafc);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dept-tabs-nav{background:var(--surface,#fff);border-bottom:1px solid var(--line,#e2e8f0);z-index:30;scrollbar-width:thin;align-items:center;gap:6px;padding:10px 20px;display:flex;position:sticky;top:56px;overflow-x:auto;box-shadow:0 1px 3px #00000008}.dept-tab-btn{color:var(--ink-2,#475569);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.dept-tab-btn:hover{background:var(--surface-muted,#f1f5f9);color:var(--ink,#0f172a)}.dept-tab-btn.is-active{background:var(--teal-50,#f0fdfa);border-color:var(--teal-200,#99f6e4);color:var(--teal-800,#115e59);font-weight:600;box-shadow:0 1px 2px #0000000d}.dept-tab-badge{background:var(--surface-muted,#e2e8f0);color:var(--ink-2,#475569);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.dept-tab-btn.is-active .dept-tab-badge{background:var(--teal-700,#0f766e);color:#fff}.dept-tab-badge.badge-urgent{color:#dc2626;background:#fee2e2}.dept-tab-btn.is-active .dept-tab-badge.badge-urgent{color:#fff;background:#dc2626}.overview-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;display:grid}.overview-kpi-card{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;transition:all .15s;display:flex;position:relative;overflow:hidden}.overview-kpi-card:hover{border-color:var(--teal-600,#0d9488);transform:translateY(-1px);box-shadow:0 3px 10px #0000000f}.overview-kpi-top{color:var(--ink-3,#64748b);justify-content:space-between;align-items:center;font-size:12px;font-weight:500;display:flex}.overview-kpi-val{color:var(--ink,#0f172a);font-size:21px;font-weight:700;line-height:1.2}.overview-kpi-sub{color:var(--ink-3,#64748b);font-size:11.5px}.section-view{flex-direction:column;gap:16px;width:100%;animation:.2s ease-in-out fadeIn;display:flex}.module-page,.project-page{font-family:var(--font-sans);color:var(--ink);flex-direction:column;gap:16px;font-size:15px;display:flex}.module-page h1,.project-page h1,.module-page .page-title h1,.project-page .page-title h1{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);font-size:34px;font-weight:600}.module-page h2,.project-page h2,.module-page .card-header h2{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);font-size:18px;font-weight:600}.module-page h3,.project-page h3{font-family:var(--font-serif);color:var(--ink);font-size:16px;font-weight:600}.module-page .page-header{min-height:68px}.num{font-variant-numeric:tabular-nums;text-align:right!important}.status-pill,.quote-status,.role-pill{background:var(--tone-bg);color:var(--tone);font-size:13px;font-weight:500}.filter-tabs{border-bottom:1px solid var(--line);padding:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.fu-group{padding:6px 20px 10px}.fu-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--tone);align-items:center;gap:8px;margin:12px 0 6px;font-size:14px;font-weight:600;display:flex}.fu-group-title span{background:var(--tone-bg);border-radius:999px;padding:1px 8px;font-size:12.5px}.fu-list{margin:0;padding:0;list-style:none}.fu-row{border-radius:10px;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:11px 12px;transition:background .15s;animation:.3s both rise;display:grid}.fu-row:hover{background:var(--bg)}.fu-dot{background:var(--tone);width:10px;height:10px;box-shadow:0 0 0 4px var(--tone-bg);border-radius:50%}.fu-main{flex-direction:column;gap:2px;min-width:0;display:flex}.fu-main strong{font-size:14.5px;font-weight:500}.fu-main .muted{font-size:13px}.fu-main a{color:var(--teal-700)}.fu-when{color:var(--ink-2);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:3px;font-size:13.5px;display:flex}.fu-type{background:var(--bg);color:var(--ink-2)}.fu-actions{gap:6px;display:flex}.fu-actions .btn,.fu-inline .btn{height:34px;padding:0 12px;font-size:13.5px}.fu-inline{flex-wrap:wrap;gap:6px;margin-top:8px;animation:.2s fade;display:flex}.fu-inline input{border:1px solid var(--line);border-radius:6px;flex:200px;height:32px;padding:0 10px;font-size:13px}.fu-inline input[type=date],.fu-inline input[type=time]{flex:0 150px}.quote-builder{width:min(760px,100vw)}.builder-lead{margin:16px 0}.line-items{border-collapse:collapse;width:100%;font-size:14px}.line-items th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);padding:8px 6px;font-size:13px;font-weight:600}.line-items td{border-bottom:1px solid var(--line-soft);padding:6px}.line-items input{border:1px solid var(--line);border-radius:6px;width:100%;height:38px;padding:0 10px;font-size:14px}.line-items input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50);outline:none}.line-items .qty{width:60px}.line-items tr{animation:.2s fade}.builder-bottom{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:24px;margin-top:18px;display:grid}.totals{background:var(--bg);border-radius:10px;flex-direction:column;gap:6px;margin:0;padding:14px 16px;font-size:14.5px;display:flex}.totals div{justify-content:space-between;display:flex}.totals dt{color:var(--ink-2)}.totals dd{font-variant-numeric:tabular-nums;margin:0}.totals .grand{border-top:1px solid var(--chrome-line);margin-top:4px;padding-top:8px;font-size:16px;font-weight:600}.totals .grand dd{font-family:var(--font-serif);color:var(--teal-900);font-size:21px}.quote-view{width:min(760px,100vw)}.quote-doc{border:1px solid var(--line);background:#fff;border-radius:12px;margin:20px 0;padding:28px;box-shadow:0 10px 30px #0f2a3d0f}.quote-head{border-bottom:2px solid var(--gold-500);justify-content:space-between;gap:20px;padding-bottom:18px;display:flex}.quote-head .logo-name{color:var(--ink)}.quote-head .logo-sub{color:var(--gold-600)}.quote-head .logo-tag{color:var(--ink-3)}.quote-company{color:var(--ink-2);text-align:right;flex-direction:column;align-items:flex-end;font-size:13px;display:flex}.quote-company strong{color:var(--ink);font-size:14.5px}.quote-meta{justify-content:space-between;gap:20px;margin:18px 0;font-size:14px;display:flex}.quote-meta>div{flex-direction:column;display:flex}.quote-meta>div strong{font-family:var(--font-serif);font-size:18px}.quote-meta dl{grid-template-columns:auto auto;gap:3px 14px;margin:0;display:grid}.quote-meta dt{color:var(--ink-3)}.quote-meta dd{margin:0;font-weight:500}.quote-lines{border-collapse:collapse;width:100%;font-size:14.5px}.quote-lines th{background:var(--teal-900);color:#fff;text-align:left;padding:10px 12px;font-weight:500}.quote-lines td{border-bottom:1px solid var(--line-soft);padding:10px 12px}.quote-totals{width:280px;margin:14px 0 0 auto}.quote-terms{color:var(--ink-2);margin-top:22px;font-size:13.5px}.quote-terms p{margin:4px 0 0;line-height:1.6}.quote-actions{flex-wrap:wrap}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{box-shadow:none;border:none;margin:0;position:absolute;inset:0}}.workflow-card{flex-direction:column;gap:12px;padding:16px 16px 14px;display:flex}.workflow-card.is-complete{border-color:#b8e2cc}.workflow-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.workflow-card header>div{flex-direction:column;min-width:0;display:flex}.workflow-company{font-family:var(--font-serif);color:var(--ink);font-size:18px;font-weight:600}.workflow-company:hover{color:var(--teal-700)}.workflow-card header .muted{font-size:13px}.workflow-progress{color:var(--ink-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;font-weight:600;display:grid}.workflow-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;font-size:13.5px;display:flex}.workflow-foot .btn{height:36px;font-size:13.5px}.active-pill{background:var(--green-bg);color:var(--green)}.report-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.report-chart{height:280px;padding:0 14px 16px}.report-bars{padding-top:4px}.conv-cell{align-items:center;gap:8px;display:inline-flex}.conv-track{background:var(--line-soft);border-radius:999px;width:60px;height:6px;overflow:hidden}.conv-track span{background:var(--teal-600);transform-origin:0;height:100%;animation:.7s both grow-x;display:block}.module-page .table-wrap{padding:12px 20px 14px}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.settings-body{flex-direction:column;gap:12px;padding:0 20px 20px;display:flex}.settings-actions{justify-content:flex-end;display:flex}.saved-note{color:var(--green);align-items:center;gap:4px;font-weight:600;animation:.2s fade;display:inline-flex}.team-list,.service-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.team-list li{border-bottom:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;font-size:13.5px;display:grid}.small-avatar{width:28px;height:28px;font-size:12px}.access-table{border-collapse:collapse;width:100%;font-size:12.5px}.access-table th{text-align:left;vertical-align:top;width:24%;padding:7px 10px 7px 0;font-weight:600}.access-table td{color:var(--ink-2);vertical-align:top;border-bottom:1px solid var(--line-soft);padding:7px 10px 7px 0}.access-table thead th{width:auto;color:var(--ink-3);font-size:12px;font-weight:500}.access-table th{border-bottom:1px solid var(--line-soft)}.messages-table .message-body p{max-width:560px;color:var(--ink-2);margin:2px 0 0;font-size:12.5px}.message-via{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.via-pill{background:var(--bg);color:var(--ink-2);align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;display:inline-flex}.via-pill.via-whatsapp svg{color:#1f9d55}.via-pill.via-email svg{color:var(--teal-700)}.message-attachment{color:var(--ink-3);align-items:center;gap:4px;margin-top:4px;font-size:12px;display:inline-flex}.messages-note{margin:0;padding:12px 20px 16px}.automation-table{border-collapse:collapse;width:100%;font-size:13px}.automation-table th{text-align:left;color:var(--ink-3);padding:0 8px 6px 0;font-size:12px;font-weight:500}.automation-table td{border-top:1px solid var(--line-soft);vertical-align:middle;padding:8px 8px 8px 0}.automation-table .align-center{text-align:center;width:72px}.automation-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal-700)}.settings-toggle{font-size:13.5px}.service-list li{border-bottom:1px solid var(--line-soft);flex-direction:column;padding:7px 0;font-size:13px;display:flex}.service-list .muted{font-size:12px}.reset-box{background:var(--red-bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.reset-box div{flex-direction:column;font-size:13px;display:flex}@media (width<=1100px){.report-row{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.fu-row{grid-template-columns:10px minmax(0,1fr)}.fu-when{grid-column:2;align-items:flex-start}.fu-actions{grid-column:2}.builder-bottom,.settings-grid{grid-template-columns:minmax(0,1fr)}.quote-doc{padding:16px 12px}.quote-lines{font-size:12px}.quote-lines th,.quote-lines td{padding:8px 5px}.quote-totals{width:100%}.quote-head,.quote-meta{flex-direction:column}.quote-company{text-align:left;align-items:flex-start}.fu-group{padding:6px 12px 10px}.module-page .table-wrap{padding:10px 12px 12px}}.global-search{flex:1;max-width:460px;position:relative}.global-search .mobile-search-trigger{display:none}.global-search .search{max-width:none}.search-results,.popover{z-index:45;background:var(--surface);border:1px solid var(--line);border-radius:12px;animation:.18s both rise;position:absolute;top:calc(100% + 6px);box-shadow:0 16px 40px #0f2a3d29}.search-results{max-height:420px;padding:6px;left:0;right:0;overflow-y:auto}.search-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;margin:8px 10px 4px;font-size:11px;font-weight:600;display:flex}.search-item{text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.search-item>span{flex-direction:column;min-width:0;display:flex}.search-item strong{font-size:13.5px;font-weight:500}.search-item .muted{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.search-item.is-active{background:var(--teal-50)}.search-empty{text-align:center;color:var(--ink-3);margin:0;padding:18px;font-size:13px}.popover-wrap{position:relative}.popover{width:340px;padding:6px;right:0}.notifications header{justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.notifications ul{max-height:380px;margin:0;padding:0;list-style:none;overflow-y:auto}.notifications li a{border-radius:8px;gap:10px;padding:9px 10px;display:flex}.notifications li a:hover{background:var(--bg)}.notifications li a>span:last-child{flex-direction:column;min-width:0;font-size:13px;display:flex}.notifications li strong{font-weight:500}.notifications li.is-unread strong{font-weight:600}.notifications .muted{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.note-icon{background:var(--tone-bg);width:28px;height:28px;color:var(--tone);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.popover-foot{margin:0;padding:8px 10px;font-size:12px}.user-menu{width:320px;max-height:calc(100vh - var(--chrome-height) - 16px);overscroll-behavior:contain;padding:8px;overflow:hidden auto}.user-menu-label{color:var(--ink-3);margin:2px 8px 6px;font-size:12px;font-weight:500}.user-menu-roles{flex-direction:column;gap:1px;display:flex}.role-row{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;border-radius:8px;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:8px 8px 8px 10px;font-size:13.5px;display:grid}.role-row:hover{background:var(--bg)}.role-row-person{color:var(--ink-3);font-size:12.5px}.role-row-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.role-row-brief{color:var(--ink-3);font-size:11.5px}.role-avatar-badge{background:var(--bg);width:32px;height:32px;color:var(--ink-2);border-radius:9px;place-items:center;display:grid}.role-row.is-selected .role-avatar-badge{background:var(--teal-700);color:#fff}.role-row-top{align-items:center;gap:6px;min-width:0;display:flex}.role-row-name{font-weight:600}.role-badge-chip{background:var(--bg);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:600;overflow:hidden}.role-row.is-selected .role-badge-chip{color:var(--teal-700);background:#fff}.role-row-text .role-row-person{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;overflow:hidden}.role-row.is-selected .role-row-brief{color:var(--teal-700)}.role-row-check{visibility:hidden;color:var(--teal-700)}.role-row.is-selected{background:var(--teal-50)}.role-row.is-selected .role-row-name{color:var(--teal-900);font-weight:600}.role-row.is-selected .role-row-person{color:var(--teal-700)}.role-row.is-selected .role-row-check{visibility:visible}.role-row-toggle{color:var(--ink-3);transition:transform .15s}.role-row[aria-expanded=true] .role-row-toggle{transform:rotate(180deg)}.role-members{border-left:2px solid var(--line);flex-direction:column;gap:1px;margin:2px 0 4px 12px;padding-left:8px;display:flex}.role-member{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 16px;gap:8px;padding-top:6px;padding-bottom:6px;font-size:13px}.role-member .role-row-person{font-size:12px}.menu-action{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.menu-action svg{color:var(--ink-3)}.menu-action:hover:not(:disabled){background:var(--bg)}.menu-action:disabled{opacity:.45;cursor:default}.menu-action-exit:hover:not(:disabled),.menu-action-exit:hover svg{color:var(--red)}.user-chip[aria-expanded=true]>svg{transform:rotate(180deg)}.user-chip>svg{transition:transform .15s}.popover-divider{background:var(--line);height:1px;margin:6px 4px}.role-badge{background:var(--gold-100);color:var(--gold-600);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;animation:.2s fade}.btn-whatsapp{color:#128c4b;border-color:#bfe8cf}.btn-whatsapp:hover{background:#e8f7ee;border-color:#128c4b}.duplicate-warning{background:var(--amber-bg);color:var(--amber);border-radius:8px;gap:10px;margin-top:14px;padding:10px 12px;font-size:13px;animation:.2s fade;display:flex}.duplicate-warning div{flex-direction:column;gap:2px;display:flex}.duplicate-warning a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.note-form select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:38px;padding:0 8px;font-size:13px}.timeline-item.type-contact .timeline-dot{border-color:var(--green)}.timeline-item.type-quote .timeline-dot{border-color:var(--gold-500)}.timeline-item.type-message .timeline-dot{border-color:var(--teal-400);border-style:dashed}.stat-card.is-link{color:inherit;cursor:pointer}@media (width<=640px){.global-search{position:static}.global-search .mobile-search-trigger{place-items:center;display:grid}.global-search.is-mobile-open .mobile-search-trigger{display:none}.popover{top:calc(var(--chrome-height) + 6px);width:auto;position:fixed;left:12px;right:12px}.search-results{top:calc(var(--chrome-height) + 6px);width:auto;max-height:calc(100vh - 80px);position:fixed;left:10px;right:10px}.role-badge{display:none}}.change-request{border-radius:var(--radius);background:var(--amber-bg);flex-direction:column;gap:4px;margin:20px 0 0;padding:14px 16px;font-size:13px;display:flex}.change-request strong{color:#8a5a0b}.change-request p{color:var(--ink);margin:0}.portal-links{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:6px 18px;margin-top:10px;padding-top:10px;display:flex}.project-stack{flex-direction:column;gap:14px;display:flex}.project-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.project-block>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-block>header div{flex-direction:column;gap:2px;min-width:0;display:flex}.project-block>header .muted{font-size:12px}.project-block h4{color:var(--ink);align-items:baseline;gap:8px;margin:8px 0 0;font-size:12.5px;font-weight:600;display:flex}.project-block h4 .muted{font-weight:400}.project-block .btn-whatsapp,.project-block .link-button{align-self:flex-start}.letter-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.letter-list li{border-top:1px solid var(--line-soft);color:var(--teal-700);align-items:center;gap:10px;padding:7px 0;animation:.25s both fade;display:flex}.letter-list li:first-child{border-top:none}.letter-list li>span{flex-direction:column;flex:1;min-width:0;display:flex}.letter-list li>.doc-actions{flex-direction:row;flex:none;align-items:center;gap:6px}.letter-list strong{color:var(--ink);font-size:13px;font-weight:500}.letter-list .muted{font-size:12px}.letter-form{border-radius:var(--radius);background:var(--bg);grid-template-columns:1fr 1fr;gap:10px;padding:12px;animation:.25s backwards rise;display:grid}.letter-form .field-wide,.letter-form-actions{grid-column:1/-1}.letter-form input[type=file]{height:auto;padding:6px;font-size:12.5px}.letter-form-actions{justify-content:flex-end;gap:8px;display:flex}.vault-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.vault-head h3{margin:0}.vault h4{color:var(--ink);align-items:baseline;gap:8px;margin:12px 0 4px;font-size:12.5px;font-weight:600;display:flex}.vault h4 .muted{font-weight:400}.progress-cell{min-width:150px}.progress-cell .progress{margin-bottom:4px}.cell-sub svg{vertical-align:-1px}.letters-page{padding:0 20px 14px}.approvals-glance .glance-body{grid-template-columns:310px 1fr;align-items:stretch;gap:28px;padding:0 20px 20px;display:grid}.glance-figures{flex-direction:column;justify-content:space-between;gap:10px;margin:0;display:flex}.glance-figures>div,.glance-figure-card{border-radius:var(--radius);background:var(--tone-bg);border-left:4px solid var(--tone);color:inherit;justify-content:space-between;align-items:center;padding:12px 16px;text-decoration:none;transition:all .15s;display:flex}a.glance-figure-card:hover{transform:translate(2px);box-shadow:0 2px 8px #0f2a3d14}.glance-figures dt{color:var(--ink);align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.glance-fig-icon{color:var(--tone);flex-shrink:0}.glance-figures dd{font-family:var(--font-sans);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:700;line-height:1}.glance-waiting{border-left:1px solid var(--line-soft);flex-direction:column;justify-content:space-between;padding-left:28px;display:flex}.glance-waiting-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.glance-waiting h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:0;font-size:12px;font-weight:600}.glance-waiting-count{color:var(--amber);background:var(--amber-bg);border-radius:10px;padding:1px 7px;font-size:11.5px;font-weight:500}.glance-waiting ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.glance-waiting li{border-top:none;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;transition:background .15s;display:flex}.glance-waiting li:hover{background:var(--bg)}.glance-item{flex-direction:column;min-width:0;font-size:13px;display:flex}.glance-item strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}a.glance-item:hover strong{color:var(--teal-700)}.glance-item .muted{color:var(--ink-3);margin-top:2px;font-size:12px}.glance-when{color:var(--ink-2);background:var(--bg);border:1px solid var(--line);white-space:nowrap;border-radius:12px;flex-shrink:0;padding:3px 9px;font-size:11.5px;font-weight:500}.glance-empty{padding:24px 0;font-size:13px}.no-access{text-align:center;color:var(--ink-3);flex-direction:column;align-items:center;gap:10px;display:flex}.no-access h1{font-family:var(--font-serif);color:var(--ink);font-size:24px}@media (width<=900px){.approvals-glance .glance-body{grid-template-columns:1fr;gap:20px}.glance-waiting{border-left:none;border-top:1px solid var(--line-soft);padding-top:16px;padding-left:0}}@media (width<=480px){.glance-figure-card{padding:10px 14px}.glance-figures dd{font-size:20px}}.link-button.show-more{margin:2px 0 10px 20px}.fu-group .link-button.show-more{margin:0 0 6px}.audit-what{min-width:280px;color:var(--ink);line-height:1.45}.audit-table .role-pill{margin-top:3px}.role-member .role-row-name{font-weight:500}.role-member .role-row-name,.role-member .role-row-person{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.role-member .role-row-person{text-align:right}.leads-page{flex-direction:column;gap:18px;display:flex}.leads-page .page-header{min-height:0}.leads-filters,.leads-card{overflow:hidden}.leads-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:18px;display:grid}.leads-insights{flex-direction:column;gap:18px;display:flex}.insight-card .card-header h2{font-size:17px}.insight-bars{flex-direction:column;gap:11px;margin:0;padding:0 20px 18px;list-style:none;display:flex}.insight-bar-top{color:var(--ink-2);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:14px;display:flex}.insight-bar-top b{color:var(--ink);font-weight:600}.insight-bar-top .muted{font-size:13px}.insight-track{background:var(--line-soft);border-radius:999px;height:6px;overflow:hidden}.insight-track div{border-radius:999px;height:100%}.leads-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:16px 20px;display:flex}.toolbar-search{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:200px;align-items:center;gap:8px;min-width:160px;height:38px;padding:0 12px;display:flex}.toolbar-search:focus-within{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50)}.toolbar-search input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13.5px}.leads-toolbar select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234a5b68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:13px 13px;max-width:175px;height:38px;padding:0 28px 0 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.leads-toolbar select:hover{border-color:var(--teal-400);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f6f78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.leads-toolbar select:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50);outline:none}.leads-stage-bar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 16px 0 6px;display:flex}.leads-stage-bar.has-board-below{border-bottom:1px solid var(--line)}.leads-stage-bar .stage-tabs{flex:1;min-width:0;padding:0 8px}.leads-stage-bar .view-switch{flex-shrink:0;margin-left:auto}.stage-tabs-board-info{color:var(--ink-3);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:inline-flex}.view-switch button{align-items:center;gap:6px;display:inline-flex}.stage-tabs{scrollbar-width:none;gap:4px;padding:0 14px;display:flex;overflow-x:auto}.stage-tabs::-webkit-scrollbar{display:none}.stage-tab{color:var(--ink-2);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:12px 10px 10px;font-size:14px;display:inline-flex}.stage-tab i{background:var(--stage);border-radius:50%;width:8px;height:8px}.stage-tab span{background:var(--bg);min-width:22px;color:var(--ink-3);border-radius:999px;padding:1px 7px;font-size:12.5px;font-weight:600}.stage-tab:hover{color:var(--ink)}.stage-tab.is-active{border-bottom-color:var(--teal-700);color:var(--ink);font-weight:600}.stage-tab.is-active span{background:var(--teal-700);color:#fff}.leads-card .table-wrap{padding:12px 12px 4px}.sort-button{font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-button.is-active{color:var(--teal-700)}.clickable-row{cursor:pointer}.row-link{color:var(--ink);text-align:left;background:0 0;border:none;padding:0;font-weight:500}.clickable-row:hover .row-link{color:var(--teal-700)}.cell-strong-soft{color:var(--ink)}.leads-table th,.leads-table td{padding-left:8px;padding-right:8px}.cell-clip{white-space:nowrap;text-overflow:ellipsis;max-width:140px;color:var(--ink);overflow:hidden}.mono-sub{font-variant-numeric:tabular-nums}.leads-table .row-link{white-space:nowrap}.follow-date{color:var(--ink-2);font-weight:500}.follow-date.tone-urgent,.follow-date.tone-attention{color:var(--tone)}.pager{justify-content:space-between;align-items:center;gap:12px;padding:10px 20px 14px;font-size:12.5px;display:flex}.pager-buttons{align-items:center;gap:4px;display:flex}.page-button{border:1px solid var(--line);background:var(--surface);min-width:34px;height:34px;color:var(--ink-2);border-radius:6px;place-items:center;padding:0 6px;font-size:13.5px;display:inline-grid}.page-button:hover:not(:disabled){border-color:var(--teal-200);color:var(--ink)}.page-button.is-current{background:var(--teal-700);border-color:var(--teal-700);color:#fff;font-weight:600}.page-button:disabled{opacity:.4;cursor:default}.page-gap{color:var(--ink-3);padding:0 4px}.page-size{border:1px solid var(--line);background:var(--surface);border-radius:6px;height:34px;padding:0 8px;font-size:13.5px}.empty-state{text-align:center;color:var(--ink-3);margin:0;padding:48px 20px}.board{grid-auto-columns:minmax(230px,1fr);grid-auto-flow:column;gap:12px;padding:16px 20px 20px;display:grid;overflow-x:auto}.board-column{background:var(--bg);border-top:3px solid var(--stage);border-radius:10px;flex-direction:column;min-height:420px;transition:background .15s,box-shadow .15s;display:flex}.board-column.is-over{background:var(--stage-bg);box-shadow:inset 0 0 0 2px var(--stage)}.board-column-header{align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.board-column-title{align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.board-column-title i{background:var(--stage);border-radius:50%;width:8px;height:8px}.board-count{background:var(--surface);color:var(--ink-3);border-radius:999px;padding:0 7px;font-size:11.5px;font-weight:600}.board-total{color:var(--ink-2);margin-left:auto;font-size:12px;font-weight:600}.board-cards{flex-direction:column;flex:1;gap:8px;padding:0 8px 10px;display:flex}.board-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:grab;border-radius:8px;flex-direction:column;gap:3px;padding:11px 12px;transition:border-color .15s,transform .15s;display:flex}.board-card:hover{border-color:var(--teal-200)}.board-card:active{cursor:grabbing}.board-card.is-dragging{opacity:.45}.board-card-company{color:var(--ink);font-size:13.5px;font-weight:600}.board-card-service{color:var(--ink-3);font-size:12px}.board-card-foot{color:var(--ink-2);justify-content:space-between;gap:8px;margin-top:6px;font-size:12px;display:flex}.board-card-foot b{color:var(--ink)}.question-tag{background:var(--tone-bg);color:var(--tone);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-top:4px;padding:1px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.question-tag:hover{text-decoration:underline}.board-card-date{color:var(--ink-3);font-size:11.5px}.board-card-date.tone-urgent,.board-card-date.tone-attention{color:var(--tone);font-weight:500}.board-empty{border:1px dashed var(--line);text-align:center;color:var(--ink-3);border-radius:8px;margin:8px 0;padding:18px 8px;font-size:12px}.lead-drawer{width:min(560px,100vw)}.lead-drawer-title{min-width:0}.lead-drawer-title h2{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lead-drawer-title>span{align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.lead-drawer-body{flex-direction:column;gap:20px;padding-top:20px;display:flex}.contact-card{background:var(--bg);border-radius:10px;padding:14px 16px}.contact-card strong{font-size:14.5px}.contact-lines{color:var(--ink-2);flex-wrap:wrap;gap:6px 18px;margin-top:6px;font-size:13px;display:flex}.contact-lines a,.contact-lines span{align-items:center;gap:6px;display:inline-flex}.contact-lines a:hover{color:var(--teal-700)}.contact-lines svg{color:var(--ink-3)}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0;display:grid}.fact-grid dt{color:var(--ink-3);font-size:12px}.fact-grid dd{color:var(--ink);flex-direction:column;margin:2px 0 0;font-size:13.5px;font-weight:500;display:flex}.fact-grid dd span{color:var(--ink-3);font-size:12px;font-weight:400}.lost-note{background:var(--red-bg);color:var(--red);border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.lead-section{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:18px;display:flex}.lead-section h3{font-size:14px;font-weight:600}.lead-section-head{justify-content:space-between;align-items:center;display:flex}.stage-actions{flex-wrap:wrap;gap:8px;display:flex}.stage-select{flex:180px}.mini-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mini-list li{color:var(--ink-2);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;display:grid}.mini-list i{background:var(--tone);border-radius:50%;width:8px;height:8px}.mini-list strong{color:var(--ink);font-weight:500}.mini-when{color:var(--ink-3);white-space:nowrap;font-size:12px}.small{margin:0;font-size:12.5px}.inline-form{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.inline-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.inline-form-actions{justify-content:flex-end;gap:8px;display:flex}.note-form{gap:8px;display:flex}.note-form input{border:1px solid var(--line);border-radius:var(--radius);flex:1;min-width:0;height:38px;padding:0 12px}.note-form input:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50);outline:none}.timeline{margin:4px 0 0;padding:0;list-style:none}.timeline-item{grid-template-columns:12px minmax(0,1fr);gap:12px;padding-bottom:14px;display:grid;position:relative}.timeline-item:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:14px;bottom:0;left:5px}.timeline-dot{border:2px solid var(--teal-600);background:var(--surface);border-radius:50%;width:12px;height:12px;margin-top:3px}.timeline-item.type-note .timeline-dot{border-color:var(--gold-500)}.timeline-item.type-created .timeline-dot{border-color:var(--blue)}.timeline-item p{color:var(--ink);margin:0;font-size:13px}.timeline-item .muted{font-size:12px}.open-details{width:fit-content;color:var(--teal-700);align-items:center;gap:6px;margin-bottom:-6px;font-size:13px;font-weight:600;display:inline-flex}.open-details:hover{color:var(--teal-900)}.dialog{background:var(--surface);border-radius:14px;width:min(420px,100%);padding:22px;position:relative;box-shadow:0 20px 60px #0f2a3d40}.dialog h2{font-family:var(--font-serif);font-size:20px}.dialog>p{margin:4px 0 14px;font-size:13px}.reason-list{flex-direction:column;gap:6px;display:flex}.reason{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;display:flex}.reason.is-selected{border-color:var(--red);background:var(--red-bg)}.reason input{accent-color:var(--red)}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@media (width<=1280px){.leads-layout{grid-template-columns:minmax(0,1fr)}.leads-insights{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=860px){.view-switch{margin-left:0}.leads-toolbar select{flex:140px;max-width:none}}@media (width<=640px){.leads-toolbar{padding:14px}.leads-card .table-wrap{padding:10px 14px 4px}.fact-grid,.inline-form-grid{grid-template-columns:minmax(0,1fr)}.pager{flex-wrap:wrap;padding:10px 14px 14px}.leads-insights{grid-template-columns:minmax(0,1fr)}}.drawer-root{z-index:60;position:fixed;inset:0;overflow:clip}.drawer-backdrop{background:#0f2a3d61;animation:.2s fade-in;position:absolute;inset:0}.enquiry-drawer{background:var(--surface);flex-direction:column;width:min(620px,100vw);animation:.25s slide-in;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #0f2a3d29}.drawer-header{height:var(--chrome-height);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:0 20px 0 28px;display:flex;position:relative}.drawer-header h2{font-family:var(--font-serif);font-size:24px;font-weight:600}.drawer-form{flex-direction:column;flex:1;min-height:0;display:flex}.drawer-body{flex:1;padding:8px 28px 24px;overflow-y:auto}.drawer-footer{border-top:1px solid var(--line);background:var(--surface);justify-content:flex-end;gap:12px;padding:16px 28px;display:flex}.drawer-footer .btn{min-width:120px}.form-section{border:none;border-bottom:1px dashed var(--line);margin:0;padding:12px 0 14px}.form-section:last-child{border-bottom:none}.form-section legend{color:var(--ink);align-items:center;gap:8px;margin-bottom:10px;padding:0;font-size:15.5px;font-weight:600;display:flex}.form-section legend svg{color:var(--teal-700)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.enquiry-drawer.is-wide-form{width:min(840px,100vw)}@media (width>=900px){.is-wide-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.is-wide-form .field-span-2{grid-column:span 2}}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-wide{grid-column:1/-1}.service-picker{flex-direction:column;grid-column:1/-1;gap:10px;display:flex}.service-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px 16px;display:grid}.service-row:not(:has(.service-remove)){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.service-remove{margin-bottom:4px}.service-add{align-self:flex-start;align-items:center;gap:5px;display:inline-flex}@media (width<=640px){.service-row{grid-template-columns:minmax(0,1fr) auto}.service-row .field:first-child{grid-column:1/-1}.service-row:not(:has(.service-remove)){grid-template-columns:minmax(0,1fr)}}.field-label{color:var(--ink-2);font-size:14.5px;font-weight:500}.field-label em{color:var(--red);font-style:normal}.field input,.field textarea{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--surface);width:100%;height:40px;padding:0 12px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.field select{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--surface);width:100%;height:40px;padding:0 32px 0 12px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.field input::-moz-placeholder{color:#a9b4bc}.field textarea::-moz-placeholder{color:#a9b4bc}.field input::placeholder,.field textarea::placeholder{color:#a9b4bc}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--teal-200)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50);outline:none}.field.has-error input,.field.has-error select{border-color:var(--red)}.field.has-error input:focus{box-shadow:0 0 0 3px var(--red-bg)}.field-error{color:var(--red);font-size:13px}.choice-field{border:none;margin:0;padding:0}.choice-field legend{margin-bottom:6px;padding:0}.choice-chips{flex-wrap:wrap;gap:6px;display:flex}.choice-chip{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;display:inline-flex;position:relative}.choice-chip input{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-chip i{background:var(--tone);border-radius:50%;width:8px;height:8px}.choice-chip:hover{border-color:var(--teal-200)}.choice-chip.is-selected{border-color:var(--teal-700);background:var(--teal-50);color:var(--teal-900);font-weight:600}.choice-chip.is-selected[class*=tone-]{border-color:var(--tone);background:var(--tone-bg);color:var(--tone)}.choice-chip:focus-within{outline:2px solid var(--teal-600);outline-offset:2px}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:15px;display:inline-flex}.toggle input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.toggle-track{background:var(--line);border-radius:999px;width:38px;height:22px;transition:background .2s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f2a3d40}.toggle input:checked+.toggle-track{background:var(--teal-700)}.toggle input:checked+.toggle-track:after{transform:translate(16px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--teal-600);outline-offset:2px}.toast{z-index:70;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--radius);align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:14px 14px 14px 16px;animation:.25s toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #0f2a3d29}.toast-icon{color:var(--green);flex-shrink:0}.toast div{flex-direction:column;min-width:0;line-height:1.35;display:flex}.toast strong{font-size:15px}.toast span{color:var(--ink-3);font-size:13.5px}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media (width<=640px){.drawer-header,.drawer-footer{padding-left:18px;padding-right:18px}.drawer-body{padding:4px 18px 20px}.form-grid,.form-grid-3{grid-template-columns:minmax(0,1fr)}.drawer-footer .btn{flex:1;min-width:0}.toast{bottom:16px;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){.drawer-backdrop,.enquiry-drawer,.toast{animation:none}}.timeline-input-group{grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:8px;display:grid}.timeline-input-group.has-error input{border-color:var(--red)}.dialog-root{z-index:100;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f2a3d73;animation:.15s fade-in;position:fixed;inset:0}.master-modal{border-radius:var(--radius-lg,14px);background:var(--surface);border:1px solid var(--line);flex-direction:column;width:min(460px,100vw - 32px);padding:24px;animation:.2s cubic-bezier(.16,1,.3,1) modal-pop;display:flex;position:relative;box-shadow:0 24px 64px -12px #0f2a3d47,0 0 0 1px #0f2a3d0f}@keyframes modal-pop{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialog-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.dialog-header h2{color:var(--ink);font-size:21px;font-weight:600;font-family:var(--font-serif);margin:0 0 4px}.dialog-subtitle{color:var(--ink-3);margin:0;font-size:14px;line-height:1.4}.modal-close-btn{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink-3);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.modal-close-btn:hover{background:var(--bg);color:var(--ink);border-color:var(--teal-200)}.dialog-body{flex-direction:column;gap:16px;padding:18px 0;display:flex}.dialog-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;align-items:center;gap:10px;margin:0;padding-top:14px;display:flex}.field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.master-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.master-add-btn{color:var(--teal-700);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:2px 0;font-size:13.5px;font-weight:500;display:inline-flex}.master-add-btn:hover{color:var(--teal-900);text-decoration:underline}.empty-master-state{color:var(--ink-3);background:var(--bg-alt,#f7f9fa);border:1px dashed var(--line);border-radius:var(--radius);padding:8px 10px;font-size:14px;font-style:italic}.project-page{flex-direction:column;gap:12px;display:flex}.stage-card{padding:18px 20px}.erm-stages{grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.erm-stages li{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:0 4px;display:flex;position:relative}.erm-stages li>*{animation:.4s cubic-bezier(.2,.7,.2,1) backwards rise}.erm-stages li:nth-child(2)>*{animation-delay:50ms}.erm-stages li:nth-child(3)>*{animation-delay:.1s}.erm-stages li:nth-child(4)>*{animation-delay:.15s}.erm-stages li:nth-child(5)>*{animation-delay:.2s}.erm-stages li:nth-child(6)>*{animation-delay:.25s}.erm-stages li:nth-child(7)>*{animation-delay:.3s}.erm-stages li:not(:first-child):before{content:"";background:var(--line);width:100%;height:2px;position:absolute;top:14px;right:50%}.erm-stages li.is-done:before,.erm-stages li.is-current:before{background:var(--green)}.erm-dot{z-index:1;border:2px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink-3);border-radius:50%;flex-shrink:0;place-items:center;margin-bottom:4px;font-size:13px;font-weight:600;display:grid;position:relative}.erm-dot.small{color:#fff;width:18px;height:18px;margin:0}.is-done>.erm-dot{border-color:var(--green);background:var(--green);color:#fff}.is-current>.erm-dot{border-color:var(--teal-700);color:var(--teal-700);box-shadow:0 0 0 4px var(--teal-100)}.erm-stages strong{color:var(--ink-2);font-size:13.5px;font-weight:500}.erm-stages .is-current strong{color:var(--ink);font-weight:600}.erm-stages .muted{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:12.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.stage-next{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:14px}.stage-next-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;font-size:14px;display:flex}.stage-line{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;font-size:14px;display:flex}.stage-line .progress{width:180px}.stage-done-note{color:var(--green);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.stage-approvals{max-width:460px}.submission-form{max-width:760px}.submission-form .letter-form-actions{justify-content:space-between;align-items:center}.closure-panel{flex-direction:column;gap:10px;max-width:560px;display:flex}.closure-close{gap:8px;display:flex}.closure-close input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:1;min-width:0;height:38px;padding:0 10px;font-size:13px}.team-form{flex-wrap:wrap;align-items:flex-end;gap:12px 14px;animation:.25s both fade;display:flex}.team-form>.field{width:min(320px,100%)}.member-pick{border:none;flex-basis:100%;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;display:grid}.member-pick legend{margin-bottom:6px;padding:0}.member-pick label{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:1px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.member-pick label:hover{border-color:var(--teal-200)}.member-pick label.is-selected{border-color:var(--teal-600);background:var(--teal-50)}.member-pick label:has(input:focus-visible){box-shadow:0 0 0 3px var(--teal-100)}.member-pick input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.member-pick strong{color:var(--ink);font-size:13px}.member-pick span{color:var(--ink-3);font-size:11.5px}.team-form-actions{gap:8px;display:flex}.project-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px;display:grid}.ov-block h3{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:600;display:flex}.ov-block h3 svg{color:var(--teal-700)}.ov-head{justify-content:space-between;align-items:center;display:flex}.team-list-erm{flex-direction:column;gap:10px;margin:0;display:flex}.team-list-erm>div{grid-template-columns:110px minmax(0,1fr);align-items:start;gap:10px;display:grid}.team-list-erm dt{color:var(--ink-3);padding-top:6px;font-size:13px}.team-list-erm dd{margin:0}.member-list{flex-direction:column;gap:8px;display:flex}.person{align-items:center;gap:10px;display:inline-flex}.person>span:last-child{flex-direction:column;line-height:1.3;display:flex}.person strong{color:var(--ink);font-size:13.5px;font-weight:500}.person .muted{font-size:12px}.approval-steps{flex-direction:column;gap:8px;margin:8px 0 10px;padding:0;list-style:none;display:flex}.approval-steps li{color:var(--ink-3);grid-template-columns:18px 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.approval-steps li.is-done{color:var(--ink)}.approval-steps .is-done .erm-dot{border-color:var(--green);background:var(--green)}.approval-steps .muted{font-size:12px}.tasks-head{color:var(--ink-2);align-items:center;gap:14px;margin-bottom:12px;font-size:13px;display:flex}.tasks-head .progress{flex:1;max-width:280px}.tasks-head .btn{margin-left:auto}.task-add{border-radius:var(--radius);background:var(--bg);grid-template-columns:minmax(0,2fr) minmax(0,1fr) 150px auto auto;gap:8px;margin-bottom:12px;padding:10px;animation:.25s backwards rise;display:grid}.task-add input,.task-add select,.task-table select,.task-table input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:34px;padding:0 8px;font-size:13px}.task-table select,.task-table input{width:100%;min-width:130px}.task-table input.is-overdue{border-color:var(--red);color:var(--red)}.task-table tr.is-done .cell-strong{color:var(--ink-3);text-decoration:line-through}.task-status.status-done{border-color:var(--green);background:var(--green-bg);color:var(--green)}.task-status.status-in-progress{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.tasks-tab .table-wrap{padding:0}.visit-form{margin-bottom:12px}.visit-form textarea{resize:vertical;padding:8px 10px}.visit-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.visit-list>li{border-top:1px solid var(--line-soft);grid-template-columns:52px minmax(0,1fr);gap:14px;padding:14px 0;animation:.3s both fade;display:grid}.visit-list>li:first-child{border-top:none;padding-top:4px}.visit-date{border-radius:var(--radius);background:var(--teal-50);height:54px;color:var(--teal-700);flex-direction:column;justify-content:center;align-items:center;font-size:12.5px;display:flex}.visit-date b{font-family:var(--font-serif);color:var(--teal-900);font-size:22px;line-height:1.1}.visit-list strong{color:var(--ink);font-size:15px;font-weight:600;display:block}.visit-list>li>div>.muted{flex-wrap:wrap;align-items:center;gap:4px;font-size:13.5px;display:flex}.visit-list p{color:var(--ink-2);margin:6px 0 0;font-size:14px}.doc-list.compact{margin-top:8px}.doc-list.compact li{padding:7px 10px}.project-docs{flex-direction:column;gap:18px;display:flex}.project-docs h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.project-docs .letter-form{margin-top:8px}.project-dropzone{padding:18px 16px}.project-dropzone select{border:1px solid var(--teal-200);border-radius:var(--radius);background:var(--surface);height:30px;color:var(--ink);padding:0 6px;font-size:13px}.filter-chip{border:1px solid var(--teal-200);background:var(--teal-50);height:32px;color:var(--teal-900);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;display:inline-flex}.open-in-erm{align-self:flex-start}.stage-counts{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0;padding:0 20px 18px;list-style:none;display:grid}.stage-counts a{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:2px;height:100%;padding:12px 14px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.stage-counts a:hover{border-color:var(--teal-200);box-shadow:var(--shadow);transform:translateY(-2px)}.stage-counts .has-items a{background:var(--surface);box-shadow:inset 0 3px 0 var(--teal-400)}.stage-name{min-height:34px;color:var(--ink);align-items:flex-start;gap:7px;margin-bottom:2px;font-size:13px;font-weight:600;line-height:1.3;display:flex}.stage-num{background:var(--line-soft);width:20px;height:20px;color:var(--ink-3);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.has-items .stage-num{background:var(--teal-50);color:var(--teal-700)}.stage-count{color:var(--ink-3);font-size:12.5px}.stage-counts strong{font-family:var(--font-serif);color:var(--ink);font-size:28px;font-weight:600;line-height:1.1}.stage-state{color:var(--ink-2);margin-top:2px;font-size:12.5px}.stage-counts .muted{font-size:11.5px}.erm-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.attention-list{margin:0;padding:0 20px 14px;list-style:none}.attention-list li{border-top:1px solid var(--line-soft);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 0;animation:.3s both fade;display:grid}.attention-list li:first-child{border-top:none}.attention-list i{background:var(--tone);border-radius:50%;width:8px;height:8px}.attention-list a{flex-direction:column;min-width:0;font-size:13px;display:flex}.attention-list a:hover strong{color:var(--teal-700)}.attention-list a .muted{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.attention-who{color:var(--ink-2);white-space:nowrap;font-size:12px}.data-table.load-table{min-width:0}@media (width<=1100px){.erm-row,.project-overview{grid-template-columns:minmax(0,1fr)}.stage-counts{grid-template-columns:repeat(4,minmax(0,1fr))}.erm-stages{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px}.erm-stages li:nth-child(5):before{display:none}}@media (width<=640px){.erm-stages{grid-template-columns:1fr;gap:10px}.erm-stages li{-moz-column-gap:10px;text-align:left;grid-template-columns:30px minmax(0,1fr);gap:0 10px;min-width:0;display:grid}.erm-stages li .erm-dot{grid-row:span 2}.erm-stages li:not(:first-child):before{width:2px;height:10px;top:-10px;left:18px;right:auto}.erm-dot{margin:0}.stage-counts{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 14px}.task-add,.letter-form{grid-template-columns:1fr}.closure-close{flex-direction:column}.team-list-erm>div{grid-template-columns:1fr;gap:4px}}.cell-link{transition:color .15s;display:block}.cell-link:hover{color:var(--teal-700)}.report-stack{flex-direction:column;gap:18px;display:flex}.team-about{max-width:240px}.team-projects{flex-direction:column;gap:2px;font-size:13px;display:flex}.timeline-view{padding:8px 20px 18px;overflow-x:auto}.tl-row{border-bottom:1px solid var(--line-soft);grid-template-columns:230px minmax(520px,1fr);align-items:center;gap:14px;min-height:46px;display:grid}.tl-head{border-bottom:1px solid var(--line);min-height:30px}.tl-label{flex-direction:column;min-width:0;padding:6px 0;font-size:13px;display:flex}.tl-label strong,.tl-label .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-label strong{color:var(--ink);font-weight:500;transition:color .15s}.tl-label:hover strong{color:var(--teal-700)}.tl-label .muted{font-size:11.5px}.tl-track{height:100%;min-height:30px;position:relative}.tl-month{border-left:1px solid var(--line);color:var(--ink-3);white-space:nowrap;padding-left:4px;font-size:11.5px;position:absolute;bottom:6px}.tl-today{background:var(--red);opacity:.55;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.tl-bar{transform-origin:0;border-radius:6px;height:12px;margin-top:-6px;animation:.6s cubic-bezier(.2,.7,.2,1) backwards tl-grow;position:absolute;top:50%}.tl-work,.tl-legend i.tl-work{background:var(--teal-600)}.tl-work.is-planned{background:repeating-linear-gradient(135deg, var(--teal-200) 0 4px, var(--teal-100) 4px 8px)}.tl-approval,.tl-legend i.tl-approval{background:var(--gold-500);opacity:.8}.tl-approval.is-closed,.tl-legend i.tl-approval.is-closed{background:var(--green);opacity:.75}@keyframes tl-grow{0%{transform:scaleX(0)}}.tl-legend{color:var(--ink-2);flex-wrap:wrap;gap:8px 18px;padding-top:12px;font-size:12px;display:flex}.tl-legend span{align-items:center;gap:6px;display:inline-flex}.tl-legend i{border-radius:4px;width:16px;height:8px}.tl-legend i.tl-today-key{background:var(--red);opacity:.55;width:2px;height:12px}.tl-waiting{margin:10px 0 0}@media (width<=640px){.timeline-view{padding:8px 14px 14px}.tl-row{grid-template-columns:150px minmax(480px,1fr)}}.me-select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:38px;padding:0 10px;font-size:13.5px}.my-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.my-task-list,.my-sites{margin:0;padding:0 20px 12px;list-style:none}.my-task-list>li,.my-sites>li{border-top:1px solid var(--line-soft);padding:12px 0;animation:.3s both fade}.my-task-list>li:first-child,.my-sites>li:first-child{border-top:none}.my-task-list>li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.my-task-list>li.is-overdue{box-shadow:inset 3px 0 0 var(--red);padding-left:12px}.my-task-list>li>div:first-child,.my-site-head>div:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.my-task-list strong,.my-sites strong{color:var(--ink);font-size:14px;font-weight:600}.my-task-list.is-done strong{color:var(--ink-3);font-weight:500;text-decoration:line-through}.my-task-list .muted,.my-sites .muted{font-size:12.5px}.my-due{color:var(--ink-2);font-size:12.5px;font-weight:500}.my-task-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.my-site-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.my-sites .visit-form{margin:12px 0 0}@media (width<=640px){.stat-grid.my-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.my-stats .stat-card{padding:10px 12px}.my-stats .stat-icon,.my-stats .stat-meta{display:none}.my-stats .stat-top h3{font-size:12px;line-height:1.25}.my-stats .stat-value{font-size:24px}.my-task-list,.my-sites{padding:0 14px 10px}.my-task-actions{width:100%}.my-task-actions .btn{flex:1;justify-content:center}}.record-letter-body{flex-direction:column;gap:12px;padding:0 20px 18px;display:flex}.record-letter-body>.field{max-width:520px}.filing-scan{background:var(--teal-50);color:var(--ink-2);border-radius:8px;margin:0;padding:9px 12px;font-size:13px}.scan-inbox{flex-direction:column;gap:12px;padding:0 20px 18px;display:flex}.scan-inbox-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.scan-list{border:1px solid var(--line);border-radius:10px;margin:0;padding:0;list-style:none}.scan-list li{border-bottom:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.scan-list li:last-child{border-bottom:none}.scan-list li>div{flex-direction:column;min-width:0;display:flex}.scan-list strong{overflow-wrap:anywhere;font-size:13.5px;font-weight:500}.scan-list .muted{font-size:12px}.scan-icon{background:var(--teal-50);width:34px;height:34px;color:var(--teal-700);border-radius:8px;place-items:center;display:grid}.scan-actions{align-items:center;gap:6px;display:flex}@media (width<=640px){.scan-list li{grid-template-columns:auto minmax(0,1fr)}.scan-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}}.wo-form{grid-template-columns:repeat(2,minmax(0,1fr))}.wo-status{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-width:132px;height:32px;padding:0 8px;font-size:12.5px;font-weight:500}.wo-status.tone-info{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.wo-status.tone-attention{border-color:var(--amber);background:var(--amber-bg);color:var(--amber)}.wo-status.tone-urgent{border-color:var(--red);background:var(--red-bg);color:var(--red)}.wo-status.tone-good{border-color:var(--green);background:var(--green-bg);color:var(--green)}.vendor-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0 20px 18px;list-style:none;display:grid}.vendor-grid li{animation:.3s both fade;display:flex}.vendor-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);font:inherit;text-align:left;cursor:pointer;flex-direction:column;flex:1;gap:2px;padding:12px 14px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.vendor-card:hover{border-color:var(--teal-200);box-shadow:var(--shadow);transform:translateY(-1px)}.vendor-grid strong{color:var(--ink);font-size:13.5px}.vendor-grid .muted{font-size:12px}.vendor-count{color:var(--teal-700);margin-top:4px;font-size:12px;font-weight:500}@media (width<=640px){.record-letter-body,.vendor-grid{padding:0 14px 14px}.wo-form{grid-template-columns:1fr}}.project-docs .doc-list li{grid-template-columns:auto minmax(0,1fr) auto auto auto}.share-toggle{border:1px solid var(--line);background:var(--surface);height:28px;color:var(--ink-3);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.share-toggle:not(:disabled):hover{border-color:var(--teal-200);color:var(--ink)}.share-toggle.is-on{border-color:var(--teal-200);background:var(--teal-50);color:var(--teal-700)}.share-toggle:disabled{cursor:default}@media (width<=640px){.share-toggle .share-label{display:none}}.text-green{color:var(--green)}.wo-drawer .drawer-body{flex-direction:column;gap:16px;display:flex}.wo-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.wo-head .link-button{margin-left:auto}.wo-facts{border-radius:var(--radius);background:var(--bg);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0;padding:14px 16px;display:grid}.wo-facts dt{color:var(--ink-3);font-size:12px}.wo-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:2px 0 0;font-size:13.5px}.wo-next{border:1px solid var(--teal-200);border-radius:var(--radius);background:var(--teal-50);flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.wo-next h3,.wo-trail-title{color:var(--ink);margin:0;font-size:14px;font-weight:600}.wo-next .wo-form-step{align-self:stretch}.wo-form-step{grid-template-columns:1fr 1fr;gap:10px;animation:.25s backwards rise;display:grid}.wo-form-step .field-wide,.wo-form-step .wo-files,.wo-form-step .letter-form-actions{grid-column:1/-1}.wo-files{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wo-file-chip{border:1px solid var(--line);background:var(--surface);max-width:100%;color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:3px 4px 3px 8px;font-size:12px;display:inline-flex}.wo-file-chip button{width:18px;height:18px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid}.wo-file-chip button:hover{background:var(--line-soft)}.wo-diff{background:var(--amber-bg);color:var(--amber);border-radius:6px;margin:0;padding:8px 10px;font-size:12.5px}.wo-match{border-collapse:collapse;width:100%;font-size:13px}.wo-match th,.wo-match td{border-top:1px solid var(--line-soft);text-align:left;padding:8px 10px}.wo-match th{width:90px;color:var(--ink-3);font-weight:500}.wo-match td:last-child{width:28px}.wo-match .is-ok td:last-child{color:var(--green)}.wo-match .is-off{background:var(--red-bg)}.wo-match .is-off td:last-child{color:var(--red)}.wo-pay{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0;display:flex}.wo-pay div{border-top:1px solid var(--line-soft);justify-content:space-between;padding:7px 12px;font-size:13px;display:flex}.wo-pay div:first-child{border-top:none}.wo-pay dt{color:var(--ink-2)}.wo-pay dd{font-variant-numeric:tabular-nums;color:var(--ink);margin:0}.wo-pay .wo-pay-net{font-weight:600}.wo-trail{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wo-trail li{gap:12px;padding-bottom:14px;display:flex;position:relative}.wo-trail li:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:20px;bottom:0;left:9px}.wo-trail li.is-done:not(:last-child):before{background:var(--green)}.wo-trail-dot{border:2px solid var(--line);background:var(--surface);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.wo-trail .is-done .wo-trail-dot{border-color:var(--green);background:var(--green)}.wo-trail li>div{flex-direction:column;gap:2px;min-width:0;display:flex}.wo-trail strong{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:flex}.wo-trail li:not(.is-done) strong{color:var(--ink-3)}.wo-trail .muted{font-size:12px}.wo-trail p{color:var(--ink-2);margin:2px 0 0;font-size:12.5px;line-height:1.45}.wo-trail-files{flex-wrap:wrap;gap:4px 12px;margin-top:4px;display:flex}.wo-trail-files .link-button{align-items:center;gap:4px;font-size:12px;display:inline-flex}.vendor-scores{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.vendor-scores div{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.vendor-scores strong{font-family:var(--font-serif);color:var(--ink);font-size:20px;font-weight:500}.vendor-scores span{color:var(--ink-3);font-size:11.5px;line-height:1.3}@media (width<=640px){.wo-facts,.wo-form-step{grid-template-columns:1fr}.vendor-scores{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-drawer .drawer-body{gap:14px}.app-checks{border:1px solid var(--green);border-radius:var(--radius);background:var(--green-bg,#eaf6ef);padding:12px 14px}.app-checks.has-issues{border-color:var(--amber);background:var(--amber-bg)}.app-checks h3{align-items:center;gap:6px;margin:0 0 8px;font-size:15px;display:flex}.app-checks ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.app-checks li{color:var(--ink-2);align-items:flex-start;gap:8px;display:flex}.app-checks li svg{flex-shrink:0;margin-top:1px}.app-checks .is-ok svg{color:var(--green)}.app-checks .is-issue svg{color:var(--amber)}.app-section h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-size:13.5px;font-weight:600}.app-section dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;display:grid}.app-section dt{color:var(--ink-3);font-size:13px}.app-section dd{color:var(--ink);overflow-wrap:anywhere;margin:1px 0 0;font-size:14.5px}.app-docs{border:1px solid var(--line);border-radius:10px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-docs li{border-bottom:1px solid var(--line-soft);color:var(--ink-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;display:grid}.app-docs li:last-child{border-bottom:none}.app-docs li span{overflow-wrap:anywhere}.app-history{color:var(--ink-2);margin:0;padding:0 0 0 18px;font-size:13.5px}.app-history li+li{margin-top:6px}.app-history p{color:var(--ink-3);margin:2px 0 0}.app-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.app-decision{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:10px;padding:12px 14px;font-size:14px;display:flex}.app-decision p{margin:0}.check-flag{white-space:nowrap;align-items:center;gap:5px;font-size:13.5px;font-weight:500;display:inline-flex}.check-flag.is-ok{color:var(--green)}.check-flag.is-issue{color:var(--amber)}@media (width<=640px){.app-section dl{grid-template-columns:minmax(0,1fr)}.app-actions .btn{flex:auto}}.tender-new .letter-form{margin:0 20px 18px}.tender-form .date-time{gap:6px;display:flex}.tender-form .date-time input[type=date]{flex:1;min-width:0}.tender-form .date-time input[type=time]{width:110px}.tender-form .check-line{min-height:38px;color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-size:14.5px;display:flex}.tender-form .check-line input{width:16px;height:16px;accent-color:var(--teal-700)}.tender-drawer .drawer-body{gap:14px}.tender-result{border-radius:var(--radius);background:var(--green-bg);color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:10px 12px;font-size:14px;display:flex}.tender-result svg{color:var(--green)}.sealed-box{border:1px dashed var(--teal-200);border-radius:var(--radius);background:var(--teal-50);align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;display:flex}.sealed-box svg{color:var(--teal-700);flex-shrink:0;margin-top:1px}.sealed-box div{flex-direction:column;gap:2px;display:flex}.bid-list{border:1px solid var(--line);border-radius:10px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bid-list>li+li{border-top:1px solid var(--line-soft)}.bid-list>li.is-open{background:#fafcfc}.bid-row{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:14.5px;display:grid}.bid-rank{background:var(--bg);width:30px;height:30px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.bid-list>li:first-child .bid-rank{background:var(--gold-100);color:var(--gold-600)}.bid-firm,.bid-amount{flex-direction:column;gap:1px;min-width:0;display:flex}.bid-firm span,.bid-amount span{font-size:13px}.bid-amount{color:var(--ink);font-variant-numeric:tabular-nums;align-items:flex-end;font-size:15px;font-weight:600}.bid-amount .muted,.bid-amount .text-red{font-weight:400}.bid-detail{flex-direction:column;gap:10px;padding:0 12px 12px;display:flex}.bid-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin:0;display:grid}.bid-facts dt{color:var(--ink-3);font-size:13px}.bid-facts dd{color:var(--ink);margin:1px 0 0;font-size:14.5px}.bid-note{color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.bid-count{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.bid-count svg{color:var(--ink-3)}@media (width<=640px){.bid-row{grid-template-columns:auto minmax(0,1fr) auto}.bid-row .status-pill{grid-column:2/-1;justify-self:start}.bid-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tender-new .letter-form{margin:0 12px 14px}}.drawer-form-inner{flex-direction:column;gap:16px;padding-top:14px;display:flex}.drawer-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding-top:14px;display:flex}.field-hint{color:var(--ink-3);font-size:12.5px}.form-error{border-radius:var(--radius);background:var(--red-bg);color:var(--red);margin:0;padding:10px 12px;font-size:13.5px}.field select{width:100%}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0;display:grid}.facts div{min-width:0}.facts dt{color:var(--ink-3);margin-bottom:2px;font-size:12.5px}.facts dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:500}.drawer-section{border-bottom:1px dashed var(--line);padding:18px 0}.drawer-section:last-child{border-bottom:none}.drawer-section>h3{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:16px;display:flex}.drawer-section>h3 .muted{font-family:var(--font-sans);font-size:13px;font-weight:400}.drawer-buttons{flex-wrap:wrap;gap:8px;display:flex}.timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline li{padding:0 0 16px 26px;position:relative}.timeline li:before{content:"";background:var(--line);width:2px;position:absolute;top:6px;bottom:-6px;left:6px}.timeline li:last-child:before{display:none}.timeline li:after{content:"";background:var(--surface);border:2px solid var(--teal-600);border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:0}.timeline li.is-pending:after{border-color:var(--amber)}.timeline li.is-bad:after{border-color:var(--red)}.timeline li.is-waiting:after{border-color:var(--line)}.timeline-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.timeline-head strong{font-weight:600}.timeline-note{color:var(--ink-2);margin:4px 0 0;font-size:14px}.board{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;padding-bottom:6px;display:grid;overflow-x:auto}.board-col{border-radius:var(--radius-lg);background:var(--chrome);border:1px solid var(--chrome-line);flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.board-col-head{color:var(--sidebar-text);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.board-col-head span{background:var(--surface);text-align:center;border-radius:999px;min-width:24px;padding:1px 8px;font-size:12.5px}.board-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-align:left;box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:12px;transition:border-color .15s,transform .15s;display:flex}.board-card:hover{border-color:var(--teal-400);transform:translateY(-1px)}.board-card-title{color:var(--ink);font-weight:600;line-height:1.35}.board-card-meta{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;font-size:12.5px;display:flex}.board-empty{text-align:center;color:var(--ink-3);padding:18px 8px;font-size:13px}.is-late{color:var(--red);font-weight:600}.check-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.check-list label{cursor:pointer;align-items:center;gap:10px;display:flex}.check-list input{width:16px;height:16px;accent-color:var(--teal-700)}.check-list .is-checked span{color:var(--ink-3);text-decoration:line-through}.inline-add{gap:8px;margin-top:10px;display:flex}.inline-add input,.inline-add textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:1;min-width:0;padding:8px 12px}.comment{border-radius:var(--radius);background:var(--bg);margin-bottom:8px;padding:10px 12px}.comment-head{color:var(--ink-3);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:12.5px;display:flex}.comment-head strong{color:var(--ink)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--teal-50);color:var(--teal-900);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.view-toggle{margin-left:auto}.money-in{color:var(--green);font-weight:600}.money-out{color:var(--red);font-weight:600}.bar-track{background:var(--line-soft);border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:var(--teal-600);border-radius:999px;height:100%}.bar-fill.is-over{background:var(--red)}.split-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.list-rows{margin:0;padding:0 20px 14px;list-style:none}.list-rows li{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.list-rows li:last-child{border-bottom:none}.list-rows .cell-sub{margin-top:2px}.row-link{text-align:left;color:inherit;background:0 0;border:none;padding:0}.row-link:hover .cell-strong{color:var(--teal-700);text-decoration:underline}.notice{border-radius:var(--radius);background:var(--amber-bg);color:var(--ink);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.notice svg{color:var(--amber);flex-shrink:0;margin-top:2px}.notice.is-info{background:var(--blue-bg)}.notice.is-info svg{color:var(--blue)}.circular{padding:18px 20px}.circular+.circular{border-top:1px solid var(--line)}.circular-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.circular-head h3{font-size:17px}.circular p{color:var(--ink-2);white-space:pre-line;margin:8px 0 10px}.circular-foot{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.attendance-grid input{border:1px solid var(--line);text-align:right;border-radius:6px;width:72px;padding:5px 8px}@media (width<=900px){.split-grid,.facts{grid-template-columns:1fr}}.remind-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.remind-head h3{align-items:center;gap:6px;margin:0;display:flex}.remind-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.remind-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.remind-list li>span{flex-direction:column;gap:2px;min-width:0;display:flex}.remind-list li.is-late strong{color:var(--red)}.remind-form{gap:10px;margin-top:10px;display:grid}.remind-when{gap:8px;display:flex}.remind-when input{flex:1;min-width:0}.chip-button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12.5px}.chip-button:hover{border-color:var(--teal-400)}.chip-button.is-selected{border-color:var(--teal-700);background:var(--teal-50);color:var(--teal-900);font-weight:600}.list-heading{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;margin:18px 0 8px;font-size:12px;font-weight:600}.list-heading:first-of-type{margin-top:4px}.reminder-list{margin:0;padding:0;list-style:none}.reminder-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.reminder-row:last-child{border-bottom:0}.reminder-icon{background:var(--teal-50);width:32px;height:32px;color:var(--teal-700);border-radius:50%;flex:none;place-items:center;display:grid}.reminder-row.is-late .reminder-icon{background:var(--red-bg);color:var(--red)}.reminder-row.is-late .cell-sub{color:var(--red)}.reminder-row.is-done .cell-strong{color:var(--ink-3);text-decoration:line-through}.reminder-body{flex:1;min-width:0}@media (width<=640px){.reminder-row{flex-wrap:wrap}.reminder-row .chip-row{width:100%;padding-left:44px}}.data-table .text-urgent{color:var(--red);font-weight:700}.data-table tr.is-selected td{background:var(--green-bg)}.org-chart{gap:18px;display:grid}.org-top{border-bottom:1px dashed var(--line);justify-items:center;gap:6px;padding-bottom:14px;display:grid}.org-top-label{color:var(--ink-3);font-size:12px}.org-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.org-dept{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:start;gap:10px;padding:14px;display:grid}.org-dept header{gap:2px;display:grid}.org-dept header .muted,.org-led{font-size:12px}.org-team{border-left:2px solid var(--line);gap:6px;padding-left:12px;display:grid}.org-person{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:6px 8px;display:flex}.org-person:disabled{cursor:default}.org-person:not(:disabled):hover{background:var(--green-bg)}.org-person.is-lead{border-color:var(--line);background:var(--green-bg)}.org-top .org-person{width:auto;min-width:260px}.org-person.is-me,.org-person.is-hit{outline:2px solid var(--green)}.org-avatar{background:var(--green);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.org-person-text{min-width:0;display:grid}.org-person-text strong{font-size:13px}.org-person-text span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.enquiry-drawer.drawer-wide{width:min(1100px,100vw)}.day-grid-help{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.day-grid .data-table{width:max-content;min-width:100%}.day-grid .data-table th,.day-grid .data-table td{padding:4px 2px}.day-grid .day-grid-name{z-index:1;background:var(--surface);min-width:170px;padding-right:10px;position:sticky;left:0}.day-head{text-align:center;min-width:24px;font-size:11px}.day-head span{color:var(--ink-3);font-weight:400;display:block}.day-head.is-sunday{color:var(--ink-3)}.day-cell{text-align:center}.day-mark{width:22px;height:22px;font:inherit;border:0;border-radius:5px;place-items:center;font-size:11px;font-weight:700;display:inline-grid}button.day-mark{cursor:pointer}.mark-P{background:var(--green-bg);color:var(--green)}.mark-A{background:var(--red-bg);color:var(--red)}.mark-L{background:var(--amber-bg);color:var(--amber)}.mark-H{background:var(--line-soft);color:var(--ink-3)}.day-row-actions{gap:10px;font-size:11px;display:flex}.chip-file{font:inherit;cursor:pointer;border:0}.chip-file:hover{background:var(--green-bg)}.file-picker{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.file-picker label.btn{cursor:pointer}.esign-box{gap:12px;display:grid}.esign-cert{border:1px solid var(--line);background:var(--green-bg);color:var(--green);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.esign-cert span{gap:2px;display:grid}.esign-line{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mark-none{color:var(--ink-3)}[data-theme=employee],[data-theme=employee] .hrms{--teal-900:#5c2414;--teal-700:#9a3f1f;--teal-600:#b4532a;--teal-400:#d98a62;--teal-200:#f0cdb8;--teal-100:#f8e6da;--teal-50:#fcf4ee;--brand-ochre:#9a3f1f;--brand-slate:#9a3f1f;--bg:#faf6f2;--chrome:#f5e3d5;--chrome-hover:#efd5c1;--chrome-line:#e6c5ad;--sidebar-bg:#f7e8dc;--sidebar-hover:#9a3f1f14;--sidebar-line:#e8cdb8;--sidebar-text:#4a2717;--sidebar-muted:#7a4b35;--sidebar-icon:#9a3f1f;--theme-accent:#c8943a;--scene-sun:#e8a33a;--scene-far:#f3dfcc;--scene-field-1:#e7c3a3;--scene-field-2:#d9a47c;--scene-field-3:#b97a52;--scene-mustard:#ecc85a;--scene-mustard-dark:#c99a2e;--scene-earth:#c0714a;--scene-earth-dark:#8a4527;--scene-tree:#7d8f4e;--scene-tree-dark:#56683a}[data-portal=vendor],.vendor-shell{--teal-900:#3a1634;--teal-700:#6b2d5c;--teal-600:#82406f;--teal-400:#b07aa2;--teal-200:#e1c9da;--teal-100:#f1e4ed;--teal-50:#f9f2f7;--bg:#f8f5f7;--chrome:#efe2eb;--chrome-hover:#e6d3e0;--chrome-line:#dcc5d5;--sidebar-bg:#f2e7ef;--sidebar-hover:#6b2d5c14;--sidebar-line:#e0cbd9;--sidebar-text:#3a1634;--sidebar-muted:#6d4a63;--sidebar-icon:#6b2d5c;--theme-accent:#b8862b;--scene-sun:#d9a440;--scene-far:#eadce6;--scene-field-1:#d8bfd0;--scene-field-2:#c09fb6;--scene-field-3:#93708a;--scene-mustard:#e3bd5a;--scene-mustard-dark:#b8862b;--scene-earth:#b38a5c;--scene-earth-dark:#7d5a36;--scene-tree:#6f7f55;--scene-tree-dark:#4b5a38}[data-portal=candidate],.candidate-app-shell{--teal-900:#0b3d5c;--teal-700:#0369a1;--teal-600:#0284c7;--teal-400:#38bdf8;--teal-200:#bae6fd;--teal-100:#e0f2fe;--teal-50:#f0f9ff;--bg:#f5f9fc;--chrome:#e4f1f8;--chrome-hover:#d4e9f4;--chrome-line:#c6e0ee;--sidebar-bg:#eaf4fa;--sidebar-hover:#0284c714;--sidebar-line:#cde3ec;--sidebar-text:#0b2938;--sidebar-muted:#385d70;--sidebar-icon:#0284c7;--theme-accent:#10b981;--scene-sun:#f5c451;--scene-far:#d7e8f0;--scene-field-1:#b5e3cf;--scene-field-2:#8fd2b4;--scene-field-3:#5bb592;--scene-mustard:#a7e3c8;--scene-mustard-dark:#34a77a;--scene-earth:#7fb3cf;--scene-earth-dark:#3f7f9f;--scene-tree:#2f9a77;--scene-tree-dark:#1d6e55}.sidebar,.topbar,.nav-item,.btn-primary{transition:background-color .3s,border-color .3s,color .2s,box-shadow .3s}.topbar,.portal-top,.candidate-topbar{position:relative}.topbar:before,.portal-top:before,.candidate-topbar:before{content:"";background:linear-gradient(90deg, var(--teal-700) 0%, var(--theme-accent,var(--gold-500)) 100%);z-index:22;height:3px;position:absolute;inset:0 0 auto}.nav-item.is-active,.vendor-nav-item.is-active,.candidate-nav-item.is-active{position:relative;overflow:hidden;background:linear-gradient(135deg, var(--teal-700) 0%, var(--teal-900) 100%)!important;box-shadow:0 2px 8px color-mix(in srgb, var(--teal-700) 28%, transparent)!important;color:#fff!important}.nav-item.is-active:after,.vendor-nav-item.is-active:after,.candidate-nav-item.is-active:after{content:"";background:var(--theme-accent,var(--gold-500));border-radius:2px;width:3.5px;position:absolute;top:6px;bottom:6px;left:2px}.vendor-nav-item.is-active svg,.candidate-nav-item.is-active svg{color:#fff!important}.sidebar-section.has-active,.vendor-group-header.has-active,.candidate-sidebar-section.has-active{color:var(--teal-700)!important}.vendor-sidebar,.vendor-sidebar-brand,.candidate-sidebar,.candidate-sidebar-brand{background:var(--sidebar-bg)!important;border-color:var(--sidebar-line)!important}.vendor-nav-item,.candidate-nav-item{color:var(--sidebar-text)!important}.vendor-nav-item:hover,.candidate-nav-item:hover{background:var(--sidebar-hover)!important;color:var(--teal-900)!important}.vendor-item-icon,.candidate-nav-item svg{color:var(--sidebar-icon)!important}.vendor-group-header,.candidate-sidebar-section{color:var(--sidebar-muted)!important}.vendor-sidebar-profile,.candidate-sidebar-profile{border:1px solid var(--teal-200)!important;background:#ffffffeb!important}.vendor-profile-avatar,.candidate-profile-avatar,.candidate-avatar{border:2px solid #fff;background:linear-gradient(135deg, var(--teal-600) 0%, var(--teal-900) 100%)!important;color:#fff!important}.portal-top,.candidate-topbar{border-bottom:1px solid var(--chrome-line)!important}.portal-journey .journey li.is-current .journey-dot{background:var(--theme-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb, var(--theme-accent) 22%, transparent)!important}.portal-journey .journey li.is-done .journey-dot{background:var(--teal-700)!important}.vendor-shell .role-badge{background:var(--teal-50);color:var(--teal-900);border:1px solid var(--teal-200)}.btn-primary,.candidate-primary-btn,.candidate-submit-btn{box-shadow:0 2px 6px color-mix(in srgb, var(--teal-700) 22%, transparent);background:var(--teal-700)!important;border-color:var(--teal-700)!important}.btn-primary:hover,.candidate-primary-btn:hover,.candidate-submit-btn:hover{background:var(--teal-900)!important;border-color:var(--teal-900)!important}.hrms .border-\[var\(--teal-200\)\]{border-color:var(--teal-200)}.hrms .ring-\[var\(--teal-100\)\]{--tw-ring-color:var(--teal-100)}
