@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Manrope:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{--ink:#0a1e29;--ink-2:#15303d;--teal:#06b6c9;--teal-deep:#0894a4;--mint:#8fe3c6;--amber:#f2a65a;--danger:#e8654a;--bg:#eaf1f2;--surface:#fff;--line:#e1eaec;--muted:#5e7480;--txt:#0a1e29;--txt-dim:#5e7480;--erro:#e8654a;--shadow:0 18px 50px -22px #0a1e2973;--shadow-sm:0 8px 22px -16px #0a1e2959;--radius:16px;--font:"Manrope",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--font-display:"Bricolage Grotesque",var(--font);--font-mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body{color:var(--txt);font-family:var(--font);-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 600px at 85% -5%, #06b6c924, transparent 60%), radial-gradient(900px 500px at -5% 110%, #8fe3c62e, transparent 55%), var(--bg);min-height:100vh;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}.tela-centro{min-height:100vh;color:var(--txt-dim);place-items:center;display:grid}.marca{align-items:center;gap:.6rem;display:flex}.marca-logo{background:linear-gradient(150deg,var(--teal),var(--ink-2));width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:12px;flex:none;place-items:center;display:grid;overflow:hidden}.marca-logo svg{width:22px;height:22px}.marca-nome{flex-direction:column;line-height:1.05;display:flex}.marca-nome b{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.marca-nome span{color:var(--muted);letter-spacing:.03em;margin-top:2px;font-size:.7rem;font-weight:600}.marca-compact .marca-logo{border-radius:10px;width:34px;height:34px}.marca-compact .marca-logo svg{width:19px;height:19px}.marca-compact .marca-nome b{font-size:1.05rem}.tela-login{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.card-login{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);flex-direction:column;gap:.9rem;padding:2rem 1.75rem;display:flex}.card-login h1{margin:.6rem 0 0;font-size:1.6rem}.card-login .sub{color:var(--txt-dim);margin:0 0 .4rem;font-size:.85rem}.card-login label{color:var(--txt-dim);flex-direction:column;gap:.35rem;font-size:.8rem;display:flex}.card-login input{border:1px solid var(--line);color:var(--txt);background:#fff;border-radius:10px;outline:none;padding:.65rem .75rem;font-size:.95rem}.card-login input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #06b6c926}.card-login button{background:linear-gradient(140deg,var(--teal),var(--mint));color:#04212a;cursor:pointer;font-size:.95rem;font-weight:700;font-family:var(--font-display);border:0;border-radius:10px;margin-top:.4rem;padding:.7rem}.card-login button:disabled{opacity:.6;cursor:default}.erro{color:var(--danger);background:#e8654a14;border:1px solid #e8654a40;border-radius:10px;padding:.5rem .65rem;font-size:.82rem}.app-shell{min-height:100vh}.topo{border-bottom:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex}.topo-dir{align-items:center;gap:.9rem;display:flex}.papel-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--teal-deep);background:#06b6c914;border:1px solid #06b6c959;border-radius:999px;padding:.2rem .65rem;font-size:.7rem;font-weight:700}.usuario-nome{color:var(--txt-dim);font-size:.85rem;font-weight:600}.btn-sair{color:var(--txt-dim);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:9px;padding:.35rem .7rem;font-size:.8rem}.btn-sair:hover{color:var(--ink);border-color:var(--muted)}.conteudo{padding:2rem 1.5rem}.conteudo h2{margin:0 0 .4rem}.conteudo p{color:var(--txt-dim)}.painel{max-width:1040px}.painel-cab{align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.painel-cab h2{margin:0}.flash{color:var(--teal-deep);background:#8fe3c62e;border:1px solid #8fe3c666;border-radius:999px;padding:.18rem .65rem;font-size:.78rem;font-weight:700}.dim{color:var(--txt-dim)}.form-linha{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0 1rem;display:flex}.form-linha input,.form-linha select{border:1px solid var(--line);color:var(--txt);min-width:160px;font-size:.9rem;font-family:var(--font);background:#fff;border-radius:10px;outline:none;padding:.5rem .65rem}.form-linha input:focus,.form-linha select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #06b6c91f}.form-linha button{background:linear-gradient(140deg,var(--teal),var(--mint));color:#04212a;cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--font-display);border:0;border-radius:10px;padding:.55rem .95rem}.form-linha button:disabled{opacity:.6;cursor:default}.form-linha .btn-sec{color:var(--muted);border:1px solid var(--line);background:#fff}.form-linha .btn-sec:hover{color:var(--ink);border-color:var(--muted)}.tabela{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);font-size:.88rem;overflow:hidden}.tabela th,.tabela td{text-align:left;border-bottom:1px solid var(--line);padding:.65rem .8rem}.tabela tbody tr:last-child td{border-bottom:0}.tabela th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#fbfdfd;font-size:.7rem;font-weight:700}.tabela tbody tr:hover td{background:#f7fbfb}.tabela input[type=time]{font-family:var(--font-mono);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;min-width:0;padding:.3rem .4rem}.tabela input[type=time]:disabled{background:var(--bg);color:var(--txt-dim)}.tabela input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal)}.acoes{flex-wrap:wrap;gap:.4rem;display:flex}.acoes button{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:.3rem .6rem;font-size:.78rem}.acoes button:hover{border-color:var(--teal);color:var(--teal-deep)}.tag{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:999px;padding:.14rem .55rem;font-size:.7rem;font-weight:700}.tag-ativa{color:var(--teal-deep);background:#06b6c91a;border-color:#06b6c966}.tag-suspensa{color:#b9722a;background:#f2a65a1f;border-color:#f2a65a80}.tag-cancelada{color:var(--danger);background:#e8654a1a;border-color:#e8654a66}.linha-gestor td{background:#f7fbfb}.gestor-nav{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;gap:.3rem;margin-bottom:1.5rem;padding:.3rem;display:inline-flex}.gestor-nav button{color:var(--muted);cursor:pointer;font-size:.88rem;font-weight:600;font-family:var(--font);background:0 0;border:0;border-radius:10px;padding:.5rem .95rem;transition:all .2s}.gestor-nav button:hover{color:var(--ink)}.gestor-nav button.ativo{background:var(--ink);color:#fff}.login-modo{background:#0a1e290f;border-radius:12px;gap:6px;margin:4px 0;padding:4px;display:flex}.login-modo button{font:inherit;color:#0a1e29;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:9px 10px;font-size:13px;font-weight:600}.login-modo button.on{color:#06b6c9;background:#fff;box-shadow:0 1px 3px #0a1e291f}.col-wrap{flex-direction:column;gap:16px;max-width:440px;margin:0 auto;padding:8px 16px 48px;display:flex}.col-load,.col-erro{text-align:center;color:#5b6b73;max-width:440px;margin:40px auto}.col-erro{color:#c0392b}.col-appbar{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.col-greet{flex-direction:column;line-height:1.2;display:flex}.col-greet small{color:#5b6b73;font-size:13px}.col-greet b{color:#0a1e29;font-size:18px}.col-ava{color:#fff;background:linear-gradient(135deg,#06b6c9,#8fe3c6);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;font-weight:700;display:flex}.col-empresa{color:#0a1e29;background:#0a1e290d;border-radius:10px;width:max-content;padding:8px 12px;font-size:13px}.col-clockwrap{text-align:center;padding:18px 0 6px}.col-clock{color:#0a1e29;letter-spacing:-1px;font-family:DM Mono,ui-monospace,monospace;font-size:56px;font-weight:500;line-height:1}.col-clock small{color:#06b6c9;font-size:24px}.col-dateline{color:#5b6b73;text-transform:capitalize;margin-top:6px;font-size:14px}.col-pill{border-radius:999px;margin-top:12px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-block}.col-pill.on{color:#0a7d5c;background:#8fe3c659}.col-pill.off{color:#5b6b73;background:#0a1e2912}.col-btnreg{color:#fff;cursor:pointer;background:linear-gradient(135deg,#06b6c9,#0894a4);border:0;border-radius:16px;width:100%;padding:20px;font-size:18px;font-weight:700;transition:transform 80ms;box-shadow:0 8px 24px #06b6c959}.col-btnreg:active{transform:scale(.98)}.col-btnreg:disabled{opacity:.6;cursor:default}.col-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.col-chip{color:#0a1e29;background:#0a1e290d;border-radius:999px;padding:6px 12px;font-size:12.5px}.col-chip b{color:#06b6c9}.col-sheet{background:#fff;border:1px solid #0a1e2914;border-radius:16px;padding:16px}.col-sheet h4{color:#0a1e29;margin:0 0 12px;font-size:15px}.col-empty{color:#5b6b73;text-align:center;padding:12px 0;font-size:14px}.col-marks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.col-marks li{background:#0a1e2908;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.col-mtipo{color:#0a1e29;flex:1;font-size:14px;font-weight:600}.col-mhora{color:#0a1e29;font-family:DM Mono,ui-monospace,monospace;font-size:14px}.col-mcerca{color:#5b6b73;text-align:right;min-width:64px;font-size:11.5px}.col-mcerca.fora{color:#c0392b}.col-mcerca.dentro{color:#0a7d5c}.col-toast{color:#fff;z-index:50;background:#0a1e29;border-radius:14px;align-items:center;gap:12px;max-width:90vw;padding:14px 18px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0a1e294d}.col-toast small{color:#ffffffb3;font-size:12.5px;display:block}.col-toast-ic{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.col-toast.ok .col-toast-ic{color:#0a1e29;background:#8fe3c6}.col-toast.aviso .col-toast-ic{color:#0a1e29;background:#f2c14e}.col-toast.erro .col-toast-ic{color:#fff;background:#e07a7a}.esp{flex-direction:column;gap:16px;display:flex}.esp-form{background:#fff;border:1px solid #0a1e2914;border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;display:flex}.esp-form label{color:#5b6b73;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;display:flex}.esp-form select,.esp-form input{font:inherit;color:#0a1e29;background:#fff;border:1px solid #0a1e2926;border-radius:9px;padding:8px 10px;font-size:14px}.esp-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#06b6c9,#0894a4);border:0;border-radius:10px;padding:9px 18px;font-weight:700}.esp-btn:disabled{opacity:.6;cursor:default}.esp-erro{color:#c0392b;font-size:13.5px}.esp-cab{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.esp-cab b{color:#0a1e29;font-size:17px}.esp-cab span{color:#5b6b73;font-size:13px}.esp-tabela{background:#fff;border:1px solid #0a1e2914;border-radius:12px;overflow:hidden}.esp-thead,.esp-row{grid-template-columns:1.3fr 1fr .9fr .9fr .9fr .8fr;align-items:center;gap:8px;padding:9px 14px;display:grid}.esp-thead{color:#5b6b73;text-transform:uppercase;letter-spacing:.3px;background:#0a1e290a;font-size:12px;font-weight:700}.esp-row{color:#0a1e29;border-top:1px solid #0a1e290f;font-size:13.5px}.esp-row i{color:#9aa7ad;font-size:12px;font-style:normal}.esp-row .neg{color:#c0392b;font-weight:600}.esp-row .pos{color:#0a7d5c;font-weight:600}.esp-tag{border-radius:999px;padding:3px 8px;font-size:11.5px;font-style:normal;font-weight:600}.esp-tag.ok{color:#0a7d5c;background:#8fe3c659}.esp-tag.warn{color:#9a6b00;background:#f2c14e40}.esp-tag.bad{color:#c0392b;background:#e07a7a38}.esp-tag.muted{color:#5b6b73;background:#0a1e290f}.esp-tot{background:#06b6c90f;border-top:2px solid #06b6c940;font-weight:700}.esp-resumo{color:#5b6b73;font-size:13px}
