: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:#e4eaed;--chrome-hover:#d8e0e4;--chrome-line:#d3dce1;--sidebar-bg:#e6ebee;--sidebar-hover:#0f2a3d0f;--sidebar-line:#d3dce1;--sidebar-text:#34495a;--sidebar-muted:#627079;--sidebar-icon:var(--teal-600);--mtn-far:#c9d1d5;--mtn-far-2:#b3bdc2;--mtn-lit:#a3adb3;--mtn-rock:#87939a;--mtn-shade:#69757d;--mtn-deep:#535f67;--mtn-snow:#f4f7f8;--mtn-snow-shade:#d3dadf;--mtn-base:#414d55;--mtn-forest-back:#6f7b82;--mtn-forest-mid:#505c63;--mtn-forest:#36424a;--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}.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: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:focus-within{border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-50)}.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}.stat-card{box-shadow:inset 0 3px 0 var(--tone), var(--shadow);flex-direction:column;gap:6px;padding:14px 16px;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:hover{background:#268a5c;border-color:#268a5c}.btn-outline-danger{color:var(--red);border-color:#f0c4c2}.btn-outline-danger:hover{background:var(--red-bg);border-color:var(--red)}.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}.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 .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)}.pager{color:var(--ink-3);border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px 14px;font-size:13px;display:flex}.pager-buttons{align-items:center;gap:4px;display:flex}.page-button{border:1px solid var(--line);background:var(--surface);min-width:32px;height:32px;color:var(--ink-2);cursor:pointer;border-radius:6px;place-items:center;padding:0 6px;font-size:13px;transition:all .15s;display:inline-grid}.page-button:hover:not(:disabled){border-color:var(--teal-400);color:var(--ink)}.page-button.is-current{font-weight:600;background:var(--teal-700)!important;border-color:var(--teal-700)!important;color:#fff!important}.page-button:disabled{opacity:.4;cursor:default}.page-gap{color:var(--ink-3);padding:0 4px}.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);min-height:100vh;font-family:var(--font);grid-template-columns:minmax(420px,1.05fr) 1fr;display:grid}.auth-brand{color:#fff;isolation:isolate;background:var(--basalt);flex-direction:column;justify-content:space-between;gap:32px;min-height:100vh;padding:36px 48px 32px;display:flex;position:relative;overflow:hidden}.auth-photo{z-index:-2;object-fit:cover;object-position:62% center;width:100%;height:100%;animation:1.6s cubic-bezier(.2,.7,.2,1) both photo-settle;position:absolute;inset:0}.auth-brand:after{content:"";z-index:-1;background:linear-gradient(#16232d8c 0%,#16232d33 34%,#16232ddb 74%,#16232df5 100%);position:absolute;inset:0}.auth-contours{z-index:-1;pointer-events:none;width:160%;height:58%;animation:1.4s .3s both contour-in,60s linear 1.7s infinite alternate contour-drift;position:absolute;inset:auto -30% 4%}.auth-logo-row .logo-name{color:#fff}.auth-logo-row .logo-sub,.auth-logo-row .logo-tag{color:#ffffffb8}.auth-logo-row .logo-mark path:nth-child(2){fill:#fff}.auth-brand-copy{max-width:460px;animation:.8s .5s both copy-in}.auth-brand-copy h1{letter-spacing:-.02em;margin:0;font-size:40px;font-weight:600;line-height:1.1;color:#fff!important}.auth-brand-copy p{color:#ffffffd1;font-size:var(--fs-16);margin:14px 0 0;line-height:1.55}.auth-highlights{border-top:1px solid #ffffff29;gap:10px;margin:28px 0 0;padding:18px 0 0;list-style:none;display:grid}.auth-highlights li{color:#ffffffdb;font-size:var(--fs-14);align-items:center;gap:10px;display:flex}.auth-highlights svg{color:#d6a056;flex-shrink:0}.auth-foot{color:#fff9;font-size:var(--fs-12)}.auth-main{place-items:center;padding:40px 24px;display:grid}.auth-card{width:100%;max-width:400px;animation:.6s .2s both copy-in}.auth-card-header{margin-bottom:28px}.auth-card-header h2{font-size:var(--fs-24);letter-spacing:-.01em;margin:0;font-weight:600}.auth-card-header p{color:var(--ink-2);font-size:var(--fs-14);margin:6px 0 0}.auth-form{gap:16px;display:grid}.field{gap:6px;display:grid}.field-label{color:var(--ink-2);font-size:var(--fs-13);font-weight:500}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--ink-3);pointer-events:none;position:absolute;left:13px}.input-wrap input,.input-wrap select{border:1px solid var(--line);border-radius:var(--r-md);width:100%;height:44px;color:var(--ink);font:inherit;font-size:var(--fs-14);background:#fff;padding:0 44px 0 40px;transition:border-color .15s,box-shadow .15s}.input-wrap input::placeholder{color:#9aa6ae}.input-wrap input:hover{border-color:#c9d3cf}.input-wrap input:focus{border-color:var(--teal);box-shadow:var(--focus-ring);outline:0}.input-password-toggle{border-radius:var(--r-sm);width:34px;height:34px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;right:6px}.input-password-toggle:hover{background:var(--surface-2);color:var(--ink)}.auth-submit{border-radius:var(--r-md);background:var(--teal);color:#fff;height:44px;font:inherit;font-size:var(--fs-14);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-weight:600;transition:background .15s;display:inline-flex}.auth-submit:hover{background:var(--teal-strong)}.auth-submit:disabled{opacity:.7;cursor:progress}.auth-error{border-radius:var(--r-md);background:var(--danger-bg);color:var(--danger);font-size:var(--fs-13);border:1px solid #f5c6c1;margin:0;padding:10px 12px;line-height:1.45}.auth-hint{color:var(--ink-3);font-size:var(--fs-12);margin:-6px 0 0}.auth-note{color:var(--ink-3);font-size:var(--fs-13);text-align:center;margin:4px 0 0}@keyframes photo-settle{0%{filter:saturate(.7);transform:scale(1.06)}to{filter:saturate();transform:scale(1)}}@keyframes contour-in{0%{opacity:0}to{opacity:1}}@keyframes copy-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=960px){.auth-page{grid-template-columns:1fr}.auth-brand{min-height:300px;padding:24px 20px}.auth-brand-copy h1{font-size:30px}.auth-highlights,.auth-foot{display:none}.auth-main{padding:32px 20px 48px}}@media (prefers-reduced-motion:reduce){.auth-photo,.auth-contours,.auth-brand-copy,.auth-card{animation:none}}.app-shell{--sidebar-w:264px;background:var(--bg);min-height:100vh}.sidebar{z-index:40;width:var(--sidebar-w);background:var(--basalt);color:var(--on-dark);flex-direction:column;transition:width .22s,transform .25s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar-contours{pointer-events:none;width:180%;height:46%;animation:48s linear infinite alternate contour-drift;position:absolute;inset:auto -40% -6%}.sidebar-brand{height:var(--chrome-h);border-bottom:1px solid var(--on-dark-line);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 16px 0 18px;display:flex;position:relative}.sidebar-brand-link{min-width:0;color:inherit;text-decoration:none;display:flex}.sidebar .logo-name{color:#fff}.sidebar .logo-sub,.sidebar .logo-tag{color:var(--on-dark-muted)}.sidebar-close-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--on-dark-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:none}.sidebar-close-btn:hover{background:var(--on-dark-hover);color:#fff}.sidebar-nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex:1;padding:12px 10px 20px;position:relative;overflow-y:auto}.nav-group+.nav-group{margin-top:4px}.sidebar-section{border-radius:var(--r-sm);width:100%;height:32px;color:var(--on-dark-muted);font:inherit;font-size:var(--fs-12);letter-spacing:.01em;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 10px;font-weight:600;display:flex}.sidebar-section:hover{color:#fff}.sidebar-section svg{transition:transform .2s}.nav-group.is-open .sidebar-section svg{transform:rotate(180deg)}.nav-group.has-active .sidebar-section{color:#fff}.nav-group-items{grid-template-rows:0fr;transition:grid-template-rows .24s;display:grid}.nav-group.is-open .nav-group-items{grid-template-rows:1fr}.nav-group-inner{opacity:0;min-height:0;padding:0;transition:opacity .2s,padding .24s;overflow:hidden}.nav-group.is-open .nav-group-inner{opacity:1;padding:2px 0 6px}.nav-item{border-radius:var(--r-sm);height:38px;color:var(--on-dark-text);font-size:var(--fs-14);align-items:center;gap:11px;padding:0 10px;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-item:hover{background:var(--on-dark-hover);color:#fff}.nav-item.is-active{background:var(--on-dark-active);color:#fff;font-weight:500}.nav-item.is-active:before{content:"";background:var(--ochre);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-10px}.nav-icon{color:var(--on-dark-muted);flex-shrink:0}.nav-item:hover .nav-icon,.nav-item.is-active .nav-icon{color:#fff}.nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-badge{background:var(--ochre);color:#fff;min-width:20px;height:20px;font-size:var(--fs-12);text-align:center;border-radius:10px;padding:0 6px;font-weight:600;line-height:20px}.sidebar-footer{border-top:1px solid var(--on-dark-line);color:var(--on-dark-muted);font-size:var(--fs-12);flex-shrink:0;gap:2px;padding:14px 20px 18px;display:grid;position:relative}.app-main{min-height:100vh;margin-left:var(--sidebar-w);flex-direction:column;transition:margin-left .22s;display:flex;overflow-x:clip}.topbar{z-index:30;height:var(--chrome-h);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:14px;padding:0 28px;display:flex;position:sticky;top:0}.icon-button{border-radius:var(--r-sm);width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:relative}.icon-button:hover{background:var(--bg);color:var(--ink)}.topbar-right{align-items:center;gap:6px;margin-left:auto;display:flex}.bell-dot{background:var(--danger);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px;box-shadow:0 0 0 2px #fff}.user-chip{border-radius:var(--r-md);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.user-chip:hover{background:var(--bg)}.avatar{background:var(--teal);color:#fff;width:34px;height:34px;font-size:var(--fs-12);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid}.user-meta{flex-direction:column;min-width:0;line-height:1.3;display:flex}.user-meta strong{font-size:var(--fs-14);color:var(--ink);font-weight:600}.user-meta span{font-size:var(--fs-12);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.search-container{position:relative}.search{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);height:38px;color:var(--ink-3);align-items:center;gap:8px;padding:0 10px 0 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.search:focus-within{border-color:var(--teal);box-shadow:var(--focus-ring);background:#fff}.search input{min-width:0;color:var(--ink);font:inherit;font-size:var(--fs-14);background:0 0;border:0;outline:0;flex:1}.search kbd{border:1px solid var(--line);font:inherit;font-size:var(--fs-12);color:var(--ink-3);background:#fff;border-radius:5px;padding:1px 7px}.mobile-search-trigger,.search-mobile-close{display:none}.app-content{flex:1;width:100%;min-width:0;max-width:1480px;margin:0 auto;padding:24px 28px 32px}.app-footer{font-size:var(--fs-12);color:var(--ink-3);padding:0 28px 20px}.app-boot{min-height:60vh;color:var(--ink-3);font-size:var(--fs-14);place-content:center;justify-items:center;gap:12px;display:grid}.app-boot-inline{min-height:40vh}.app-boot:before{content:"";border:2.5px solid var(--line);border-top-color:var(--teal);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.app-boot[role=alert]:before{display:none}.app-alert{border:1px solid var(--warning-line);border-radius:var(--r-md);background:var(--warning-bg);color:var(--warning);font-size:var(--fs-13);margin:0 0 16px;padding:10px 14px}.page-anim{animation:.24s both page-in}.user-menu-head{gap:2px;padding:8px 12px 6px;display:grid}.user-menu-head strong{font-size:var(--fs-14);color:var(--ink)}.user-menu-head span{font-size:var(--fs-12);color:var(--ink-3)}.user-menu-head .user-menu-role{color:var(--teal);align-items:center;gap:5px;margin-top:6px;font-weight:600;display:inline-flex}.sidebar-backdrop{display:none}@media (width>=1024px){.app-shell.desktop-collapsed{--sidebar-w:72px}.desktop-collapsed .sidebar-brand{justify-content:center;padding:0}.desktop-collapsed .logo-text,.desktop-collapsed .sidebar-section,.desktop-collapsed .nav-label,.desktop-collapsed .nav-badge,.desktop-collapsed .sidebar-footer{display:none}.desktop-collapsed .nav-group-items{grid-template-rows:1fr}.desktop-collapsed .nav-group-inner{opacity:1;padding:2px 0}.desktop-collapsed .nav-item{justify-content:center;padding:0}.desktop-collapsed .nav-group+.nav-group{border-top:1px solid var(--on-dark-line);margin-top:8px;padding-top:8px}}@media (width<=1023px){.sidebar{width:min(300px,86vw);box-shadow:var(--shadow-lg);transform:translate(-100%)}.mobile-open .sidebar{transform:none}.sidebar-close-btn{display:grid}.sidebar-backdrop{z-index:35;opacity:0;pointer-events:none;background:#0d161d73;transition:opacity .2s;display:block;position:fixed;inset:0}.mobile-open .sidebar-backdrop{opacity:1;pointer-events:auto}.app-main{margin-left:0}.topbar{padding:0 16px}.app-content{padding:18px 16px 28px}.app-footer{padding:0 16px 16px}body.mobile-drawer-open{overflow:hidden}}@media (width<=640px){.user-meta{display:none}.global-search{flex:0}.mobile-search-trigger{display:grid}.search-container:not(.is-mobile-expanded){display:none}.search-container.is-mobile-expanded{z-index:50;height:var(--chrome-h);border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding:0 12px;display:flex;position:fixed;inset:0 0 auto}.search-container.is-mobile-expanded .search{flex:1}.search-mobile-close{width:36px;height:36px;color:var(--ink-2);background:0 0;border:0;place-items:center;display:grid}}@media (prefers-reduced-motion:reduce){.sidebar-contours,.page-anim{animation:none}}.sidebar .logo-mark path:nth-child(2){fill:var(--on-dark)}:root{--basalt:#16232d;--basalt-2:#1d2d39;--teal:#0e6b66;--teal-strong:#0a534f;--teal-soft:#e6f2f1;--ochre:#b8792b;--ochre-soft:#f6ecdd;--stone:#f2f4f3;--ink:#17222c;--ink-2:#45525e;--ink-3:#6b7884;--bg:var(--stone);--surface:#fff;--surface-2:#f7f9f8;--line:#dfe5e3;--line-soft:#ecf0ef;--on-dark:#e8eef0;--on-dark-text:#c5d0d6;--on-dark-muted:#8a9ba6;--on-dark-line:#ffffff14;--on-dark-hover:#ffffff0f;--on-dark-active:#ffffff1a;--success:#1e7a4c;--success-bg:#e5f3ec;--warning:#9a5b10;--warning-bg:#fbf1e1;--warning-line:#f0d9b3;--danger:#b42318;--danger-bg:#fdecea;--info:#1f5fae;--info-bg:#e7effa;--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-24:24px;--fs-30:30px;--r-sm:6px;--r-md:8px;--r-lg:12px;--shadow-sm:0 1px 2px #16232d0f;--shadow-md:0 6px 18px -6px #16232d24;--shadow-lg:0 18px 48px -12px #16232d47;--focus-ring:0 0 0 3px #0e6b662e;--chrome-h:64px;--teal-900:#0a4c49;--teal-700:var(--teal);--teal-600:#12807a;--teal-400:#4fa39d;--teal-200:#a9d3cf;--teal-100:#d3e9e7;--teal-50:var(--teal-soft);--gold-600:#9c6421;--gold-500:var(--ochre);--gold-200:#e9cfa8;--gold-100:var(--ochre-soft);--chrome:var(--surface);--chrome-hover:var(--surface-2);--chrome-line:var(--line);--chrome-height:var(--chrome-h);--nav-active:var(--teal);--nav-active-edge:var(--ochre);--navy:var(--basalt);--blue:var(--info);--blue-bg:var(--info-bg);--green:var(--success);--green-bg:var(--success-bg);--red:var(--danger);--red-bg:var(--danger-bg);--amber:var(--warning);--amber-bg:var(--warning-bg);--font-sans:var(--font);--font-serif:var(--font);--font-heading:var(--font);--font-body:var(--font);--radius:var(--r-md);--radius-lg:var(--r-lg);--shadow:var(--shadow-sm)}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-14);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0;margin:0;line-height:1.5}h1,h2,h3,h4,h5,h6,.font-serif,.heading-serif{letter-spacing:-.005em;color:var(--ink);font-family:var(--font)!important}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}::selection{background:var(--teal-100)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-title h1{font-size:var(--fs-24);margin:0;font-weight:600;line-height:1.25}.page-title p{max-width:72ch;color:var(--ink-2);font-size:var(--fs-14);margin:4px 0 0}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card.lift,.stat-card.is-link{transition:border-color .15s,box-shadow .15s}.card.lift:hover,.stat-card.is-link:hover{border-color:var(--teal-200);box-shadow:var(--shadow-md);transform:none}.stat-card{padding:18px 20px;box-shadow:var(--shadow-sm)!important;border-top:1px solid var(--line)!important}.stat-card:before{display:none!important}.stat-top{align-items:center;gap:10px;display:flex}.stat-top h3{font-size:var(--fs-13);color:var(--ink-2);margin:0;font-weight:500}.stat-icon{border-radius:var(--r-md);background:var(--teal-soft);width:34px;height:34px;color:var(--teal);place-items:center;display:grid}.stat-card.tone-good .stat-icon{background:var(--success-bg);color:var(--success)}.stat-card.tone-urgent .stat-icon{background:var(--danger-bg);color:var(--danger)}.stat-card.tone-attention .stat-icon{background:var(--warning-bg);color:var(--warning)}.stat-card.tone-info .stat-icon{background:var(--info-bg);color:var(--info)}.stat-value{font-size:var(--fs-30);font-variant-numeric:tabular-nums;color:var(--ink);margin-top:12px;font-weight:600;line-height:1.1;display:block}.stat-meta{font-size:var(--fs-12);color:var(--ink-3);margin-top:6px}.btn{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);height:38px;color:var(--ink);font:inherit;font-size:var(--fs-14);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:500;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:#cdd6d3}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-strong);border-color:var(--teal-strong);color:#fff}.btn-outline{border-color:var(--teal-200);color:var(--teal);background:0 0}.btn-outline:hover{background:var(--teal-soft);border-color:var(--teal)}.btn-quiet,.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-quiet:hover,.btn-ghost:hover{background:var(--surface-2);color:var(--ink);border-color:#0000}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#93190f;border-color:#93190f}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-small{height:32px;font-size:var(--fs-13);padding:0 10px}.link-button{color:var(--teal);font:inherit;font-size:var(--fs-13);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:500;display:inline-flex}.link-button:hover{color:var(--teal-strong);text-underline-offset:3px;text-decoration:underline}.pill,.status-pill{height:24px;font-size:var(--fs-12);white-space:nowrap;text-transform:none;letter-spacing:0;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-weight:500;display:inline-flex}:is(.pill,.status-pill).tone-good{background:var(--success-bg);color:var(--success)}:is(.pill,.status-pill).tone-urgent{background:var(--danger-bg);color:var(--danger)}:is(.pill,.status-pill).tone-attention{background:var(--warning-bg);color:var(--warning)}:is(.pill,.status-pill).tone-info{background:var(--info-bg);color:var(--info)}:is(.pill,.status-pill).tone-neutral{background:var(--surface-2);color:var(--ink-2)}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table,.hrms table{border-collapse:collapse;width:100%;font-size:var(--fs-14);font-variant-numeric:tabular-nums}.data-table th,.hrms table th{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--ink-3);text-align:left;white-space:nowrap;padding:10px 14px;font-size:var(--fs-12)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important}.data-table td,.hrms table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--ink);padding:12px 14px}.data-table tbody tr:hover,.hrms table tbody tr:hover{background:#f9fbfa}.data-table tbody tr:last-child td,.hrms table tbody tr:last-child td{border-bottom:0}.input,.select,.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--r-md);height:38px;color:var(--ink);font:inherit;font-size:var(--fs-14);background:#fff}.input:focus,.select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:var(--focus-ring);outline:0}.popover{background:#fff;animation:.14s both pop-in;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow-lg)!important}.menu-action{border-radius:var(--r-sm);width:100%;color:var(--ink);font:inherit;font-size:var(--fs-14);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.menu-action:hover{background:var(--surface-2)}.menu-action-exit{color:var(--danger)}.muted{color:var(--ink-3)}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes contour-drift{0%{transform:translate(0)}to{transform:translate(14%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.logo{align-items:center;gap:10px;min-width:0;display:flex}.logo-mark{flex-shrink:0;width:34px;height:28px}.logo-text{min-width:0;line-height:1.15;display:grid}.logo-name{font-size:var(--fs-16);letter-spacing:-.01em;color:var(--ink);font-weight:600}.logo-sub{font-size:var(--fs-12);color:var(--ink-3)}.logo-tag{display:none}.btn:active:not(:disabled),.auth-submit:active:not(:disabled){transform:translateY(1px)}.icon-button:active,.user-chip:active{transform:scale(.96)}.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}
