:root{--nav:#082844;--nav2:#031a2f;--blue:#0b6fe8;--line:#dbe5f1;--bg:#f5f8fc;--green:#22a447;--red:#ef4444;--orange:#f59e0b}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:#102033}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;height:100vh;overflow-y:auto;overflow-x:hidden;background:linear-gradient(180deg,var(--nav),var(--nav2));padding:12px 10px 18px;color:#fff;scrollbar-width:thin;scrollbar-color:#2d5f8f transparent}.brand{display:flex;gap:10px;align-items:center;margin:4px 4px 12px}.brand small{display:block;color:#9fb4c9;font-size:10px}.brand-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#0d8bf2;color:white;font-weight:900}.brand-icon.big{width:54px;height:54px;margin:auto}.sidebar a{display:flex;align-items:center;gap:9px;color:#d7e6f7;text-decoration:none;padding:8px 10px;border-radius:7px;font-size:12px;line-height:1.15}.sidebar a.active,.sidebar a:hover{background:#096bdc;color:#fff}.sidebar svg{width:16px}.main{margin-left:230px}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 24px}.topbar h1{font-size:18px;margin:0;font-weight:800}.user{display:flex;gap:14px;align-items:center;font-size:13px}.user a{text-decoration:none}.content{padding:20px}.grid-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(30,59,90,.04)}.metric{padding:16px;display:grid;grid-template-columns:42px 1fr;gap:4px 12px}.metric span{grid-row:span 2;width:42px;height:42px;border-radius:8px;background:#eaf3ff;color:#096bdc;display:grid;place-items:center}.metric small{font-weight:700;color:#66788f}.metric strong{font-size:21px}.dash-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}.panel{padding:16px}.panel h3{font-size:15px;font-weight:800}.panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.panel-title-row h3{margin:0}.page-subtitle{font-size:17px;font-weight:800;margin:0}.ranking-table td,.ranking-table th{white-space:nowrap}.rank-badge{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8eef7;color:#35475d;font-weight:900}.rank-1{background:#fff2bf;color:#8a5a00}.rank-2{background:#e8edf5;color:#46566b}.rank-3{background:#f7dfcb;color:#8b4a18}.seller-link-box{background:#eef6ff;border:1px solid #bad7ff;border-radius:8px;padding:10px}.seller-link-box small{display:block;color:#0b4fac;font-weight:800;margin-bottom:6px}.seller-link-input{font-weight:700;color:#082844;background:#fff}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}.toolbar form{max-width:420px;flex:1}.table{font-size:13px}.table th{color:#52677e;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{font-size:12px;font-weight:700}.span-2{grid-column:span 2}.editor{min-height:150px}.status{font-weight:800;font-size:12px}.status.active,.status.signed,.status.completed{color:var(--green)}.status.sent,.status.pending,.status.scheduled{color:var(--orange)}.status.cancelled,.status.inactive,.status.frustrated{color:var(--red)}.login-page{min-height:100vh;background:radial-gradient(circle at 30% 20%,#164e83,#061a30 55%,#03111f);display:grid;place-items:center}.login-shell{display:grid;grid-template-columns:1fr 360px;gap:42px;align-items:center;width:min(860px,92vw)}.login-hero{text-align:center;color:white}.login-hero h1{letter-spacing:2px;margin-top:12px}.login-card{background:#fff;border-radius:8px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.28)}.login-card.narrow{width:min(430px,92vw)}.login-card h2{font-size:18px;font-weight:800}.login-card label{font-size:12px;margin-top:10px;font-weight:700}.sign-page{background:#eef4fb;padding:24px}.sign-shell{width:min(980px,96vw);margin:auto;background:white;border:1px solid var(--line);border-radius:8px;padding:24px}.sign-shell h1{font-size:20px;text-align:center}.steps{display:flex;justify-content:center;gap:8px;margin:18px 0}.steps span{padding:7px 16px;border-radius:18px;background:#e7eef8;font-size:12px}.steps .on{background:#0b6fe8;color:#fff}.summary,.contract-box{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:14px}.contract-box{max-height:220px;overflow:auto;background:#fafcff}canvas#signaturePad{width:100%;height:220px;border:1px solid #cbd8e6;border-radius:8px;background:white;touch-action:none}.check{display:flex;gap:8px;align-items:center;margin:10px 0}.validate-page{min-height:100vh;display:grid;place-items:center;background:#f2f7fd}.validate-card{width:min(520px,92vw);background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;text-align:center}.validate-card dl{text-align:left;display:grid;grid-template-columns:150px 1fr;gap:8px}.shield{width:54px;height:54px;border-radius:50%;background:#e8f8ee;color:#15933a;display:grid;place-items:center;margin:auto;font-size:28px}.hash{word-break:break-all}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#dbe5f1}.calendar div{min-height:92px;background:#fff;padding:8px}.calendar span{display:block;background:#dbeafe;color:#0b4fac;border-radius:5px;padding:4px;margin-top:4px;font-size:11px}.mobile-tech{background:#eef4fb;padding:12px}.tech-card{max-width:520px;margin:auto;background:#fff;border-radius:8px;padding:16px}.tech-card h1{font-size:18px}.password-form{max-width:480px;display:grid;gap:10px}@media(max-width:900px){.sidebar{position:static;width:auto;display:flex;overflow:auto}.sidebar .brand{display:none}.main{margin-left:0}.grid-cards,.dash-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.login-shell{grid-template-columns:1fr}.login-hero{display:none}.topbar{padding:0 12px}.content{padding:12px}.panel-title-row{align-items:flex-start;flex-direction:column}.ranking-table td,.ranking-table th{white-space:normal}}
@media(max-width:900px){.sidebar{position:sticky!important;top:0;z-index:1030;width:100%!important;height:auto!important;min-height:0!important;display:flex!important;align-items:center!important;gap:6px;overflow-x:auto!important;overflow-y:hidden!important;padding:8px!important;background:linear-gradient(90deg,var(--nav),var(--nav2))}.sidebar .brand{display:none!important}.sidebar a{flex:0 0 auto!important;min-width:82px;min-height:44px;height:auto!important;justify-content:center;text-align:center;padding:8px 10px;white-space:normal}.sidebar svg{flex:0 0 auto}.main{margin-left:0!important}.topbar{height:auto;min-height:56px;padding:8px 12px;gap:10px}.topbar h1{font-size:16px}.user{gap:8px;flex-wrap:wrap;justify-content:flex-end}.content{padding:12px}}
@media(min-width:901px){.mobile-menu-toggle,.mobile-menu-backdrop{display:none!important}.topbar-title{display:flex;align-items:center;gap:10px}}
@media(max-width:900px){body.mobile-menu-open{overflow:hidden}.mobile-menu-toggle{width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#082844;display:grid;place-items:center}.mobile-menu-toggle svg{width:22px}.topbar-title{display:flex;align-items:center;gap:10px;min-width:0}.topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-backdrop{position:fixed;inset:0;background:rgba(2,12,23,.52);z-index:1035;opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar{position:fixed!important;inset:0 auto 0 0!important;z-index:1040!important;width:min(285px,86vw)!important;height:100vh!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px 10px 18px!important;background:linear-gradient(180deg,var(--nav),var(--nav2))!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 42px rgba(2,12,23,.28)}.sidebar .brand{display:flex!important}.sidebar a{display:flex!important;justify-content:flex-start!important;text-align:left!important;width:100%;min-width:0!important;min-height:0!important;height:auto!important;white-space:normal}.mobile-menu-open .sidebar{transform:translateX(0)}.mobile-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}}
@media(max-width:760px){.orders-panel{padding:10px;background:transparent;border:0;box-shadow:none}.orders-panel .table-responsive{overflow:visible}.orders-panel table,.orders-panel tbody,.orders-panel tr,.orders-panel td{display:block;width:100%}.orders-panel thead{display:none}.orders-panel tr{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(30,59,90,.05);padding:10px 12px;margin-bottom:12px}.orders-panel td{border:0!important;padding:7px 0!important;display:grid;grid-template-columns:94px minmax(0,1fr);gap:10px;align-items:start;font-size:13px}.orders-panel td:before{font-weight:800;color:#52677e;font-size:11px;text-transform:uppercase;letter-spacing:.02em}.orders-panel td:nth-child(1):before{content:"OS"}.orders-panel td:nth-child(2):before{content:"Cliente"}.orders-panel td:nth-child(3):before{content:"Veiculo"}.orders-panel td:nth-child(4):before{content:"Tecnico"}.orders-panel td:nth-child(5):before{content:"Servico"}.orders-panel td:nth-child(6):before{content:"Equipamento"}.orders-panel td:nth-child(7):before{content:"Data"}.orders-panel td:nth-child(8):before{content:"Status"}.orders-panel td:nth-child(9){display:flex;flex-wrap:wrap;gap:6px;padding-top:10px!important;border-top:1px solid var(--line)!important}.orders-panel td:nth-child(9):before{content:"Acoes";flex:0 0 100%}.orders-panel td:nth-child(9) .btn{flex:1 1 auto;min-height:36px}}

.friendly-error-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,#eef5ff,#f8fbff);padding:24px}.friendly-error-card{width:min(560px,94vw);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 70px rgba(8,40,68,.12);padding:34px;text-align:center}.friendly-error-icon{width:58px;height:58px;border-radius:50%;background:#fff1f2;color:#dc2626;display:grid;place-items:center;margin:0 auto 16px;font-size:30px;font-weight:900}.friendly-error-card h1{font-size:24px;font-weight:900;margin:0 0 10px}.friendly-error-card p{color:#52677e;margin:0 auto 22px;max-width:440px}

/* ===== Visual da Oficina (13/10, pedido do Igor): mesmos tokens do app Cerasi Conect (design/tokens.css, direcao A clara).
   Vale so no painel (body.cc-oficina, views/layout.php) e nas telas de login (.login-page). Assinatura, validacao,
   checklist do tecnico e formularios publicos nao tem essas classes e ficam como estavam. Regras acima nao foram mexidas. */
.cc-oficina,.login-page{
  --brand-primary:#2460A8;--brand-primary-hover:#1D4F8C;--brand-on-primary:#FFFFFF;--brand-primary-text:#1F5596;--brand-primary-soft:#E7EFF9;
  --brand-accent:#2490CC;--brand-secondary:#0C7830;--brand-strong:#302478;
  --brand-gradient:linear-gradient(120deg,#0C7830 0%,#2460A8 55%,#302478 100%);
  --font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:28px;--radius-full:999px;
  --bg:#F3F5F9;--surface:#FFFFFF;--surface-2:#F1F4F9;--surface-sunken:#E6EAF2;--border:#D5DBE7;--border-strong:#9AA4BB;
  --fg-1:#0E1328;--fg-2:#353D5A;--fg-3:#4E5672;--overlay:rgba(9,12,28,.52);
  --shadow-sm:0 1px 2px rgba(14,19,40,.10),0 1px 1px rgba(14,19,40,.05);
  --shadow-md:0 8px 20px -6px rgba(14,19,40,.18),0 2px 5px rgba(14,19,40,.07);
  --shadow-lg:0 20px 44px -12px rgba(14,19,40,.30),0 4px 10px rgba(14,19,40,.08);
  --st-idle-text:#7F4600;--st-idle-soft:#FCEFD9;--st-locked-text:#9C1C22;--st-locked-soft:#FCE5E6;
  /* nomes antigos deste arquivo apontando pros tokens: as regras antigas e as views que usam var(--line) acompanham */
  --line:var(--border);--blue:var(--brand-primary);--green:var(--brand-secondary);--red:var(--st-locked-text);--orange:var(--st-idle-text);
  /* Bootstrap 5.3 (variaveis): cor primaria, links, bordas e fonte. --bs-body-bg fica branco porque o Bootstrap usa ele
     no fundo de campo, tabela e janela; o cinza do fundo da pagina vai direto no body logo abaixo */
  --bs-body-font-family:var(--font-sans);--bs-body-color:var(--fg-1);--bs-body-bg:var(--surface);--bs-emphasis-color:var(--fg-1);
  --bs-secondary-color:var(--fg-3);--bs-heading-color:var(--fg-1);
  --bs-primary:#2460A8;--bs-primary-rgb:36,96,168;--bs-primary-text-emphasis:#1F5596;--bs-primary-bg-subtle:#E7EFF9;--bs-primary-border-subtle:#B9CDE8;
  --bs-link-color:#1F5596;--bs-link-color-rgb:31,85,150;--bs-link-hover-color:#1D4F8C;--bs-link-hover-color-rgb:29,79,140;
  --bs-border-color:var(--border);--bs-border-radius:10px;--bs-border-radius-sm:8px;--bs-border-radius-lg:14px;--bs-border-radius-xl:18px;
  --bs-focus-ring-color:rgba(36,96,168,.25)
}
body.cc-oficina{background:var(--bg);color:var(--fg-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
.cc-oficina :focus-visible{outline:3px solid var(--brand-accent);outline-offset:2px}

/* Menu lateral claro, como a barra do app */
.cc-oficina .sidebar{width:248px;background:var(--surface);border-right:1px solid var(--border);color:var(--fg-1);padding:16px 12px 24px;scrollbar-color:var(--border-strong) transparent}
.cc-oficina .main{margin-left:248px}
.cc-oficina .brand{gap:12px;margin:0 4px 12px;padding:4px 4px 16px;border-bottom:1px solid var(--border)}
.cc-oficina .brand b{display:block;font-size:15px;line-height:20px;font-weight:800;color:var(--brand-strong)}
.cc-oficina .brand small{color:var(--fg-3);font-size:14px;line-height:18px;font-weight:600;margin-top:2px}
.cc-oficina .brand-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-primary);color:var(--brand-on-primary);flex:none}
.cc-oficina .sidebar a{gap:12px;min-height:44px;padding:10px 12px;margin:1px 0;border-radius:var(--radius-md);color:var(--fg-2);font-size:14px;line-height:20px;font-weight:600;transition:background 140ms,color 140ms}
.cc-oficina .sidebar a:hover{background:var(--surface-2);color:var(--fg-1)}
.cc-oficina .sidebar a.active{background:var(--brand-primary-soft);color:var(--brand-strong);font-weight:800}
.cc-oficina .sidebar a.active svg{color:var(--brand-primary-text)}
.cc-oficina .sidebar svg{width:18px;height:18px;flex:none}
/* grupos do menu (details/summary: abre e fecha sem script; o script do layout so lembra os abertos) */
.nav-grupo{margin:2px 0}
.nav-grupo+.nav-grupo{border-top:1px solid var(--surface-sunken);padding-top:2px}
.nav-grupo>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;user-select:none;color:var(--fg-2);font-size:14px;line-height:20px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.nav-grupo>summary::-webkit-details-marker{display:none}
.nav-grupo>summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--fg-3);border-bottom:2px solid var(--fg-3);transform:rotate(-45deg);transition:transform 160ms}
.nav-grupo[open]>summary::after{transform:rotate(45deg)}
.nav-grupo>summary:hover{background:var(--surface-2);color:var(--fg-1)}
.nav-grupo:has(a.active)>summary{color:var(--brand-strong)}

/* Topo e conteudo */
.cc-oficina .topbar{height:72px;background:var(--surface);border-bottom:1px solid var(--border);padding:0 28px;gap:16px}
.cc-oficina .topbar h1{font-size:22px;line-height:28px;font-weight:800;letter-spacing:-.01em;color:var(--fg-1)}
.cc-oficina .user{gap:10px;font-size:14px;font-weight:600;color:var(--fg-2)}
.cc-oficina .user>svg{width:20px;height:20px;color:var(--fg-2)}
.cc-oficina .user>a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--brand-primary-text);font-weight:700;background:var(--surface)}
.cc-oficina .user>a:hover{background:var(--brand-primary-soft)}
.cc-oficina .content{padding:20px 20px 40px}
.cc-oficina .content h2,.cc-oficina .content h3,.cc-oficina .content h4,.cc-oficina .content h5{color:var(--fg-1)}

/* Cartoes (painel e indicadores) como o cartao plano do app */
.cc-oficina .metric,.cc-oficina .panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.cc-oficina .panel{padding:16px}
/* item de grade pode encolher: tabela larga rola dentro do proprio cartao em vez de alargar a pagina */
.cc-oficina .grid-cards>*,.cc-oficina .dash-grid>*{min-width:0}
.cc-oficina .panel h3,.cc-oficina .page-subtitle{font-size:17px;line-height:24px;font-weight:800;color:var(--fg-1)}
.cc-oficina .metric{padding:18px;grid-template-columns:44px 1fr;gap:2px 14px}
.cc-oficina .metric span{width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand-primary-soft);color:var(--brand-primary-text)}
.cc-oficina .metric small{font-size:14px;font-weight:700;color:var(--fg-2)}
.cc-oficina .metric strong{font-size:24px;line-height:30px;font-weight:800;letter-spacing:-.01em;color:var(--brand-strong)}
.cc-oficina .toolbar{gap:12px;margin-bottom:16px}
.cc-oficina .seller-link-box{background:var(--brand-primary-soft);border-color:var(--border);border-radius:var(--radius-md)}
.cc-oficina .seller-link-box small{color:var(--brand-primary-text)}
.cc-oficina .calendar{border-radius:var(--radius-md);overflow:hidden}
.cc-oficina .calendar span{background:var(--brand-primary-soft);color:var(--brand-primary-text);border-radius:6px}

/* Tabelas: mesmo tamanho de antes (13 px, nao alarga as listas grandes) e cabecalho em tom secundario */
.cc-oficina .table{--bs-table-bg:var(--surface);--bs-table-color:var(--fg-1);--bs-table-border-color:var(--border);--bs-table-striped-bg:var(--surface-2);--bs-table-hover-bg:var(--surface-2)}
.cc-oficina .table th{color:var(--fg-2);font-size:13px;font-weight:700}
.cc-oficina .table>thead th{border-bottom-color:var(--border-strong)}
/* cadastros (crud): a coluna Acoes fica presa a direita, visivel mesmo quando a tabela rola de lado */
.cc-oficina .crud-table>thead>tr>th:last-child,.cc-oficina .crud-table>tbody>tr>td.actions{position:sticky;right:0;z-index:1;border-left:1px solid var(--border)}
.cc-oficina .crud-table>tbody>tr>td.actions{white-space:nowrap}
/* botoes de icone da lista (ver, editar, precos, WhatsApp, excluir): antes saiam como botao cru do navegador */
.cc-oficina .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:1px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--brand-primary-text);vertical-align:middle;text-decoration:none;cursor:pointer;transition:background 140ms,border-color 140ms}
.cc-oficina .btn-icon:hover{background:var(--brand-primary-soft);border-color:var(--brand-primary)}
.cc-oficina .btn-icon.danger{color:var(--st-locked-text)}
.cc-oficina .btn-icon.danger:hover{background:var(--st-locked-soft);border-color:var(--st-locked-text)}
.cc-oficina .btn-icon svg{width:18px;height:18px}

/* Botoes e campos do Bootstrap com a cor e o raio do app (tamanhos do Bootstrap mantidos) */
.cc-oficina .btn{--bs-btn-font-weight:700;--bs-btn-border-radius:var(--radius-md)}
.cc-oficina .btn-sm,.cc-oficina .btn-group-sm>.btn{--bs-btn-border-radius:10px}
.cc-oficina .btn-primary,.login-page .btn-primary{--bs-btn-bg:var(--brand-primary);--bs-btn-border-color:var(--brand-primary);--bs-btn-hover-bg:var(--brand-primary-hover);--bs-btn-hover-border-color:var(--brand-primary-hover);--bs-btn-active-bg:var(--brand-primary-hover);--bs-btn-active-border-color:var(--brand-primary-hover);--bs-btn-disabled-bg:var(--brand-primary);--bs-btn-disabled-border-color:var(--brand-primary);--bs-btn-focus-shadow-rgb:36,96,168}
.cc-oficina .btn-outline-primary{--bs-btn-color:var(--brand-primary-text);--bs-btn-border-color:var(--brand-primary);--bs-btn-hover-color:var(--brand-on-primary);--bs-btn-hover-bg:var(--brand-primary);--bs-btn-hover-border-color:var(--brand-primary);--bs-btn-active-color:var(--brand-on-primary);--bs-btn-active-bg:var(--brand-primary-hover);--bs-btn-active-border-color:var(--brand-primary-hover);--bs-btn-disabled-color:var(--brand-primary-text);--bs-btn-disabled-border-color:var(--brand-primary);--bs-btn-focus-shadow-rgb:36,96,168}
.cc-oficina .form-control,.cc-oficina .form-select{border-color:var(--border-strong);color:var(--fg-1)}
.cc-oficina .form-control:focus,.cc-oficina .form-select:focus,.login-page .form-control:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}
.cc-oficina .form-check-input:checked{background-color:var(--brand-primary);border-color:var(--brand-primary)}
.cc-oficina .form-check-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}
.cc-oficina .form-label,.cc-oficina .form-grid label{color:var(--fg-2)}
.cc-oficina .nav-pills{--bs-nav-pills-link-active-bg:var(--brand-primary);--bs-nav-pills-border-radius:var(--radius-md)}
.cc-oficina .nav-tabs{--bs-nav-tabs-link-active-color:var(--brand-strong)}
.cc-oficina .pagination{--bs-pagination-active-bg:var(--brand-primary);--bs-pagination-active-border-color:var(--brand-primary);--bs-pagination-color:var(--brand-primary-text);--bs-pagination-hover-color:var(--brand-primary-hover);--bs-pagination-focus-color:var(--brand-primary-hover)}
.cc-oficina .dropdown-menu{--bs-dropdown-link-active-bg:var(--brand-primary);--bs-dropdown-border-radius:var(--radius-md)}
.cc-oficina .progress,.cc-oficina .progress-stacked{--bs-progress-bar-bg:var(--brand-primary)}
.cc-oficina .modal{--bs-modal-border-radius:18px;--bs-modal-inner-border-radius:17px;--bs-modal-header-border-color:var(--border);--bs-modal-footer-border-color:var(--border)}
.cc-oficina .modal-title{font-weight:800;color:var(--fg-1)}

/* Login, esqueci e redefinir senha: fundo com o gradiente da marca e cartao branco, como a entrada do app */
.login-page{background:var(--brand-gradient);font-family:var(--font-sans);color:var(--fg-1);-webkit-font-smoothing:antialiased;padding:24px 16px}
.login-page .login-shell{grid-template-columns:1fr 400px}
.login-page .login-card{border-radius:24px;padding:32px 28px;box-shadow:var(--shadow-lg)}
.login-page .login-card h2{font-size:26px;line-height:32px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;color:var(--fg-1)}
.login-page .login-card label{display:block;margin:14px 0 6px;font-size:14px;line-height:20px;font-weight:700;color:var(--fg-2)}
.login-page .form-control{height:52px;border:1.5px solid var(--border-strong);border-radius:14px;font-weight:600;color:var(--fg-1)}
.login-page .btn-primary{min-height:52px;border-radius:14px;font-weight:800}
.login-page .login-card a{color:var(--brand-primary-text);font-weight:700;text-decoration:none}
.login-page .login-hero h1{font-weight:800;letter-spacing:.06em;color:#FFFFFF}
.login-page .login-hero p,.login-page .login-hero small{color:rgba(255,255,255,.88);font-weight:600}
.login-page .brand-icon.big{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);font-size:26px}

/* Celular (900 px ou menos): o menu continua sendo a gaveta que abre pelo botao; so troca as cores */
@media(max-width:900px){
  .cc-oficina .sidebar{background:var(--surface)!important;border-right:1px solid var(--border);width:min(300px,86vw)!important;padding:16px 12px 24px!important;box-shadow:var(--shadow-lg)}
  .cc-oficina .sidebar a{padding:10px 12px;min-height:44px!important}
  .cc-oficina .topbar{height:auto;min-height:60px;padding:8px 12px;gap:8px}
  .cc-oficina .topbar h1{font-size:18px;line-height:24px}
  .cc-oficina .mobile-menu-toggle{width:44px;height:44px;border-color:var(--border-strong);border-radius:var(--radius-md);color:var(--fg-1);flex:none}
  .cc-oficina .user{gap:6px}
  .cc-oficina .user>a{min-height:44px;padding:0 12px}
  .cc-oficina .content{padding:16px 12px 32px}
  .cc-oficina .mobile-menu-backdrop{background:var(--overlay)}
  .login-page .login-shell{grid-template-columns:1fr}
}
/* lista de OS no celular: as linhas ja viram cartoes (regra de 760 px acima), o painel volta a ser transparente como antes */
@media(max-width:760px){.cc-oficina .orders-panel{padding:10px;background:transparent;border:0;box-shadow:none}}
/* celular: topo em duas linhas (titulo inteiro em cima; nome, Senha e Sair embaixo). O sino e so enfeite e sai no estreito */
@media(max-width:600px){
  .cc-oficina .topbar{flex-wrap:wrap;row-gap:6px}
  .cc-oficina .topbar-title{flex:1 1 100%}
  .cc-oficina .user{flex:1 1 100%;flex-wrap:nowrap;justify-content:flex-end}
  .cc-oficina .user>span{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cc-oficina .user>a{min-height:40px}
}
@media(max-width:480px){.cc-oficina .user>svg{display:none}}
