
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#202b3b;background:#f5f6f8;font-synthesis:none;--purple:#6758d8;--muted:#778193;--line:#e9ebf0}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #dddfea;background:white;border-radius:9px;padding:11px 16px;color:#394459;font-weight:600;font-size:13px}button:hover{background:#f1efff;border-color:#bdb4f5}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bbb1ff;outline-offset:2px}button.primary{background:var(--purple);color:white;border-color:var(--purple)}button.primary:hover{background:#5546c2}.full{width:100%}.text{border:0;color:var(--purple)}a{text-decoration:none;color:inherit}aside{position:fixed;width:238px;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:35px 24px;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:850;letter-spacing:1.4px;display:flex;align-items:center;gap:8px}.brand-mark{display:inline-grid;place-items:center;background:var(--purple);color:#fff;border-radius:10px;width:33px;height:36px;font-style:italic;font-family:Georgia}.brand-dot{color:var(--purple);margin-left:-8px}.workspace{font-size:10px;letter-spacing:2px;color:#929aaa;margin-top:48px;margin-bottom:24px}.workspace span{display:block;font-size:13px;letter-spacing:0;color:#465167;margin-top:9px}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:15px;background:none;border:0;text-align:left;color:#738094;padding:14px}nav button span{font-size:21px;width:24px}nav button.active{background:#eeebfc;color:var(--purple)}.sidebar-bottom{margin-top:auto;font-size:12px;color:#627087}.sidebar-bottom small{padding-left:14px}.status-dot{display:inline-block;width:6px;height:6px;background:#c79138;border-radius:50%;margin-right:5px}.main{margin-left:238px}header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:12px;font-weight:650}header span{color:var(--muted);font-weight:400}.account{display:flex;gap:16px;align-items:center}.account button{border:0}main{padding:38px 40px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--purple);font-weight:750}h1{font-size:29px;letter-spacing:-.9px;font-weight:650;margin:12px 0}h2{font-size:18px;font-weight:650;letter-spacing:-.3px;margin:12px 0 18px}h3{font-size:16px}.muted,p{font-size:13px;line-height:1.7}.muted{color:var(--muted)}small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:5px}.filters{display:flex;gap:10px}.filters label{font-size:10px;color:var(--muted)}input,select{padding:11px 12px;border:1px solid #dfe3eb;border-radius:8px;background:white;width:100%;font-size:13px;color:#354158;min-width:0}label{display:block;font-size:12px;font-weight:600;color:#607088}label input,label select{margin-top:7px}form{display:grid;gap:17px}form button{justify-self:start;align-self:end}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px}.metrics article{background:white;border:1px solid var(--line);border-radius:13px;padding:25px}.metrics article>span{font-size:12px;color:#6c788e}.metrics strong{display:block;font-size:34px;font-weight:600;letter-spacing:-1.5px;margin:17px 0 13px}.amber{color:#bb802c}.split{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:24px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:25px;margin-bottom:24px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin-bottom:5px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-size:10px;color:#8b94a3;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid #f0f1f5;vertical-align:middle}td strong{font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.tag{display:inline-block;background:#f0eefb;color:#7462ba;font-size:10px;border-radius:6px;padding:6px 8px;white-space:nowrap}.tag.warning{background:#fff5e5;color:#a57831}.tag.success{background:#e9f5ef;color:#3b8666}.steps{display:grid;gap:27px;margin:30px 0}.steps>div{display:flex;gap:15px;align-items:center;font-size:13px}.steps b{font-size:11px;color:#877bbd;border:1px solid #e8e3f6;padding:9px;border-radius:50%}.notice{padding:17px 22px;background:#fff8ec;color:#967035;font-size:12px;border:1px solid #f3e7ce;border-radius:10px;margin-bottom:23px;line-height:1.7}.welcome{background:#ece9fb;border-radius:12px;padding:20px 25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.welcome h2{margin:0}.welcome p{margin-bottom:0;color:#71678c}.empty{padding:38px 20px;text-align:center;color:var(--muted)}.empty h3{color:#536078}.empty-icon{font-size:35px;color:#afa5d7}.empty p{max-width:420px;margin:auto}.checklist{list-style:none;padding:0;font-size:13px;color:#637087;line-height:2.7}.checklist li:before{content:'○';margin-right:12px;color:#978bd6}.upload{padding:24px;background:#f8f7fc;border:1px dashed #c7c1e3;border-radius:10px;margin:22px 0 12px;text-align:center}.upload input{background:transparent;border:0;font-size:11px}footer{font-size:10px;color:#9aa2af;text-align:center;margin-top:32px}#toast{position:fixed;bottom:24px;right:24px;max-width:550px;padding:17px 22px;background:#263148;color:white;border-radius:10px;box-shadow:0 6px 28px #202b3b25;display:none;z-index:50;font-size:13px;line-height:1.6}#toast.show{display:block}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#25273e;color:#fff;padding:60px 12%;display:flex;flex-direction:column;justify-content:center}.login-story .brand{margin-bottom:85px}.login-story .eyebrow{color:#afa0ff}.login-story h1{font-size:48px;line-height:1.22;letter-spacing:-2px;margin:22px 0}.login-story p{color:#c1c1d2;max-width:330px}.login-story small{margin-top:70px;color:#9f9bb4}.login-form{max-width:440px;width:100%;padding:35px;align-self:center;justify-self:center}.login-form h2{font-size:29px;margin:15px 0}.login-form form{margin-top:30px}.login-form button{margin-top:10px}#login-error{color:#b45342}#print-area{display:none}@media(max-width:1150px){.split{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}main{padding:25px}.metrics strong{font-size:28px}}@media(max-width:750px){aside{position:static;width:100%;padding:18px}.brand{font-size:20px}.workspace,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:4px}nav button{font-size:11px;padding:10px;white-space:nowrap}nav button span{display:none}.main{margin:0}header{height:55px;padding:0 20px}header>div:first-child{display:none}.account{justify-content:space-between;width:100%}main{padding:23px 15px}.metrics{grid-template-columns:1fr;gap:10px}.metrics article{padding:18px}.metrics strong{margin:8px 0}.form-grid{grid-template-columns:1fr}.filters{width:100%}.filters label{flex:1;min-width:0}.card{padding:18px}.welcome{align-items:flex-start;gap:15px;flex-direction:column}.login{grid-template-columns:1fr}.login-story{padding:30px}.login-story .brand{margin:0}.login-story h1{font-size:30px}.login-story>small,.login-story>.eyebrow,.login-story>p{display:none}.login-form{padding:30px}h1{font-size:25px}.section-head{flex-wrap:wrap}}@media print{body.printing .main,body.printing aside,body.printing #toast{display:none}body.printing #print-area{display:block;padding:20px;font-size:12px}.print-head{border-bottom:2px solid #6758d8;padding-bottom:15px}body{background:white}table{font-size:11px}tr{break-inside:avoid}h1{font-size:25px}}


.directory-filters{display:flex;gap:12px;flex-wrap:wrap}.directory-filters label:first-child{flex:1;min-width:200px}.directory-filters label:last-child{min-width:150px}.client-directory .table-wrap{max-height:480px;overflow:auto;border:1px solid var(--line);border-radius:8px;scrollbar-gutter:stable}.client-directory table{min-width:800px}.client-directory thead th{position:sticky;top:0;background:#f8f9fc;z-index:1}.client-directory tr[hidden]{display:none}.client-directory .table-wrap:focus-visible{outline:3px solid #bbb1ff;outline-offset:2px}

.client-link{color:var(--purple);text-align:left;border:0;background:transparent;padding:0;font-size:12px}.client-link:hover{text-decoration:underline;background:transparent}.client-dialog{width:min(1100px,96vw);max-height:92vh;padding:0;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 80px #18213e45;color:inherit}.client-dialog::backdrop{background:#202b3b77}.client-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;background:#fff;position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line)}.client-dialog-head h2{margin:8px 0 0}.client-tabs{display:flex;gap:8px;padding:15px 28px;overflow:auto;border-bottom:1px solid var(--line)}.client-tabs button{white-space:nowrap}.client-tabs .active{background:var(--purple);color:white}.client-tab-content{padding:0 28px 28px}.client-feedback{padding:0 28px;color:#995322;min-height:8px}.span-all{grid-column:1/-1}textarea{font:inherit;width:100%;border:1px solid #dfe3eb;border-radius:8px;padding:12px;margin-top:7px}.inline-form{display:flex;align-items:end;gap:14px;margin-bottom:20px}.client-dialog .table-wrap{max-height:50vh;overflow:auto}.client-dialog thead th{position:sticky;top:0;background:#f8f9fc}.client-dialog .form-grid{margin-top:18px}.client-dialog .table-wrap table{min-width:600px}@media(max-width:750px){.client-dialog-head,.client-tabs{padding:16px}.client-tab-content{padding:0 16px 20px}.inline-form{flex-wrap:wrap}}@media print{body.printing .client-dialog{display:none!important}body.printing #print-area .table-wrap{max-height:none;overflow:visible}body.printing #print-area table{min-width:0}}
.invoice-document{background:#fff;border:1px solid #dfe3eb;padding:30px;margin:20px 0;color:#182c43}.invoice-heading{display:flex;justify-content:space-between;gap:30px;border-bottom:3px solid #183c60;padding-bottom:18px}.invoice-brand{font-size:28px;font-weight:850;letter-spacing:2px;color:#183c60}.invoice-heading h2{font-size:16px;margin:10px 0}.invoice-identification{text-align:right}.invoice-customer{margin:22px 0;padding:16px;background:#f4f6f9;border-left:3px solid #183c60}.invoice-customer h3{margin:8px 0}.invoice-customer p{margin:0}.invoice-document th{background:#183c60!important;color:#fff}.invoice-document td{padding:11px 10px}.invoice-totals{max-width:320px;margin:24px 0 24px auto}.invoice-totals p,.invoice-totals h3{display:flex;justify-content:space-between;gap:24px}.invoice-totals h3{border-top:2px solid #183c60;padding-top:14px}.invoice-footnote{font-size:10px;color:#64748b;border-top:1px solid #dfe3eb;padding-top:12px}.invoice-document .table-wrap{max-height:none}.preview-body{padding-top:18px}@media(max-width:600px){.invoice-document{padding:16px}.invoice-heading{flex-direction:column;gap:10px}.invoice-identification{text-align:left}}@media print{.invoice-document{border:0;padding:0;margin:0}.invoice-heading{display:flex;flex-direction:row}.invoice-identification{text-align:right}.invoice-document th{print-color-adjust:exact}.invoice-totals,.invoice-customer,.invoice-heading{break-inside:avoid}.invoice-document thead{display:table-header-group}}

.mail-message{white-space:pre-wrap}.client-dialog a{color:var(--purple);text-decoration:underline}.client-dialog code{overflow-wrap:anywhere}

.billing-scroll{max-height:520px;overflow:auto}.billing-scroll thead{position:sticky;top:0;z-index:1;background:#f4f6fa}.billing-scroll td{vertical-align:top}
