: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{cursor:pointer}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:14px 20px 10px;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-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)}.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{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{font-family:var(--font-serif);color:var(--ink);font-size:38px;font-weight:600;line-height:1.05}.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 0;display:flex;position:relative;overflow:hidden}.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}.page-title h1{font-size:28px}.page-actions{justify-content:space-between}.page-actions>.btn{flex:auto}}.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 (pointer:coarse){.btn{height:40px}.btn.btn-small{height:36px}.icon-button{width:40px;height:40px}.icon-button.small{width:36px;height:36px}.link-button,.share-toggle{min-height:34px}.check-step{min-height:40px}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{font-size:16px}}.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);grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:16px;padding:4px;display:grid}.auth-tabs button{height:38px;color:var(--ink-2);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:7px;font-size:14.5px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:flex}.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{border:none;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:8px;margin:0;padding:0;display:grid}.role-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;gap:3px;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;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.auth-demos button:hover{border-color:var(--teal-600);background:var(--teal-50)}.auth-demos strong{color:var(--ink);font-size:14.5px}.auth-demos button span{color:var(--teal-700);font-size:13px}.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{grid-template-columns:1fr}.auth-brand{gap:18px;padding:22px 20px}.auth-brand-copy h1{margin-bottom:0;font-size:22px}.auth-brand-copy p,.auth-brand .auth-foot,.auth-range{display:none}.auth-main{place-items:start center;padding:20px 16px 32px}.auth-card{padding:22px 18px}}@media (width<=420px){.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{white-space:normal;text-align:left;min-width:0;line-height:1.25}.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:12px 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{pointer-events:none;flex-shrink:0;width:100%;margin-top:auto;padding-top:16px;position:relative;overflow:hidden}.sidebar-mountains{pointer-events:none;width:100%;height:140px;animation:.9s cubic-bezier(.2,.7,.2,1) .1s backwards rise;display:block}.sidebar-motto{z-index:2;font-family:var(--font-serif);color:var(--sidebar-text);pointer-events:none;margin:0;font-size:15px;font-weight:600;line-height:1.25;display:none;position:absolute;top:24px;left:18px}.sidebar-motto:after{content:"";background:var(--gold-500);width:28px;height:2px;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}.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:18px 24px 20px}.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 20px}.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:12px 12px 18px}.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}}.dashboard-hero{color:#fff;background:linear-gradient(135deg,#0e4a52 0%,#15223c 100%);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:#b7dadb;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:#0e4a52;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:#0e4a52;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,#1f6f78);height:3px;position:absolute;top:0;left:0;right:0}.scorecard-card:hover{border-color:var(--card-accent,#1f6f78);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,#eef7f7);width:34px;height:34px;color:var(--card-accent,#1f6f78);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{background:#fff;border-color:#1f6f78;box-shadow:0 3px 10px #1f6f7814}.action-card-left{align-items:center;gap:10px;min-width:0;display:flex}.action-card-icon{color:#1f6f78;background:#eef7f7;border-radius:6px;flex-shrink:0;place-items:center;width:32px;height:32px;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{color:#fff;background:#0e4a52}.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{background:#f0fdfa;border-color:#1f6f78}.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:#1f6f78;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{color:#1f6f78;background:#eef7f7;border-color:#1f6f78}.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{flex-direction:column;gap:20px;width:100%;max-width:1120px;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{max-width:1120px;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}}.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:0}.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-y: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:minmax(0,1fr) auto 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-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{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}.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)}.phr{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:20px;padding:22px 24px 18px;box-shadow:0 1px 2px #0f2a3d0a,0 8px 24px -16px #0f2a3d2e}.phr-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.phr-head h2{font-family:var(--font-serif);color:var(--ink);align-items:center;gap:8px;margin:0;font-size:22px;display:flex}.phr-head h2 svg{color:var(--teal-700)}.phr-head p{color:var(--ink-3);margin:4px 0 0;font-size:13px}.phr-date{background:var(--teal-50);color:var(--teal-700);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.phr-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:11px;font-weight:700}.phr-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px;display:grid}.phr-tile{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--bg));border-radius:12px;gap:2px;padding:14px 16px;display:grid;position:relative;overflow:hidden}.phr-tile:before{content:"";background:var(--accent);width:3px;position:absolute;inset:0 auto 0 0}.phr-icon{background:var(--accent-bg);width:30px;height:30px;color:var(--accent);border-radius:9px;place-items:center;margin-bottom:8px;display:grid}.phr-tile strong{font-family:var(--font-serif);color:var(--ink);font-size:26px;line-height:1.1}.phr-tile-label{color:var(--ink-2);font-size:13px;font-weight:600}.phr-tile-sub{color:var(--ink-3);font-size:12px}.tone-teal{--accent:var(--teal-700);--accent-bg:var(--teal-50)}.tone-green{--accent:var(--green);--accent-bg:var(--green-bg)}.tone-gold{--accent:var(--gold-600);--accent-bg:var(--gold-100)}.tone-ink{--accent:var(--ink-2);--accent-bg:var(--bg)}.phr-meter{background:var(--line);border-radius:999px;height:6px;margin-top:6px;display:block;overflow:hidden}.phr-meter span{background:var(--accent);border-radius:999px;height:100%;display:block}.phr-table-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.phr-table{border-collapse:collapse;width:100%;font-size:13px}.phr-table th{background:var(--bg);border-bottom:1px solid var(--line);letter-spacing:.05em;text-align:left;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}.phr-table td{border-bottom:1px solid var(--line-soft,var(--line));color:var(--ink-2);vertical-align:middle;padding:12px 14px}.phr-table .num{text-align:center}.phr-table tbody tr:hover td{background:var(--teal-50)}.phr-project{align-items:flex-start;gap:10px;display:flex}.phr-project span{display:grid}.phr-project strong{color:var(--ink);font-weight:600}.phr-project small,.phr-table small{color:var(--ink-3);font-size:12px}.phr-dot{background:var(--teal-600);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.phr-cell-meter{min-width:110px;color:var(--ink);gap:2px;font-weight:600;display:grid}.phr-cell-meter .phr-meter{margin-top:4px}.phr-pill{background:var(--gold-100);min-width:26px;height:22px;color:var(--gold-600);border-radius:999px;place-items:center;padding:0 8px;font-weight:700;display:inline-grid}.phr-zero{color:var(--ink-3)}.phr-table tfoot td{background:var(--teal-50);border-top:2px solid var(--teal-200);color:var(--teal-900);padding:12px 14px;font-weight:700}.hrms .phr .phr-head h2{font-family:var(--font-serif);font-weight:600}.phr-tile strong.is-long{font-size:20px;line-height:1.3}.phr-tile strong{overflow-wrap:anywhere}.district-pick{border:1px solid var(--line);background:var(--surface);min-width:180px;font:inherit;color:var(--ink);border-radius:10px;padding:8px 12px}.district-report .phr-head{align-items:center}
