:root{--ink:#172d28;--muted:#667770;--green:#164d40;--pale:#e6eee9;--line:#dde4df;--paper:#f5f6f2;--orange:#ae622a}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:9px;padding:10px 16px;color:var(--ink);font-weight:600}button:hover{background:var(--pale)}button.primary{background:var(--green);border-color:var(--green);color:white}button.danger{color:#a33434}button:disabled{opacity:.5;cursor:wait}a{color:var(--green)}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:8px 0 12px}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:0 0 10px}p{margin:6px 0 16px}.muted,small{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--muted)}header{background:white;border-bottom:1px solid var(--line);padding:18px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-size:21px;font-weight:800;letter-spacing:-.7px}.brand span{background:var(--green);color:white;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;margin-right:10px;font-size:18px}.profile{display:flex;align-items:center;gap:15px}.layout{display:grid;grid-template-columns:225px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 75px)}nav{padding:30px 20px;border-right:1px solid var(--line)}nav button{display:block;width:100%;text-align:left;margin-bottom:7px;border:0;background:transparent}nav button.active{background:var(--pale);color:var(--green)}nav .eyebrow{margin:0 16px 18px}.nav-note{padding:18px;margin-top:30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}main{padding:35px 38px;min-width:0}.topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.topline p{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.stat,.panel{border:1px solid var(--line);background:white;border-radius:14px;padding:22px}.stat strong{font-size:29px;letter-spacing:-.8px;display:block;margin:8px 0}.stat.green{background:var(--green);color:white}.stat.green small{color:#c8dfd3}.panel{margin:18px 0}.notice{border-left:3px solid #b38e45;background:#f3eedf;padding:13px 16px;font-size:13px;margin:16px 0}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600;margin-bottom:14px}input,select,textarea{display:block;width:100%;border:1px solid #ccd7d0;border-radius:8px;background:white;color:var(--ink);padding:11px;margin-top:6px;min-height:44px}input[type=checkbox]{width:auto;display:inline;min-height:auto;margin-right:8px}textarea{min-height:90px;resize:vertical}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:11px;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;background:#f7f9f6}th,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block}.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.badge{display:inline-block;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700;white-space:nowrap;background:#edf0ed;color:#647269}.badge.approved,.badge.locked{background:#e3f0e7;color:#25663f}.badge.pending,.badge.submitted{background:#fff0d9;color:#986015}.badge.rejected{background:#fae7e7;color:#a43d3d}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty b{font-size:18px;color:var(--ink);display:block;margin-bottom:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{padding:6px 10px;font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--green);color:white;padding:80px 12%;display:flex;flex-direction:column;justify-content:center}.login-art h1{font-size:52px;max-width:500px}.login-art p{color:#c1d6cb;max-width:380px}.login-art .brand{margin-bottom:70px}.login-art .brand span{background:#e5b96f;color:var(--ink)}.login-form{display:flex;align-items:center;justify-content:center;padding:35px}.login-form form{width:100%;max-width:365px}.login-form button{width:100%}.login-form h1{font-size:30px}.error{color:#a33434;min-height:22px;font-size:13px;margin-top:12px}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;width:min(650px,94vw);max-height:92vh;color:var(--ink)}dialog::backdrop{background:#102c2466;backdrop-filter:blur(3px)}.close{float:right;padding:4px 10px}.total-preview{background:var(--pale);padding:15px;border-radius:10px;margin:14px 0;display:flex;justify-content:space-between}.total-preview strong{font-size:23px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#173e32;color:white;border-radius:10px;padding:12px 22px;display:none;max-width:92vw;z-index:100}.file-info{font-size:12px;color:var(--muted)}.subtle{font-size:12px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.split .panel{margin-top:0}.rates input{min-width:75px;padding:7px}details{margin:16px 0}summary{cursor:pointer;font-weight:600}.timeline{font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}@media(max-width:1000px){main{padding:25px 20px}.layout{grid-template-columns:185px 1fr}.split{grid-template-columns:1fr}.profile small{display:none}}@media(max-width:700px){header{padding:13px 16px}.profile{gap:6px}.profile button{font-size:11px;padding:7px}.layout{display:block}nav{padding:10px 12px;display:flex;gap:6px;overflow:auto;border-right:0;border-bottom:1px solid var(--line);background:white}nav button{width:auto;white-space:nowrap;margin:0;font-size:12px;padding:9px 12px}nav .eyebrow,.nav-note{display:none}main{padding:22px 16px}.topline{align-items:flex-start}.topline h1{font-size:26px}.topline>button{font-size:12px;padding:11px;white-space:nowrap}.stats{gap:7px}.stat{padding:12px 9px}.stat strong{font-size:20px}.stat small{font-size:10px}.panel{padding:16px}.grid{grid-template-columns:1fr;gap:0}.login{display:block}.login-art{padding:30px}.login-art h1{font-size:30px}.login-art .brand{margin-bottom:24px}.login-art p{display:none}.login-form{padding:30px}dialog{padding:20px}.expense-table thead{display:none}.expense-table,.expense-table tbody{display:block}.expense-table tr{display:grid;grid-template-columns:1fr auto;padding:12px 0;border-bottom:1px solid var(--line)}.expense-table td{display:block;border:0;padding:4px 0}.expense-table td:first-child{grid-column:1/-1}.expense-table td:last-child{grid-column:1/-1}.expense-table .amount{font-size:17px}.row select{max-width:200px}}

.mail-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;font-size:20px;color:#236b9f;text-decoration:none;width:30px;height:30px;border-radius:7px;background:#eef5fb}.receipt-link{display:inline-block;font-size:12px;margin-top:8px}.inline-review{min-width:240px;max-width:310px}.code-label{font-size:11px;margin:0}.analytic-input{margin:4px 0;min-height:38px;padding:7px 9px;font-size:13px}.inline-review small{margin:3px 0 7px;min-height:16px}.actions button.approve,button.approve{background:#267442;color:white;border-color:#267442}.actions button.reject,button.reject{background:#b53c3c;color:white;border-color:#b53c3c}.actions button.approve:hover{background:#1b6033}.actions button.reject:hover{background:#9d2b2b}.category-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.category-stat{border:1px solid var(--line);border-radius:10px;padding:16px;background:#f7f9f6}.category-stat strong{display:block;font-size:24px;margin-top:7px;letter-spacing:-.5px}.analytic-totals{min-width:780px}.analytic-totals th,.analytic-totals td{padding:12px 8px}main:has(.analytic-totals)>.split{grid-template-columns:minmax(0,1fr) 280px}@media(max-width:1150px){main:has(.analytic-totals)>.split{grid-template-columns:1fr}}@media(max-width:700px){.category-stats{grid-template-columns:1fr 1fr}.category-stat{padding:12px}.category-stat strong{font-size:20px}.inline-review{max-width:none;width:100%}.inline-review .actions button{flex:1;min-height:42px}.mail-icon{font-size:22px}.expense-table td:last-child{padding-top:12px}}
.code-combobox{position:relative}.code-options{position:absolute;top:61px;left:0;right:0;max-height:210px;overflow:auto;z-index:20;background:white;border:1px solid #c1d3c8;border-radius:8px;box-shadow:0 8px 22px #173e3226}.code-options[hidden]{display:none}.code-options button{display:block;width:100%;border:0;border-radius:0;text-align:left;font-size:12px;font-weight:400;padding:11px}.code-options button:focus{background:#e6eee9;outline:2px solid #164d40;outline-offset:-2px}.no-match{display:block;padding:12px;font-size:12px;color:#667770}.table-wrap:has(.inline-review){padding-bottom:185px;margin-bottom:-165px}.panel:has(.inline-review){overflow:visible}

.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;padding:6px!important;border:1px solid var(--line);border-radius:7px;background:white;vertical-align:middle;text-decoration:none}.icon-button:hover{background:var(--pale)}.icon-button svg{flex:none}.team-scroll{overflow-x:auto}.team-row{display:flex;align-items:center;gap:16px;white-space:nowrap;padding:12px 0;border-bottom:1px solid var(--line);min-width:660px;font-size:13px}.team-row>b{min-width:150px}.team-email{flex:1}.team-role{min-width:98px}.split:has(.team-scroll){display:block}.split:has(.team-scroll)>section:last-child{max-width:560px;margin-top:20px}.analytic-code-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.analytic-code-actions button{font-size:11px;padding:5px 8px}.analytic-totals{min-width:730px}.form-analytic{margin-bottom:20px}.form-analytic .code-options{z-index:30}.analytic-toggle{margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f6f9f6}.employee-proposal{font-size:11px;color:#536d60}.inline-review button:disabled{cursor:not-allowed;opacity:.5}.expense-table td:last-child:has(.code-combobox){min-width:245px}
.table-wrap:has(.code-combobox){padding-bottom:185px;margin-bottom:-165px}

.report-actions{display:grid;gap:10px;margin:16px 0}.report-actions .row{flex-wrap:wrap}.team-row .icon-button{flex-shrink:0}.team-row .icon-button:disabled{opacity:.35;cursor:not-allowed}[hidden]{display:none!important}

.inline-review{display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:18px}.inline-review>.actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap}.inline-review>.code-combobox{min-width:0}.inline-review>small{grid-column:1/-1}.decision-icon{width:36px;height:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:21px}.expense-table td{vertical-align:middle}.expense-table td:first-child .mail-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:12px;vertical-align:middle}.receipt-link{margin-top:10px}.topline>.report-actions{margin:0 0 0 auto;text-align:right}.topline>.report-actions .row{justify-content:flex-end;gap:12px}.expense-table td:last-child:has(.inline-review){min-width:320px}

.expense-filters{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.expense-filters label{min-width:160px}.expense-filters .search-filter{flex:1;min-width:250px}.receipt-cell{text-align:center}.receipt-cell .receipt-link{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-grid button{padding:7px 3px}.calendar-grid .selected{background:#164d40;color:white}#expense-calendar{padding:10px;background:#fff;border:1px solid #ced8d0;border-radius:8px;margin-top:8px}#open-calendar{margin-top:6px}

.service-checks{border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0}.service-checks label{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:13px}.service-checks input[type=checkbox]{width:auto;margin:0}.analytic-services{margin-top:10px;min-width:220px}.analytic-services summary{cursor:pointer;font-size:12px}.analytic-services form{white-space:normal}#expense-date{cursor:pointer}

.stamp-cell{text-align:right;min-width:130px}.validation-stamp{display:inline-flex;flex-direction:column;gap:4px;padding:8px 10px;border:2px solid #23815a;border-radius:5px;color:#176442;background:#edf8f0;text-align:center;font-size:11px;white-space:nowrap}.validation-stamp b{font-size:10px;letter-spacing:.7px}.bulk-services-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:12px 0}.bulk-services-bar label{display:flex;gap:7px;align-items:center;margin:0}.bulk-services-bar input,.analytic-code-actions input[type=checkbox]{width:auto;margin:0}

.plan-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0}.plan-filters label{min-width:130px;margin:0}.plan-filters label:first-child{flex:1;min-width:220px}.plan-filters input,.plan-filters select{margin-bottom:0}

.photo-summary{display:flex;gap:18px;align-items:start;background:#f1f6f3;border-radius:9px;padding:12px;margin:12px 0}.photo-summary img{width:130px;max-height:220px;object-fit:contain}.photo-summary p{font-size:13px}.photo-summary+ .notice input{width:auto;margin-right:8px}@media(max-width:500px){.photo-summary{flex-direction:column}.photo-summary img{width:100%;max-height:240px}}
.commerce-main{max-width:1100px;margin:auto;padding:30px}.commerce-main #main{width:100%}.commerce-main .panel{margin-bottom:24px}#clients details{max-width:320px;overflow-wrap:anywhere}#clients small{display:block}

.welcome-header .brand{text-decoration:none}.welcome-actions{display:flex;align-items:center;gap:20px}.welcome-actions a{font-weight:650;text-decoration:none}.welcome-create{padding:12px 18px;background:var(--green);color:white;border-radius:9px}.welcome-login{min-height:calc(100vh - 81px)}.discover-cta{align-self:flex-start;display:inline-block;margin-top:22px;padding:15px 24px;background:#e5b96f;color:#172d28;border-radius:10px;text-decoration:none;font-size:18px;font-weight:750}.discover-note{display:block;margin-top:12px;color:#d4e5dc;font-size:13px}.welcome-actions a:focus-visible,.discover-cta:focus-visible{outline:3px solid #ae622a;outline-offset:4px}@media(max-width:700px){.welcome-header{flex-wrap:wrap}.welcome-actions{gap:12px;font-size:13px}.welcome-create{padding:10px 12px}.welcome-login{min-height:0}.discover-cta{margin-top:10px}.welcome-login .login-art .brand{display:none}}
