/* Appointments, Tool Trucks, Company Branding and public booking. Graphite employee theme, restrained red. */
.ops{--o-bg:var(--employee-bg,#1C1E22);--o-panel:var(--employee-panel,#0B0B0D);--o-line:var(--employee-line,#393B40);--o-ink:var(--employee-ink,#F5F5F5);--o-mut:var(--employee-muted,#B5B7BB);--o-red:var(--co-accent,var(--employee-accent,#C52F3D));min-width:0;max-width:100%}
.ops *{box-sizing:border-box;min-width:0}
.ops-hero{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:flex-end;padding:22px 24px;margin-bottom:16px;background:linear-gradient(120deg,var(--o-panel),#15171b);color:var(--o-ink);border:1px solid var(--o-line);border-left:4px solid var(--o-red);border-radius:12px;animation:ops-in .4s ease both}
.ops-hero h2{font-size:clamp(22px,3vw,32px);margin:4px 0;text-transform:uppercase;font-weight:800;letter-spacing:-.02em}
.ops-hero .hint{color:var(--o-mut);max-width:62ch}.ops-hero-r{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.ops-link{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ops-link input{min-width:220px;flex:1;font:12px ui-monospace,Menlo,monospace}
.ops-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end;margin-bottom:12px}
.ops-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.ops-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ops-range{margin-left:6px;font-weight:700}
.ops-chips{display:flex;border:1px solid var(--o-line);border-radius:8px;overflow:hidden}
.ops-chip{border:0;background:transparent;color:inherit;padding:7px 14px;font-weight:600;cursor:pointer}.ops-chip.on{background:var(--o-red);color:#fff}
.ops-search{min-width:220px}
.ops-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.ops-side{display:flex;flex-direction:column;gap:16px}
.ops-day{margin-bottom:18px}.ops-dh{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border-bottom:1px solid var(--stroke,#393B40);padding-bottom:6px;margin:0 0 10px;font-size:15px;text-transform:uppercase;letter-spacing:.06em}
.ops-item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--stroke,#393B40);border-left:3px solid var(--o-red);border-radius:10px;margin-bottom:10px;animation:ops-in .3s ease both}
.ops-item.st-cancelled,.ops-item.st-missed,.ops-item.st-declined{opacity:.62;border-left-color:#686B6D}.ops-item.st-completed{border-left-color:#15803D}
.ops-time b{display:block;font:700 17px/1.1 ui-monospace,Menlo,monospace}.ops-body{display:flex;flex-direction:column;gap:3px}
.ops-acts{margin-top:8px;gap:6px;flex-wrap:wrap}.ops-none{padding:6px 0}
.ops-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.ops-mh{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.7;padding:4px}
.ops-md{min-height:84px;text-align:left;padding:6px;border:1px solid var(--stroke,#393B40);border-radius:8px;background:transparent;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.ops-md.is-blank{border:0;cursor:default}.ops-md.is-today{border-color:var(--o-red)}.ops-md:hover:not(.is-blank){transform:translateY(-1px)}
.ops-mc{font-size:11px;font-weight:700;color:var(--o-red)}.ops-mline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-slotbar,.ops-slots{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 10px}
.ops-sl{font:11px ui-monospace,Menlo,monospace;padding:2px 6px;border-radius:5px;border:1px solid var(--stroke,#393B40)}.ops-sl.full{opacity:.45;text-decoration:line-through}
.ops-slot{font:600 13px ui-monospace,Menlo,monospace;padding:7px 10px;border-radius:7px;border:1px solid var(--stroke,#393B40);background:transparent;color:inherit;cursor:pointer}
.ops-slot.on{background:var(--o-red);border-color:var(--o-red);color:#fff}.ops-slot:disabled{opacity:.35;cursor:not-allowed}
.ops-wl{margin-bottom:10px}.ops-load{height:6px;border-radius:3px;background:var(--stroke,#393B40);overflow:hidden;margin-top:4px}.ops-load i{display:block;height:100%;background:var(--o-red);transform-origin:left;transition:transform .4s}
.ops-req{padding:10px 0;border-bottom:1px solid var(--stroke,#393B40);display:flex;flex-direction:column;gap:4px}
.ops-more summary{cursor:pointer;padding:4px 0}.ops-hrow{padding:4px 0;border-bottom:1px dashed var(--stroke,#393B40)}
.ops-form{display:flex;flex-direction:column;gap:10px}.ops-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ops-sub{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:6px 0}
.ops-formpanel{border-top:3px solid var(--o-red)}
.ops-picked{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px;border:1px solid var(--stroke,#393B40);border-radius:8px;flex-wrap:wrap}
.ops-cres{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--stroke,#393B40);border-radius:8px;background:transparent;color:inherit;cursor:pointer;margin-bottom:5px}.ops-cres:hover{border-color:var(--o-red)}
.ops-newc{display:flex;flex-direction:column;gap:8px;padding:10px 0}
.ops-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.ops-check span{display:flex;flex-direction:column}.ops-check input{margin-top:4px}
.ops-wd{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0}.ops-wd label{display:flex;gap:4px;align-items:center}
.ops-note{padding:8px 10px;border-radius:7px;font-size:13px;margin-top:6px}.ops-note.ok{background:#15803D1f;border:1px solid #15803D66}.ops-note.bad{background:#C52F3D1f;border:1px solid #C52F3D88}
.ops-err{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px;border:1px solid #C52F3D88;border-radius:10px;margin-bottom:12px}.ops-err-sm{padding:8px 12px}
.ops-empty{display:flex;flex-direction:column;gap:4px;padding:30px;text-align:center}
.ops-skel{display:flex;flex-direction:column;gap:10px}.ops-skel i{height:68px;border-radius:10px;background:linear-gradient(90deg,#8881,#8882,#8881);background-size:200% 100%;animation:ops-sh 1.4s infinite}
.ops-up{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 0;border:0;border-bottom:1px solid var(--stroke,#393B40);background:transparent;color:inherit;text-align:left;cursor:pointer}
.ops-manual{color:#D9A441;font-weight:600}.ops-actform{margin-top:8px}
.ops-guide ol{display:grid;gap:8px;padding-left:20px}.ops-guide li span{display:block;opacity:.8}
/* co-brand in sidebar (original Mech Tech logo stays above) */
.ops-cobrand{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px;border-left:3px solid var(--co-accent,#C52F3D);background:#ffffff0d;border-radius:6px}
.ops-cobrand img{width:34px;height:34px;object-fit:contain;border-radius:4px;background:#fff1}.ops-cobrand b{display:block;font-size:13px;line-height:1.2}.ops-cobrand small{display:block;font-size:10px;opacity:.65;letter-spacing:.06em}
.ops-mono{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:var(--co-accent,#C52F3D);color:#fff;font-weight:800;flex:none}
.app-shell.ops-branded .nav button.active{box-shadow:inset 3px 0 0 var(--co-accent)}
.ops-login-brand{display:flex;gap:12px;align-items:center;padding:12px;margin:10px 0 14px;border:1px solid #8884;border-left:3px solid var(--co-accent);border-radius:8px}
.ops-login-brand img{max-width:56px;max-height:44px;object-fit:contain}.ops-login-brand small{display:block;opacity:.7}
.br-acc{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0}.br-sw{display:flex;gap:6px;align-items:center;cursor:pointer}.br-sw i{width:20px;height:20px;border-radius:50%;display:block}.br-sw input:checked+i{outline:2px solid currentColor;outline-offset:2px}
.br-logo{min-height:70px;display:grid;place-items:center;border:1px dashed var(--stroke,#393B40);border-radius:8px;padding:10px}.br-logo img{max-height:80px;max-width:100%;object-fit:contain}
.br-prev{display:grid;gap:10px}.br-prev-side{background:#0B0B0D;color:#F5F5F5;padding:12px;border-radius:8px;display:flex;flex-direction:column;gap:6px}.br-prev-mt{width:110px}
.br-prev-nav{font-size:12px;padding:5px 8px;border-radius:5px;opacity:.7}.br-prev-nav.on{opacity:1;box-shadow:inset 3px 0 0 var(--co-accent);background:#ffffff10}
.br-prev-doc{border:1px solid var(--stroke,#393B40);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:3px}.br-prev-bar{height:4px;background:var(--co-accent);margin:-12px -12px 8px;border-radius:8px 8px 0 0}
.br-prev-btn{align-self:flex-start;margin-top:8px;background:var(--co-accent);color:#fff;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600}
@keyframes ops-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ops-sh{to{background-position:-200% 0}}
@media (max-width:900px){.ops-grid,.ops-cols{grid-template-columns:1fr}.ops-hero-r{align-items:flex-start}}
@media (max-width:560px){.ops-item{grid-template-columns:1fr}.ops-md{min-height:54px}.ops-mline{display:none}}
@media (prefers-reduced-motion:reduce){.ops-hero,.ops-item{animation:none}}
/* public booking */
.bk{min-height:100dvh;background:#EEEDEA;color:#1F2025;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bk-top{background:#0B0B0D;color:#F5F5F5;border-bottom:3px solid var(--bk-acc,#C52F3D)}.bk-top-in{max-width:720px;margin:auto;padding:18px 20px;display:flex;gap:14px;align-items:center}
.bk-logo{max-height:48px;max-width:120px;object-fit:contain}.bk-mono{width:44px;height:44px;display:grid;place-items:center;background:var(--bk-acc,#C52F3D);border-radius:8px;font-weight:800}
.bk-name{font-weight:800;font-size:18px}.bk-sub{font-size:13px;opacity:.7}
.bk-main{max-width:720px;margin:auto;padding:24px 16px}.bk-card{background:#F8F7F5;border:1px solid #DCDAD6;border-radius:14px;padding:24px;animation:ops-in .4s ease both}
.bk-card h1{font-size:clamp(26px,5vw,36px);margin:4px 0 8px;letter-spacing:-.02em}.bk-eye{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#C52F3D;font-weight:700}
.bk-mut{color:#5E6068}.bk-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.bk-wide{grid-column:1/-1}
.bk-f{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.bk-in{font:inherit;padding:10px 12px;border:1px solid #C9C7C2;border-radius:8px;background:#FDFCFB;color:inherit}.bk-in:focus{outline:2px solid #1F2025;outline-offset:1px}
.bk-check{display:flex;gap:10px;align-items:flex-start;font-size:13px}.bk-check input{margin-top:3px}
.bk-btn{display:inline-block;text-align:center;text-decoration:none;font:700 15px inherit;padding:12px 18px;border-radius:9px;border:0;background:#C52F3D;color:#fff;cursor:pointer}.bk-btn.ghost{background:transparent;color:#1F2025;border:1px solid #1F2025}.bk-btn:disabled{opacity:.55}
.bk-row{display:flex;gap:10px;flex-wrap:wrap}.bk-dl{display:grid;gap:8px;margin:14px 0}.bk-dl div{display:flex;gap:12px}.bk-dl dt{min-width:90px;color:#5E6068}.bk-dl dd{margin:0}
.bk-foot{text-align:center;font-size:12px;color:#5E6068;padding:20px;display:flex;justify-content:center;gap:8px;align-items:center}.bk-foot img{height:16px;filter:invert(1)}
.bk .ops-skel i{background:linear-gradient(90deg,#0001,#0002,#0001);background-size:200% 100%}
@media (max-width:560px){.bk-form{grid-template-columns:1fr}}
