:root{--bg:#0f172a;--panel:#111827;--panel2:#020617;--card:#111827;--text:#e5e7eb;--muted:#94a3b8;--blue:#38bdf8;--red:#fb7185;--green:#34d399;--orange:#f59e0b;--line:#334155;--input:#020617;--paper:#182235}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}body.light-mode{--bg:#f4f7fb;--panel:#ffffff;--panel2:#eaf0f7;--card:#ffffff;--text:#111827;--muted:#5b6472;--line:#d9e1ea;--input:#ffffff;--paper:#ffffff}a{color:inherit;text-decoration:none}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#020617;border-right:1px solid var(--line);padding:24px;overflow-y:auto}.light-mode .sidebar{background:#ffffff}.brand{font-size:30px;font-weight:900;color:var(--blue);margin-bottom:18px}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:20px 0 7px}.sidebar a,.theme-toggle{display:block;width:100%;text-align:left;padding:12px 14px;margin:6px 0;border-radius:12px;color:var(--muted);background:transparent;border:0;font:inherit;cursor:pointer}.sidebar a:hover,.theme-toggle:hover{background:var(--panel);color:var(--text)}.main{margin-left:250px;padding:32px;min-height:100vh}.page-title,.dashboard-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.page-title h1,.dashboard-header h1{font-size:32px;margin:0 0 5px;font-weight:900}.page-title p,.dashboard-header p,.muted{color:var(--muted);margin:0}.card,.dashboard-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(0,0,0,.12);margin-bottom:18px}.btn{display:inline-block;border:0;border-radius:12px;padding:10px 14px;background:var(--blue);color:#00111a;font-weight:800;cursor:pointer;margin:2px}.btn.secondary,.btn-secondary{background:#334155;color:#fff}.btn.danger{background:var(--red);color:#fff}.btn.small{padding:6px 9px;font-size:12px}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.alert{padding:14px;border-radius:14px;margin:14px 0;border:1px solid var(--line)}.alert.success{background:rgba(52,211,153,.12);border-color:var(--green)}.alert.danger{background:rgba(251,113,133,.12);border-color:var(--red)}input,select,textarea{width:100%;padding:11px;border-radius:12px;border:1px solid var(--line);background:var(--input);color:var(--text);margin:5px 0 14px}textarea{min-height:90px}label{color:var(--muted);font-size:14px;font-weight:700}.form-wide{max-width:1200px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.section-divider{text-align:center;color:var(--muted);font-weight:900;letter-spacing:.1em;margin:22px 0;border-top:1px solid var(--line);padding-top:18px}.preview-logo{background:transparent;border:1px dashed var(--line);border-radius:14px;padding:12px;margin:8px 0;display:inline-block}.preview-logo img{max-height:95px;max-width:220px;background:transparent}.table,.clean-table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:18px;overflow:hidden}.table th,.table td,.clean-table th,.clean-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.table th,.clean-table th{color:var(--muted);font-size:13px;text-transform:uppercase}.badge,.status-pill{display:inline-block;border-radius:999px;padding:6px 10px;background:#334155;color:#fff;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--panel);color:var(--text);border-radius:16px;padding:20px;box-shadow:0 10px 25px rgba(0,0,0,.12);border:1px solid var(--line);transition:.15s transform}.stat-card:hover{transform:translateY(-2px)}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{font-size:34px;display:block;margin-top:6px}.stat-card.success{background:#065f46;color:#fff}.stat-card.warning{background:#92400e;color:#fff}.stat-card.danger{background:#991b1b;color:#fff}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.clean-list,.activity-list{list-style:none;padding:0;margin:0}.clean-list li,.activity-list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.quote-builder{max-width:1400px}.estimate-top{display:grid;grid-template-columns:2fr 1fr;gap:18px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.estimate-logo{max-height:70px;max-width:180px;object-fit:contain;background:transparent}.estimate-title{text-align:right}.estimate-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.estimate-info-grid>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--paper)}.quote-section{border:1px solid var(--line);border-radius:16px;padding:14px;margin:14px 0;background:var(--paper)}.quote-input-table{width:100%;border-collapse:collapse}.quote-input-table th,.quote-input-table td{border-bottom:1px solid var(--line);padding:6px}.quote-input-table input{margin:0}.totals-edit{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quote-total-box{max-width:420px;margin-left:auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px}.quote-total-box div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.quote-total-box .grand{font-size:22px;font-weight:900;border-bottom:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.photo-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--paper)}.photo-card img{width:100%;height:150px;object-fit:cover;border-radius:10px;margin-bottom:8px}.photo-card small{display:block;color:var(--muted);font-size:12px}.upload-box{border:1px dashed var(--line);padding:16px;border-radius:14px;margin-bottom:15px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:20px}.calendar-head{font-weight:900;background:var(--panel);color:var(--text);padding:10px;border-radius:10px;text-align:center;border:1px solid var(--line)}.calendar-day{min-height:125px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}.calendar-day.empty{background:var(--panel2)}.calendar-job{display:block;margin-top:8px;background:#334155;color:#fff;text-decoration:none;border-radius:8px;padding:6px;font-size:12px}.calendar-job.manual{background:#0f766e}.workflow-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:20px}.workflow-column{min-width:260px;background:var(--panel2);border-radius:16px;padding:12px}.workflow-card{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:14px;padding:14px;margin-bottom:12px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.form-grid,.form-grid.three,.estimate-top,.estimate-info-grid{grid-template-columns:1fr}.dashboard-header,.page-title{display:block}.main{padding:20px}}@media(max-width:800px){.sidebar{position:relative;width:100%;height:auto}.main{margin-left:0}.stats-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:1fr}.calendar-head{display:none}}
.row{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-md-2{grid-column:span 2}.col-md-3{grid-column:span 3}.col-md-4{grid-column:span 4}.col-md-6{grid-column:span 6}.col-md-12{grid-column:span 12}.mb-2{margin-bottom:10px}.mb-3{margin-bottom:18px}.mt-2{margin-top:10px}.mt-3{margin-top:18px}.p-3{padding:22px}.w-100{width:100%}.border{border:1px solid var(--line)!important}.rounded{border-radius:14px}.text-danger{color:var(--red)}.bg-success{background:#065f46}.bg-danger{background:#991b1b}.bg-dark{background:#111827}.btn-primary{background:var(--blue);color:#00111a}.btn-success{background:var(--green);color:#00111a}.btn-secondary{background:#334155;color:#fff}@media(max-width:900px){.row{grid-template-columns:1fr}.col-md-2,.col-md-3,.col-md-4,.col-md-6,.col-md-12{grid-column:span 1}}

.stats-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

.clean-list li { display: grid; grid-template-columns: 9rem 1fr auto; align-items: center; gap: 1rem; }
.clean-list li span { text-align: left; }

.status-pill { color: #fff; }
.status-booked-in { background: #475569; }
.status-quote-pending { background: #b45309; }
.status-waiting-approval { background: #c2410c; }
.status-in-progress { background: #1d4ed8; }
.status-ready { background: #047857; }
.status-collected { background: #334155; }

.stat-card.is-zero,
.stat-card.warning.is-zero,
.stat-card.success.is-zero,
.stat-card.danger.is-zero {
    background: var(--card-bg, #fff);
    color: inherit;
    border: 1px solid rgba(127, 127, 127, .25);
}

.section-check-bar { display: flex; align-items: center; gap: 1rem; margin: .25rem 0 .75rem; }
.section-check-all { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; font-weight: 600; }
.section-check-progress { opacity: .7; font-size: .9em; }