.admin-body{background:#090c0a;color:var(--paper)}
.admin-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(18px,5vw,60px);background:#0d100e;border-bottom:1px solid var(--line)}
.admin-header-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-main{max-width:1280px;margin:0 auto;padding:52px clamp(18px,5vw,60px) 100px}
.admin-hero{max-width:900px;margin-bottom:28px}
.admin-hero h1{font-size:clamp(48px,7vw,84px);margin-bottom:16px}
.admin-hero>p{color:#aeb4ad;line-height:1.7}
.warning{margin-top:22px;padding:16px;border:1px solid rgba(211,179,107,.35);background:rgba(211,179,107,.08);color:#e2d2ad}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}
.tab,.filter{border:1px solid var(--line);background:#111512;color:#b7bdb6;padding:11px 15px;border-radius:4px;font-weight:700}
.tab.active,.filter.active{background:var(--sage);color:#0d100e;border-color:var(--sage)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0 44px}
.stats>div{border:1px solid var(--line);background:#111512;padding:22px}
.stats strong{display:block;font-family:Oswald,sans-serif;font-size:36px;color:var(--sage2)}
.stats span{color:#8f968f}
.tab-panel{display:none}.tab-panel.active{display:block}
.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.section-head h2{font-size:34px;margin:0}.subsection-head{margin-top:38px}
.request-list,.invoice-list{display:grid;gap:12px}
.request-card,.invoice-card,.customer-card{border:1px solid var(--line);background:#111512;padding:22px}
.request-top,.invoice-top{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.request-card h3,.invoice-card h3,.customer-card h3{font-size:26px;margin:8px 0 0}
.badge{font-size:11px;letter-spacing:1px;padding:7px 9px;border-radius:999px;border:1px solid var(--line);color:var(--sage2)}
.badge.paid{color:#bfe7c5;border-color:#34583b}.badge.unpaid{color:#f0d6a5;border-color:#6a5735}.badge.void{color:#d7a4a4;border-color:#5a3333}.badge.draft{color:#c5c8c3}
.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:18px 0;color:#a8aea7}
.meta div{min-width:0;overflow-wrap:anywhere}.meta b{color:#e5e8e2}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.actions button,.actions a{min-height:42px;border:0;border-radius:4px;padding:0 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.accept{background:var(--sage);color:#0d100e}.decline{background:#2a1919;color:#f1cccc}.restore{background:#222820;color:#dce2d8}
.complete{background:#17281c;color:#cce7d2}.invoice-action{background:#1b211c;color:#dbe1d9}.paid-action{background:#18301e;color:#cfead4}.void-action{background:#301818;color:#f0c8c8}
.empty{padding:28px;border:1px dashed var(--line);color:#818881;text-align:center}
.calendar-head{justify-content:center}.calendar-nav{width:44px;height:44px;border:1px solid var(--line);background:#111512;color:white;border-radius:4px;font-size:22px}
.calendar-wrap{border:1px solid var(--line);background:#0d100e;overflow:hidden}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays span{padding:12px 8px;text-align:center;color:#9ca39c;font-size:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar-day{min-height:130px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0f1310;min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.muted{background:#0a0d0b;color:#5f665f}
.day-num{display:block;font-family:Oswald,sans-serif;color:#dfe3dc;margin-bottom:8px}.calendar-day.muted .day-num{color:#5f665f}
.job-pill{display:block;width:100%;margin-top:6px;padding:7px 8px;border:1px solid rgba(154,161,112,.35);background:rgba(154,161,112,.10);color:#dfe5d6;font-size:11px;line-height:1.35;border-radius:4px;overflow:hidden;text-overflow:ellipsis}.job-pill strong{display:block;color:var(--sage2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.customer-card p{color:#9ca29b;margin:7px 0}.customer-card .customer-stats{display:flex;gap:14px;margin-top:16px;color:#cbd0ca;font-size:13px}
.invoice-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.invoice-amount{font-family:Oswald,sans-serif;font-size:34px;color:var(--sage2)}
.invoice-dialog{width:min(780px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);background:#0d100e;color:var(--paper);padding:0;border-radius:8px}
.invoice-dialog::backdrop{background:rgba(0,0,0,.72)}.invoice-dialog form{padding:26px}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dialog-head h2{font-size:38px;margin:0}.dialog-close{border:0;background:none;color:white;font-size:34px;line-height:1}
.line-items-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.line-items-head h3{margin:0}
.line-item{display:grid;grid-template-columns:1fr 120px 130px 44px;gap:10px;margin-bottom:10px}.line-item input{margin:0}.remove-line{border:1px solid var(--line);background:#201313;color:#efc8c8;border-radius:4px}
.invoice-totals{margin:24px 0;border-top:1px solid var(--line);padding-top:14px}.invoice-totals>div{display:flex;justify-content:space-between;padding:6px 0}.grand-total{font-size:20px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}
.error-box{padding:20px;border:1px solid #5a2b2b;background:#251313;color:#f1caca}
@media(max-width:980px){.stats{grid-template-columns:1fr 1fr}.customer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.meta{grid-template-columns:1fr}.calendar-wrap{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:760px}.admin-header{align-items:flex-start}.line-item{grid-template-columns:1fr 90px 110px 44px}}
@media(max-width:580px){.stats,.customer-grid{grid-template-columns:1fr}.line-item{grid-template-columns:1fr 1fr}.line-item .remove-line{min-height:44px}.invoice-dialog form{padding:18px}}
