/* Axis Design System: base compartilhada do painel e da página do cliente */
@font-face{font-family:"Clash Display";src:url("/assets/fonts/ClashDisplay-Variable.woff2") format("woff2");font-weight:200 700;font-display:swap}
@font-face{font-family:"General Sans";src:url("/assets/fonts/GeneralSans-Variable.woff2") format("woff2");font-weight:200 700;font-display:swap}
:root{
  --surface-base:#0B0C0D;--surface-raised:#111315;--surface-monolith:#1E2125;--line:#262A2D;
  --ink:#ECEEED;--ink-muted:#B8BFBB;--ink-subtle:#8F9792;
  --verde:#00C46A;--verde-sel:#0E2219;--on-verde:#0B0C0D;
  --alerta:#E5B454;--alerta-fundo:#231C0E;--perigo:#E46A5E;
  --display:"Clash Display","General Sans",sans-serif;--sans:"General Sans",system-ui,sans-serif;
  --radius-md:10px;--radius-lg:14px;--radius-pill:999px;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--surface-base);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:24px;min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--ink)}
h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance}
.kicker{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-subtle)}
.muted{color:var(--ink-muted)}
.subtle{color:var(--ink-subtle)}
[hidden]{display:none !important}

/* campos */
label.f{display:block;font-size:14px;line-height:20px;font-weight:600;margin-bottom:6px}
input[type=text],input[type=email],input[type=password],input[type=tel],textarea,select{
  width:100%;background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:12px 14px;font:inherit;font-size:16px;outline:none;transition:border-color .15s;
}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-subtle) 50%),linear-gradient(135deg,var(--ink-subtle) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
textarea{min-height:96px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--verde)}
::placeholder{color:var(--ink-subtle);opacity:.7}
.campo{margin-bottom:16px}

/* botões */
button,.btn{
  font:inherit;font-weight:600;font-size:15px;border-radius:var(--radius-pill);min-height:44px;padding:0 20px;cursor:pointer;
  border:1px solid var(--line);background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap;
}
button:hover,.btn:hover{border-color:var(--ink-subtle)}
button.primary,.btn.primary{background:var(--verde);border-color:var(--verde);color:var(--on-verde)}
button.primary:hover,.btn.primary:hover{filter:brightness(1.08)}
button.perigo{color:var(--perigo);border-color:#4a2622}
button:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--verde);outline-offset:2px}
button:disabled{opacity:.5;cursor:default}
button.sm,.btn.sm{min-height:36px;padding:0 14px;font-size:14px}

/* topo do painel */
.topo{position:sticky;top:0;z-index:20;background:rgba(11,12,13,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.topo img{display:block;height:24px;width:auto}
.topo nav{display:flex;gap:4px;align-items:center}
.topo nav a,.topo nav button{font-size:14px;color:var(--ink-muted);text-decoration:none;border:0;min-height:36px;padding:0 12px;border-radius:var(--radius-pill);background:none;font-weight:500}
.topo nav a[aria-current]{color:var(--ink);background:var(--surface-monolith)}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}

/* status */
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:16px;font-weight:600;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--ink-muted);white-space:nowrap}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status.em_andamento{color:var(--alerta);border-color:#4a3c1c}
.status.concluido{color:var(--verde);border-color:#124a31}
.status.bloqueado{color:var(--perigo);border-color:#4a2622}
.status.nao_aberto{color:var(--ink-subtle)}

/* progresso */
.prog{height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.prog i{display:block;height:100%;background:var(--verde);transform-origin:left;transform:scaleX(0)}

/* modal */
dialog{background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);margin:auto}
dialog::backdrop{background:rgba(0,0,0,.6)}
dialog .corpo{padding:24px}
dialog h2{font-size:22px;line-height:1.2;margin-bottom:16px}
dialog .acoes{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}

/* aviso */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--surface-monolith);border:1px solid var(--line);color:var(--ink);padding:10px 18px;border-radius:var(--radius-pill);font-size:14px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}
.toast.on{opacity:1}
.erro{color:var(--perigo);font-size:14px;line-height:20px;margin-top:8px}
