@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lato-latin-300-normal-BP2wSCML.woff2)format("woff2"),url(/assets/lato-latin-300-normal-CINZtfFB.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lato-latin-400-normal-BEhtfm5r.woff2)format("woff2"),url(/assets/lato-latin-400-normal-B11PyLys.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lato-latin-700-normal-BUGMgin4.woff2)format("woff2"),url(/assets/lato-latin-700-normal-DAdL7O4w.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/lato-latin-900-normal-C3uaq3BA.woff2)format("woff2"),url(/assets/lato-latin-900-normal-CZBfLiEO.woff)format("woff")}:root{--primary:#0d1238;--secondary:#6e5db6;--tertiary:#0d1238;--accent:#1976d2;--accent-dark:#135ea8;--bg:#e8f0f8;--surface:#fff;--text:#2b2f3a;--muted:#8a93a3;--border:#dbe3ec;--edit:#f0a030;--danger:#e53935;--success:#2e7d32;--sidebar-w:56px;--sidebar-w-open:220px;--topbar-h:56px;color:var(--text);font-family:Lato,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}h1{color:var(--primary);margin:4px 0 0;font-size:1.35rem;font-weight:700}.muted{color:var(--muted)}.center{text-align:center;padding:40px}.topbar{height:var(--topbar-h);z-index:20;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 12px;display:flex;position:fixed;inset:0 0 auto}.topbar-left,.topbar-right{align-items:center;gap:8px;min-width:160px;display:flex}.topbar-right{justify-content:flex-end}.topbar-icon{width:28px;height:28px}.brand img{height:30px;display:block}.user-name{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.sidebar{top:var(--topbar-h);z-index:10;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);transition:width .15s;position:fixed;bottom:0;left:0;overflow:hidden}.sidebar:hover,.sidebar-expanded .sidebar{width:var(--sidebar-w-open);box-shadow:2px 0 8px #0000000f}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar ul ul a{padding-left:32px}.sidebar a{color:var(--primary);white-space:nowrap;align-items:center;gap:16px;padding:12px 19px;font-size:.9rem;display:flex}.sidebar a svg{flex-shrink:0}.sidebar a:hover{background:#eef4fb}.sidebar a.active{background:var(--accent);color:#fff}.hide-menu{opacity:0;transition:opacity .1s}.sidebar:hover .hide-menu,.sidebar-expanded .hide-menu{opacity:1}.content{margin:var(--topbar-h) 0 0 var(--sidebar-w);padding:20px 24px 40px}.card,.table-card{background:var(--surface);border-radius:6px;padding:20px;box-shadow:0 1px 2px #1018280d}.page-header{background:var(--surface);border-bottom:2px solid var(--accent);border-radius:6px 6px 0 0;margin-bottom:0;padding:14px 20px 10px}.page-header+.card,.page-header+.table-card,.page-header+form{border-radius:0 0 6px 6px}.breadcrumb{color:var(--muted);letter-spacing:.03em;font-size:.7rem}.breadcrumb a{color:var(--accent)}.btn{letter-spacing:.03em;cursor:pointer;border:0;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font:700 .75rem Lato,sans-serif;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-primary.disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.btn-muted{color:#fff;background:#d9dde3}.btn-block{justify-content:center;width:100%}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px;display:inline-flex}.icon-btn:hover{color:var(--primary);background:#eef2f6}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.table-tools{align-items:center;gap:4px;display:flex}.search{color:var(--muted);border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-left:8px;display:inline-flex}.search input{font:inherit;border:0;outline:0;min-width:180px;padding:6px 2px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:10px 8px;font-size:.75rem;font-weight:700}td{vertical-align:middle;border-bottom:1px solid #f0f3f7;padding:10px 8px}tbody tr:hover{background:#f8fbfe}td.actions,th.actions{text-align:right;white-space:nowrap}.table-footer{justify-content:space-between;align-items:center;margin-top:12px;font-size:.78rem;display:flex}.pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.pager button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0}.pager button:disabled{opacity:.4;cursor:default}.pager button:not(:disabled):hover{color:var(--accent)}.pager .pager-page{border-radius:4px;min-width:28px;height:28px;padding:0 6px}.pager .pager-page.active{background:var(--accent);color:#fff;font-weight:700}.pager-gap{color:var(--muted);padding:0 2px}.row-action{cursor:pointer;background:0 0;border:0;padding:4px;display:inline-flex}.row-action.edit{color:var(--edit)}.row-action.delete{color:var(--danger)}.thumb-video{background:#000;border-radius:4px;width:200px;max-height:140px}.frame{object-fit:cover;border-radius:4px;width:200px;height:150px}.frame-large{border-radius:4px;width:100%;max-width:400px}.label-ativo{color:var(--success);font-weight:700}.label-inativo{color:var(--danger);font-weight:700}.form-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:16px 20px;display:grid}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.align-end{align-self:end}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.field input,.field select,.multi-select{color:var(--text);border:1px solid var(--border);background:#fff;border-radius:4px;width:100%;padding:8px 10px;font:.85rem Lato,sans-serif}.field input[type=color]{height:38px;padding:2px}.field input:read-only{background:#f5f7fa}.multi-select{min-height:120px}.field-error{color:var(--danger);margin:0;font-size:.75rem}.form-actions{grid-column:1/-1;justify-content:center;gap:10px;margin-top:8px;display:flex}.radio-group{border:0;align-items:center;gap:14px;margin:0;padding:0;font-size:.85rem;display:flex}.radio-group legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:.75rem}.switch{align-self:end;align-items:center;gap:8px;padding-bottom:8px;font-size:.85rem;display:inline-flex}.permissions{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.permission-block{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.permission-block legend{color:var(--primary);font-size:.85rem;font-weight:700}.settings-preview{object-fit:contain;background:#f5f7fa;border-radius:4px;align-self:flex-start;max-width:100%;max-height:80px;margin-bottom:6px;padding:4px}.filters{border-radius:0;margin-bottom:16px}.home{text-align:center;margin-top:16px}.home-illustration{width:100%;max-width:520px;margin-top:12px}.login-page{background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--secondary) 45%, transparent) 0, transparent 45%), radial-gradient(circle at 85% 85%, color-mix(in srgb, var(--accent) 35%, transparent) 0, transparent 40%), linear-gradient(135deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 70%, #000) 100%);background-position:50%;background-size:cover;place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-panel{flex-direction:column;align-items:center;gap:18px;width:min(420px,100%);display:flex}.login-card{background:var(--surface);border-radius:14px;flex-direction:column;gap:18px;width:100%;padding:36px 32px 32px;display:flex;box-shadow:0 24px 60px #00000059,0 2px 6px #0000001f}.login-brand{justify-content:center;padding-bottom:4px;display:flex}.login-logo{object-fit:contain;max-width:100%;height:44px}.login-heading{text-align:center}.login-heading h1{color:var(--primary);margin:0 0 6px;font-size:1.5rem;font-weight:900}.login-heading p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.45}.login-heading h1.login-title{letter-spacing:.32em;background:linear-gradient(100deg, var(--primary) 0%, var(--secondary) 55%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;padding-left:.32em;font-size:1.9rem;font-weight:800;line-height:1.1;display:inline-block}.login-title:after{content:"";background:linear-gradient(90deg, var(--secondary), var(--accent));border-radius:3px;width:44px;height:3px;margin:10px auto 0;display:block;transform:translate(-.16em)}.login-field{color:var(--text);flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;display:flex}.login-input{border:1px solid var(--border);height:46px;color:var(--muted);background:#f8fafc;border-radius:8px;align-items:center;gap:10px;padding:0 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.login-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent);background:#fff}.login-input.invalid{color:#d93025;background:#fff;border-color:#d93025}.login-input.invalid:focus-within{box-shadow:0 0 0 3px #d930252e}.login-field-error{color:#b3261e;font-size:.78rem;font-weight:600}.login-input input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font:400 .95rem Lato,sans-serif}.login-eye{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px;display:inline-flex}.login-eye:hover{color:var(--primary)}.login-error{color:#b3261e;background:#fdecea;border:1px solid #f5c2bd;border-radius:8px;padding:10px 12px;font-size:.85rem}.login-submit{background:var(--accent);color:#fff;letter-spacing:.02em;cursor:pointer;border:0;border-radius:8px;height:46px;font:700 .95rem Lato,sans-serif;transition:background .15s,transform 50ms}.login-submit:hover{background:var(--accent-dark)}.login-submit:active{transform:translateY(1px)}.login-submit:disabled{opacity:.7;cursor:progress}.login-form{flex-direction:column;gap:18px;display:flex}.login-field-row{justify-content:space-between;align-items:baseline;display:flex}.login-link{color:var(--accent);font-size:.8rem;font-weight:700}.login-link:hover{text-decoration:underline}.center-link{text-align:center;align-self:center;display:block}.login-done{text-align:center;color:var(--success);flex-direction:column;align-items:center;gap:8px;display:flex}.login-done h1{color:var(--primary);margin:4px 0 0;font-size:1.35rem}.login-done p{color:var(--text);margin:0;font-size:.9rem;line-height:1.45}.login-done p.muted{color:var(--muted);font-size:.8rem}.login-error a{color:inherit;font-weight:700;text-decoration:underline}.login-footer{color:#ffffffb8;letter-spacing:.24em;white-space:nowrap;justify-content:center;align-items:center;gap:10px;margin:0;font-size:.68rem;font-weight:600;display:flex}.login-footer:before,.login-footer:after{content:"";width:36px;height:1px}.login-footer:before{background:linear-gradient(90deg,#0000,#ffffff73)}.login-footer:after{background:linear-gradient(90deg,#ffffff73,#0000)}.login-footer-dot{background:var(--accent);border-radius:50%;width:4px;height:4px}@media (width<=420px){.login-footer{letter-spacing:.14em;font-size:.62rem}.login-footer:before,.login-footer:after{width:16px}}.presentation{background:#000;position:fixed;inset:0}.presentation video{object-fit:contain;width:100%;height:100%}.presentation-logout{z-index:2;color:#888;cursor:pointer;background:0 0;border:0;position:absolute;top:8px;right:12px}.detection-card{--tone:#1976d2;z-index:3;color:#fff;border:1px solid #ffffff24;border-left:6px solid var(--tone);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d1238d1;border-radius:14px;width:min(360px,100vw - 32px);animation:.32s cubic-bezier(.2,.8,.2,1) detection-in;position:absolute;bottom:80px;right:32px;overflow:hidden;box-shadow:0 18px 48px #00000073}.detection-card.female{--tone:#eb6834}.detection-card.male{--tone:#2a78d6}.detection-card.unknown{--tone:#8a93a3}.detection-head{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;align-items:center;gap:8px;padding:14px 18px 0;font-size:.72rem;font-weight:700;display:flex}.detection-head time{letter-spacing:0;font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.detection-pulse{background:#34d399;border-radius:50%;width:8px;height:8px;animation:1.4s infinite detection-pulse;box-shadow:0 0 #34d39999}.detection-body{align-items:center;gap:16px;padding:14px 18px 12px;display:flex}.detection-icon{color:#fff;background:var(--tone);border-radius:50%;flex:none;place-items:center;width:60px;height:60px;display:grid}.detection-gender{font-size:1.7rem;font-weight:800;line-height:1.1}.detection-age{color:#ffffffe0;margin-top:4px;font-size:1.15rem;font-weight:600}.detection-campaign{color:#ffffffbf;border-top:1px solid #ffffff1a;align-items:center;gap:8px;padding:10px 18px 14px;font-size:.85rem;display:flex}.detection-timer{background:var(--tone);transform-origin:0;height:4px;animation-name:detection-timer;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes detection-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}@keyframes detection-pulse{70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}@keyframes detection-timer{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.detection-card,.detection-pulse{animation:none}}.toasts{z-index:50;flex-direction:column;gap:8px;display:flex;position:fixed;top:70px;right:16px}.toast{color:#fff;border-radius:6px;max-width:360px;padding:12px 16px;font-size:.85rem;box-shadow:0 4px 12px #00000026}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-info{background:var(--accent)}@media (width<=760px){.form-grid>[class*=col-]{grid-column:1/-1}.content{padding:12px}.topbar-left,.topbar-right{min-width:0}.user-name{display:none}}.toolbar-actions{align-items:center;gap:8px;display:flex}.btn-muted-outline{color:var(--primary);border:1px solid var(--border);background:#fff}.btn-muted-outline:hover{background:#f1f5fa}.row-action.sync{color:var(--accent)}.field-hint{color:var(--muted);font-size:.72rem}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.capture-status{align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.capture-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.capture-ok{color:var(--success)}.capture-warn{color:#b26a00}.capture-bad{color:var(--danger)}.capture-off{color:var(--muted)}.monitor-grid .frame-large{aspect-ratio:16/9;object-fit:cover;background:#0b0b0b;max-width:100%}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d123873;place-items:center;padding:16px;animation:.12s ease-out fade-in;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:12px;grid-template-columns:auto 1fr;gap:4px 16px;width:min(440px,100%);padding:24px;animation:.14s ease-out dialog-in;display:grid;box-shadow:0 24px 60px #00000040}.dialog-icon{width:44px;height:44px;color:var(--accent);background:#e8f1fc;border-radius:50%;place-items:center;display:grid}.dialog-icon.danger{color:var(--danger);background:#fdecea}.dialog-body h2{color:var(--primary);margin:2px 0 6px;font-size:1.1rem}.dialog-message{color:var(--text);font-size:.9rem;line-height:1.45}.dialog-message p{margin:0 0 6px}.dialog-message .dialog-item{border:1px solid var(--border);background:#f3f5f8;border-radius:6px;margin-bottom:10px;padding:4px 10px;display:inline-block}.dialog-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.dialog-actions .btn{padding:9px 18px;font-size:.8rem}.btn-ghost{color:var(--text);border:1px solid var(--border);background:#fff}.btn-ghost:hover{background:#f3f5f8}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#c62828}.btn:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:2px}.pulse{animation:.8s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.captured-at{font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;gap:2px;display:inline-flex}.captured-at small{color:var(--muted);font-size:.72rem}.captured-at.stale time,.captured-at.stale small{color:#b26a00}.refresh{align-items:center;gap:10px;display:inline-flex}.refresh-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.page-toolbar{justify-content:flex-end;margin-top:16px;display:flex}.monitor-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:20px;margin-top:12px;display:grid}.monitor-grid.single{grid-template-columns:minmax(0,1100px);justify-content:center}.monitor-card{background:var(--surface);border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #10182814}.monitor-card-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.monitor-card-header h2{color:var(--primary);margin:0;font-size:1rem}.monitor-frame{aspect-ratio:16/9;background:#0b0b0b;place-items:center;display:grid;position:relative}.monitor-frame img{object-fit:contain;width:100%;height:100%;display:block}.monitor-empty{color:#9aa3b2;font-size:.85rem}.monitor-card-footer{justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:.85rem;display:flex}.monitor-card-footer .captured-at{flex-direction:row;align-items:baseline;gap:8px;display:inline-flex}.monitor-open{align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.filter-actions{gap:8px;display:flex}
