:root{--bg: #0d0f1a;--surface: #141728;--border: #242840;--accent1: #4f7eff;--accent2: #ff6b6b;--accent3: #00d4a8;--accent4: #f5c842;--text: #e8eaf6;--muted: #8891b8;--phase1: #1a2040;--phase2: #1a2830}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Mono,monospace;background:var(--bg);color:var(--text);min-height:100vh;padding:0 20px 40px}.grain{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");opacity:.4}.container{max-width:960px;margin:0 auto;position:relative;z-index:1}.hidden{display:none!important}.navbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0;margin-bottom:20px;border-bottom:1px solid var(--border)}.nav-brand{font-family:Syne,sans-serif;font-size:20px;font-weight:800;color:var(--accent1);text-decoration:none}.nav-actions{display:flex;align-items:center;gap:12px}.nav-email{font-size:11px;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:6px;font-family:DM Mono,monospace;font-size:12px;padding:8px 16px;border-radius:6px;border:1px solid var(--border);cursor:pointer;text-decoration:none;transition:all .2s}.btn-primary{background:var(--accent1);color:#fff;border-color:var(--accent1)}.btn-primary:hover{background:#3a6aee}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover{background:var(--surface)}.btn-danger{background:var(--accent2);color:#fff;border-color:var(--accent2)}.btn-full{width:100%;justify-content:center}.btn:disabled{opacity:.5;cursor:not-allowed}header{text-align:center;margin-bottom:32px}.hero-badge,.badge{display:inline-block;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--accent3);border:1px solid var(--accent3);padding:4px 12px;border-radius:2px;margin-bottom:20px;font-weight:500}h1{font-family:Syne,sans-serif;font-size:clamp(28px,5vw,48px);font-weight:800;line-height:1.1;background:linear-gradient(135deg,#fff 30%,var(--accent1));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.subtitle{color:var(--muted);font-size:12px;letter-spacing:1px}.schedules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}.schedule-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;cursor:pointer;transition:all .2s;text-decoration:none;color:var(--text)}.schedule-card:hover{border-color:var(--accent1);transform:translateY(-2px)}.schedule-card-badge{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--accent3);margin-bottom:12px}.schedule-card-title{font-family:Syne,sans-serif;font-size:18px;font-weight:700;margin-bottom:8px}.schedule-card-subtitle{font-size:11px;color:var(--muted);margin-bottom:16px}.schedule-card-stats{display:flex;gap:12px;flex-wrap:wrap}.schedule-card-stat{font-size:10px;color:var(--muted)}.schedule-card-stat strong{color:var(--accent1);font-family:Syne,sans-serif;font-weight:700}.schedule-card-fork{font-size:9px;color:var(--accent4);margin-top:8px;letter-spacing:1px}.loading{text-align:center;color:var(--muted);padding:40px;font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:60px 20px}.empty-state p{margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.stat-val{font-family:Syne,sans-serif;font-size:28px;font-weight:800;color:var(--accent1);line-height:1}.stat-label{font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:1px}.progress-bar-container{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:24px}.progress-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label{font-size:11px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.progress-pct{font-family:Syne,sans-serif;font-size:16px;font-weight:700;color:var(--accent3)}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent1),var(--accent3));border-radius:3px;transition:width .4s ease;width:0%}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.schedule-actions{display:flex;align-items:center;gap:12px}.fork-info{font-size:10px;color:var(--accent4);letter-spacing:1px}.legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.legend-title{width:100%;font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}.tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:4px 10px;border-radius:4px;font-weight:500;letter-spacing:.5px}.tag-dot{width:7px;height:7px;border-radius:50%}.tag-geral{background:#1e2544;color:#8fa3ff}.tag-dados{background:#1e3030;color:#4fd4b4}.tag-sw{background:#1e2a40;color:#7ec8ff}.tag-ia{background:#2a1e40;color:#c07bff}.tag-gov{background:#2a2010;color:#f5c842}.tag-nuvem{background:#102a2a;color:#00e5c5}.tag-arq{background:#2a1e1e;color:#ff8a7a}.tag-infra{background:#1e1e2a;color:#8a8aff}.tag-seg{background:#2a1e28;color:#ff7adb}.tag-audit{background:#2a2010;color:#ffa84d}.tag-rev{background:#1a2a1a;color:#5ddd70}.phase-header{display:flex;align-items:center;gap:16px;margin:32px 0 16px}.phase-label{font-family:Syne,sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:6px 14px;border-radius:4px}.phase1-label{background:var(--accent1);color:#fff}.phase2-label{background:var(--accent3);color:#001a12}.phase-line{flex:1;height:1px;background:var(--border)}.phase-info{font-size:11px;color:var(--muted)}.days-grid{display:flex;flex-direction:column;gap:8px}.day-card{border-radius:8px;border:1px solid var(--border);overflow:hidden;transition:border-color .2s}.day-card:hover{border-color:var(--accent1)}.day-card.phase1{background:var(--phase1)}.day-card.phase2{background:var(--phase2)}.day-card.completed{opacity:.6}.day-card.completed .day-title:after{content:" -- Concluido";color:var(--accent3);font-size:10px}.day-inner{display:grid;grid-template-columns:64px 1px 90px 1px 1fr auto;align-items:stretch;min-height:60px}.day-num{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px}.day-label{font-size:9px;color:var(--muted);letter-spacing:1px}.day-n{font-family:Syne,sans-serif;font-size:22px;font-weight:800;color:var(--text);line-height:1}.sep{background:var(--border)}.day-meta{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;text-align:center;gap:4px}.day-hours{font-family:Syne,sans-serif;font-weight:700;font-size:16px}.phase1 .day-hours{color:var(--accent1)}.phase2 .day-hours{color:var(--accent3)}.day-hslabel{font-size:9px;color:var(--muted)}.day-content{padding:12px 16px}.day-title{font-family:Syne,sans-serif;font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}.day-topics{display:flex;flex-wrap:wrap;gap:4px}.topic-chip{font-size:10px;padding:3px 8px;border-radius:4px;font-weight:500;transition:all .2s;position:relative}.topic-chip.clickable{cursor:pointer}.topic-chip.clickable:hover{filter:brightness(1.3)}.topic-chip.done{opacity:.5;text-decoration:line-through}.topic-chip.done:before{content:"";margin-right:2px}.c-geral{background:#1e2544;color:#8fa3ff}.c-dados{background:#1e3030;color:#4fd4b4}.c-sw{background:#1e2a40;color:#7ec8ff}.c-ia{background:#2a1e40;color:#c07bff}.c-gov{background:#2a2010;color:#f5c842}.c-nuvem{background:#102a2a;color:#00e5c5}.c-arq{background:#2a1e1e;color:#ff8a7a}.c-infra{background:#1e1e2a;color:#8a8aff}.c-seg{background:#2a1e28;color:#ff7adb}.c-audit{background:#2a2010;color:#ffa84d}.c-rev{background:#1a2a1a;color:#5ddd70}.cargo-badge{font-size:9px;padding:2px 6px;border-radius:3px;font-weight:600;letter-spacing:.5px;margin-left:4px}.cargo-cargo4{background:#1e3040;color:#5ec4ff;border:1px solid #5ec4ff44}.cargo-cargo12{background:#401e30;color:#ff9f5e;border:1px solid #ff9f5e44}.cargo-ambos{background:#1a3020;color:#5ef09f;border:1px solid #5ef09f44}.day-actions{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;gap:4px}.day-action-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--muted);font-size:14px;border-radius:4px;transition:all .2s;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.day-action-btn:hover{background:var(--surface);color:var(--text)}.day-check-btn.checked{color:var(--accent3)}.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;inset:0;background:#000000b3}.modal-content{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;max-width:420px;width:90%}.modal-wide{max-width:560px}.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-title{font-family:Syne,sans-serif;font-size:20px;font-weight:700;margin-bottom:20px;background:none;-webkit-text-fill-color:var(--text)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:DM Mono,monospace;font-size:13px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-toggle{text-align:center;margin-top:16px;font-size:11px;color:var(--muted)}.auth-toggle a{color:var(--accent1);text-decoration:none}.auth-error{color:var(--accent2);font-size:11px;text-align:center;margin-top:12px}.auth-success{color:var(--accent3);font-size:11px;text-align:center;margin-top:12px}@media(max-width:600px){.stats{grid-template-columns:repeat(2,1fr)}.day-inner{grid-template-columns:52px 1px 74px 1px 1fr auto}.navbar{flex-direction:column;gap:12px}.schedules-grid{grid-template-columns:1fr}}
