:root{--azul-escuro: #0a2540;--azul-claro: #3b9ee3;--azul-claro-700: #2b7fbd;--branco: #ffffff;--cinza-100: #f3f6fa;--cinza-300: #d4deea;--cinza-500: #7b8aa0;--ok: #2ecc71;--alerta: #e2b93b;--erro: #e85d5d;--radius: 16px;--radius-sm: 10px;--sombra: 0 10px 30px rgba(10, 37, 64, .18);--fonte: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;font-family:var(--fonte);color:var(--azul-escuro);-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:var(--azul-claro);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .05s ease,filter .15s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--azul-claro);color:var(--branco)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-dark{background:var(--azul-escuro);color:var(--branco)}.btn-ghost{background:transparent;color:var(--azul-escuro);border:1px solid var(--cinza-300)}.btn-danger{background:var(--erro);color:var(--branco)}.btn-ok{background:var(--ok);color:var(--branco)}.btn-block{width:100%}.btn-lg{min-height:56px;font-size:1.1rem;padding:14px 22px}.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.campo>label{font-size:.85rem;font-weight:600;color:var(--azul-escuro)}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--cinza-300);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:var(--branco);color:var(--azul-escuro)}textarea{min-height:90px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;min-height:auto}option{background:var(--branco);color:var(--azul-escuro)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--azul-claro);box-shadow:0 0 0 3px #3b9ee333}.card{background:var(--branco);border-radius:var(--radius);box-shadow:var(--sombra);padding:20px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-andamento{background:#3b9ee326;color:var(--azul-claro-700)}.badge-pausada{background:#e2b93b2e;color:#9a7d1a}.badge-finalizada{background:#2ecc7129;color:#1d8b4d}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:var(--azul-escuro);color:var(--branco);position:sticky;top:0;z-index:20}.topbar .marca{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.02em}.topbar nav{display:flex;gap:6px;flex-wrap:wrap}.topbar nav a{color:#ffffffd9;padding:8px 12px;border-radius:8px;font-weight:600}.topbar nav a.router-link-active{background:#ffffff24;color:var(--branco)}.topbar .btn-ghost{color:var(--branco);border-color:#fff6}.conteudo{flex:1;padding:20px;max-width:1100px;width:100%;margin:0 auto}.titulo-pagina{margin:4px 0 18px;font-size:1.5rem}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.stack{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.muted{color:var(--cinza-500)}.erro-msg{background:#e85d5d1f;color:var(--erro);border-radius:var(--radius-sm);padding:10px 14px;font-weight:600}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--cinza-300)}th{font-size:.8rem;text-transform:uppercase;color:var(--cinza-500)}.theme-admin{background:radial-gradient(1200px 600px at 10% -10%,#143a5e 0%,transparent 55%),linear-gradient(160deg,#0a2540,#0c2c4d 60%,#0a2540);background-attachment:fixed}.theme-admin .conteudo,.theme-admin .titulo-pagina{color:var(--branco)}.theme-admin .card{background:#ffffff14;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 32px #00000040;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--branco)}.theme-admin input,.theme-admin select,.theme-admin textarea{background:#ffffff1a;border-color:#ffffff40;color:var(--branco)}.theme-admin input::placeholder,.theme-admin textarea::placeholder{color:#ffffff8c}.theme-admin .campo>label{color:#ffffffe6}.theme-admin th{color:#ffffffb3}.theme-admin td,.theme-admin th{border-color:#ffffff24}.theme-admin .btn-ghost{color:var(--branco);border-color:#fff6}.theme-admin .muted{color:#fff9}.metric{text-align:center}.metric .valor{font-size:2.4rem;font-weight:800;color:var(--azul-claro)}.metric .rotulo{font-size:.85rem;color:#ffffffb3}.theme-tecnico{background:var(--cinza-100)}.theme-tecnico .conteudo{max-width:640px;padding:16px}.theme-tecnico .btn{min-height:52px;font-size:1.05rem}.theme-tecnico .btn-lg{min-height:64px;font-size:1.2rem}.theme-tecnico .card{border:1px solid var(--cinza-300);box-shadow:0 2px 8px #0a254014}.voicefield{position:relative}.voicefield .com-mic{display:flex;gap:8px;align-items:flex-start}.mic-btn{flex:none;width:48px;height:48px;border-radius:var(--radius-sm);border:1px solid var(--cinza-300);background:var(--branco);color:var(--azul-escuro);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.mic-btn.ouvindo{background:var(--erro);color:var(--branco);border-color:var(--erro);animation:pulso 1.1s infinite}.theme-admin .mic-btn{background:#ffffff1f;border-color:#ffffff4d;color:var(--branco)}@keyframes pulso{0%{box-shadow:0 0 #e85d5d80}70%{box-shadow:0 0 0 10px #e85d5d00}to{box-shadow:0 0 #e85d5d00}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a25408c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal-box{background:var(--branco);color:var(--azul-escuro);border-radius:var(--radius);padding:22px;width:100%;max-width:460px;box-shadow:var(--sombra)}.modal-box h3{margin-top:0}@media(max-width:600px){.topbar{flex-direction:column;align-items:stretch;gap:10px}.topbar nav{justify-content:center}}.modal-box .campo>label{color:var(--azul-escuro)}.modal-box input,.modal-box select,.modal-box textarea{background:var(--branco);color:var(--azul-escuro);border-color:var(--cinza-300)}.modal-box input::placeholder,.modal-box textarea::placeholder{color:var(--cinza-500)}.modal-box .mic-btn{background:var(--branco);color:var(--azul-escuro);border-color:var(--cinza-300)}
