/* FlowZ · Painel (2026-10). Padrão startup: superfícies sólidas, um destaque roxo,
   sem glow/gradiente, ícones de linha, movimento sóbrio e fluido. */
:root{
  --bg:#0B0A12;
  --surface:#14121C;
  --surface-2:#1A1724;
  --surface-3:#221E2E;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.12);
  --accent:#7C3AED;
  --accent-hover:#6D28D9;
  --accent-ink:#A78BFA;
  --accent-soft:rgba(124,58,237,.14);
  --text:#fff;
  --text-2:rgba(255,255,255,.62);
  --text-3:rgba(255,255,255,.42);
  --ok:#34D399; --ok-soft:rgba(52,211,153,.12);
  --warn:#F59E0B; --warn-soft:rgba(245,158,11,.12);
  --danger:#F87171; --danger-soft:rgba(248,113,113,.12);
  --info:#7DD3FC; --info-soft:rgba(125,211,252,.12);
  --cond:'Barlow Condensed',system-ui,sans-serif;
  --sans:'Outfit',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --r-ctl:12px; --r-card:18px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --side:248px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── Gate (carregando / sem acesso) ── */
.p-gate{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}
.p-gate-card{width:100%;max-width:380px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:32px 24px}
.p-gate-card h1{font-family:var(--cond);font-weight:800;font-size:30px;letter-spacing:.3px;text-transform:uppercase;margin:14px 0 6px}
.p-gate-card p{color:var(--text-2);margin:0 0 20px}
.p-spin{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--accent-ink);animation:p-rot .8s linear infinite;margin:0 auto}
@keyframes p-rot{to{transform:rotate(360deg)}}

/* ── Estrutura ── */
.p-app{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh;min-height:100dvh}
.p-side{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;border-right:1px solid var(--line);background:rgba(11,10,18,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:18px 12px}
.p-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px}
.p-brand img{width:30px;height:30px;border-radius:9px}
.p-brand b{font-family:var(--cond);font-weight:800;font-size:20px;letter-spacing:.4px;text-transform:uppercase}
.p-brand small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3);margin-top:-2px}
.p-nav{flex:1;overflow:auto;display:flex;flex-direction:column;gap:2px;padding-bottom:12px;scrollbar-width:none}
.p-nav-group{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);padding:16px 12px 6px}
.p-nav a{position:relative;display:flex;align-items:center;gap:11px;min-height:40px;padding:0 12px;border-radius:var(--r-ctl);text-decoration:none;color:var(--text-2);font-weight:500;transition:background .18s var(--ease),color .18s var(--ease)}
.p-nav a svg{flex-shrink:0;opacity:.85}
.p-nav a span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-nav a:hover{background:rgba(255,255,255,.04);color:var(--text)}
.p-nav{position:relative;margin:0 -12px;padding-left:12px;padding-right:12px}
.p-nav a{z-index:1}
.p-nav a[aria-current="page"]{color:var(--text);background:transparent}
.p-nav a[aria-current="page"] svg{color:#d8b4fe;opacity:1}
/* Destaque do item ativo: desliza até o item novo, em roxo sólido e sem brilho (padrão startup) */
.p-nav-ind{position:absolute;left:12px;right:12px;top:0;height:40px;border-radius:var(--r-ctl);pointer-events:none;opacity:0;
  background:var(--accent);border:1px solid transparent;
  transition:transform .45s var(--ease-out),height .45s var(--ease-out),opacity .25s var(--ease)}
.p-nav-ind.on{opacity:1}
.p-nav-ind.instant{transition:none}
.p-nav-ind::before{content:"";position:absolute;left:-13px;z-index:2;top:50%;width:3px;height:24px;margin-top:-12px;border-radius:0 3px 3px 0;background:var(--accent-ink)}
.p-nav-ind.flash::before{animation:p-nav-bar .9s var(--ease-out)}
@keyframes p-nav-bar{0%{transform:scaleY(.3)}40%{transform:scaleY(1.15)}100%{transform:none}}
.p-nav-count{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.p-side-foot{border-top:1px solid var(--line);padding:12px 4px 0;display:flex;align-items:center;gap:10px}
.p-side-foot .p-avatar{width:32px;height:32px}
.p-side-foot div{flex:1;min-width:0}
.p-side-foot b{display:block;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-side-foot small{display:block;font-size:11px;color:var(--text-3)}

.p-main{min-width:0;display:flex;flex-direction:column}
.p-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;min-height:64px;padding:0 28px;background:rgba(11,10,18,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.p-top .p-top-menu{display:none}
.p-crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-3)}
.p-crumbs b{color:var(--text-2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-kbd-search{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px 0 12px;min-width:260px;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface);color:var(--text-3);cursor:pointer;transition:border-color .18s var(--ease)}
.p-kbd-search:hover{border-color:var(--line-2)}
.p-kbd-search span{flex:1;text-align:left}
kbd{font-family:var(--mono);font-size:10.5px;padding:2px 6px;border-radius:6px;border:1px solid var(--line-2);color:var(--text-2);background:var(--surface-2)}

.p-view{flex:1;width:100%;max-width:2200px;margin:0 auto;padding:28px clamp(20px,2.2vw,44px) 64px}
.p-view.is-enter{animation:p-enter .42s var(--ease-out) both}
@keyframes p-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ── Cabeçalho de página ── */
.p-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.p-head-copy{min-width:0}
.p-eyebrow{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-3)}
.p-title{font-family:var(--cond);font-weight:800;font-size:40px;line-height:1;letter-spacing:.2px;text-transform:uppercase;margin:6px 0 0}
.p-sub{color:var(--text-2);margin:8px 0 0;max-width:640px}
.p-head-actions{display:flex;gap:8px;flex-wrap:wrap}

/* ── Botões ── */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--r-ctl);border:1px solid var(--line-2);background:transparent;color:var(--text);font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .18s var(--ease),border-color .18s var(--ease),transform .12s var(--ease),opacity .18s}
.p-btn:hover{background:rgba(255,255,255,.05)}
.p-btn:active{transform:scale(.98)}
.p-btn[disabled]{opacity:.45;cursor:not-allowed}
.p-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.p-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.p-btn.ghost{border-color:transparent;color:var(--text-2)}
.p-btn.ghost:hover{color:var(--text);background:rgba(255,255,255,.05)}
.p-btn.danger{border-color:rgba(248,113,113,.35);color:var(--danger)}
.p-btn.danger:hover{background:var(--danger-soft)}
.p-btn.sm{min-height:32px;padding:0 12px;font-size:12.5px;border-radius:10px}
.p-btn.icon{width:40px;padding:0}
.p-btn.icon.sm{width:32px}
.p-btn .p-spin{width:14px;height:14px;margin:0}

/* ── Campos ── */
.p-field{display:flex;flex-direction:column;gap:6px}
.p-field > span{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--text-3)}
.p-input,.p-select,.p-textarea{width:100%;min-height:40px;padding:9px 12px;border-radius:var(--r-ctl);border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);font-size:14px;transition:border-color .18s var(--ease),background .18s var(--ease)}
.p-textarea{min-height:88px;resize:vertical}
.p-input::placeholder,.p-textarea::placeholder{color:var(--text-3)}
.p-input:focus,.p-select:focus,.p-textarea:focus{outline:none;border-color:var(--accent-ink);background:var(--surface-3)}
.p-search{position:relative;display:flex;align-items:center}
.p-search svg{position:absolute;left:12px;color:var(--text-3);pointer-events:none}
.p-search .p-input{padding-left:38px}
.p-form{display:grid;gap:14px}
.p-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}

/* ── Segmentado / chips ── */
.p-seg{display:inline-flex;gap:2px;padding:3px;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.02);max-width:100%;overflow-x:auto;scrollbar-width:none}
.p-seg button{min-height:32px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:var(--text-2);font-weight:600;font-size:12.5px;cursor:pointer;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease)}
.p-seg button:hover{color:var(--text)}
.p-seg button[aria-pressed="true"]{background:#fff;color:#111}
.p-seg button i{font-style:normal;font-family:var(--mono);font-size:10.5px;opacity:.6;margin-left:6px}

/* ── Cards e grade ── */
.p-grid{display:grid;gap:16px}
.p-grid.k4{grid-template-columns:repeat(4,minmax(0,1fr))}
.p-grid.k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.p-grid.k2{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-grid.split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.p-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;min-width:0}
.p-card.flush{padding:0;overflow:hidden}
.p-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.p-card.flush .p-card-head{padding:18px 20px 0;margin-bottom:12px}
.p-card-title{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);margin:0}
.p-card-title b{color:var(--text);font-weight:600}
.p-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.p-toolbar .p-search{flex:1;min-width:220px;max-width:420px}
.p-toolbar .grow{flex:1}

/* KPI */
.p-kpi{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:18px 20px;min-width:0;transition:border-color .2s var(--ease),transform .2s var(--ease)}
a.p-kpi,button.p-kpi{text-decoration:none;text-align:left;cursor:pointer;width:100%}
a.p-kpi:hover,button.p-kpi:hover{border-color:var(--line-2);transform:translateY(-1px)}
.p-kpi-label{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:8px}
/* Número grande encolhe pra caber no cartão (valor com centavos, ex.: R$ 12.345,60), sem cortar */
.p-kpi{container-type:inline-size}
.p-kpi-value{font-family:var(--cond);font-weight:800;font-size:clamp(22px,16cqi,44px);line-height:1;margin-top:12px;font-variant-numeric:tabular-nums;letter-spacing:.2px;overflow-wrap:anywhere}
.p-kpi-value small{font-size:20px;font-weight:700;color:var(--text-2);margin-left:4px}
.p-kpi-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--text-2);min-height:18px}
.p-delta{font-family:var(--mono);font-size:11px;font-weight:700;padding:2px 6px;border-radius:6px}
.p-delta.up{color:var(--ok);background:var(--ok-soft)}
.p-delta.down{color:var(--danger);background:var(--danger-soft)}
.p-delta.flat{color:var(--text-2);background:rgba(255,255,255,.06)}

/* Badge */
.p-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:7px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;background:rgba(255,255,255,.06);color:var(--text-2)}
.p-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}
.p-badge.plain::before{display:none}
.p-badge.ok{background:var(--ok-soft);color:var(--ok)}
.p-badge.warn{background:var(--warn-soft);color:var(--warn)}
.p-badge.danger{background:var(--danger-soft);color:var(--danger)}
.p-badge.info{background:var(--info-soft);color:var(--info)}
.p-badge.accent{background:var(--accent-soft);color:var(--accent-ink)}

/* Avatar */
.p-avatar{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);border:1px solid var(--line);font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.4px;color:var(--text-2)}
.p-who{display:flex;align-items:center;gap:11px;min-width:0}
.p-who div{min-width:0}
.p-who b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-who small{display:block;color:var(--text-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Tabela */
.p-table-wrap{overflow-x:auto}
.p-table{width:100%;border-collapse:collapse;font-size:13.5px}
.p-table th{position:sticky;top:0;text-align:left;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--text-3);padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface);white-space:nowrap}
.p-table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle;max-width:340px}
.p-table tr:last-child td{border-bottom:0}
.p-table td.num,.p-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.p-table td.mono{font-family:var(--mono);font-size:12px;color:var(--text-2)}
.p-table td.muted{color:var(--text-2)}
.p-table tbody tr{transition:background .15s var(--ease)}
.p-table tbody tr.click{cursor:pointer}
.p-table tbody tr.click:hover{background:rgba(255,255,255,.03)}
.p-table tbody tr.click:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}
.p-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);color:var(--text-3);font-size:12.5px}
.p-pager div{display:flex;gap:6px}

/* Lista simples */
.p-list{display:flex;flex-direction:column}
.p-list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}
.p-list-item:last-child{border-bottom:0}
.p-list-item > .grow{flex:1;min-width:0}
.p-list-item b{font-weight:600}
.p-list-item small{display:block;color:var(--text-3);font-size:12px}

/* Definição (ficha) */
.p-dl{display:grid;grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:10px 16px;margin:0}
.p-dl dt{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);padding-top:3px}
.p-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}

/* Barras (gráfico simples, sem lib) */
.p-bars{display:flex;align-items:flex-end;gap:6px;height:160px;padding-top:8px}
.p-bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.p-bar i{display:block;width:100%;max-width:34px;border-radius:6px 6px 3px 3px;background:var(--accent);transform-origin:bottom;animation:p-grow .7s var(--ease-out) both}
.p-bar i.muted{background:var(--surface-3)}
.p-bar span{font-family:var(--mono);font-size:9.5px;color:var(--text-3);white-space:nowrap}
.p-bar b{font-family:var(--cond);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
@keyframes p-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.p-meter{height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}
.p-meter i{display:block;height:100%;border-radius:4px;background:var(--accent);transform-origin:left;animation:p-grow-x .7s var(--ease-out) both}
@keyframes p-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Estados */
/* Skeleton: faixa de brilho passando (estilo Netflix) enquanto os dados carregam */
.p-skel{position:relative;overflow:hidden;border-radius:10px;background:rgba(255,255,255,.055)}
.p-skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.07) 40%,rgba(196,163,247,.10) 50%,rgba(255,255,255,.07) 60%,transparent 100%);
  animation:p-shimmer 1.35s cubic-bezier(.4,0,.2,1) infinite}
@keyframes p-shimmer{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.p-skel::after{display:none}.p-skel{animation:p-pulse 1.6s var(--ease) infinite}}
@keyframes p-pulse{0%,100%{opacity:.55}50%{opacity:1}}
.p-empty{text-align:center;padding:48px 20px;color:var(--text-2)}
.p-empty svg{color:var(--text-3);margin-bottom:12px}
.p-empty b{display:block;color:var(--text);font-size:15px;margin-bottom:4px}
.p-error{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-ctl);border:1px solid rgba(248,113,113,.3);background:var(--danger-soft);color:var(--text)}
.p-error > div{flex:1;min-width:0}
.p-error small{display:block;color:var(--text-2)}

/* Stagger de entrada */
.p-stagger > *{animation:p-enter .5s var(--ease-out) both}
.p-stagger > *:nth-child(2){animation-delay:.04s}.p-stagger > *:nth-child(3){animation-delay:.08s}.p-stagger > *:nth-child(4){animation-delay:.12s}.p-stagger > *:nth-child(5){animation-delay:.16s}.p-stagger > *:nth-child(6){animation-delay:.2s}.p-stagger > *:nth-child(n+7){animation-delay:.24s}

/* ── Gaveta (detalhe) ── */
.p-scrim{position:fixed;inset:0;z-index:60;background:rgba(5,4,10,.6);opacity:0;transition:opacity .32s var(--ease)}
.p-scrim.open{opacity:1}
.p-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(560px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line-2);transform:translateX(104%);transition:transform .42s var(--ease-out)}
.p-drawer.open{transform:none}
.p-drawer-head{display:flex;align-items:flex-start;gap:12px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.p-drawer-head > div{flex:1;min-width:0}
.p-drawer-head h2{font-family:var(--cond);font-weight:800;font-size:28px;line-height:1.05;text-transform:uppercase;margin:4px 0 0;overflow-wrap:anywhere}
.p-drawer-head p{margin:6px 0 0;color:var(--text-2);font-size:13px}
.p-drawer-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:20px 22px 28px;display:flex;flex-direction:column;gap:18px}
.p-drawer-foot{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--line)}
.p-section-title{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);margin:0 0 10px}

/* ── Modal ── */
.p-modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px}
.p-modal-card{z-index:61;width:100%;max-width:440px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:20px;padding:22px;opacity:0;transform:translateY(10px) scale(.98);transition:opacity .28s var(--ease),transform .36s var(--ease-out)}
.p-modal.open .p-modal-card{opacity:1;transform:none}
.p-modal-card h3{font-family:var(--cond);font-weight:800;font-size:24px;text-transform:uppercase;margin:0 0 6px}
.p-modal-card p{color:var(--text-2);margin:0 0 18px}
.p-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}

/* ── Paleta de comandos ── */
.p-cmd{position:fixed;inset:0;z-index:80;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px}
.p-cmd-card{z-index:61;width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s var(--ease),transform .3s var(--ease-out)}
.p-cmd.open .p-cmd-card{opacity:1;transform:none}
.p-cmd-input{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--text-3)}
.p-cmd-input input{flex:1;height:54px;border:0;background:transparent;font-size:15px;color:var(--text)}
.p-cmd-input input:focus{outline:none}
.p-cmd-list{max-height:min(420px,60vh);max-height:min(420px,60dvh);overflow:auto;padding:6px}
.p-cmd-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:var(--text-2);text-align:left;cursor:pointer}
.p-cmd-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-cmd-item small{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-3)}
.p-cmd-item[aria-selected="true"]{background:var(--surface-3);color:var(--text)}
.p-cmd-empty{padding:20px;text-align:center;color:var(--text-3)}

/* ── Toast ── */
.p-toasts{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.p-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:380px;padding:12px 14px;border-radius:14px;background:var(--surface-3);border:1px solid var(--line-2);font-size:13.5px;opacity:0;transform:translateY(8px);transition:opacity .25s var(--ease),transform .35s var(--ease-out)}
.p-toast.show{opacity:1;transform:none}
.p-toast.ok svg{color:var(--ok)}.p-toast.danger svg{color:var(--danger)}.p-toast.warn svg{color:var(--warn)}

/* ── Responsivo ── */
@media (max-width:1100px){
  .p-grid.k4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-grid.split{grid-template-columns:minmax(0,1fr)}
}
/* Confirmação forte (apagar) */
.p-danger{display:grid;gap:12px}
.p-danger-warn{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:12px;background:var(--danger-soft);color:var(--danger);font-weight:600;font-size:13px}
/* Seções que abrem e fecham (ui.fold, ficha do produtor): padrão startup, separador fino, sem fundo */
.p-fold{min-width:0;max-width:100%;border-top:1px solid var(--line)}
.p-fold:first-child{border-top:0}
.p-fold-head{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 0;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.p-fold-t{flex:0 1 auto;min-width:0;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);transition:color .15s var(--ease)}
.p-fold-r{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text-2)}
.p-fold-r[hidden]{display:none}
.p-fold-head > svg{flex-shrink:0;margin-left:auto;color:var(--text-3);transition:transform .2s var(--ease),color .15s var(--ease)}
.p-fold-head[aria-expanded="true"] > svg{transform:rotate(180deg)}
.p-fold-head:hover .p-fold-t,.p-fold-head:hover > svg{color:var(--text-2)}
.p-fold-head:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}
.p-fold-body{min-width:0;padding:2px 0 18px}
.p-fold-body[hidden]{display:none}
.p-fold.danger .p-fold-t{color:var(--danger)}
@media (prefers-reduced-motion:reduce){.p-fold-head > svg{transition:none}}
/* Apagar pagamento (ui.deletePayment) */
.p-del-days{display:grid;gap:6px}
.p-check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;color:var(--text);font-size:14px}
.p-check input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}
.p-del-hint{padding-left:28px;font-size:12px;color:var(--text-3)}
.p-del-aviso{display:block;color:var(--danger);font-size:12.5px;font-weight:600}
.p-del-aviso[hidden]{display:none}
/* Comprovantes anexados */
.p-att{display:flex;flex-direction:column;gap:10px}
.p-att-list{display:flex;flex-direction:column;gap:6px}
.p-att-row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2)}
.p-att-row > svg{flex-shrink:0;color:var(--accent-ink)}
.p-att-row > div{flex:1;min-width:0}
.p-att-row b{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-att-row small{display:block;font-size:11.5px;color:var(--text-3)}
.p-att-empty{margin:0;color:var(--text-3);font-size:13px}
.p-att-add{align-self:flex-start;cursor:pointer}
.p-att-add:focus-within{outline:2px solid var(--accent-ink);outline-offset:2px}
.p-att-hint{color:var(--text-3);font-size:11.5px}
/* Sincronizar */
.p-sync-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}
.p-sync-time{font-family:var(--mono);font-size:10.5px;letter-spacing:.4px;color:var(--text-3);white-space:nowrap}
.p-sync svg{transition:transform .3s var(--ease)}
.p-sync.is-syncing svg{animation:p-rot .8s linear infinite}
/* Ordenação nas tabelas */
.p-th-sort{display:inline-flex;align-items:center;gap:5px;margin:-6px -8px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}
.p-th-sort svg{opacity:0;transition:opacity .15s var(--ease)}
.p-th-sort:hover{color:var(--text);background:rgba(255,255,255,.04)}
.p-th-sort:hover svg{opacity:.6}
.p-th-sort.on{color:var(--accent-ink)}
.p-th-sort.on svg{opacity:1}
th.num .p-th-sort{flex-direction:row-reverse}
.p-sortctl{display:none}
/* Celular (até 860px): tudo em /painel/mobile.css */
.p-tabbar{display:none}
@media (min-width:861px){ .p-side-scrim{display:none} }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Toque e rolagem (auditoria web-design-guidelines) */
button,a,[role="button"],.p-input,.p-select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.p-cmd-input:focus-within{color:var(--accent-ink)}
@media (pointer:fine){html{overscroll-behavior:none}}

/* ── Fundo animado (mesmo movimento do painel lateral do login) ── */
.p-aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:
  radial-gradient(ellipse at 95% 0%,rgba(18,61,83,.85) 0%,transparent 52%),
  linear-gradient(145deg,#0a0f1d,#0b1424 60%,#0d1628)}
.p-aurora::before{content:"";position:absolute;width:520px;height:520px;right:-240px;top:6%;border-radius:50%;background:radial-gradient(circle,rgba(57,160,200,.2),transparent 68%)}
.p-aurora-orb{position:absolute;width:1100px;height:780px;left:-220px;bottom:-460px;border-radius:48%;opacity:.55;
  background:radial-gradient(ellipse at 28% 42%,#35f2cb 0%,#169eaf 17%,transparent 43%),radial-gradient(ellipse at 64% 46%,#407bff 6%,#4c53d9 26%,transparent 58%),radial-gradient(ellipse at 84% 62%,#a97eea 0%,transparent 40%);
  filter:blur(56px);animation:p-orb-drift 16s ease-in-out infinite alternate;will-change:transform}
.p-aurora-orb.b{left:auto;right:-320px;bottom:auto;top:-420px;width:900px;height:640px;opacity:.32;animation-duration:22s;animation-direction:alternate-reverse}
@keyframes p-orb-drift{from{transform:translate3d(-35px,15px,0) rotate(-9deg) scale(.96)}to{transform:translate3d(45px,-35px,0) rotate(12deg) scale(1.08)}}
body{background:#0a0f1d}
.p-top{background:rgba(10,13,24,.62)}
/* Tela de carregamento: a mesma aurora na tela inteira, com movimento mais vivo (só transform, leve no iPhone) */
.p-aurora-load .p-aurora-orb{animation:p-orb-load 7s ease-in-out infinite alternate}
.p-aurora-load .p-aurora-orb.b{animation-duration:9s;animation-direction:alternate-reverse}
.p-aurora-load .p-aurora-orb.c{width:760px;height:560px;left:30%;top:30%;right:auto;bottom:auto;opacity:.4;border-radius:50%;
  background:radial-gradient(ellipse at 40% 50%,#407bff 0%,#4c53d9 28%,transparent 62%),radial-gradient(ellipse at 72% 40%,#a97eea 0%,transparent 46%);
  animation:p-orb-cross 11s ease-in-out infinite alternate}
@keyframes p-orb-load{from{transform:translate3d(-120px,70px,0) rotate(-18deg) scale(.92)}to{transform:translate3d(150px,-110px,0) rotate(20deg) scale(1.16)}}
@keyframes p-orb-cross{from{transform:translate3d(-48vw,22vh,0) scale(.85)}to{transform:translate3d(22vw,-28vh,0) scale(1.18)}}
.p-gate-load .p-spin{position:relative;border-color:rgba(255,255,255,.18);border-top-color:#fff}
/* Ao abrir o painel, o fundo normal entra suave (sem tranco na troca) */
.p-aurora:not(.p-aurora-load){animation:p-aurora-in .6s ease both}
@keyframes p-aurora-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.p-aurora-orb,.p-aurora-load .p-aurora-orb,.p-aurora:not(.p-aurora-load){animation:none}}
