:root{--bg:#000;--panel:#050505;--panel2:#0a0a0a;--text:#fff;--muted:#b7c0ca;--border:#252a31;--cyan:#00d9ff;--green:#00ff9c;--yellow:#ffd400;--red:#ff314d;--violet:#a970ff;--shadow:0 18px 50px rgba(0,0,0,.55)}
*{box-sizing:border-box}html{background:#000;color-scheme:dark}body{margin:0;background:#000;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 20%,rgba(0,217,255,.13),transparent 30%),radial-gradient(circle at 20% 85%,rgba(0,255,156,.08),transparent 35%),#000}.login-card{width:min(440px,100%);padding:30px;border:1px solid #313740;background:#050505;border-radius:26px;box-shadow:var(--shadow)}.brand-mark{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-weight:950;background:#001419;border:1px solid rgba(0,217,255,.65);color:var(--cyan);box-shadow:0 0 30px rgba(0,217,255,.13)}.brand-mark.small{width:42px;height:42px;border-radius:13px}.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--green)}h1{margin:10px 0 8px;font-size:2rem}label{display:grid;gap:7px;font-weight:750}.stack{display:grid;gap:14px;margin-top:22px}input,textarea,select{width:100%;background:#090909;border:1px solid #343a44;color:#fff;border-radius:12px;padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,217,255,.12)}textarea{min-height:150px;resize:vertical}.form-status{min-height:20px;font-size:.84rem;color:var(--red)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #222831;background:#030303;padding:16px;display:flex;flex-direction:column;gap:22px}.brand-row{display:flex;align-items:center;gap:11px}.brand-row strong,.brand-row span{display:block}.brand-row span{font-size:.78rem;color:var(--muted)}nav{display:grid;gap:6px}.nav-btn{border:1px solid transparent;background:transparent;color:#d8dee6;text-align:left;padding:11px 12px;border-radius:12px;font-weight:800;display:flex;gap:10px;align-items:center}.nav-btn:hover{background:#090909;border-color:#222}.nav-btn.active{background:#071317;color:#fff;border-color:rgba(0,217,255,.35);box-shadow:inset 3px 0 var(--cyan)}.sidebar-foot{margin-top:auto;display:grid;gap:10px}.user-chip{font-size:.78rem;color:var(--muted);padding:10px;border:1px solid #242a32;border-radius:12px}.user-chip strong{display:block;color:#fff;margin-bottom:2px}
.main{min-width:0}.topbar{position:sticky;top:0;z-index:20;min-height:78px;padding:14px 22px;border-bottom:1px solid #20252c;background:rgba(0,0,0,.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar h2{margin:2px 0 0}.content{padding:20px;max-width:1500px;margin:auto}.sync-status{font-size:.74rem;color:var(--green);border:1px solid rgba(0,255,156,.28);padding:6px 9px;border-radius:99px}.sync-status.saving{color:var(--yellow);border-color:rgba(255,212,0,.35)}
.btn{border:1px solid #363d47;background:#0b0b0b;color:#fff;padding:10px 13px;border-radius:11px;font-weight:850}.btn:hover{border-color:var(--cyan)}.btn.primary{background:#06232a;border-color:#087389;color:#fff}.btn.success{background:#07251b;border-color:#16754f}.btn.danger{border-color:#6b2630;color:#ff93a2}.btn.ghost{background:#070707}.btn.full{width:100%}.icon-btn{border:1px solid #333;background:#080808;color:#fff;border-radius:10px;padding:8px 10px}
.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:#050505;border:1px solid #252b33;border-radius:18px;padding:16px;box-shadow:0 12px 36px rgba(0,0,0,.25)}.panel h3{margin:0 0 12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.hero-panel{padding:22px;background:radial-gradient(circle at 88% 12%,rgba(0,217,255,.14),transparent 30%),#050505}.hero-panel h1{font-size:clamp(1.6rem,4vw,2.6rem);margin:8px 0}.clock{font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:950}.date-line{color:var(--muted);text-transform:capitalize}.countdown{font-size:1.05rem;font-weight:900;margin-top:12px;padding:11px 13px;border:1px solid rgba(0,217,255,.35);background:#061116;border-radius:13px}.countdown.warn{border-color:rgba(255,212,0,.55);background:#171300}.countdown.alert{border-color:rgba(255,49,77,.7);background:#1b060a;color:#fff}.stat{position:relative;overflow:hidden}.stat:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--cyan)}.stat.green:before{background:var(--green)}.stat.yellow:before{background:var(--yellow)}.stat.red:before{background:var(--red)}.stat .value{font-size:1.7rem;font-weight:950}.stat .label{font-size:.76rem;color:var(--muted);margin-top:3px}
.list{display:grid;gap:8px}.list-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 12px;background:#080808;border:1px solid #242a31;border-radius:12px}.list-row.done .row-title{text-decoration:line-through;color:#9ba4af}.row-main{display:flex;gap:10px;align-items:flex-start;min-width:0}.check{width:24px;height:24px;border-radius:8px;border:1px solid #3b444f;display:grid;place-items:center;flex:0 0 auto;color:var(--green)}.row-title{font-weight:820;overflow-wrap:anywhere}.row-sub{font-size:.75rem;color:var(--muted);margin-top:2px}.badge{display:inline-flex;align-items:center;border:1px solid #343c46;background:#090909;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:850}.badge.a{border-color:rgba(255,49,77,.6);color:#ff8a9a}.badge.compact{border-color:rgba(0,255,156,.55);color:var(--green)}.badge.cross{border-color:rgba(0,217,255,.55);color:var(--cyan)}.badge.study{border-color:rgba(169,112,255,.55);color:#c7a4ff}.progress{height:10px;background:#11161b;border:1px solid #252b32;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:inherit}.section-title{margin:24px 0 10px;display:flex;justify-content:space-between;align-items:end;gap:10px}.section-title h3{margin:0}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar input{flex:1;min-width:220px}.topic-card{display:grid;gap:10px}.topic-card .topic-title{font-weight:950;font-size:1.02rem}.topic-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.meta-box{border:1px solid #252c34;background:#080808;padding:8px;border-radius:10px}.meta-box b{display:block;color:var(--cyan);font-size:.66rem;text-transform:uppercase;margin-bottom:3px}.meta-box span{font-size:.79rem}.actions{display:flex;gap:7px;flex-wrap:wrap}.area-tabs{display:flex;gap:7px;flex-wrap:wrap}.area-tab.active{border-color:var(--cyan);background:#07151a}.material-card{min-height:150px;display:flex;flex-direction:column}.material-card .actions{margin-top:auto}.empty{padding:24px;border:1px dashed #343b45;border-radius:14px;color:var(--muted);text-align:center}
.flashcard-stage{max-width:800px;margin:auto}.flashcard-box{min-height:280px;display:grid;place-items:center;text-align:center;padding:28px;border:1px solid #303741;border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(0,217,255,.09),transparent 35%),#050505}.flashcard-box h3{font-size:1.35rem;line-height:1.45}.answer{border-top:1px solid #2c333b;margin-top:18px;padding-top:18px;white-space:pre-wrap}.rating-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.rating-grid button:nth-child(1){border-color:#7d2834}.rating-grid button:nth-child(2){border-color:#7c6420}.rating-grid button:nth-child(3){border-color:#186648}.rating-grid button:nth-child(4){border-color:#166378}
.agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:14px}.note-editor{display:grid;gap:9px}.note-list{max-height:340px;overflow:auto;display:grid;gap:7px}.note-item{padding:10px;border:1px solid #272e37;background:#080808;border-radius:10px;cursor:pointer}.note-item.active{border-color:var(--cyan)}.save-indicator{font-size:.74rem;color:var(--green)}
.chart{display:grid;gap:7px}.bar-row{display:grid;grid-template-columns:100px 1fr 54px;align-items:center;gap:8px;font-size:.75rem}.bar-track{height:11px;background:#11161b;border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:99px}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{aspect-ratio:1;border-radius:8px;border:1px solid #242a31;display:grid;place-items:center;font-size:.72rem;color:#69737f}.day.active{background:#07301f;border-color:#168154;color:#fff}.day.today{outline:1px solid var(--cyan)}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-table{display:grid;gap:7px}.admin-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #252c34;border-radius:10px}.admin-row input{padding:8px}.small-text{font-size:.73rem;color:var(--muted)}
.reader-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;background:#000;padding:0}.reader-dialog::backdrop{background:#000}.reader-bar{height:58px;border-bottom:1px solid #222;display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#050505}.reader-dialog iframe{display:block;width:100%;height:calc(100vh - 58px);border:0;background:#000}.toast{position:fixed;z-index:100;right:18px;bottom:18px;max-width:360px;padding:11px 13px;border:1px solid #39414b;background:#0b0b0b;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{border-color:#7d2834}.mobile-only{display:none}
@media(max-width:1050px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.agenda-layout{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:60;left:0;top:0;transform:translateX(-105%);transition:.2s;width:270px}.sidebar.open{transform:none}.mobile-only{display:inline-flex}.content{padding:13px}.topbar{padding:12px 13px}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.topic-meta{grid-template-columns:1fr}.rating-grid{grid-template-columns:repeat(2,1fr)}.bar-row{grid-template-columns:80px 1fr 44px}.hero-panel{padding:16px}}

/* Home v2: calendário mensal + meta diária */
.home-hero-grid{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(380px,1.1fr);gap:24px;align-items:stretch;margin-top:16px}.exam-stack{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:14px 6px}.month-calendar-wrap{border:1px solid #232a31;background:#030303;border-radius:18px;padding:16px;min-width:0}.calendar-current{font-size:1rem;color:#fff;text-transform:capitalize;margin-bottom:14px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.calendar-head strong{font-size:1.2rem;text-transform:lowercase}.calendar-nav{display:flex;gap:6px}.calendar-nav-btn{width:34px;height:34px;border-radius:9px;border:1px solid #303740;background:#0a0a0a;color:#fff;font-size:1.25rem;display:grid;place-items:center}.calendar-nav-btn:hover{border-color:var(--cyan)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{height:30px;display:grid;place-items:center;font-weight:850;font-size:.75rem;color:#dbe1e8}.calendar-cell{aspect-ratio:1;min-height:34px;display:grid;place-items:center;border-radius:50%;font-size:.92rem;color:#fff}.calendar-cell.outside{color:#505760}.calendar-cell.today{background:var(--cyan);color:#001014;font-weight:950;box-shadow:0 0 0 4px rgba(0,217,255,.08),0 0 20px rgba(0,217,255,.2)}
.home-main-grid{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)}.daily-plan-panel{border-color:#2a3139}.daily-score{font-size:1.35rem;font-weight:950;color:var(--green)}.daily-goals{display:grid;gap:8px}.daily-goal{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #272e36;background:#080808;border-radius:13px}.daily-goal.done{border-color:rgba(0,255,156,.3);background:#06120d}.daily-goal.done .row-title{text-decoration:line-through;color:#9ea9b4}.daily-area{width:44px;height:32px;border-radius:9px;display:grid;place-items:center;background:#07161b;border:1px solid rgba(0,217,255,.35);color:var(--cyan);font-size:.72rem;font-weight:950}.daily-goal.done .daily-area{background:#071a12;border-color:rgba(0,255,156,.4);color:var(--green)}.daily-goal-body{min-width:0}.daily-actions{display:flex;align-items:center;gap:7px}.daily-check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#082317;border:1px solid #176b4a;color:var(--green);font-weight:950}.btn.small{padding:7px 9px;font-size:.72rem}
@media(max-width:1050px){.home-hero-grid{grid-template-columns:1fr}.exam-stack{padding:0;gap:16px}.home-main-grid{grid-template-columns:1fr}}
@media(max-width:620px){.month-calendar-wrap{padding:12px}.calendar-cell{font-size:.82rem}.daily-goal{grid-template-columns:44px minmax(0,1fr)}.daily-actions{grid-column:2;justify-content:flex-start}.home-hero-grid{grid-template-columns:1fr}.calendar-head strong{font-size:1.05rem}}

/* Home v3: cronômetro, ranking semanal e questões */
.study-control-grid{grid-template-columns:minmax(330px,.85fr) minmax(480px,1.15fr)}
.study-session-panel,.question-panel,.ranking-panel{border-color:#29313a}.session-state{font-size:.66rem;font-weight:950;letter-spacing:.08em;border:1px solid #38414c;border-radius:999px;padding:5px 8px;color:#9ba7b4}.session-state.active{border-color:rgba(0,255,156,.5);color:var(--green);background:#06150e}.study-idle,.study-timer-live{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:94px}.study-timer-live{display:grid;grid-template-columns:auto 1fr auto}.study-total{font-size:2rem;font-weight:950;margin-top:3px}.study-elapsed{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:950;font-variant-numeric:tabular-nums;color:var(--cyan);text-align:center}.study-main-btn{min-width:155px;min-height:48px}.question-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.question-summary span{padding:9px;border:1px solid #29313a;border-radius:10px;background:#080808;font-size:.75rem}.question-summary b{font-size:1.05rem}.q-good{color:var(--green)}.q-bad{color:#ff788b}.question-accuracy{font-size:1.35rem;font-weight:950;color:var(--green)}.question-form{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr)) auto;gap:8px;align-items:end}.question-form label{font-size:.7rem;color:var(--muted)}.question-form input{margin-top:4px}.question-log{display:grid;gap:5px;margin-top:10px}.question-log-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:#080808;border:1px solid #242b33;border-radius:9px;font-size:.72rem}.icon-btn.tiny{padding:2px 7px;font-size:1rem}.week-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:6px 0 14px}.week-tab{border:1px solid #29313a;background:#080808;color:#9ca7b3;border-radius:11px;padding:8px 5px;display:grid;gap:2px;text-align:center}.week-tab span{font-size:.67rem;text-transform:uppercase}.week-tab b{font-size:.92rem;color:#fff}.week-tab.active{border-color:var(--cyan);background:#06151a;box-shadow:0 0 16px rgba(0,217,255,.08)}.ranking-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px}.ranking-subtitle{font-size:.72rem;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}.ranking-table,.weekly-list{display:grid;gap:7px}.ranking-row{display:grid;grid-template-columns:42px minmax(150px,1fr) 75px 92px 95px;gap:8px;align-items:center;padding:10px;border:1px solid #272f38;background:#080808;border-radius:12px}.ranking-row.me,.weekly-row.me{border-color:rgba(0,217,255,.35);background:#061116}.rank-number{font-size:1.15rem;font-weight:950;color:var(--yellow);text-align:center}.rank-name{display:grid;min-width:0}.rank-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-name span{font-size:.67rem;color:var(--muted)}.rank-time,.rank-total{display:grid;gap:2px}.rank-time span,.rank-total span{font-size:.62rem;color:var(--muted);text-transform:uppercase}.rank-time b,.rank-total b{font-size:.8rem}.rank-time em{color:var(--green);font-style:normal;font-size:.7rem}.rank-total b{color:var(--cyan)}.weekly-row{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid #272f38;background:#080808;border-radius:12px}.weekly-pos{font-weight:950;color:var(--yellow)}.weekly-row>b{color:var(--cyan)}.compact-empty{padding:15px}
@media(max-width:1100px){.study-control-grid,.ranking-layout{grid-template-columns:1fr}.ranking-row{grid-template-columns:42px minmax(140px,1fr) 70px 90px 90px}}
@media(max-width:700px){.study-timer-live{grid-template-columns:1fr}.study-elapsed{text-align:left}.study-main-btn{width:100%}.question-form{grid-template-columns:repeat(3,1fr)}.question-form .btn{grid-column:1/-1}.week-tabs{gap:4px}.week-tab{padding:7px 2px}.ranking-row{grid-template-columns:36px 1fr auto}.rank-time{display:none}.rank-total{grid-column:3}.question-summary{grid-template-columns:1fr}}
