:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45;color:#17212b;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}.topbar{min-height:70px;background:#fff;border-bottom:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;padding:12px max(20px,calc((100vw - 1380px)/2));position:sticky;top:0;z-index:10}.brand{display:flex;gap:10px;align-items:center}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#17212b;color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:#687483}.nav{display:flex;gap:5px;flex-wrap:wrap}.nav a,.button{color:#17212b;text-decoration:none;padding:9px 11px;border-radius:9px}.nav a:hover,.button:hover{background:#edf1f5}.shell{max-width:1380px;margin:0 auto;padding:28px 20px 50px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:5px 0 24px}.hero h1{margin:0 0 6px;font-size:clamp(26px,4vw,38px)}.hero p{margin:0;color:#687483;max-width:850px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}.cards article,.panel,.quick-card{background:#fff;border:1px solid #e1e7ee;border-radius:14px;box-shadow:0 4px 18px rgba(25,35,45,.04)}.cards article{padding:18px}.cards span,.cards small{display:block;color:#687483}.cards strong{display:block;font-size:24px;margin-top:5px}.report-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{padding:18px;margin:0 0 18px}.panel h2{margin-top:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-head p{margin-top:4px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #edf0f3;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#697585;background:#fafbfd;position:sticky;top:0}td a{color:#0b5cb6}.compact-table{min-width:620px}.pill{background:#eef2f6;border-radius:999px;padding:5px 8px;font-size:12px;white-space:nowrap}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.span2{grid-column:span 2}label{display:grid;gap:6px;font-weight:650;font-size:14px}label small{font-weight:400;color:#687483}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid #cfd7e1;border-radius:9px;background:#fff;padding:10px 11px;color:#17212b}textarea{resize:vertical}button,.button{border:1px solid #cfd7e1;background:#fff;cursor:pointer;display:inline-flex;justify-content:center;align-items:center}.primary{background:#17212b!important;color:#fff!important;border-color:#17212b!important}.danger{background:#fff3f3!important;color:#a11b1b!important;border-color:#e6b4b4!important}.compact{padding:6px 9px!important;font-size:13px}.form-actions,.filters,.row-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters>input{min-width:220px}.filters>label{min-width:165px}.filters select{max-width:280px}.file-card{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f6f8fb;padding:12px;border-radius:9px}.flash{padding:12px 14px;border-radius:10px;margin:0 0 15px;border:1px solid}.flash.success{background:#effaf3;border-color:#b8e1c5}.flash.error{background:#fff2f2;border-color:#f0bbbb}.muted{color:#687483}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);background:#fff;padding:28px;border-radius:16px;border:1px solid #e1e7ee;box-shadow:0 12px 40px rgba(25,35,45,.08)}.auth-card.wide{width:min(760px,100%)}.auth-card form:not(.grid-form){display:grid;gap:15px}.auth-brand{margin-bottom:20px}.footer{text-align:center;color:#7a8695;padding:24px}.reset-form{display:flex;gap:6px}.reset-form input{min-width:170px}.calc-box{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border-radius:12px;background:#f6f8fb;border:1px solid #e3e8ef}.calc-box h2{font-size:17px;margin:0 0 4px}.calc-box p{margin:0}.tax-toggles{display:flex;gap:12px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:7px;background:#fff;padding:9px 12px;border:1px solid #d9e0e8;border-radius:9px;white-space:nowrap}.check input,.check-card input{width:auto}.check-card,.total-card{border:1px solid #d9e0e8;border-radius:12px;padding:14px;background:#fafbfd}.check-card span{display:flex;align-items:center;gap:8px}.total-card{background:#f0f5fa}.total-card input{font-size:20px;font-weight:800;background:#fff}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#edc8c8}.danger-zone h2{margin:0 0 4px}.danger-zone p{margin:0;color:#687483}.row-muted{opacity:.6}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.quick-card{display:grid;gap:5px;padding:18px;text-decoration:none;color:#17212b}.quick-card:hover{border-color:#b8c5d2;transform:translateY(-1px)}.quick-card span{color:#687483}.report-title{text-align:center;margin:22px 0}.report-title h2{margin:0}.report-title p{margin:5px 0;color:#687483}.report-note{background:#fbfcfe}.page-break{break-before:auto}
@media(max-width:980px){.topbar{align-items:flex-start;gap:10px;flex-direction:column}.cards,.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.calc-box{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.grid-form{grid-template-columns:1fr}.span2{grid-column:span 1}.cards,.report-cards{grid-template-columns:1fr}.shell{padding:18px 12px}.panel{padding:12px}.nav{font-size:14px}.filters>*{width:100%;max-width:none!important}.danger-zone{align-items:flex-start;flex-direction:column}.file-card{align-items:flex-start;flex-direction:column}}
@media print{body{background:#fff}.topbar,.footer,.no-print,.quick-grid,.hero .button{display:none!important}.shell{max-width:none;padding:0}.panel,.cards article{box-shadow:none;border-color:#bbb;break-inside:avoid}.cards{grid-template-columns:repeat(4,1fr)}.table-wrap{overflow:visible}table{min-width:0;font-size:10px}th,td{padding:5px}.report-title{margin-top:0}.page-break{break-before:page}}
