*{box-sizing:border-box} :root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#17304b;background:#f2f5f9;font-size:16px;line-height:1.5;--blue:#245bd7;--navy:#122a45;--muted:#617188;--line:#dae2ec} body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{border:0;border-radius:9px;min-height:46px;padding:10px 17px;background:var(--blue);color:white;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{filter:brightness(.94)}button:disabled{cursor:wait;opacity:.65}button.secondary,.button.secondary{background:#eaf0f8;color:#23456d}button.ghost{background:transparent;color:inherit;border:1px solid var(--line)}button.small{font-size:.875rem;min-height:38px;padding:6px 12px}a{color:#2055c7}input,select,textarea{width:100%;border:1px solid #b8c7d8;border-radius:8px;padding:11px;background:white;color:#17304b;min-height:46px}input[type=checkbox]{width:21px;min-height:21px}input[type=file]{padding:10px;font-size:.875rem}textarea{min-height:88px;resize:vertical}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:15px}label>input,label>select,label>textarea{margin-top:5px}label.check{display:flex;gap:10px;align-items:center}h1,h2,h3,p{margin-top:0}h1{font-size:1.8rem;letter-spacing:-.035em;margin-bottom:6px}h2{font-size:1.18rem;letter-spacing:-.02em}h3{font-size:1rem}.muted,small{color:var(--muted)}small{font-size:.8rem}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;font-weight:750;color:#6883a1}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#d9e5f2;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:1.7rem;font-weight:780;color:white;letter-spacing:-.06em;margin:0 12px 36px}.brand img{width:35px;height:35px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{background:none;color:#bfcee0;justify-content:flex-start;font-weight:500}.sidebar nav button.active{background:#294868;color:white}.sidebar footer{margin-top:auto;padding:20px 12px 0;color:#9eb3ca;font-size:.8rem}.sidebar footer strong{display:block;color:white;font-size:.9rem;margin-bottom:7px}.main{min-width:0}.topbar{background:white;border-bottom:1px solid var(--line);padding:18px 38px;display:flex;gap:20px;align-items:center;justify-content:space-between}.company{display:flex;gap:16px;align-items:center}.company select{font-weight:700;min-width:210px;border:none;background:#f1f5fa}.company .eyebrow{white-space:nowrap}.topbar .account{display:flex;align-items:center;gap:14px;font-size:.875rem}.content{max-width:1460px;margin:auto;padding:32px 38px 60px}.heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:25px}.heading p{margin-bottom:0}.month{width:172px}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.action{background:white;color:var(--navy);border:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:125px}.action.primary{background:var(--blue);color:white;border-color:var(--blue)}.action .symbol{font-size:1.6rem;font-weight:400;margin-bottom:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:23px}.metric .value{font-size:1.8rem;letter-spacing:-.045em;font-weight:730;margin:10px 0 3px}.metric .label{font-size:.875rem;color:var(--muted)}.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-head h2{margin:0}.notice{border-radius:8px;padding:13px 16px;background:#e9f0fc;color:#345582;font-size:.875rem;margin:16px 0}.notice.warning{background:#fff3d5;color:#775410}.notice.error{background:#ffebe9;color:#a82c26}.notice.success{background:#e4f5ed;color:#23644a}.pending-row,.record{padding:16px 0;border-bottom:1px solid #e9edf3;display:flex;align-items:center;justify-content:space-between;gap:16px}.pending-row:last-child,.record:last-child{border-bottom:0}.pending-row strong{font-size:.95rem}.count{border-radius:7px;background:#fff0c7;color:#755115;font-size:.875rem;font-weight:700;padding:3px 10px}.badge{display:inline-block;background:#eaf0f8;border-radius:5px;padding:3px 8px;color:#47607c;font-size:.75rem;white-space:nowrap}.badge.warning{background:#fff1cb;color:#7a570a}.badge.success{background:#ddf2e7;color:#27634b}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.045em;background:#f6f8fb;color:#607289;padding:13px 12px;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid #e8edf3;vertical-align:top}td.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.empty{text-align:center;padding:35px 20px;color:var(--muted)}.chart{height:180px;display:flex;gap:12px;align-items:flex-end;padding-top:20px}.chart-col{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-width:0}.chart-bars{height:135px;display:flex;gap:3px;align-items:flex-end;justify-content:center}.bar{width:28%;min-height:2px;background:#245bd7;border-radius:4px 4px 0 0}.bar.expense{background:#93b0dc}.chart-col small{font-size:.75rem}.legend{display:flex;gap:15px;color:var(--muted);font-size:.75rem;margin-top:20px}.legend span:before{content:'';display:inline-block;width:9px;height:9px;background:#245bd7;margin-right:6px;border-radius:2px}.legend span+span:before{background:#93b0dc}.progress{height:9px;background:#eaf0f8;border-radius:5px;overflow:hidden}.progress span{display:block;background:#245bd7;height:100%;border-radius:5px}.split{display:flex;justify-content:space-between;gap:12px}.stack{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}fieldset{border:1px solid var(--line);border-radius:9px;margin:0 0 18px;padding:17px}legend{font-size:.9rem;font-weight:700;padding:0 7px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar input{max-width:300px}.toolbar select{width:auto}.allocation{display:grid;grid-template-columns:minmax(0,1fr) 135px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f5}.allocation label{margin:0}.allocation input[type=number]{margin:0}dialog{border:0;padding:0;border-radius:15px;width:min(780px,calc(100% - 24px));max-height:90vh;box-shadow:0 25px 100px #09254555;color:#17304b}dialog::backdrop{background:#0e223e99}#modal{padding:26px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.modal-head h2{font-size:1.45rem;margin:0}.modal-head small{display:block;margin-top:4px}.form-footer{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:-26px;background:white;padding:18px 0 0;border-top:1px solid var(--line)}#form-error:empty{display:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#163f32;color:white;padding:14px 23px;border-radius:10px;z-index:99;max-width:90%;display:none;box-shadow:0 5px 25px #1234}.login{max-width:430px;margin:9vh auto;padding:30px}.login .brand{color:var(--navy);margin:0 0 35px}.login p{color:var(--muted)}.login button{width:100%}.login-footer{font-size:.8rem;text-align:center;margin-top:25px}.loading{padding:80px;text-align:center}.step{font-size:.8rem;color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.mono{font-family:ui-monospace,monospace;font-size:.75rem;overflow-wrap:anywhere}details{margin:12px 0}summary{cursor:pointer;padding:10px 0;font-weight:600}.offline{margin:0;background:#fff1cb;color:#765417;padding:9px;text-align:center;font-size:.875rem}.kicker{font-size:.875rem;color:var(--muted);margin-bottom:14px}.separated{margin-top:25px}#form-error{white-space:pre-wrap}.read-only{padding:8px 12px;background:#eaf0f8;border-radius:8px;font-size:.8rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.skeleton{height:200px;background:#f2f5f9;border-radius:10px}.export-card{max-width:800px}.totals{background:#eef4ff;border-radius:8px;padding:14px;font-weight:700}.file-name{max-width:200px;overflow-wrap:anywhere}.subtext{font-size:.8rem;color:var(--muted);margin-top:4px}.print-only{display:none} @media(max-width:1100px){.shell{grid-template-columns:190px 1fr}.content{padding:24px}.topbar{padding:17px 24px}.metrics{grid-template-columns:repeat(2,1fr)}.actions{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.company .eyebrow{display:none}.account>span{display:none}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;height:auto;padding:14px 14px 8px}.brand{font-size:1.4rem;margin:0 0 12px 7px}.brand img{width:28px;height:28px}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.sidebar nav button{white-space:nowrap;min-height:40px;font-size:.875rem;padding:8px 12px}.sidebar footer{display:none}.topbar{padding:12px 16px;gap:6px}.company{min-width:0;flex:1}.company select{min-width:0;max-width:100%;font-size:.9rem}.account button{padding:8px 12px}.content{padding:22px 16px 40px}.heading{align-items:flex-start}h1{font-size:1.45rem}.heading p{font-size:.875rem}.month{width:142px;font-size:.875rem}.actions{gap:10px}.action{min-height:107px;padding:15px;font-size:.875rem}.action .symbol{margin-bottom:8px}.metrics{gap:10px}.card{padding:17px}.metric .value{font-size:1.5rem}.metric .label{font-size:.8rem}.form-grid,.settings-grid{grid-template-columns:1fr}.full{grid-column:auto}#modal{padding:20px}.allocation{grid-template-columns:minmax(0,1fr) 105px}.login{margin:5vh 12px}.section-head{align-items:flex-start}.form-footer{bottom:-20px}.table-wrap{margin:0 -7px}td,th{padding:12px 8px}}@media print{.sidebar,.topbar,.heading input,button,.actions,.toolbar{display:none!important}.shell{display:block}.content{padding:0}.card{break-inside:avoid}.print-only{display:block}.metrics{grid-template-columns:repeat(4,1fr)}body{background:white}}

.dictation{margin:-5px 0 18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dictation small{flex:1;min-width:180px}.dictation p{flex-basis:100%;font-size:.875rem;color:#345582;margin:0}
