/* Carpetsys brand direction supplied by the owner. Text wordmark uses the system font; final vector artwork can replace it. */
:root{--brand-cobalt:#3455DB;--brand-charcoal:#202923;--brand-warm-white:#F4F1EA;--brand-border:#dedfd8;--brand-muted:#626c65;--brand-tint:#eaf0ff;font-family:Arial,Helvetica,system-ui,sans-serif;color:var(--brand-charcoal);background:var(--brand-warm-white)}
body{background:var(--brand-warm-white);color:var(--brand-charcoal)}
.logo{font-family:Arial,Helvetica,system-ui,sans-serif;font-weight:900;font-size:32px;letter-spacing:-1.7px;line-height:1;color:var(--brand-warm-white)}
.brand-caption{font-size:11px;line-height:1.5;color:#c4ccc5;margin-top:12px;letter-spacing:.1px}
.brand-kicker{color:var(--brand-cobalt);font-size:11px;letter-spacing:1.5px;font-weight:800;margin:0 0 16px}
h1,h2,h3{color:var(--brand-charcoal)}h1{font-weight:800;letter-spacing:-1.3px}p,.muted{color:var(--brand-muted)}a{color:var(--brand-cobalt)}
button,a,input,select,textarea{transition:background-color .15s,border-color .15s,box-shadow .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9aafff;outline-offset:3px}
.primary{background:var(--brand-cobalt);color:white}.primary:hover{background:#2847c4}.secondary{color:var(--brand-charcoal);background:white;border-color:var(--brand-border);text-decoration:none}.secondary:hover{background:var(--brand-tint);border-color:#b6c5fd}
.card{border-color:var(--brand-border);box-shadow:0 2px 3px #20292303}.banner,.notice{background:var(--brand-tint);color:#314582;border:1px solid #d4defd;border-radius:9px}.banner strong,.notice strong{color:#243781}
input,select,textarea,.field{border-color:#cdd1c9;color:var(--brand-charcoal)}label{color:#4c5750}.tag{color:#505b54;background:#ecefe8}.tag.blue{background:var(--brand-tint);color:#2d4cba}.icon,.avatar{background:var(--brand-tint);color:var(--brand-cobalt)}.empty{color:var(--brand-muted)}.metric{font-weight:750;letter-spacing:-1.2px}#toast{background:var(--brand-charcoal)}
html[data-surface="console"] aside{background:var(--brand-charcoal);color:var(--brand-warm-white)}
html[data-surface="console"] .org{color:#c1cbc3;margin-top:26px}html[data-surface="console"] nav button{color:#d3dcd4}html[data-surface="console"] nav button:hover{background:#303b33}html[data-surface="console"] nav button.active{background:var(--brand-cobalt);color:white}
html[data-surface="console"] aside footer{color:#b9c3bb}html[data-surface="console"] header{border-bottom-color:var(--brand-border)}.eyebrow{color:#636e65}.brand-header-tagline{font-size:12px;font-weight:600}
html[data-surface="console"] .date{background:#eeefe8}html[data-surface="console"] .bar{background:#e9ece5}html[data-surface="console"] .bar i{background:var(--brand-cobalt)}html[data-surface="console"] th{background:#f7f7f2;color:#626d65}html[data-surface="console"] td small{color:var(--brand-muted)}html[data-surface="console"] td,html[data-surface="console"] .job,html[data-surface="console"] .flow{border-color:#e8e9e3}html[data-surface="console"] .column{background:#eaece5}html[data-surface="console"] .ticket{border-color:var(--brand-border)}html[data-surface="console"] .day{background:#f9f9f4}dialog{box-shadow:0 25px 100px #20292333}dialog::backdrop{background:#20292388}
html[data-surface="account"] header{background:var(--brand-charcoal);gap:20px}html[data-surface="account"] header a{color:var(--brand-warm-white);font-size:13px}.account-label{font-size:12px;color:#c6cfc8;margin-left:12px}html[data-surface="account"] main>h1{font-size:clamp(32px,4.5vw,48px);max-width:730px;margin-bottom:12px}html[data-surface="account"] main>p{margin-bottom:28px}html[data-surface="account"] button{background:var(--brand-cobalt)}html[data-surface="account"] button:hover{background:#2847c4}html[data-surface="account"] .tabs button{background:#eceee7;color:var(--brand-charcoal)}html[data-surface="account"] .tabs button.active{background:var(--brand-cobalt);color:white}html[data-surface="account"] .pill{background:var(--brand-tint);color:#2d4cba}html[data-surface="account"] #message.success{color:#32583c}html[data-surface="account"] #message.error{color:#a43329}
@media(max-width:1000px){html[data-surface="console"] .logo{font-size:27px}}@media(max-width:650px){html[data-surface="console"] .brand-caption{display:none}html[data-surface="console"] .logo{font-size:27px}html[data-surface="account"] header{align-items:center}.account-label{display:none}html[data-surface="account"] .logo{font-size:27px}html[data-surface="account"] .tabs button{flex:1;padding:11px 9px;font-size:13px}}

/* Field actions: large targets, explicit text and a distinct colour per step. */
html[data-surface="console"] button.work-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;font-size:16px;font-weight:700;border:1px solid transparent;border-radius:10px;line-height:1.3}
html[data-surface="console"] button.work-start,html[data-surface="console"] button.work-finish{background:#2847c4;color:#fff}
html[data-surface="console"] button.work-arrive{background:#6941a5;color:#fff}
html[data-surface="console"] button.work-service{background:#176b46;color:#fff}
html[data-surface="console"] button.work-pause{background:#f5cf66;color:#40310c;border-color:#c79624}
html[data-surface="console"] button.work-action:hover{filter:brightness(.93)}
.work-phase{display:inline-flex;align-items:center;padding:8px 11px;border-radius:7px;font-weight:700;background:#eaf0ff;color:#2847c4}.work-phase-waiting{background:#f0e8fa;color:#6941a5}.work-phase-service{background:#e0f3e8;color:#176b46}.work-phase-paused{background:#fff1c5;color:#634900}
.gps-ribbon{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:16px 0}.gps-ribbon small{display:block;margin-top:7px;color:#4d5b66;line-height:1.45}.gps-ribbon-actions{display:flex;flex-wrap:wrap;gap:8px}.gps-state{display:inline-flex;gap:7px;align-items:center;font-weight:700}.gps-active{color:#176b46}.gps-warning{color:#855309}.gps-waiting,.gps-off{color:#4b5861}
@media(max-width:650px){.gps-ribbon{align-items:stretch;flex-direction:column}.gps-ribbon-actions>*{flex:1 1 160px}.toolbar button.work-action{flex:1 1 180px}.work-phase{flex-basis:100%}.work-cancel{min-height:44px}}

/* Shared cards across operations, finance, reports and administration. */
html[data-surface="console"] .card{--card-accent:#64748b;--card-soft:#f5f7fa;--card-edge:#dce2e8;border:1px solid var(--card-edge);border-top:3px solid var(--card-edge);border-radius:14px;background:#fff;box-shadow:0 3px 12px #20292306}
html[data-surface="console"] .card>h2:first-child,html[data-surface="console"] .card>h3:first-child{margin-top:0;line-height:1.35}
html[data-surface="console"] .card .sectionhead{gap:16px;flex-wrap:wrap}
html[data-surface="console"] .stats{gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
html[data-surface="console"] .card[data-card-metric]{border-top-color:var(--card-accent);background:linear-gradient(135deg,#fff 35%,var(--card-soft));padding:22px 24px;min-width:0;position:relative}
html[data-surface="console"] .card[data-card-tone="info"]{--card-accent:#3455db;--card-soft:#edf2ff;--card-edge:#d7e0fa}
html[data-surface="console"] .card[data-card-tone="schedule"]{--card-accent:#7446aa;--card-soft:#f3edfb;--card-edge:#e5daf3}
html[data-surface="console"] .card[data-card-tone="success"]{--card-accent:#1d704d;--card-soft:#eaf6ef;--card-edge:#cfe5d8}
html[data-surface="console"] .card[data-card-tone="warning"]{--card-accent:#92650c;--card-soft:#fff6dc;--card-edge:#efdfae}
html[data-surface="console"] .card[data-card-tone="expense"]{--card-accent:#a45420;--card-soft:#fff1e7;--card-edge:#efd7c5}
html[data-surface="console"] .card[data-card-tone="danger"],html[data-surface="console"] .card[role="alert"]{--card-accent:#b33540;--card-soft:#fff0f1;--card-edge:#f0d1d5}
html[data-surface="console"] .card[data-card-tone="neutral"]{--card-accent:#68736e;--card-soft:#f5f6f3;--card-edge:#e0e5dd}
html[data-surface="console"] .card[data-card-metric]>.muted{color:#4e5c56;font-size:13px;font-weight:600;line-height:1.5;display:block}
html[data-surface="console"] .card[data-card-metric] .metric{display:block;color:var(--card-accent);font-size:clamp(25px,2.4vw,34px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-1px;line-height:1.25;margin-top:10px;overflow-wrap:anywhere}
html[data-surface="console"] button.card,html[data-surface="console"] a.card{transition:box-shadow .16s,border-color .16s,transform .16s}
html[data-surface="console"] button.card:hover,html[data-surface="console"] a.card:hover{border-color:var(--card-accent);box-shadow:0 6px 18px #20292312;transform:translateY(-2px)}
html[data-surface="console"] .dashboard-metric-hint{color:var(--card-accent);font-size:12px;font-weight:600;margin-top:10px}
@media(max-width:650px){html[data-surface="console"] .stats{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}html[data-surface="console"] .card[data-card-metric]{padding:17px 15px}html[data-surface="console"] .card[data-card-metric] .metric{font-size:26px;letter-spacing:-.7px}}
@media(max-width:370px){html[data-surface="console"] .stats{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html[data-surface="console"] button.card,html[data-surface="console"] a.card{transition:none}html[data-surface="console"] button.card:hover,html[data-surface="console"] a.card:hover{transform:none}}
@media print{html[data-surface="console"] .card[data-card-metric]{background:#fff!important;box-shadow:none!important}}
html[data-surface="console"] .column[data-card-tone="info"]{--card-accent:#3455db;--card-soft:#edf2ff;--card-edge:#d7e0fa}html[data-surface="console"] .column[data-card-tone="schedule"]{--card-accent:#7446aa;--card-soft:#f3edfb;--card-edge:#e5daf3}html[data-surface="console"] .column[data-card-tone="success"]{--card-accent:#1d704d;--card-soft:#eaf6ef;--card-edge:#cfe5d8}html[data-surface="console"] .column[data-card-tone="neutral"]{--card-accent:#68736e;--card-soft:#f5f6f3;--card-edge:#e0e5dd}
html[data-surface="console"] .column[data-card-tone]{background:var(--card-soft);border:1px solid var(--card-edge);border-radius:14px}html[data-surface="console"] .column[data-card-tone]>h3{color:var(--card-accent)}
html[data-surface="console"] .ticket{border:1px solid var(--card-edge,#dce2e8);border-top:3px solid var(--card-accent,#64748b);border-radius:12px;box-shadow:0 2px 8px #20292306}
html[data-surface="console"] .op-order[data-card-tone]{border-top-color:var(--card-accent);background:linear-gradient(150deg,#fff 60%,var(--card-soft))}
