.alert-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#10271cb3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:alert-overlay-in .16s ease-out}.alert-dialog{position:relative;width:min(430px,100%);display:grid;grid-template-columns:48px 1fr;gap:17px;padding:25px;border:1px solid #dfe7df;border-radius:18px;background:#fff;color:#202721;box-shadow:0 28px 80px #10271c52;animation:alert-dialog-in .2s ease-out}.alert-dialog-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf4ef;color:#315442}.alert-dialog-danger .alert-dialog-icon{background:#fff0ed;color:#a83f3c}.alert-dialog-copy{padding:2px 28px 0 0}.alert-dialog-copy h2{margin:0;font-size:19px;line-height:1.25}.alert-dialog-copy p{margin:8px 0 0;color:#68726a;font-size:14px;line-height:1.55}.alert-dialog-close{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#7c8980}.alert-dialog-close:hover{background:#f1f4f1;color:#315442}.alert-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.alert-dialog-actions button{justify-content:center;min-width:104px}.alert-dialog-confirm{background:#a83f3c;color:#fff;border-color:#a83f3c}.alert-dialog button:disabled{cursor:not-allowed;opacity:.6}@keyframes alert-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes alert-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:560px){.alert-dialog-overlay{align-items:end;padding:12px}.alert-dialog{grid-template-columns:42px 1fr;gap:13px;padding:21px;border-radius:18px}.alert-dialog-icon{width:42px;height:42px}.alert-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.alert-dialog-actions button{width:100%}}@media(prefers-reduced-motion:reduce){.alert-dialog-overlay,.alert-dialog{animation:none}}.productivity-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,2fr);gap:20px;margin-top:25px;align-items:start}.productivity-layout>div{display:grid;gap:20px}.productivity-projects{display:grid;gap:8px}.productivity-projects button{border:1px solid #e3e9e2;background:#fff;text-align:left;border-radius:9px;padding:13px;display:grid;gap:5px;color:#233a2c;cursor:pointer}.productivity-projects button.selected{border-color:#638e70;background:#f0f7f1}.productivity-projects small,.productivity-projects span,.productivity-stage small{color:#758078;font-size:12px}.productivity-projects span{font-size:11px}.productivity-stats{display:flex;flex-wrap:wrap;gap:25px;margin-top:18px;color:#758078;font-size:12px}.productivity-stats strong{display:block;color:#203b2f;font-size:18px}.productivity-stages{margin-bottom:25px}.productivity-stage{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #edf0ec;padding:17px 0}.productivity-stage>div:first-child{display:grid;gap:5px}.productivity-stage-actions{display:flex;gap:7px}.productivity-stage-actions button,.productivity-timer button{white-space:nowrap}.productivity-stage-form{border-top:1px solid #edf0ec;padding:18px 0}.productivity-stage-form .form-grid{margin-top:0}.productivity-timer{margin-top:25px;display:flex;align-items:center;gap:14px;background:#f1f8f1;border-color:#bfdbc4}.productivity-timer div{flex:1;display:grid;gap:5px}.productivity-timer small{color:#627668}@media(max-width:850px){.productivity-layout{grid-template-columns:1fr}.productivity-stage{align-items:flex-start;flex-direction:column}.productivity-timer{flex-wrap:wrap}}.finance-filter{margin-top:25px}.finance-filter label{display:grid;gap:7px;color:#536057;font-size:13px;font-weight:700;max-width:340px}.finance-filter select{border:1px solid #dce3db;border-radius:8px;padding:11px;background:#fff}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.finance-summary .card strong{font-size:20px;white-space:nowrap}.finance-entries,.finance-centers{overflow-x:auto}.finance-entries table{min-width:860px}.finance-centers table{min-width:550px}.finance-entries td small{display:block;margin-top:5px;color:#8b958c;font-weight:400}.finance-actions{display:flex;gap:6px}.finance-actions button,.finance-icon{border:0;background:#edf3ef;color:#315442;border-radius:7px;width:30px;height:30px;display:grid;place-items:center}.finance-center-form{padding:18px 0;border-top:1px solid #edf0ec}@media(max-width:1050px){.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.finance-summary{grid-template-columns:1fr 1fr}.finance-summary .card strong{font-size:15px}.finance-summary .card{padding:13px}}.client-portal{min-height:100dvh;background:#f5f7f4;display:block;padding:28px}.client-portal-shell{max-width:1080px;margin:auto;width:100%}.client-portal header{padding:18px 0 30px}.client-portal header button,.client-portal-item button{display:flex;align-items:center;gap:7px;border:1px solid #d5e1d7;border-radius:8px;background:#fff;color:#315442;padding:9px 12px;font-weight:700}.client-portal-hero{background:#203b2f;color:#fff;border-radius:17px;padding:30px;margin-bottom:22px}.client-portal-hero .eyebrow{color:#dba942}.client-portal-hero h2{font-size:26px}.client-portal-hero p,.client-portal-hero small{color:#d8e6dc}.client-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.client-portal-heading{display:flex;align-items:center;gap:8px;color:#315442;margin-bottom:12px}.client-portal-heading h2{font-size:18px}.client-portal-item{display:grid;gap:8px;padding:15px 0;border-top:1px solid #edf0ec;font-size:13px}.client-portal-item p{white-space:pre-wrap;color:#536057;margin:0}.client-portal-item span{color:#38774e;font-weight:700;font-size:11px}.client-portal-item small{color:#7d897f}.client-portal-item button{justify-self:start}@media(max-width:800px){.client-portal-grid{grid-template-columns:1fr}.client-portal{padding:16px}.client-portal-hero{padding:23px}}.client-workflow-project{margin:26px 0}.client-workflow-project label{display:grid;gap:7px;max-width:440px;color:#536057;font-size:13px;font-weight:700}.client-workflow-project select,.client-workflow-link-form input,.client-workflow-new-link input{border:1px solid #dce3db;border-radius:8px;padding:11px;background:#fff}.client-workflow-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid #e2e9e2}.client-workflow-tabs button{border:0;background:transparent;padding:13px 15px;color:#597060;font-weight:700;white-space:nowrap}.client-workflow-tabs button.active{border-bottom:3px solid #dba942;color:#203b2f}.client-workflow-list{margin-top:20px}.client-workflow-list .panel-head p{margin:5px 0;color:#7c887d;font-size:12px}.client-workflow-form{border-top:1px solid #edf0ec;padding:16px 0}.client-workflow-form textarea[name=body]{min-height:240px}.client-workflow-check{display:flex!important;align-items:center;gap:8px}.client-workflow-check input{width:18px;height:18px}.client-workflow-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid #edf0ec}.client-workflow-row>div:first-child{display:grid;gap:7px;min-width:0}.client-workflow-row strong{color:#26352a}.client-workflow-row small{color:#7c887d}.client-workflow-row p{white-space:pre-wrap;max-height:110px;overflow:auto;font-size:12px;color:#66736a;margin:0}.client-workflow-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.client-workflow-actions button{white-space:nowrap}.client-workflow-link-form{display:flex;align-items:end;gap:12px;padding:18px 0}.client-workflow-link-form label,.client-workflow-new-link label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#536057}.client-workflow-link-form input{width:100px}.client-workflow-new-link{border:1px solid #b9d9c0;background:#f0f8f1;border-radius:10px;padding:16px;display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:18px}.client-workflow-new-link label{flex:1;min-width:200px}.client-workflow-new-link small{width:100%;color:#66736a}@media(max-width:650px){.client-workflow-row{flex-direction:column}.client-workflow-actions{justify-content:flex-start}.client-workflow-link-form{align-items:stretch;flex-direction:column}}.reset-back{border:0;background:transparent;color:#527461;padding:0 0 24px;display:flex;gap:6px;align-items:center;font-weight:700}.password-reset-done{text-align:center;width:min(400px,100%)}.password-reset-done>svg{color:#38774e}.password-reset-done .login-button{margin-left:auto;margin-right:auto;max-width:300px}.mobile-login .text-button{border:0;background:transparent;color:#356449;width:100%;font-weight:700;padding:10px}.mobile-login .reset-back{background:transparent;width:auto;height:auto;color:#527461;padding:0 0 20px;display:flex}.mobile-login .password-reset-done{width:100%}:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#202721;background:#f5f7f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7f4}button,input,textarea,select{font:inherit}button{cursor:pointer}.mobile-loading{min-height:100dvh;display:grid;place-items:center;color:#527461}.mobile-login{min-height:100dvh;padding:32px 22px;background:linear-gradient(160deg,#193a2b 0,#264c39 37%,#f5f7f4 37%)}.mobile-login-brand{display:flex;align-items:center;gap:10px;color:#fff;margin-bottom:24vh}.mobile-login-brand>span,.mobile-mark>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#dba942;color:#193526;font-size:12px;font-weight:900}.mobile-login-brand strong{font-size:20px}.mobile-login-brand em{font-style:normal;color:#e9bc57}.mobile-login section{background:#fff;border:1px solid #e6ebe6;border-radius:22px;padding:26px 20px;box-shadow:0 20px 60px #17332726}.mobile-login h1{font-size:30px;line-height:1.08;margin:5px 0 10px}.mobile-login form{display:grid;gap:13px;margin-top:26px}.mobile-login form label{display:flex;align-items:center;gap:10px;border:1px solid #dce3db;border-radius:12px;padding:0 13px;color:#637268}.mobile-login input{width:100%;border:0;outline:0;padding:15px 0;background:transparent}.mobile-login form label button{border:0;background:transparent;color:#637268;padding:6px}.login-button,.primary{border:0;border-radius:11px;background:#dba942;color:#203b2f;padding:13px 15px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}.login-button{width:100%;margin-top:4px}.mobile-shell{min-height:100dvh;padding-bottom:84px}.mobile-topbar{height:68px;padding:10px 16px;position:sticky;top:0;z-index:20;background:#203b2ff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:0 4px 18px #1733271f}.mobile-mark{display:flex;align-items:center;gap:10px;min-width:0}.mobile-mark>span{width:38px;height:38px}.mobile-mark div{display:grid;min-width:0}.mobile-mark strong{font-size:14px}.mobile-mark small{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aebfb4;font-size:10px}.mobile-topbar>button{width:40px;height:40px;border:0;border-radius:12px;background:#ffffff14;color:#fff;display:grid;place-items:center}.mobile-page{width:100%}.mobile-navigation{position:fixed;z-index:30;left:0;right:0;bottom:0;height:76px;display:flex;overflow-x:auto;align-items:stretch;background:#fff;border-top:1px solid #dfe6df;padding:5px max(5px,env(safe-area-inset-left)) max(5px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #17332714}.mobile-navigation button{min-width:64px;flex:1;border:0;background:transparent;color:#829087;border-radius:10px;display:grid;place-content:center;justify-items:center;gap:3px;font-size:9px;font-weight:700}.mobile-navigation button.active{background:#edf4ef;color:#315442}.content{width:100%;padding:22px 15px 28px}.content>header{display:flex;align-items:flex-start;gap:14px;justify-content:space-between;margin-bottom:20px}.content>header>div:first-child{min-width:0}.content>header .primary{flex:0 0 auto;padding:11px}.content h1{font-size:25px;line-height:1.15;margin:0;letter-spacing:-.5px}.content h2{font-size:17px;margin:0}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#758078;margin:0 0 7px}.muted{color:#758078;font-size:13px;line-height:1.45;margin:6px 0}.back{border:0;background:transparent;color:#527461;padding:0 0 16px;display:flex;gap:6px;align-items:center;font-weight:700;font-size:12px}.panel,.card{background:#fff;border:1px solid #e6ebe6;border-radius:15px}.panel{padding:17px}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 16px}.card{padding:15px}.card-icon{width:34px;height:34px;border-radius:10px;background:#e9f7ed;color:#38774e;display:grid;place-items:center;margin-bottom:12px}.card p{font-size:11px;color:#68726a;margin:0 0 4px}.card strong{font-size:24px}.dashboard-actions,.form-actions,.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dashboard-actions{margin-top:15px}.secondary,.danger{border:1px solid #ccd7cf;background:#fff;color:#315442;border-radius:10px;padding:11px 13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px}.danger{border-color:#e3b8b6;background:#fff4f3;color:#a83f3c}.material-form{margin:18px 0}.form-grid{display:grid;grid-template-columns:1fr;gap:13px;margin:17px 0}.form-grid label{display:grid;gap:6px;color:#536057;font-size:12px;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #dce3db;border-radius:10px;padding:12px;background:#fff;font-size:16px}.form-grid textarea{min-height:90px;resize:vertical}.location-capture{display:grid;gap:8px;margin:0 0 16px;padding:12px;border:1px solid #dce3db;border-radius:11px;background:#f8faf8}.location-capture button{border:0;border-radius:9px;padding:11px;background:#315442;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px}.location-capture span{font-size:11px;color:#68726a}.materials-table{margin-top:17px;overflow-x:auto}.materials-table h2{position:sticky;left:0;margin-bottom:12px}.materials-table table{border-collapse:collapse;min-width:680px;width:100%;font-size:12px}.materials-table th{font-size:9px;color:#89918a;letter-spacing:.6px;text-align:left;padding:11px 8px;border-top:1px solid #edf0ec}.materials-table td{padding:13px 8px;border-top:1px solid #edf0ec;color:#4c554e}.materials-table td:first-child{font-weight:700;color:#26352a}.assets-table table{min-width:820px}.status-select{border:1px solid #dce3db;border-radius:8px;background:#fff;padding:8px;color:#315442;font-weight:700}.empty{text-align:center;color:#839087;padding:28px 10px}.form-error{font-size:12px;color:#b84e4c;margin:10px 0}.success{font-size:12px;color:#287a45;background:#edf8f0;border-radius:8px;padding:9px}.feedback{background:#fff1ef;padding:10px;border-radius:8px}.open,.progress,.done,.closed{display:inline-block;font-style:normal;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:800}.open{color:#a86d16;background:#fff5df}.progress{color:#3973a7;background:#edf5ff}.done{color:#3c8054;background:#e9f7ed}.closed{color:#9a4542;background:#fff0ed}.row-actions button{border:0;background:#edf3ef;color:#315442;border-radius:8px;width:34px;height:34px;display:grid;place-items:center}.row-actions .danger-icon{color:#a83f3c;background:#fff0ed}.asset-serial{display:block;margin-top:4px;color:#89918a;font-weight:400}.asset-history{margin-top:15px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between}.panel-head button{border:0;background:transparent;color:#356449;font-weight:700}.movement{display:flex;gap:10px;padding:14px 0;border-top:1px solid #edf0ec}.movement-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#edf3ef;color:#315442;flex:0 0 auto}.movement p{margin:4px 0;color:#5f6961;font-size:12px}.movement small{color:#89918a;font-size:10px}@media(min-width:600px){.content{padding:28px 24px}.summary{grid-template-columns:repeat(3,1fr)}.mobile-login section{max-width:460px;margin:auto}.mobile-login-brand{max-width:460px;margin-left:auto;margin-right:auto}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:span 2}}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #b78129;outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
