:root {
  --brand:       #0F6E56;
  --brand-light: #E1F5EE;
  --brand-mid:   #1D9E75;
  --accent:      #EF9F27;
  --sidebar-w:   240px;
  --topbar-h:    56px;
  --surface:     #ffffff;
  --bg:          #F7F8FA;
  --border:      rgba(0,0,0,.08);
  --text:        #1a1a1a;
  --muted:       #6b7280;
  --radius:      10px;
  --shadow:      0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
}

*,*::before,*::after{box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);margin:0;font-size:14px;}

/* ── SIDEBAR ───────────────────────────────── */
#sidebar{
  position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;
  background:#0a2e25;color:#fff;display:flex;flex-direction:column;
  z-index:100;transition:transform .25s ease;
}
.sidebar-logo{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;}
.logo-icon{width:32px;height:32px;background:var(--brand-mid);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;}
.sidebar-logo span{font-size:15px;font-weight:600;letter-spacing:-.3px;display:block;}
.sidebar-logo small{font-size:10px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.6px;}
#sidebar nav{flex:1;overflow-y:auto;padding:10px 0;}
.nav-section{padding:10px 20px 3px;font-size:10px;font-weight:600;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.8px;}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;color:rgba(255,255,255,.6);text-decoration:none;border-left:3px solid transparent;font-size:13.5px;transition:all .15s;}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.06);}
.nav-item.active{color:#fff;background:rgba(255,255,255,.1);border-left-color:var(--brand-mid);}
.nav-item i{font-size:16px;width:20px;text-align:center;}
.nav-badge{margin-left:auto;background:#EF4444;color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;}
.sidebar-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:rgba(255,255,255,.3);}

/* ── TOPBAR ────────────────────────────────── */
#topbar{
  position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--topbar-h);
  background:var(--surface);border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;z-index:90;box-shadow:var(--shadow);
}
.topbar-title{font-size:15px;font-weight:600;}
.topbar-right{display:flex;align-items:center;gap:12px;}
.btn-icon{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:all .15s;}
.btn-icon:hover{background:var(--surface);color:var(--text);}

/* ── SEARCH ────────────────────────────────── */
.search-wrap{position:relative;}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px;pointer-events:none;}
.search-input{padding-left:32px;height:34px;width:220px;font-size:13px;border:1px solid var(--border);border-radius:8px;}
.search-input:focus{border-color:var(--brand-mid);box-shadow:0 0 0 3px rgba(29,158,117,.12);outline:none;}
.search-dropdown{position:absolute;top:40px;left:0;width:340px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.12);z-index:300;max-height:320px;overflow-y:auto;padding:6px;}
.sd-item{padding:9px 12px;border-radius:7px;cursor:pointer;transition:background .12s;}
.sd-item:hover{background:var(--bg);}
.sd-label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:6px 12px 3px;}

/* ── MAIN ──────────────────────────────────── */
#main-content{margin-left:var(--sidebar-w);margin-top:var(--topbar-h);padding:24px;min-height:calc(100vh - var(--topbar-h));}

/* ── PAGE HEADER ───────────────────────────── */
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:10px;}
.page-header h4{margin:0;font-size:18px;font-weight:600;}
.page-subtitle{font-size:12.5px;color:var(--muted);margin-top:2px;}

/* ── STAT CARDS ────────────────────────────── */
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);}
.stat-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}
.stat-val{font-size:24px;font-weight:700;line-height:1;}
.stat-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;}

/* ── CARD ──────────────────────────────────── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);}
.card-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.card-head h6{margin:0;font-size:14px;font-weight:600;}
.card-body{padding:16px 18px;}

/* ── TABLE ─────────────────────────────────── */
.tbl{width:100%;border-collapse:collapse;}
.tbl th{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap;}
.tbl td{padding:11px 12px;border-bottom:1px solid rgba(0,0,0,.04);font-size:13.5px;vertical-align:middle;}
.tbl tbody tr:hover td{background:#F9FAFB;}
.tbl tbody tr:last-child td{border-bottom:none;}
.tbl-wrap{overflow-x:auto;}

/* ── BADGES ────────────────────────────────── */
.badge-status{padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:500;display:inline-block;white-space:nowrap;}
.s-recebido   {background:#EFF6FF;color:#1D4ED8;}
.s-lavagem    {background:#FFF7ED;color:#C2410C;}
.s-secagem    {background:#FEF9C3;color:#854D0E;}
.s-passadoria {background:#F0FDF4;color:#166534;}
.s-pronto     {background:#ECFDF5;color:#065F46;}
.s-entregue   {background:#F5F3FF;color:#5B21B6;}
.s-cancelado  {background:#FEF2F2;color:#991B1B;}
.p-pago       {background:#ECFDF5;color:#065F46;}
.p-parcial    {background:#FFF7ED;color:#C2410C;}
.p-pendente   {background:#FEF2F2;color:#991B1B;}

/* ── BUTTONS ───────────────────────────────── */
.btn-brand{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:background .15s;}
.btn-brand:hover{background:var(--brand-mid);color:#fff;}
.btn-outline-c{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 14px;font-size:13.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:all .15s;}
.btn-outline-c:hover{background:var(--bg);color:var(--text);}
.btn-sm-brand{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:background .15s;}
.btn-sm-brand:hover{background:var(--brand-mid);color:#fff;}
.btn-sm-outline{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:all .15s;}
.btn-sm-outline:hover{color:var(--text);border-color:#aaa;}
.btn-danger-sm{background:#FEF2F2;color:#991B1B;border:1px solid #FECACA;border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s;}
.btn-danger-sm:hover{background:#FEE2E2;}

/* ── FORMS ─────────────────────────────────── */
.form-label{font-size:12.5px;font-weight:500;color:var(--muted);margin-bottom:4px;}
.form-control,.form-select{font-size:13.5px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);}
.form-control:focus,.form-select:focus{border-color:var(--brand-mid);box-shadow:0 0 0 3px rgba(29,158,117,.12);outline:none;}

/* ── FILTER BAR ────────────────────────────── */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.filter-bar .form-control,.filter-bar .form-select{height:36px;font-size:13px;}

/* ── OS NUMBER ─────────────────────────────── */
.os-num{font-family:'DM Mono',monospace;font-weight:700;color:var(--brand);}
.os-num-red{font-family:'DM Mono',monospace;font-weight:700;color:#EF4444;}

/* ── ROW HIGHLIGHTS ────────────────────────── */
.row-late td{background:#FEF2F2 !important;}
.row-ready td{background:#ECFDF5 !important;}

/* ── TABS ──────────────────────────────────── */
.tab-pills{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:4px;margin-bottom:16px;border:1px solid var(--border);}
.tab-pill{flex:1;text-align:center;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;color:var(--muted);text-decoration:none;transition:all .15s;border:none;background:none;}
.tab-pill.active,.tab-pill:hover{background:var(--surface);color:var(--text);box-shadow:var(--shadow);}
.tab-pill.active{color:var(--brand);}

/* ── DELIVERY CARD ─────────────────────────── */
.del-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow);border-left:3px solid var(--border);}
.del-card.late{border-left-color:#EF4444;}
.del-card.ready{border-left-color:var(--brand-mid);}
.del-card.done{border-left-color:#9CA3AF;opacity:.75;}

/* ── MINI PROGRESS BAR ─────────────────────── */
.mini-bar-wrap{height:6px;background:#F3F4F6;border-radius:10px;overflow:hidden;}
.mini-bar{height:100%;border-radius:10px;background:var(--brand-mid);}

/* ── DAILY CHART ───────────────────────────── */
.day-chart{display:flex;align-items:flex-end;gap:4px;height:90px;}
.day-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;}
.day-bar{width:100%;border-radius:3px 3px 0 0;background:var(--brand);min-height:2px;}
.day-bar.today-bar{background:var(--accent);}
.day-lbl{font-size:9px;color:var(--muted);}
.day-val{font-size:9px;color:var(--muted);font-weight:600;}

/* ── RECEIPT (print) ───────────────────────── */
.receipt-doc{font-family:'DM Mono',monospace;font-size:12px;max-width:320px;margin:30px auto;padding:24px;border:1px solid #ddd;}
.receipt-doc .r-title{text-align:center;font-size:14px;font-weight:700;margin-bottom:4px;}
.receipt-doc .r-sep{border-top:1px dashed #999;margin:8px 0;}
.receipt-doc .r-sub{text-align:center;font-size:13px;font-weight:600;margin:4px 0;}
.receipt-doc table{width:100%;}
.receipt-doc td{padding:2px 0;font-size:11px;}
.receipt-doc .r-total td{font-weight:700;font-size:13px;}
.receipt-doc .r-foot{text-align:center;font-size:10px;margin-top:8px;}

/* ── ORDER ITEM ROW ────────────────────────── */
.item-row{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px;}

/* ── EMPTY STATE ───────────────────────────── */
.empty-state{text-align:center;padding:48px 20px;color:var(--muted);}
.empty-state i{font-size:40px;display:block;margin-bottom:10px;color:#D1D5DB;}

/* ── SCROLLBAR ─────────────────────────────── */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:10px;}

/* ── RESPONSIVE ────────────────────────────── */
@media(max-width:991px){
  #sidebar{transform:translateX(-100%);}
  #sidebar.open{transform:none;}
  #topbar,#main-content{margin-left:0!important;left:0!important;}
}
@media print{
  #sidebar,#topbar,.no-print{display:none!important;}
  #main-content{margin:0!important;padding:0!important;}
  .receipt-doc{border:none;}
}
