@charset "UTF-8";
/* Arco Íris 3.0 — tema escuro premium.
   Carregado por último. Só altera a aparência: nenhuma regra muda IDs, dados ou fluxos.
   Fontes Inter (SIL OFL 1.1) servidas localmente, compatíveis com a CSP 'self'. */

@font-face{font-family:"Arco Inter";src:url(fonts/Inter-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Arco Inter";src:url(fonts/Inter-Medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Arco Inter";src:url(fonts/Inter-SemiBold.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Arco Display";src:url(fonts/InterDisplay-Bold.woff) format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Arco Display";src:url(fonts/InterDisplay-ExtraBold.woff) format("woff");font-weight:800;font-display:swap}

:root{
  --font-body:"Arco Inter",Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
  --font-display:"Arco Display","Arco Inter",Inter,"Segoe UI",system-ui,sans-serif;
  /* Cores tiradas do símbolo da marca */
  --rb-cyan:#22c7f5;--rb-sky:#7fdcf7;--rb-blue:#0a86e0;--rb-indigo:#2a2fb8;--rb-deep:#0b2a6b;
  --rb-gradient:linear-gradient(120deg,#7fdcf7 0%,#22c7f5 28%,#0a86e0 60%,#3b3fd1 100%);
  --rb-gradient-soft:linear-gradient(135deg,#22c7f522,#3b3fd122);
}
html,body,button,input,select,textarea{font-family:var(--font-body)}
h1,h2,.intro-title,.journey-hero>strong,.metric strong{font-family:var(--font-display)}

/* ───────────── Tema escuro premium ───────────── */
html[data-theme="dark"]{
  --bg:#050b18;--app-bg:#050b18;
  --surface:#0b1529cc;--soft:#ffffff08;--pale:#22c7f51a;
  --line:#ffffff14;--line-strong:#ffffff24;
  --ink:#e6eefa;--muted:#93a4bf;--navy:#f4f8ff;--app-navy:#f4f8ff;
  --blue:#22c7f5;--blue-dark:#7fdcf7;--app-blue:#22c7f5;
  --positive:#6ee7b7;--negative:#fda4af;
  --glow:0 0 0 1px #ffffff10,0 20px 50px -20px #000000b0;
  --glass-blur:saturate(160%) blur(18px);
  color-scheme:dark;
  background:#050b18;
}
html[data-theme="dark"] body{
  background:
    radial-gradient(900px 520px at 85% -10%,#2a2fb83a,transparent 60%),
    radial-gradient(800px 560px at -10% 10%,#0a86e030,transparent 60%),
    radial-gradient(700px 500px at 50% 110%,#22c7f51c,transparent 60%),
    #050b18;
  background-attachment:fixed;
  color:var(--ink);
}
/* textura de pontos discreta */
html[data-theme="dark"] body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:radial-gradient(#ffffff10 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 70%);mask-image:linear-gradient(to bottom,#000,transparent 70%);
}
html[data-theme="dark"] #main{position:relative;z-index:1}

/* Tipografia */
html[data-theme="dark"] h1{color:#fff;font-weight:800;letter-spacing:-.035em}
html[data-theme="dark"] h2{color:#fff;letter-spacing:-.02em}
html[data-theme="dark"] .sub{color:var(--muted)}
html[data-theme="dark"] .eyebrow{
  background:var(--rb-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:700;letter-spacing:.16em;
}
html[data-theme="dark"] .eyebrow::before{background:var(--rb-gradient);width:18px;height:3px;border-radius:3px}
html[data-theme="dark"] a{color:var(--rb-sky)}

/* Cabeçalho de vidro */
html[data-theme="dark"] .header{
  position:sticky;top:0;z-index:40;
  background:#050b18b8;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:0;border-bottom:1px solid var(--line);
}
html[data-theme="dark"] .header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,#22c7f580,#3b3fd180,transparent);
}
html[data-theme="dark"] .header .brand img{filter:drop-shadow(0 4px 18px #22c7f560)}
html[data-theme="dark"] .header .ghost,html[data-theme="dark"] .menu-toggle{
  background:#ffffff08;border:1px solid var(--line);color:var(--ink);border-radius:14px;
}
html[data-theme="dark"] .header .ghost:hover,html[data-theme="dark"] .menu-toggle:hover{background:#ffffff12;border-color:var(--line-strong)}
html[data-theme="dark"] .demo-banner,html[data-theme="dark"] .demo-access{
  background:linear-gradient(90deg,#f59e0b14,#f59e0b26,#f59e0b14);color:#fcd34d;border-bottom:1px solid #f59e0b30;
  letter-spacing:.04em;
}

/* Cartões em vidro */
html[data-theme="dark"] .card,html[data-theme="dark"] .metric,html[data-theme="dark"] .day-item,
html[data-theme="dark"] .home-link,html[data-theme="dark"] .task-card,html[data-theme="dark"] .signature-callout{
  background:linear-gradient(180deg,#ffffff0b,#ffffff04);
  border:1px solid var(--line);
  -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  box-shadow:inset 0 1px 0 #ffffff12,0 24px 48px -28px #000000c0;
  border-radius:22px;
}
html[data-theme="dark"] .metric strong{
  background:linear-gradient(180deg,#fff,#b9d3f3);-webkit-background-clip:text;background-clip:text;color:transparent;
}
html[data-theme="dark"] .metric.blue{background:linear-gradient(160deg,#22c7f520,#3b3fd118);border-color:#22c7f540}
html[data-theme="dark"] .day-amount{background:#ffffff07;border:1px solid #ffffff0d}
html[data-theme="dark"] .day-amount.primary{background:linear-gradient(135deg,#22c7f51f,#3b3fd11a);border-color:#22c7f533}
html[data-theme="dark"] .day-amount strong{color:#fff}

/* Hero: gradiente vivo com o arco da marca */
html[data-theme="dark"] .journey-hero,html[data-theme="dark"] .admin-home .journey-hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(120% 140% at 100% 0%,#22c7f5 0%,transparent 45%),
    radial-gradient(90% 120% at 0% 100%,#3b3fd1 0%,transparent 55%),
    linear-gradient(135deg,#0b2a6b,#0a5fb4 55%,#0a86e0);
  border:1px solid #ffffff2a;border-radius:28px;
  box-shadow:0 30px 70px -30px #0a86e0b0,inset 0 1px 0 #ffffff40;
}
html[data-theme="dark"] .journey-hero::after,html[data-theme="dark"] .admin-home .journey-hero::after{
  /* anéis do arco-íris */
  content:"";position:absolute;width:340px;height:340px;right:-120px;top:-170px;border-radius:50%;
  border:0;pointer-events:none;z-index:-1;opacity:.55;
  background:repeating-radial-gradient(circle,transparent 0 46px,#ffffff22 46px 50px,transparent 50px 64px);
}
html[data-theme="dark"] .journey-hero::before{
  /* brilho que atravessa o cartão */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 35%,#ffffff2e 50%,transparent 65%);
  transform:translateX(-120%);animation:arco-sheen 5.5s ease-in-out 1s infinite;
}
html[data-theme="dark"] .journey-hero>strong{color:#fff;text-shadow:0 6px 30px #00000040;letter-spacing:-.03em}
html[data-theme="dark"] .journey-hero>p,html[data-theme="dark"] .journey-hero>span{color:#e3f3ff}
@keyframes arco-sheen{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* Atalhos da tela inicial */
html[data-theme="dark"] .home-link{color:var(--ink);padding:20px;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s,box-shadow .28s}
html[data-theme="dark"] .home-link:hover{
  background:linear-gradient(180deg,#ffffff12,#ffffff06);border-color:#22c7f560;
  box-shadow:inset 0 1px 0 #ffffff14,0 18px 40px -18px #22c7f560;transform:translateY(-2px);
}
html[data-theme="dark"] .home-link strong{color:#fff}
html[data-theme="dark"] .home-icon{
  background:var(--rb-gradient-soft);color:var(--rb-sky);border:1px solid #22c7f533;border-radius:15px;
  box-shadow:inset 0 0 20px #22c7f514;
}
html[data-theme="dark"] .home-link:hover .home-icon{background:var(--rb-gradient);color:#04122b;border-color:transparent}
html[data-theme="dark"] .home-alert{background:linear-gradient(135deg,#fb7185,#e11d48);box-shadow:0 0 0 3px #e11d4830}

/* Botões */
html[data-theme="dark"] :where(button:not(.ghost):not(.secondary):not(.danger):not(.menu-toggle):not(.intro-skip):not(.home-link)),
html[data-theme="dark"] a.download{
  background:linear-gradient(120deg,#22c7f5,#0a86e0 55%,#3b3fd1);background-size:160% 100%;background-position:0 0;
  color:#fff;border:1px solid #ffffff26;border-radius:14px;font-weight:650;letter-spacing:.005em;
  box-shadow:0 10px 28px -12px #22c7f5aa,inset 0 1px 0 #ffffff40!important;
  transition:background-position .4s ease,transform .18s ease,box-shadow .25s ease;
}
html[data-theme="dark"] :where(button:not(.ghost):not(.secondary):not(.danger):not(.menu-toggle):not(.intro-skip):not(.home-link)):hover:not(:disabled){
  background-position:100% 0;box-shadow:0 14px 34px -12px #22c7f5cc,inset 0 1px 0 #ffffff40!important;
}
html[data-theme="dark"] .bottom-nav button,html[data-theme="dark"] .menu-group button,
html[data-theme="dark"] .production-tabs button:not(.active){box-shadow:none!important}
html[data-theme="dark"] .secondary{background:#ffffff08;border:1px solid var(--line-strong);color:var(--rb-sky);border-radius:14px}
html[data-theme="dark"] .secondary:hover{background:#22c7f514;border-color:#22c7f560}
html[data-theme="dark"] .ghost{color:var(--muted)}
html[data-theme="dark"] .ghost:hover{background:#ffffff0a;color:#fff}
html[data-theme="dark"] .danger{background:#e11d4814;border:1px solid #fb718550;color:#fda4af;border-radius:14px}

/* Campos */
html[data-theme="dark"] input:not([type=checkbox]):not([type=radio]),html[data-theme="dark"] select,html[data-theme="dark"] textarea{
  background:#ffffff06;border:1px solid var(--line-strong);color:#fff;border-radius:14px;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
html[data-theme="dark"] input:focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus{
  background:#ffffff0a;border-color:#22c7f5;box-shadow:0 0 0 4px #22c7f526;outline:none;
}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#6b7c97}
html[data-theme="dark"] select option{background:#0b1529;color:#fff}
html[data-theme="dark"] input[type=checkbox]{accent-color:#22c7f5}
html[data-theme="dark"] label.field{color:#cdd9ea}

/* Selos */
html[data-theme="dark"] .badge{background:#22c7f51a;color:var(--rb-sky);border:1px solid #22c7f533;border-radius:999px}
html[data-theme="dark"] .badge.warning,html[data-theme="dark"] .notice.warning{background:#f59e0b1a;color:#fcd34d;border-color:#f59e0b40}
html[data-theme="dark"] .badge.danger{background:#e11d481a;color:#fda4af;border-color:#fb718540}
html[data-theme="dark"] .badge.gray{background:#ffffff0d;color:#cbd5e1;border-color:#ffffff1a}
html[data-theme="dark"] .notice{background:#ffffff07;border:1px solid var(--line)}

/* Barra inferior flutuante */
html[data-theme="dark"] .bottom-nav{
  left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);
  width:min(100% - 24px,560px);border-radius:24px;padding:7px;
  background:#0b1529c4;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:1px solid var(--line-strong);box-shadow:0 20px 50px -12px #000000d0,inset 0 1px 0 #ffffff14;
}
html[data-theme="dark"] .bottom-nav button{background:transparent;color:var(--muted);border:0;border-radius:18px}
html[data-theme="dark"] .bottom-nav button:hover{color:#fff}
html[data-theme="dark"] .bottom-nav button.active{
  background:linear-gradient(160deg,#22c7f526,#3b3fd126);color:#fff;
  box-shadow:inset 0 0 0 1px #22c7f540!important;
}
html[data-theme="dark"] .bottom-nav button.active .icon{color:var(--rb-cyan);filter:drop-shadow(0 0 8px #22c7f5a0)}
html[data-theme="dark"] .nav-alert{border-color:#0b1529}
html[data-theme="dark"] #main{padding-bottom:calc(120px + env(safe-area-inset-bottom))}

/* Menu lateral */
html[data-theme="dark"] .menu-drawer,html[data-theme="dark"] .menu-drawer[open]{
  background:linear-gradient(180deg,#0d1a33f2,#060d1df5);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:0;border-right:1px solid var(--line-strong);color:var(--ink);
}
html[data-theme="dark"] .menu-drawer::backdrop{background:#02060fb0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
html[data-theme="dark"] .menu-account{background:var(--rb-gradient-soft);border:1px solid #22c7f533;border-radius:18px}
html[data-theme="dark"] .menu-group button{color:var(--ink);background:transparent;border:0}
html[data-theme="dark"] .menu-group button:hover{background:#ffffff0a}
html[data-theme="dark"] .menu-group button.active{background:linear-gradient(90deg,#22c7f522,transparent);color:#fff}
html[data-theme="dark"] .menu-group .nav-icon{border-color:var(--line-strong);color:var(--rb-sky);background:#ffffff05}
html[data-theme="dark"] .menu-group button.active .nav-icon{background:var(--rb-gradient);color:#04122b}
html[data-theme="dark"] .menu-group h3{color:#64748b;letter-spacing:.14em}

/* Diálogos e avisos */
html[data-theme="dark"] dialog{background:#0b1529f2;border:1px solid var(--line-strong);color:var(--ink);box-shadow:0 40px 90px -20px #000}
html[data-theme="dark"] dialog::backdrop{background:#02060fb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html[data-theme="dark"] .toast{background:#0f1d38f2;border:1px solid #22c7f540;box-shadow:0 20px 50px -10px #000,0 0 30px -10px #22c7f580}
html[data-theme="dark"] .toast.error{background:#3b0d18f2;border-color:#fb718560}
html[data-theme="dark"] .form-error,html[data-theme="dark"] .offline{background:#e11d4818;color:#fda4af;border:1px solid #fb718540}
html[data-theme="dark"] .loading{color:var(--muted)}

/* Login */
html[data-theme="dark"] .access-intro h1{font-size:clamp(2.4rem,7vw,4.4rem);line-height:1.02;letter-spacing:-.045em}
html[data-theme="dark"] .access-intro h1 span{
  background:var(--rb-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% 100%;animation:arco-flow 8s ease-in-out infinite alternate;
}
html[data-theme="dark"] .access-intro p{color:var(--muted)}
html[data-theme="dark"] .access-tag{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
  background:#22c7f514;border:1px solid #22c7f540;color:var(--rb-sky);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;
}
html[data-theme="dark"] .access-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c7f5;box-shadow:0 0 10px #22c7f5;animation:arco-pulse 2s ease-in-out infinite}
html[data-theme="dark"] .access-steps span{background:var(--rb-gradient-soft);border:1px solid #22c7f540;color:var(--rb-sky)}
html[data-theme="dark"] .access-card{
  position:relative;border-radius:28px;
  background:linear-gradient(180deg,#0f1c36e8,#0a1427e8);
}
html[data-theme="dark"] .access-card::before{
  /* contorno em gradiente do arco-íris */
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,#7fdcf7aa,#22c7f540 30%,transparent 55%,#3b3fd180);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
}
html[data-theme="dark"] .access-card::after{
  content:"";position:absolute;width:220px;height:220px;right:-60px;top:-80px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,#22c7f540,transparent 70%);filter:blur(10px);pointer-events:none;
}
@media(min-width:900px){
  html[data-theme="dark"] .access-tag{display:inline-flex}
  html[data-theme="dark"] .access-steps{display:grid}
}
@keyframes arco-flow{to{background-position:100% 0}}
@keyframes arco-pulse{50%{opacity:.35;transform:scale(.8)}}

/* Telas de produção / ocorrências */
html[data-theme="dark"] .production-tabs button.active{background:var(--rb-gradient)}
html[data-theme="dark"] .production-tabs button:not(.active){background:#ffffff07;border:1px solid var(--line-strong);color:var(--rb-sky)}
html[data-theme="dark"] .avatar,html[data-theme="dark"] .menu-avatar{background:var(--rb-gradient);color:#04122b;border:0;font-weight:700}
html[data-theme="dark"] .divider,html[data-theme="dark"] hr{border-color:var(--line)}

/* ───────────── Abertura animada ───────────── */
.app-intro{
  background:
    radial-gradient(60% 45% at 50% 42%,#0a86e055,transparent 70%),
    radial-gradient(40% 30% at 70% 70%,#3b3fd140,transparent 70%),
    #030814!important;
  overflow:hidden;
}
.app-intro::before{
  content:"";position:absolute;inset:-50%;pointer-events:none;
  background:conic-gradient(from 0deg,transparent,#22c7f514,transparent 30%,#3b3fd114,transparent 60%);
  animation:arco-spin 6s linear infinite;
}
.intro-content{position:relative;width:min(100%,360px)}
.intro-arcs{display:block;width:min(70vw,260px);height:auto;margin:0 auto 14px;overflow:visible}
.intro-arcs path{fill:none;stroke-linecap:round;stroke-width:9;stroke-dasharray:1;stroke-dashoffset:1;animation:arco-draw .75s cubic-bezier(.65,0,.35,1) forwards}
.intro-arcs path:nth-child(1){stroke:#7fdcf7;animation-delay:.00s}
.intro-arcs path:nth-child(2){stroke:#22c7f5;animation-delay:.07s}
.intro-arcs path:nth-child(3){stroke:#0aa6ec;animation-delay:.14s}
.intro-arcs path:nth-child(4){stroke:#0a86e0;animation-delay:.21s}
.intro-arcs path:nth-child(5){stroke:#2a5fd4;animation-delay:.28s}
.intro-arcs path:nth-child(6){stroke:#3b3fd1;animation-delay:.35s}
.intro-arcs g{filter:drop-shadow(0 0 14px #22c7f580)}
.intro-drops circle{fill:#22c7f5;opacity:0;transform-box:fill-box;transform-origin:center;animation:arco-drop .5s cubic-bezier(.2,.8,.2,1.4) forwards}
.intro-drops circle:nth-child(1){animation-delay:.55s}
.intro-drops circle:nth-child(2){animation-delay:.62s}
.intro-drops circle:nth-child(3){animation-delay:.69s}
.intro-logo{display:none!important}
.intro-title{
  font-family:var(--font-display);font-weight:800;font-size:2.4rem!important;letter-spacing:-.04em!important;margin:0;
  background:linear-gradient(120deg,#fff 20%,#7fdcf7 45%,#fff 70%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:0;animation:arco-rise .5s .35s cubic-bezier(.2,.8,.2,1) forwards,arco-shine 1.4s .5s ease-out forwards;
}
.intro-sub{color:#a9c4e4!important;letter-spacing:.02em;opacity:0;animation:arco-rise .5s .5s cubic-bezier(.2,.8,.2,1) forwards}
.intro-track{width:120px!important;height:3px!important;background:#ffffff14!important}
.intro-track span{background:var(--rb-gradient)!important;box-shadow:0 0 12px #22c7f5}
.intro-footer{color:#6f8fb8!important;letter-spacing:.3em!important}
.intro-skip{background:#ffffff0d!important;border:1px solid #ffffff26!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.intro-leaving{opacity:0;transform:scale(1.04);transition:opacity .22s ease,transform .22s ease}
@keyframes arco-draw{to{stroke-dashoffset:0}}
@keyframes arco-drop{0%{opacity:0;transform:translateY(-10px) scale(.4)}100%{opacity:1;transform:none}}
@keyframes arco-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes arco-shine{from{background-position:100% 0}to{background-position:0 0}}
@keyframes arco-spin{to{transform:rotate(1turn)}}

/* Movimento reduzido: sem animações decorativas */
@media(prefers-reduced-motion:reduce){
  html[data-theme="dark"] .journey-hero::before,.app-intro::before,
  html[data-theme="dark"] .access-intro h1 span,html[data-theme="dark"] .access-tag::before{animation:none}
  .intro-arcs path{animation:none;stroke-dashoffset:0}
  .intro-drops circle,.intro-title,.intro-sub{animation:none;opacity:1}
  html[data-theme="dark"] .home-link:hover{transform:none}
}
/* Navegadores sem backdrop-filter: fundo sólido para leitura */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  html[data-theme="dark"] .header{background:#050b18f5}
  html[data-theme="dark"] .bottom-nav{background:#0b1529fa}
  html[data-theme="dark"] .card,html[data-theme="dark"] .home-link{background:#0c172c}
}
