:root{--bg:#f4f3ef;--panel:#fff;--ink:#16181c;--muted:#68707a;--line:#dedbd2;--accent:#e45b36;--accent2:#242a31;--green:#26734d;--yellow:#8b6a14;--red:#a74336;--radius:18px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#17191d;color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.brand.big{margin-bottom:30px}.brandmark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent);font-weight:900;color:#fff}.brand strong{display:block;font-size:15px}.brand small{display:block;color:#a8afb8;font-size:12px;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:11px 13px;border-radius:10px;color:#d7d9dd}.sidebar nav a:hover{background:#272a30;color:#fff}.sidebottom{margin-top:auto;border-top:1px solid #34373d;padding-top:16px;display:flex;justify-content:space-between;color:#afb5bd;font-size:13px}.sidebottom a{color:#fff}.main{margin-left:245px;padding:0 32px 48px}.auth-main{margin-left:0;padding:0;display:grid;place-items:center;min-height:100vh}.topbar{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar h1{font-size:28px;margin:0}.top-actions{display:flex;gap:10px}.mobile-nav{display:none}.btn{appearance:none;border:0;border-radius:11px;background:var(--accent2);color:#fff;padding:11px 16px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.btn:hover{filter:brightness(1.08)}.btn-light{background:#fff;color:#222;border:1px solid var(--line)}.wide{width:100%}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px;box-shadow:0 5px 18px rgba(20,20,20,.025)}.panel h2{margin:0 0 8px;font-size:20px}.panel h3{margin-top:24px}.panel>p,.panel-head p{color:var(--muted);margin-top:4px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.panel-head a{font-weight:700;color:#a2432a}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px;min-height:108px}.stat span,.job-num span,.profit-pill span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750;display:block}.stat strong{font-size:27px;display:block;margin-top:7px}.stat small{color:var(--muted)}.stat.accent{background:#20242a;color:#fff;border-color:#20242a}.stat.accent span,.stat.accent small{color:#bac0c8}.job-list{display:grid}.job-row{display:grid;grid-template-columns:minmax(250px,1fr) 140px 140px 145px;gap:16px;align-items:center;padding:16px 4px;border-top:1px solid #ece9e3}.job-row:first-child{border-top:0}.job-row>div:first-child strong{display:block;font-size:16px}.job-row>div:first-child span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.job-num strong{font-size:16px;display:block;margin-top:4px}.profit-pill{padding:10px 12px;border-radius:12px}.profit-pill strong{display:inline-block;margin-top:3px}.profit-pill small{float:right;margin-top:5px}.profit-pill.good{background:#e9f5ee;color:var(--green)}.profit-pill.warn{background:#fff5da;color:var(--yellow)}.profit-pill.bad{background:#fbe9e6;color:var(--red)}.profit-pill span{color:inherit}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.narrow{max-width:760px}.form-grid,.form-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid hr{grid-column:1/-1;width:100%;border:0;border-top:1px solid var(--line)}label{display:block;font-size:13px;font-weight:700;margin:13px 0;color:#3b4048}input,select,textarea{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #d5d2ca;border-radius:10px;background:#fff;color:#17191d;font:inherit}label small{display:block;font-weight:400;color:var(--muted);margin-top:5px}.login-card,.install-card{width:min(520px,calc(100vw - 34px));background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px}.install-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.flash{padding:12px 15px;border-radius:10px;margin:0 0 18px;background:#e7f3ea;color:#235d3c;border:1px solid #cae7d2}.flash.error{background:#fbe9e6;color:#8b3229;border-color:#f0cbc5}.flash.warn{background:#fff4d9;color:#74560e;border-color:#eadcae}.dropzone{border:2px dashed #c9c4b8;border-radius:15px;padding:38px 20px;display:grid;place-items:center;text-align:center;cursor:pointer;background:#faf9f6}.dropzone input{display:none}.dropzone span{font-weight:400;color:var(--muted);margin-top:6px}.drop-form .btn{margin-top:14px}.preview dl,dl{display:grid;grid-template-columns:145px 1fr;gap:10px 14px}.preview dt,dt{color:var(--muted);font-size:13px}.preview dd,dd{margin:0;font-weight:650}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:850;color:#a2432a}.job-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.job-title h2{font-size:29px;margin:6px 0}.job-title p{color:var(--muted);margin:0}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:12px 8px;border-bottom:1px solid #eeece7}.right{text-align:right}.block{display:block;color:var(--muted);margin-top:3px}.tag{display:inline-block;padding:5px 8px;border-radius:999px;background:#f0efeb;font-size:11px}.table-scroll{overflow:auto}.cards{display:flex;flex-wrap:wrap;gap:10px}.mini-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:180px}.mini-card strong,.mini-card span{display:block}.mini-card span{color:var(--muted);font-size:12px;margin-top:4px}.invoice-image{width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}.search{display:flex;gap:10px;margin-bottom:10px}.search input{margin:0}.empty{padding:30px;text-align:center;color:var(--muted)}.muted{color:var(--muted)}.checklist{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}.checklist li{padding-bottom:9px;border-bottom:1px solid #eeeae3}code{background:#efeee9;padding:2px 5px;border-radius:5px}.install-card .btn{margin-top:12px}
@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.job-row{grid-template-columns:1fr 110px 110px 130px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:translateX(0)}.main{margin-left:0;padding:0 16px 35px}.mobile-nav{display:block;background:none;border:0;font-size:24px}.topbar{min-height:75px}.topbar h1{font-size:22px}.top-actions .btn-light{display:none}.stats{grid-template-columns:1fr 1fr}.job-row{grid-template-columns:1fr 1fr}.job-row>div:first-child{grid-column:1/-1}.profit-pill{grid-column:auto}.form-2,.form-grid{grid-template-columns:1fr}.job-title{align-items:flex-start;gap:10px;flex-direction:column}.job-title h2{font-size:24px}.panel{padding:18px}.table-scroll{margin:0 -18px;padding:0 18px}}
