@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:400;font-display:swap;src:url(../fonts/dm-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:500;font-display:swap;src:url(../fonts/dm-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:600;font-display:swap;src:url(../fonts/dm-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:700;font-display:swap;src:url(../fonts/dm-sans-latin-700-normal.woff2) format('woff2')}
:root{--accent:#22c55e;--on-accent:#131311;--brand:#131311;--brand-dark:#000;--bg:#f4f3ee;--surface:#fff;--ink:#131311;--muted:#68675f;--line:#e3e1d6;--soft:#faf9f4;--side:#121210;--side-ink:#d8d6ca;--tint:#dcfce7;
--f-display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--f-body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
--bs-body-font-family:var(--f-body);--bs-body-bg:var(--bg);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-link-color:#131311;--bs-link-hover-color:#000;--bs-secondary-color:var(--muted)}
[data-bs-theme=dark]{--bg:#0d0d0c;--surface:#1a1a17;--ink:#f2f0e6;--muted:#a7a598;--line:#2e2d28;--soft:#22221e;--side:#121210;--tint:#12301f;--brand:#22c55e;--bs-body-bg:#0d0d0c;--bs-body-color:#f2f0e6;--bs-border-color:#2e2d28;--bs-link-color:#22c55e;--bs-link-hover-color:#ffe35c;--bs-secondary-bg:#22221e;--bs-tertiary-bg:#1a1a17}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:.92rem}
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5{font-family:var(--f-display);font-weight:700;letter-spacing:.2px}
a{color:var(--bs-link-color)}
.text-muted,.text-secondary{color:var(--muted)!important}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:236px;background:var(--side);color:var(--side-ink);position:fixed;top:0;bottom:0;left:0;overflow-y:auto;z-index:1040;transition:transform .2s;padding-bottom:16px}
.sidebar .brand{padding:18px 18px 14px;font-family:var(--f-display);font-size:1.55rem;line-height:1;font-weight:700;color:#fff;display:flex;gap:8px;align-items:center}
.sidebar .brand i{color:var(--accent);font-size:1.3rem}
.sidebar .brand small{display:block;font-family:var(--f-body);font-size:.6rem;letter-spacing:.14em;color:#9b998c;font-weight:600;margin-top:4px}
.nav-heading{padding:16px 18px 6px;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:#8d8b7f;font-weight:600}
.nav-link-x{display:flex;align-items:center;gap:11px;padding:8px 12px;margin:2px 10px;border-radius:9px;color:var(--side-ink);text-decoration:none;font-weight:500}
.nav-link-x i{font-size:1.02rem;opacity:.85}
.nav-link-x:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-link-x.active{background:var(--accent);color:var(--on-accent);font-weight:700}
.nav-link-x.active i{opacity:1}
.main{margin-left:236px;flex:1;min-width:0}
.topbar{position:sticky;top:0;z-index:1030;background:var(--bg);border-bottom:1px solid var(--line);padding:12px 24px;display:flex;align-items:center;gap:12px;backdrop-filter:blur(6px)}
.page-title{font-family:var(--f-display);font-size:1.9rem;line-height:1;margin:0;font-weight:700}
.content{padding:22px 24px}
.branch-switch{min-width:150px}
.theme-toggle{border-radius:999px!important;font-weight:600}
@media(max-width:991px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:none}.main{margin-left:0}.content{padding:14px}.topbar{padding:10px 14px}.page-title{font-size:1.5rem}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 0 var(--line)}
.card-header{background:transparent;font-family:var(--f-display);font-size:1.15rem;font-weight:700;border-bottom:1px solid var(--line);padding:.8rem 1rem}
.stat{display:flex;gap:12px;align-items:center}
.stat .ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex:none;background:var(--accent);color:var(--on-accent)}
.stat .num{font-family:var(--f-display);font-size:1.6rem;font-weight:700;line-height:1}
.stat .lbl{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600}
.btn{border-radius:999px;font-weight:600;padding-left:1rem;padding-right:1rem}
.btn-primary,.btn-warning{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-color:#06210f;--bs-btn-hover-bg:#4ade80;--bs-btn-hover-border-color:#4ade80;--bs-btn-hover-color:#131311;--bs-btn-active-bg:#16a34a;--bs-btn-active-border-color:#16a34a;--bs-btn-active-color:#131311;--bs-btn-disabled-bg:var(--accent);--bs-btn-disabled-border-color:var(--accent);--bs-btn-disabled-color:#131311}
.btn-success{--bs-btn-bg:#131311;--bs-btn-border-color:#131311;--bs-btn-color:#fff;--bs-btn-hover-bg:#2b2a26;--bs-btn-hover-border-color:#2b2a26;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#000;--bs-btn-active-border-color:#000}
[data-bs-theme=dark] .btn-success{--bs-btn-bg:#f2f0e6;--bs-btn-border-color:#f2f0e6;--bs-btn-color:#06210f;--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff;--bs-btn-hover-color:#131311}
.btn-outline-primary{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-hover-bg:var(--accent);--bs-btn-hover-border-color:var(--accent);--bs-btn-hover-color:#131311;--bs-btn-active-bg:var(--accent);--bs-btn-active-border-color:var(--accent);--bs-btn-active-color:#131311}
.btn-outline-secondary{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--soft);--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:var(--ink)}
.btn-light{--bs-btn-bg:var(--surface);--bs-btn-border-color:var(--line);--bs-btn-color:var(--ink);--bs-btn-hover-bg:var(--soft);--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:var(--ink)}
.form-control,.form-select{border-radius:10px;border-color:var(--line);background-color:var(--surface);color:var(--ink)}
.form-control:focus,.form-select:focus{border-color:#131311;box-shadow:0 0 0 .2rem rgba(34,197,94,.35);background-color:var(--surface);color:var(--ink)}
[data-bs-theme=dark] .form-control:focus,[data-bs-theme=dark] .form-select:focus{border-color:var(--accent)}
.form-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--muted);margin-bottom:.3rem}
.form-check-input:checked{background-color:#131311;border-color:#131311}
[data-bs-theme=dark] .form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}
.badge{border-radius:999px;font-weight:600;letter-spacing:.02em}
.badge.text-bg-light{background:var(--soft)!important;color:var(--ink)!important}
.alert{border-radius:12px}
.dropdown-menu{border-radius:12px;border-color:var(--line);background:var(--surface)}
.dropdown-item{color:var(--ink)}.dropdown-item:hover{background:var(--tint);color:var(--ink)}
.modal-content{border-radius:16px;background:var(--surface);border-color:var(--line)}
.nav-tabs .nav-link.active,.nav-pills .nav-link.active{background:var(--accent);color:#131311;border-color:var(--accent)}
.nav-pills .nav-link,.nav-tabs .nav-link{color:var(--ink)}
.pagination{--bs-pagination-active-bg:var(--accent);--bs-pagination-active-border-color:var(--accent);--bs-pagination-active-color:#131311;--bs-pagination-color:var(--ink);--bs-pagination-bg:var(--surface);--bs-pagination-border-color:var(--line)}
.table{--bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-border-color:var(--line);--bs-table-hover-bg:var(--tint);--bs-table-striped-bg:var(--soft)}
.table>:not(caption)>*>*{padding:.6rem .7rem}
.table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:var(--soft);white-space:nowrap;font-weight:600}
.table-light,.table-light>th,.table-light>td{--bs-table-bg:var(--soft);--bs-table-color:var(--ink)}
.bg-white{background:var(--surface)!important}.bg-light{background:var(--soft)!important}
.border{border-color:var(--line)!important}
.login-bg{background:#0c0c0b;color:#f4f2e8}
.login-wrap{width:100%;max-width:420px}
.login-card{width:100%;border-radius:20px;background:#1a1a17;border:1px solid #2e2d28;color:#f2f0e6}
.login-card .form-control{background:#0d0d0c;border-color:#34332e;color:#f2f0e6}
.login-card .form-control:focus{background:#0d0d0c;color:#fff;border-color:var(--accent)}
.login-card .text-muted,.login-card a{color:#a7a598!important}
.login-logo{width:60px;height:60px;border-radius:16px;background:var(--accent);color:#131311;display:inline-flex;align-items:center;justify-content:center;font-size:1.9rem}
.login-card h4{font-family:var(--f-display);font-size:2.1rem}
.cust-picker{position:relative}
.cust-picker .dd{position:absolute;left:0;right:0;top:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;z-index:1050;max-height:260px;overflow:auto;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.cust-picker .dd div{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line)}
.cust-picker .dd div:hover{background:var(--tint)}
.cust-picker .sel{font-size:.9rem;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ink);background:var(--tint);border-radius:10px;padding:6px 10px}
/* calendar */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cal-grid .h{background:var(--soft);padding:6px;font-weight:700;text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.cal-cell{background:var(--surface);min-height:96px;padding:4px;font-size:.74rem}
.cal-cell.other{background:var(--soft);color:var(--muted)}.cal-cell.today{background:var(--tint)}
.cal-cell .d{font-weight:700;margin-bottom:2px}
.ev{display:block;border-left:3px solid #6c757d;background:var(--soft);border-radius:5px;padding:1px 5px;margin-bottom:2px;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev.s-Booked{border-color:#6c757d}.ev.s-Confirmed{border-color:#0dcaf0;background:#e8f8fb;color:#123}.ev.s-Arrived{border-color:#0d6efd;background:#e7f0ff;color:#123}
.ev.s-In-Service{border-color:#ffc107;background:#fff1b8;color:#123}.ev.s-Completed{border-color:#198754;background:#e0f3e8;color:#123}.ev.s-Cancelled,.ev.s-No-Show{border-color:#dc3545;background:#fdeaec;color:#123;text-decoration:line-through;opacity:.7}
.day-table td{vertical-align:top;height:44px;border-color:var(--line)}
.day-table .tm{width:70px;color:var(--muted);font-size:.75rem;white-space:nowrap}
.seg-card{cursor:pointer;transition:.15s}.seg-card:hover{border-color:var(--ink);transform:translateY(-2px)}
.pos-total td{font-size:.95rem}
.sticky-summary{position:sticky;top:76px}
.side-user{margin:14px 10px 0;padding:12px;border-top:1px solid #2b2a26;font-size:.78rem;color:#9b998c}
@media print{.sidebar,.topbar,.no-print{display:none!important}.main{margin:0}.content{padding:0}body{background:#fff;color:#000}.card{border-color:#ccc}}
.btn-outline-dark,.btn-outline-success,.btn-outline-danger,.btn-outline-info{--bs-btn-color:var(--ink)}
.btn-outline-success{--bs-btn-border-color:#1a7f4b}.btn-outline-danger{--bs-btn-border-color:#b3261e}
.btn-outline-dark:hover,.btn-outline-success:hover,.btn-outline-danger:hover{background:var(--accent);color:#131311;border-color:var(--accent)}
[data-bs-theme=dark] .btn-outline-dark,[data-bs-theme=dark] .btn-outline-secondary,[data-bs-theme=dark] .btn-outline-primary{--bs-btn-color:#f2f0e6;--bs-btn-border-color:#4a4940;color:#f2f0e6}
[data-bs-theme=dark] .btn-check:checked+.btn,[data-bs-theme=dark] .btn.active{background:var(--accent)!important;color:#131311!important;border-color:var(--accent)!important}
[data-bs-theme=dark] .cal-cell,[data-bs-theme=dark] .ev{color:#f2f0e6}
[data-bs-theme=dark] .ev[class*=" s-"]{color:#131311}
.btn-group>.btn{border-radius:0}.btn-group>.btn:first-child{border-radius:999px 0 0 999px}.btn-group>.btn:last-child{border-radius:0 999px 999px 0}

.dash-date{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--muted)}
.kpi{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"i v" "l l";column-gap:10px;row-gap:6px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink);text-decoration:none;height:100%}
a.kpi:hover{border-color:var(--ink);transform:translateY(-1px);transition:.15s}
.kpi .kico{grid-area:i;width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-size:.9rem}
.kpi .kv{grid-area:v;font-family:var(--f-display);font-size:1.9rem;font-weight:700;line-height:1;text-align:right;white-space:nowrap}
.kpi .kl{grid-area:l;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--muted)}
.mini-strip{display:flex;flex-wrap:wrap;gap:6px 0}
.mini{flex:1 1 130px;display:flex;flex-direction:column;padding:6px 14px;border-left:1px solid var(--line);color:var(--ink);text-decoration:none}
.mini:first-child{border-left:0;padding-left:4px}
.mini b{font-family:var(--f-display);font-size:1.4rem;line-height:1.1}
.mini span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
a.mini:hover b{text-decoration:underline}
.dash-tabs{gap:6px;padding-bottom:10px;flex-wrap:wrap}
.dash-tabs .nav-link{border-radius:999px;font-weight:600;font-size:.8rem;padding:.35rem .9rem;border:1px solid var(--line)}
@media(max-width:575px){.mini{flex-basis:45%;border-left:0}}
