:root,[data-theme=dark]{--bg:#070f22;--surface:#0e1b3c;--surface-2:#0a152e;--line:#1e2f57;--text:#eaf0ff;--muted:#8c99b8;--head:#fff;--gold:#e0b23a;--gold-strong:#f2c200;--grau-bg:#13234a;--pill-bg:#10301f;--pill-fg:#5fd08b;--field-bg:#0a152e}[data-theme=warm]{--bg:#f3ecdc;--surface:#fcf8ee;--surface-2:#f7f0e0;--line:#e6dac1;--text:#2c2a22;--muted:#8a7f66;--head:#14306e;--gold:#b8860b;--gold-strong:#c9971e;--grau-bg:#14306e;--pill-bg:#e8f1e4;--pill-fg:#3e7b45;--field-bg:#fffdf8}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:background .2s,color .2s}.serif{letter-spacing:.01em;font-family:Georgia,Times New Roman,serif}a{color:var(--gold)}.btn{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;padding:11px 18px;font:600 14px system-ui;text-decoration:none;display:inline-flex}.btn-gold{color:#0a152e;background:linear-gradient(180deg,var(--gold),var(--gold-strong))}.btn-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.field{background:var(--field-bg);border:1px solid var(--line);width:100%;color:var(--text);border-radius:11px;padding:13px 14px;font-size:14.5px}.field::placeholder{color:var(--muted)}.field:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c9971e2e}.auth{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.auth-emblem{filter:drop-shadow(0 0 14px #e0b23a38);margin-bottom:28px}.auth-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:18px;width:100%;max-width:380px;padding:34px 30px 30px}.auth-card h1{color:var(--head);margin:0;font-size:25px;font-weight:600}.auth-card .sub{color:var(--muted);margin:8px 0 24px;font-size:13.5px}.auth-fields{text-align:left;gap:11px;display:grid}.auth-cta{width:100%;margin-top:16px}.auth-hint{color:var(--muted);margin:18px 0 0;font-size:12px}.auth-erro{color:#e06a6a;margin:14px 0 0;font-size:13px}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 26px;display:flex}.topbar .brand{color:var(--head);align-items:center;gap:10px;font-weight:600;display:flex}.topbar .nav{flex:1;gap:18px;margin-left:8px;display:flex}.topbar .nav a{color:var(--muted);font-size:14px;text-decoration:none}.topbar .nav a:hover{color:var(--gold)}.topbar .right{align-items:center;gap:16px;display:flex}.topbar .loja{color:var(--muted);font-size:12.5px}.content{width:100%;max-width:1100px;margin:0 auto;padding:32px 30px}.page-title{color:var(--head);margin:0;font-size:23px;font-weight:600}.crumbs{color:var(--muted);margin:6px 0 24px;font-size:13px}.toolbar{justify-content:flex-end;gap:10px;margin-bottom:12px;display:flex}.table{border-collapse:collapse;width:100%}.table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:0 14px 12px;font:600 11px system-ui}.table tbody td{border-top:1px solid var(--line);color:var(--text);padding:14px;font-size:14px}.grau{width:24px;height:24px;color:var(--gold-strong);background:var(--grau-bg);border-radius:50%;justify-content:center;align-items:center;margin-right:10px;font:700 11px system-ui;display:inline-flex}.pill{background:var(--pill-bg);color:var(--pill-fg);border-radius:999px;padding:4px 10px;font:600 11px system-ui}.add-form{gap:10px;display:flex}.theme-toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--gold);cursor:pointer;background:0 0;border-radius:9px;font-size:16px;line-height:1}.sess-group{margin-bottom:26px}.sess-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font:600 12px system-ui}.sess-card{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:14px 16px;text-decoration:none;display:flex}.sess-card:hover{border-color:var(--gold)}.sess-card .meta{color:var(--muted);font-size:13px}.sess-empty{color:var(--muted);font-size:13px;font-style:italic}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:4px 10px;font:600 11px system-ui}.badge.agendada{background:var(--grau-bg);color:var(--gold)}.badge.aberta{background:var(--pill-bg);color:var(--pill-fg)}.badge.encerrada{background:var(--surface-2);color:var(--muted)}.sess-head{align-items:center;gap:14px;margin-bottom:4px;display:flex}.panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-top:20px;padding:20px 22px}.panel h2{color:var(--head);margin:0 0 14px;font-size:17px}.presenca-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.presenca-item:first-child{border-top:0}.presenca-item .trava{color:var(--muted);font-size:12px}.tronco-total{color:var(--head);font:700 22px Georgia,serif}.landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:40px 24px;display:flex}.landing h1{color:var(--head);margin:0;font-size:40px}.landing p{color:var(--muted);max-width:440px;margin:0;line-height:1.5}
