:root{--bg:#08090b;--bg-soft:#121417;--card:rgba(18,20,23,.95);--text:#f8fafc;--muted:#a5a8ad;--accent:#7f1d2d;--accent2:#a83246;--line:rgba(255,255,255,.1);--success:#166534;--warn:#9a3412;--danger:#991b1b;--radius:20px;--shadow:0 20px 50px rgba(0,0,0,.32)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(127,29,45,.19),transparent 30%),radial-gradient(circle at bottom right,rgba(93,23,38,.10),transparent 34%),linear-gradient(180deg,#08090b,#121417);color:var(--text);font:16px/1.5 Arial,Helvetica,sans-serif}a{color:#d8a0aa;text-decoration:none}a:hover{color:#fff}header{min-height:92px;border-bottom:1px solid var(--line);background:rgba(8,9,11,.96);padding:10px max(18px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;color:#fff;font-weight:800;font-size:1.15rem}.brand img{width:auto;height:70px;object-fit:contain}.brand small{display:block;margin-top:2px;color:#d8a0aa;font-size:.68rem;font-weight:700;letter-spacing:.04em}nav{display:flex;align-items:center;gap:18px}nav a{color:#fff;font-weight:700}main{max-width:1200px;margin:32px auto;padding:0 18px;min-height:calc(100vh - 225px)}.narrow{max-width:500px;margin:55px auto}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.page-heading h1{margin:.4rem 0 0}.eyebrow{display:inline-block;padding:.45rem .8rem;border:1px solid rgba(184,67,86,.34);background:rgba(127,29,45,.14);color:#e8c4ca;border-radius:999px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.site-link{border:1px solid var(--line);padding:.65rem 1rem;border-radius:12px;color:#fff}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2rem,5vw,3.1rem)}h2{font-size:1.4rem}p{color:#cbd5e1}label{display:block;color:#e2e8f0;font-weight:700;margin:14px 0}input,select,textarea,button{width:100%;font:inherit;padding:11px 12px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#171a1f;color:#f8fafc}input:focus,select:focus,textarea:focus{outline:2px solid rgba(154,37,57,.48);border-color:#b84356}textarea{min-height:105px;resize:vertical}button{background:linear-gradient(180deg,#9a2539,var(--accent));border:0;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(127,29,45,.24)}button:hover{background:linear-gradient(180deg,#ad3148,#92243a)}.flash{background:rgba(22,101,52,.55);border:1px solid #22c55e;padding:13px 16px;border-radius:10px;margin-bottom:20px}.error{color:#d8a0aa}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:#d8a0aa;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}small{display:block;color:var(--muted);margin-top:3px}.status{display:inline-block;padding:5px 9px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#334155;font-size:.82rem;font-weight:700}.status.completed{background:var(--success)}.status.parts_needed,.status.return_trip_needed{background:var(--warn)}.status.cancelled{background:var(--danger)}details{margin-top:9px}summary{cursor:pointer;color:#d8a0aa;font-weight:700}details form{display:grid;gap:8px;min-width:230px;margin-top:10px}footer{max-width:1200px;margin:20px auto 0;padding:22px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}footer p{margin:0;color:var(--muted);font-size:.88rem}@media(max-width:720px){.grid,.three{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}.brand img{height:58px}nav{width:100%;justify-content:space-between}.page-heading{align-items:flex-start;flex-direction:column}main{margin-top:20px}.card{padding:17px}footer{flex-direction:column}}


/* Precision Security visual refresh */
.card {
  border-color: rgba(255,255,255,.11);
  box-shadow: 0 18px 42px rgba(0,0,0,.30);
}

input,
select,
textarea {
  border-color: rgba(255,255,255,.14);
}

.site-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .75rem 1rem;
  border-radius: 13px;
  background: rgba(255,255,255,.055);
  font-weight: 800;
}

.site-link:hover {
  background: rgba(127,29,45,.24);
  border-color: rgba(184,67,86,.42);
}

footer {
  border-top-color: rgba(255,255,255,.09);
}


.status.declined{background:#6b1f2c}.card-divider{border:0;border-top:1px solid var(--line);margin:24px 0}.decline-panel>summary{color:#fca5a5;font-size:1.05rem}.decline-panel form{margin-top:16px}.danger-button{background:linear-gradient(180deg,#b91c1c,#7f1d1d)}.danger-button:hover{background:linear-gradient(180deg,#dc2626,#991b1b)}.form-note{font-size:.9rem;color:var(--muted)}.decline-email-copy{white-space:pre-wrap;word-break:break-word;background:#0d0f12;border:1px solid var(--line);border-radius:12px;padding:16px;color:#e2e8f0;font:inherit}

/* Version 2.2 dispatch dashboard */
.dispatch-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:22px}.dispatch-stat{min-height:105px;padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(18,20,23,.92);display:flex;flex-direction:column;justify-content:center;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2)}.dispatch-stat:hover{border-color:rgba(184,67,86,.45);color:#fff}.dispatch-stat strong{font-size:2rem;line-height:1}.dispatch-stat span{margin-top:8px;color:var(--muted);font-weight:700}.dispatch-stat.attention{background:linear-gradient(145deg,rgba(127,29,45,.78),rgba(67,18,28,.8));border-color:rgba(248,113,113,.35)}.dispatch-board{padding:0;overflow:hidden}.dispatch-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}.dispatch-toolbar h2{margin:.45rem 0 0}.week-controls{display:flex;gap:8px;flex-wrap:wrap}.week-controls a,.queue-open{padding:.65rem .85rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04);color:#fff;font-weight:700}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));overflow-x:auto}.schedule-day{min-height:350px;border-right:1px solid var(--line)}.schedule-day:last-child{border-right:0}.schedule-day>header{min-height:68px;padding:13px 12px;border-bottom:1px solid var(--line);background:#0e1013;display:block}.schedule-day>header span{display:block;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.schedule-day>header strong{display:block;margin-top:3px}.schedule-day.is-today>header{background:rgba(127,29,45,.35)}.schedule-day-body{padding:10px;display:grid;align-content:start;gap:9px}.schedule-call{display:block;padding:11px 10px;border:1px solid var(--line);border-left:4px solid #64748b;border-radius:11px;background:#171a1f;color:#fff}.schedule-call:hover{background:#20242a;color:#fff}.schedule-call time,.schedule-call strong,.schedule-call span,.schedule-call small{display:block}.schedule-call time{color:#f0b8c1;font-size:.78rem;font-weight:800}.schedule-call strong{margin-top:5px;font-size:.95rem}.schedule-call span{color:#cbd5e1;font-size:.84rem}.schedule-call small{margin-top:6px;font-size:.72rem}.status-border-in_progress{border-left-color:#38bdf8}.status-border-completed{border-left-color:#22c55e}.status-border-parts_needed,.status-border-return_trip_needed{border-left-color:#f97316}.status-border-scheduled{border-left-color:#a855f7}.empty-day,.empty-queue{color:#6f7680;font-size:.85rem}.dispatch-queues{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.queue-heading h2{margin:.45rem 0 0}.queue-count{display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;background:rgba(127,29,45,.35);font-size:1.25rem}.queue-list{display:grid;gap:10px}.queue-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.queue-item p{margin:6px 0;color:#cbd5e1}.queue-title{color:#fff;font-weight:800}.queue-item details{min-width:150px}.queue-item details form{min-width:270px}.all-calls>summary{font-size:1rem}.all-calls[open]>summary{margin-bottom:15px}@media(max-width:1000px){.dispatch-stats{grid-template-columns:repeat(3,1fr)}.dispatch-queues{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(7,170px)}}@media(max-width:620px){.dispatch-stats{grid-template-columns:repeat(2,1fr)}.dispatch-toolbar{align-items:flex-start;flex-direction:column}.queue-item{grid-template-columns:1fr}.queue-item details{width:100%}.queue-item details form{min-width:0}.week-controls a{font-size:.85rem}}

/* Version 2.3: technician colors and drag-and-drop dispatch */
.dispatch-help{margin:.45rem 0 0;color:var(--muted);font-size:.84rem}.technician-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}.technician-legend span{display:inline-flex;align-items:center;gap:7px;color:#cbd5e1;font-size:.78rem;font-weight:750}.technician-legend i{width:11px;height:11px;border-radius:50%;background:var(--tech-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--tech-color) 22%,transparent)}.schedule-call{border-left-color:var(--tech-color,#64748b)}.schedule-call.is-draggable{cursor:grab}.schedule-call.is-draggable:active{cursor:grabbing}.schedule-call.is-dragging{opacity:.42;transform:scale(.98)}.schedule-day-body.is-drop-target{min-height:280px;background:rgba(184,67,86,.13);outline:2px dashed rgba(240,184,193,.68);outline-offset:-7px;border-radius:8px}.schedule-day-body.is-drop-target::after{content:'Drop here to reschedule';display:block;padding:12px;border:1px dashed rgba(240,184,193,.55);border-radius:10px;color:#f0b8c1;text-align:center;font-size:.78rem;font-weight:800}.week-grid.is-saving,.dispatch-board:has(.week-grid.is-saving){cursor:progress}.week-grid.is-saving .schedule-call{pointer-events:none;opacity:.65}@media(max-width:620px){.technician-legend{padding:12px 16px}.dispatch-help{max-width:42ch}}


/* Version 2.6 customer video requests */
.video-request-card{border:1px solid rgba(245,158,11,.55)}
.urgent-kicker{display:inline-block;color:#fbbf24;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem}
.urgent-notice,.video-request-detail{background:rgba(127,29,29,.22);border:1px solid rgba(239,68,68,.5);border-radius:10px;padding:14px;margin:12px 0}
.video-request-detail>strong{color:#fca5a5;letter-spacing:.04em}
.urgent-button{background:#b91c1c!important;border-color:#ef4444!important;color:#fff!important}
.urgent-button:hover{background:#dc2626!important}
.urgent-stat{border-color:#ef4444!important;box-shadow:0 0 0 1px rgba(239,68,68,.2)}
.urgent-queue{border-color:rgba(239,68,68,.6)}
.urgent-item{border-left:4px solid #ef4444}
.acknowledged{color:#86efac;font-weight:700}
.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.form-grid-two{grid-template-columns:1fr}}
