:root{--burgundy:#3b0b19;--burgundy2:#581c30;--cream:#f2dfc0;--rose:#b99285;--bg:#f9f7f3;--ink:#2c2330;--muted:#827983;--line:#e9e1da;--surface:#fff;--positive:#257452;--negative:#ac3840;--radius:17px;font-family:'Tahoma','Arial',sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--burgundy)}.hidden,[hidden]{display:none!important}.app{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;min-height:100vh;height:100vh;width:258px;flex-shrink:0;background:var(--burgundy);color:white;padding:26px 16px;display:flex;flex-direction:column}.brand{text-align:center;margin:4px 0 32px}.brand-name{font-size:43px;font-weight:900;letter-spacing:-1.5px}.brand-sub{font-size:11px;color:#eed7cf;opacity:.85;margin-top:4px}.side-nav{flex:1;overflow:auto}.nav-btn{display:flex;align-items:center;gap:12px;border:0;border-radius:12px;width:100%;text-align:right;background:transparent;color:#eedcdd;padding:13px 15px;margin:4px 0;font-size:14px}.nav-btn:hover,.nav-btn.active{background:#ffffff22;color:white}.nav-icon{width:22px;text-align:center;font-size:19px}.side-bottom{padding:14px 7px;border-top:1px solid #ffffff22;font-size:12px;color:#e6c8c7}.sidebar button.logout{border:1px solid #ffffff55;background:transparent;color:white;border-radius:10px;margin-top:11px;padding:9px 13px;width:100%}.main{flex:1;min-width:0;padding:30px 33px 90px;max-width:1700px;margin:0 auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{font-size:12px;color:var(--rose);font-weight:700;margin-bottom:7px}h1{font-size:26px;margin:0 0 6px;font-weight:800;color:var(--burgundy)}h2{font-size:18px;margin:0}h3{font-size:16px;margin:0}.sub{font-size:12px;color:var(--muted);line-height:1.8}.top-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.chip{font-size:12px;border-radius:99px;padding:8px 11px;background:#f2e8e1;color:var(--burgundy);white-space:nowrap}.chip.green{background:#e4f5ec;color:#216a4a}.chip.warn{background:#fff1d4;color:#97691f}.chip.red{background:#fce8e8;color:#a13e42}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.panel{background:var(--surface);border:1px solid #eee7e0;border-radius:var(--radius);box-shadow:0 8px 32px #32132108}.card{padding:22px 21px;min-height:131px}.card .meta{color:#8a7f83;font-size:12px}.card .value{font-size:25px;color:var(--burgundy);font-weight:800;margin-top:16px;white-space:nowrap}.card .small{font-size:11px;color:#9b9297;margin-top:8px}.panel{padding:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:27px 0 14px}.section-title b{font-size:17px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project{padding:22px;background:white;border:1px solid #e8dcd4;border-radius:16px;text-align:right;transition:.16s;min-height:156px;color:var(--ink)}.project:hover{transform:translateY(-2px);border-color:var(--rose);box-shadow:0 8px 19px #32132110}.project strong{font-size:17px;color:var(--burgundy)}.project p{margin:12px 0;color:var(--muted);font-size:12px}.project .sum{font-weight:800;font-size:22px;color:var(--burgundy)}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:15px;margin-top:15px}.barlabel{font-size:12px;margin:17px 0 6px;display:flex;justify-content:space-between;gap:9px}.bar{height:10px;border-radius:20px;background:#f5e9e2;overflow:hidden}.bar i{height:100%;display:block;background:#a97075;transition:width .2s}.btn{border:1px solid transparent;border-radius:11px;padding:11px 16px;background:var(--burgundy);color:white;font-weight:700;font-size:13px;white-space:nowrap}.btn:hover{filter:brightness(1.12)}.btn.alt{background:#f3e9e3;color:var(--burgundy)}.btn.outline{border-color:#dbccc5;background:white;color:var(--burgundy)}.btn.danger{background:#fff0f0;color:#a43142}.btn.sm{padding:7px 10px;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed}.rowactions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.table-container{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;min-width:630px}th,td{text-align:right;padding:13px 11px;border-bottom:1px solid #f0e9e3;vertical-align:middle}th{font-size:11px;font-weight:700;color:#8b7b7d;background:#fcfaf8}td{color:#453c44}td.numeric{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}tr:last-child td{border-bottom:0}.empty{text-align:center;padding:40px 12px;color:#978c90}.tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px}.select,select,input,textarea{background:#fff;color:var(--ink);border:1px solid #dfd4ce;border-radius:10px;padding:11px 12px;min-width:0;max-width:100%}.select{min-width:175px}.tools .spacer{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#655760}.field input,.field textarea,.field select{width:100%}.field.span2{grid-column:span 2}textarea{resize:vertical;min-height:74px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a56b7a;outline:2px solid #f6e1e0}.modal{position:fixed;inset:0;z-index:20;background:#170510b7;display:flex;align-items:center;justify-content:center;padding:15px}.dialog{background:white;width:min(660px,100%);max-height:93vh;overflow:auto;padding:25px;border-radius:20px;box-shadow:0 22px 80px #0003}.dialog.wide{width:min(980px,100%)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.dialog-head h2{color:var(--burgundy)}.dialog-close{border:0;background:#f4edeb;border-radius:9px;padding:8px 11px;color:var(--burgundy)}.dialog-footer{display:flex;gap:10px;justify-content:flex-start;flex-wrap:wrap;margin-top:20px}.notice{background:#fff8e8;border:1px solid #f0e0be;border-radius:12px;padding:13px;font-size:12px;color:#7f6043;line-height:1.8}.notice.good{background:#ebf6ef;border-color:#cce2d6;color:#2b654a}.settings-stack{display:grid;gap:15px}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #f0e5e0;padding:15px 0}.settings-item:last-child{border-bottom:0}.settings-item b{display:block}.settings-item small{display:block;color:var(--muted);margin-top:7px}.invoice-lines{display:grid;gap:8px;margin:15px 0}.line-item{display:grid;grid-template-columns:1.4fr 2fr .7fr .8fr .8fr 36px;gap:7px;align-items:end;background:#faf7f4;border:1px solid #eee7e0;border-radius:10px;padding:10px}.line-item label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.line-item input,.line-item select{padding:8px;font-size:12px}.invoice-totals{margin-top:14px;background:#fbf7f2;border-radius:12px;padding:14px;max-width:390px;margin-right:auto}.total-row{display:flex;justify-content:space-between;margin:8px 0;font-size:13px}.total-row.final{font-size:17px;font-weight:800;color:var(--burgundy);border-top:1px solid #e2d6cf;padding-top:12px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 80% 5%,#f0d4ac,transparent 34%),#f9f3e8}.auth-card{width:min(480px,100%);background:white;border:1px solid #eadacb;border-radius:22px;padding:35px;box-shadow:0 25px 80px #38181a14}.auth-logo{text-align:center;font-size:52px;color:var(--burgundy);font-weight:900}.auth-caption{text-align:center;color:#998388;margin:4px 0 25px}.auth-card h2{margin:0 0 13px}.auth-card form{display:grid;gap:15px}.auth-card .btn{width:100%}.auth-card .links{margin-top:18px;text-align:center}.auth-card a{cursor:pointer;text-decoration:underline}.spinner{width:27px;height:27px;border:3px solid #eed9d1;border-top-color:var(--burgundy);border-radius:50%;animation:spin 1s linear infinite;margin:35px auto}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:25px;left:25px;max-width:420px;z-index:100;background:#3b0b19;color:white;border-radius:12px;padding:13px 18px;box-shadow:0 5px 40px #0004;font-size:13px}.toast.error{background:#9e2836}.mobile-nav{display:none}.print-root{display:none}.logo-preview{max-width:155px;max-height:75px;object-fit:contain;display:block;margin-top:5px}.danger-text{color:var(--negative)}.status{display:flex;align-items:center;gap:8px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2c9f62}.dot.offline{background:#ac3840}.smallhelp{font-size:11px;color:var(--muted);line-height:1.7}.inlinebox{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.code{direction:ltr;unicode-bidi:embed;background:#f6f0eb;border:1px solid #e6d9ce;border-radius:8px;padding:10px;word-break:break-all;font-family:monospace;font-size:12px}.list-lite{display:grid;gap:7px;font-size:13px}.divider{height:1px;background:var(--line);margin:18px 0}
@media(max-width:1120px){.sidebar{width:218px}.main{padding:24px}.card-grid{grid-template-columns:repeat(2,1fr)}.card{min-height:112px}.project strong{font-size:15px}.projects{gap:9px}}@media(max-width:850px){.sidebar{display:none}.main{padding:20px 18px 105px}.mobile-nav{position:fixed;display:flex;bottom:0;right:0;left:0;z-index:12;background:#fff;border-top:1px solid #eadfd7;justify-content:space-around;padding:7px 5px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -5px 15px #3213210b}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:48px;background:none;border:0;color:#847580;font-size:10px;padding:7px 4px}.mobile-nav button .icon{font-size:20px}.mobile-nav button.active{color:var(--burgundy);font-weight:800}.split{grid-template-columns:1fr}.topbar{align-items:start}}@media(max-width:600px){.topbar{flex-wrap:wrap}.top-actions{width:100%}.card-grid{gap:9px}.card{padding:14px}.card .value{font-size:19px;margin-top:12px}.projects{grid-template-columns:1fr}.project{min-height:120px}.form-grid{grid-template-columns:1fr}.field.span2{grid-column:auto}.dialog{padding:18px;max-height:90vh}.line-item{grid-template-columns:repeat(2,1fr)}.line-item label:first-child{grid-column:span 2}.line-item .line-delete{grid-column:span 2}.panel{padding:14px}.main{padding:17px 12px 100px}h1{font-size:23px}.settings-item{align-items:start;flex-direction:column}.tools .select{min-width:140px;max-width:100%}}@media print{body{background:white!important}.app,.mobile-nav,.modal,.toast,.login-screen{display:none!important}.print-root{display:block!important;color:#26141a;font-family:Tahoma,Arial,sans-serif;padding:13mm;font-size:12px}.print-head{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #3b0b19;padding-bottom:14px;margin-bottom:18px}.print-logo{font-size:35px;font-weight:900;color:#3b0b19}.print-root table{min-width:0;font-size:12px}.print-root th{background:#f7ede8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-root td,.print-root th{padding:10px 8px}.print-total{margin:24px 0 0 auto;max-width:280px}.print-footer{text-align:center;border-top:1px solid #e3d4cc;margin-top:45px;padding-top:15px;color:#666}.print-root.compact .print-head{border-bottom:1px solid #666}.print-root.compact .print-logo{font-size:27px} @page{size:A4;margin:10mm}}
