/* Thrivon Bike v4.5 — Agenda e Reservas: padrão premium unificado.
   Isolado às classes v45 e componentes ops, sem redefinir a identidade global. */
.ops-page{--ops45-green:var(--t-action,#168469);--ops45-surface:var(--t-paper,#fff);--ops45-subtle:var(--t-paper-alt,#f4f8f7);--ops45-line:var(--t-line,#dce9e6);--ops45-ink:var(--t-ink-strong,#163345);--ops45-muted:var(--t-muted,#71869a);color:var(--ops45-ink)}
.ops-page .ops-button.primary,.ops-v45-detail .ops-button.primary{background:var(--ops45-green);border-color:var(--ops45-green);color:white;font-weight:750}
.ops-v45-section{background:var(--ops45-surface);border:1px solid var(--ops45-line);border-radius:20px;padding:24px;margin:16px 0 20px;min-width:0}
.ops-v45-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:23px}
.ops-v45-section-head h2{font-size:23px;line-height:1.25;letter-spacing:-.025em;color:var(--ops45-ink);margin:4px 0 6px}
.ops-v45-section-head p{font-size:13px;line-height:1.55;color:var(--ops45-muted);margin:0}
.ops-v45-eyebrow{font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--ops45-green)}
.ops-v45-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-bottom:25px}
.ops-v45-stats .ops-stat{background:var(--ops45-subtle);border:1px solid var(--ops45-line);border-radius:15px;padding:19px;min-height:116px;display:grid;gap:7px}
.ops-v45-stats .ops-stat span{color:var(--ops45-muted);font-size:12px;font-weight:600}
.ops-v45-stats .ops-stat strong{font-size:30px;line-height:1;color:var(--ops45-ink)}
.ops-v45-stats .ops-stat small{color:var(--ops45-muted);font-size:11px}
.ops-v45-catalog-grid,.ops-v45-mechanics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(275px,100%),1fr));gap:14px}
.ops-v45-service-card,.ops-v45-mechanic-card{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:225px;padding:20px;border:1px solid var(--ops45-line);background:var(--ops45-surface);border-radius:17px;box-shadow:0 2px 15px rgba(8,36,51,.025)}
.ops-v45-service-top,.ops-v45-mechanic-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ops-v45-tile-icon{width:43px;height:43px;border-radius:12px;background:var(--ops45-subtle);display:inline-grid;place-items:center;font-size:21px;flex:0 0 auto}
.ops-v45-status{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:750;background:var(--ops45-subtle);color:var(--ops45-muted)}
.ops-v45-status.is-on{background:color-mix(in srgb,var(--ops45-green) 12%,var(--ops45-surface));color:var(--ops45-green)}
.ops-v45-service-card h3,.ops-v45-mechanic-card h3{font-size:16px;line-height:1.3;color:var(--ops45-ink);margin:0;overflow-wrap:anywhere}
.ops-v45-service-card>p{font-size:12px;line-height:1.6;color:var(--ops45-muted);margin:0;flex:1;overflow-wrap:anywhere}
.ops-v45-service-facts{border-top:1px solid var(--ops45-line);padding-top:13px;display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:12px;color:var(--ops45-muted)}
.ops-v45-service-facts strong{font-size:16px;letter-spacing:-.015em;color:var(--ops45-green)}
.ops-v45-edit{align-self:flex-start;min-height:39px;border-color:var(--ops45-line)!important;color:var(--ops45-green)!important;background:var(--ops45-subtle)!important;font-size:12px!important;font-weight:700!important}
.ops-v45-avatar{width:51px;height:51px;display:grid;place-items:center;border-radius:16px;font-size:16px;font-weight:850;letter-spacing:.04em;color:var(--ops45-green);background:color-mix(in srgb,var(--ops45-green) 11%,var(--ops45-surface))}
.ops-v45-mechanic-figures{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ops-v45-mechanic-figures>div{background:var(--ops45-subtle);border:1px solid var(--ops45-line);border-radius:13px;padding:11px;display:flex;flex-direction:column;gap:3px}
.ops-v45-mechanic-figures strong{font-size:23px;line-height:1.15;color:var(--ops45-ink)}
.ops-v45-mechanic-figures small{font-size:11px;line-height:1.4;color:var(--ops45-muted)}
.ops-v45-mechanic-hours{font-size:12px;color:var(--ops45-muted);margin:0;flex:1}
.ops-v45-block-list{display:grid;gap:10px}
.ops-v45-block-card{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(150px,1fr) auto;gap:15px;align-items:center;padding:14px 16px;background:var(--ops45-subtle);border:1px solid var(--ops45-line);border-radius:14px}
.ops-v45-block-date{display:flex;gap:12px;align-items:center;min-width:0}
.ops-v45-block-date>div,.ops-v45-block-detail{display:grid;gap:5px;min-width:0}
.ops-v45-block-card strong{font-size:13px;color:var(--ops45-ink);overflow-wrap:anywhere}
.ops-v45-block-card small,.ops-v45-block-card span{font-size:12px;color:var(--ops45-muted)}
.ops-v45-delete{border-color:color-mix(in srgb,#b34f57 35%,var(--ops45-line))!important;color:#b34f57!important;background:var(--ops45-surface)!important;font-weight:700;font-size:12px}
.ops-v45-empty{grid-column:1/-1;color:var(--ops45-muted);text-align:center;padding:38px 18px;background:var(--ops45-subtle);border:1px dashed var(--ops45-line);border-radius:13px;font-size:13px}
/* Kanban: dois botões irmãos, sem botão aninhado. */
.ops-os-board .ops-v45-os-card,.ops-os-list .ops-v45-os-card{display:flex;flex-direction:column;gap:0;min-width:0;padding:0;overflow:hidden;border:1px solid var(--ops45-line);border-left:3px solid var(--stage-color,#2a8c75);background:var(--ops45-surface);border-radius:12px;color:var(--ops45-ink);text-align:left}
.ops-v45-card-open{display:block;width:100%;text-align:left;padding:14px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.ops-v45-card-open:hover{background:var(--ops45-subtle)}
.ops-v45-card-open:focus-visible,.ops-v45-advance:focus-visible{outline:3px solid var(--ops45-green);outline-offset:-2px}
.ops-v45-os-card h3{color:var(--ops45-ink)}
.ops-v45-os-card .ops-os-card-meta,.ops-v45-os-card .ops-os-card-lead p,.ops-v45-os-card .ops-os-card-lead small{color:var(--ops45-muted)}
.ops-v45-card-footer{padding:0 12px 13px}
.ops-v45-advance{width:100%;min-height:38px;padding:8px 10px;font-size:12px;border-radius:9px}
.ops-v45-advance:disabled{opacity:.6;cursor:wait}
.ops-os-list .ops-v45-os-card{flex-direction:row;align-items:center;justify-content:space-between}
.ops-os-list .ops-v45-card-open{flex:1;min-width:0}
.ops-os-list .ops-v45-card-footer{flex:0 0 min(200px,28%);padding:10px;margin-left:auto}
/* OS: conteúdo claro, escaneável e consistente com o design system. */
.ops-v45-detail-modal{width:min(900px,100%)}
.ops-v45-detail{--ops45-green:var(--t-action,#168469);--ops45-surface:var(--t-paper,#fff);--ops45-subtle:var(--t-paper-alt,#f4f8f7);--ops45-line:var(--t-line,#dce9e6);--ops45-ink:var(--t-ink-strong,#163345);--ops45-muted:var(--t-muted,#71869a);color:var(--ops45-ink);display:grid;gap:17px}
.ops-v45-detail-hero{background:var(--ops45-subtle);border:1px solid var(--ops45-line);border-radius:16px;padding:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:13px}
.ops-v45-detail-hero h2{color:var(--ops45-ink);font-size:27px;letter-spacing:-.04em;margin:5px 0 3px}
.ops-v45-detail-hero p{margin:0;color:var(--ops45-muted);font-size:13px}
.ops-v45-detail-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ops-v45-detail-info>div{display:grid;gap:8px;background:var(--ops45-surface);border:1px solid var(--ops45-line);border-radius:13px;padding:15px;min-width:0}
.ops-v45-detail-info span{font-size:11px;color:var(--ops45-muted);font-weight:650}
.ops-v45-detail-info strong{font-size:14px;line-height:1.5;color:var(--ops45-ink);overflow-wrap:anywhere}
.ops-v45-detail-section{padding:20px;border:1px solid var(--ops45-line);background:var(--ops45-surface);border-radius:16px;min-width:0}
.ops-v45-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:13px}
.ops-v45-detail-heading h3{font-size:17px;line-height:1.25;letter-spacing:-.018em;color:var(--ops45-ink);margin:0 0 5px}
.ops-v45-detail-heading p{font-size:12px;line-height:1.5;color:var(--ops45-muted);margin:0}
.ops-v45-detail-section h4{margin:17px 0 8px;font-size:12px;color:var(--ops45-ink)}
.ops-v45-note{margin:0;color:var(--ops45-ink);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.ops-v45-muted{color:var(--ops45-muted);font-size:12px;line-height:1.55}
.ops-v45-item-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--ops45-line);padding:10px 0;font-size:12px}
.ops-v45-item-row>div{display:grid;gap:4px;min-width:0;flex:1}.ops-v45-item-row strong{font-size:13px;color:var(--ops45-ink)}
.ops-v45-item-row small{color:var(--ops45-muted);font-size:11px}.ops-v45-item-row>span{font-weight:750;color:var(--ops45-ink)}
.ops-v45-item-remove{border:0;background:transparent;color:#bf5962;padding:5px 6px;cursor:pointer}
.ops-v45-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ops-v45-money{background:var(--ops45-subtle);border:1px solid var(--ops45-line);padding:15px;border-radius:13px;margin-top:13px;display:grid;gap:10px}
.ops-v45-money>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ops45-muted);font-size:12px}
.ops-v45-money strong{color:var(--ops45-ink);font-size:13px}.ops-v45-money>.ops-v45-total{padding-top:11px;border-top:1px solid var(--ops45-line);color:var(--ops45-ink);font-weight:750}.ops-v45-total strong{font-size:21px;color:var(--ops45-green)}
.ops-v45-photo-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:11px}
.ops-v45-photo-form label{display:grid;gap:6px;font-size:12px;color:var(--ops45-muted);min-width:0}
.ops-v45-photo-form input{min-width:0;width:100%;padding:9px;border:1px solid var(--ops45-line);border-radius:10px;color:var(--ops45-ink);background:var(--ops45-surface);font:inherit;font-size:12px}
.ops-v45-photo-form .ops-button{min-height:40px}
.ops-v45-timeline{display:grid;gap:12px}.ops-v45-timeline-row{display:flex;gap:11px;align-items:start}
.ops-v45-time-dot{width:10px;height:10px;border:2px solid var(--ops45-green);border-radius:50%;margin-top:4px;flex:0 0 auto}
.ops-v45-timeline-row>div{display:grid;gap:4px}.ops-v45-timeline-row strong{font-size:12px;color:var(--ops45-ink)}.ops-v45-timeline-row small{font-size:11px;color:var(--ops45-muted)}
.ops-v45-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;background:color-mix(in srgb,var(--ops45-green) 9%,var(--ops45-surface));border:1px solid var(--ops45-line);border-radius:14px;padding:16px}
.ops-v45-detail-actions strong{font-size:13px;color:var(--ops45-ink)}.ops-v45-detail-actions p{font-size:12px;color:var(--ops45-muted);margin:4px 0 0}
.ops-v45-warning{padding:13px;background:var(--ops45-subtle);border:1px solid var(--ops45-line);border-radius:11px;font-size:12px}
:root[data-theme="dark"] .ops-v45-section,:root[data-theme="dark"] .ops-v45-detail-modal{background:var(--t-paper);color:var(--t-ink)}
:root[data-theme="dark"] .ops-v45-service-card,:root[data-theme="dark"] .ops-v45-mechanic-card,:root[data-theme="dark"] .ops-v45-block-card,:root[data-theme="dark"] .ops-v45-detail-section{border-color:var(--t-line)}
:root[data-theme="dark"] .ops-v45-status.is-on{color:#6fdfac}
@media(max-width:760px){.ops-v45-section{padding:16px}.ops-v45-section-head h2{font-size:20px}.ops-v45-detail-info{grid-template-columns:1fr}.ops-v45-photo-form{grid-template-columns:1fr}.ops-v45-detail-actions{flex-direction:column;align-items:stretch}.ops-v45-detail-actions .ops-button{flex:1}.ops-v45-block-card{grid-template-columns:1fr}.ops-os-list .ops-v45-os-card{flex-direction:column;align-items:stretch}.ops-os-list .ops-v45-card-footer{flex:1;width:100%;margin:0;padding:0 12px 13px}.ops-v45-detail-hero{padding:15px}.ops-v45-detail-section{padding:14px}}
