.planner-container{max-width:760px;margin:0 auto;padding:1.4rem 1rem 6.5rem;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:max-width .2s ease}@media (min-width:992px){.planner-container{max-width:780px;margin:0 auto;transform:none}}@media (min-width:1400px){.planner-container{max-width:815px;margin:0 auto;transform:none}}.planner-header{text-align:left;margin-bottom:1.3rem}.planner-title{font-size:2.55rem;font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1.1;margin:0 0 7px 0}.planner-subtitle-row{display:flex;align-items:center;gap:9px}.planner-date-subtitle{font-size:.98rem;font-weight:500;color:rgba(255,255,255,.55);letter-spacing:-.01em}.planner-greeting-badge{background:rgba(255,255,255,.1);padding:4px 10px;border-radius:100px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.7);border:none}.planner-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1.3rem;transition:grid-template-columns .25s ease}.planner-stats-row.has-four-cards{grid-template-columns:repeat(4,1fr)}.planner-stat-widget{background:rgba(28,28,30,.82);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:1rem .75rem;text-align:center;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 2px 12px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.25, 1, .5, 1),border-color .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.planner-stat-widget:hover{transform:translateY(-2px)}.planner-stat-icon{width:35px;height:35px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.96rem;margin-bottom:7px}.planner-stat-icon.cyan{color:#64d2ff;background:rgba(100,210,255,.15)}.planner-stat-icon.amber{color:#ffd60a;background:rgba(255,214,10,.15)}.planner-stat-icon.green{color:#30d158;background:rgba(48,209,88,.15)}.planner-stat-value{font-size:1.7rem;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums}.planner-stat-label{font-size:.68rem;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.05em}.planner-exam-widget{cursor:pointer;position:relative;min-height:118px}.planner-exam-widget:hover{border-color:rgba(48,209,88,.35);box-shadow:0 4px 18px rgba(0,0,0,.4),0 0 16px rgba(48,209,88,.12)}.planner-exam-widget.empty-slot{border:1px dashed rgba(255,255,255,.15);background:rgba(28,28,30,.52)}.planner-exam-widget.empty-slot:hover{border-color:rgba(48,209,88,.45);background:rgba(48,209,88,.04)}.exam-card-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.exam-card-actions{display:flex;align-items:center;gap:4px;opacity:.65;transition:opacity .2s ease}.planner-exam-widget:hover .exam-card-actions{opacity:1}.exam-action-icon-btn{width:22px;height:22px;border-radius:6px;border:none;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);font-size:.65rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;text-decoration:none}.exam-action-icon-btn:hover{background:rgba(255,255,255,.2);color:#fff}.exam-action-icon-btn.delete:hover{background:rgba(255,69,58,.25);color:#ff453a}.exam-days-val{color:#30d158!important;font-size:1.7rem;font-weight:800;letter-spacing:-.03em;line-height:1;margin:4px 0 2px 0;font-variant-numeric:tabular-nums}.exam-days-sublabel{font-size:.62rem;font-weight:700;color:#30d158;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.exam-title-badge{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.88);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.exam-date-sub{font-size:.64rem;color:rgba(255,255,255,.4);margin-top:2px}.exam-empty-val{font-size:1.2rem;font-weight:700;color:#30d158;margin:4px 0}.planner-calendar-wrapper{background:rgba(28,28,30,.82);border:1px solid rgba(255,255,255,.08);border-radius:15px;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 2px 12px rgba(0,0,0,.3);margin-bottom:1.3rem;padding:.95rem 1.05rem}.planner-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:0 .2rem .68rem .2rem;border-bottom:1px solid rgba(255,255,255,.06)}.planner-month-picker{background:0 0;border:none;color:#fff;font-size:1rem;font-weight:600;font-family:inherit;outline:0;cursor:pointer}.planner-month-picker::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.5;cursor:pointer}.planner-nav-group{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,.06);padding:3px;border-radius:10px}.planner-nav-btn{background:0 0;border:none;color:rgba(255,255,255,.6);border-radius:7px;padding:5px 10px;font-size:.8rem;font-family:inherit;cursor:pointer;transition:all .15s ease}.planner-nav-today{font-weight:600;color:#0a84ff}.planner-nav-btn:hover{background:rgba(255,255,255,.1);color:#fff}.planner-nav-btn:active{transform:scale(.93)}.planner-calendar-strip{display:flex;justify-content:space-between;gap:5px;margin-top:.7rem}.planner-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0;height:64px;background:0 0;border:none;box-shadow:none;cursor:pointer;transition:all .2s ease;position:relative;gap:5px;border-radius:11px}.planner-cal-day:hover{background:rgba(255,255,255,.06)}.cal-day-name{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.35);transition:color .2s ease}.cal-day-num{width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.06rem;font-weight:600;color:rgba(255,255,255,.8);transition:all .2s cubic-bezier(.25, 1, .5, 1);background:0 0}.planner-cal-day:not(.selected):hover .cal-day-num{background:0 0;color:#fff}.planner-cal-day.selected .cal-day-name{color:rgba(255,255,255,.7)}.planner-cal-day.selected .cal-day-num{background:#0a84ff;color:#fff;font-weight:700;box-shadow:0 4px 14px rgba(10,132,255,.4);transform:scale(1.07)}.planner-cal-day.today:not(.selected) .cal-day-num{color:#0a84ff;font-weight:700}.planner-cal-day.has-tasks::after{content:'';position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:#30d158}.planner-tabs{display:flex;background:rgba(118,118,128,.24);border-radius:9px;padding:2.5px;margin:0 auto 1.3rem auto;max-width:430px;border:none;backdrop-filter:none;-webkit-backdrop-filter:none}.planner-tab{flex:1;padding:7px 12px;border-radius:7px;border:none;background:0 0;color:rgba(255,255,255,.6);font-size:.86rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.planner-tab:hover:not(.active){color:rgba(255,255,255,.8)}.planner-tab.active{background:rgba(58,58,60,.95);color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.planner-tab-badge{font-size:.7rem;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.6);display:inline-flex;align-items:center;justify-content:center}.planner-tab.active .planner-tab-badge{background:#0a84ff;color:#fff}.planner-tab-badge.overdue{background:#ff453a;color:#fff}.planner-add-bar{display:flex;align-items:center;gap:10px;margin:0 auto 1rem auto;max-width:100%;width:100%;box-sizing:border-box;background:rgba(28,28,30,.82);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:6px 6px 6px 18px;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 2px 12px rgba(0,0,0,.3);transition:all .2s ease}.planner-add-bar:focus-within{border-color:rgba(10,132,255,.6);box-shadow:0 0 0 3px rgba(10,132,255,.12),0 2px 12px rgba(0,0,0,.3)}.planner-add-input{flex:1;background:0 0;border:none;outline:0;box-shadow:none;color:#fff;font-size:.96rem;font-weight:400;padding:0;height:40px}.planner-add-input::placeholder{color:rgba(255,255,255,.3);font-weight:400}.planner-add-btn{width:40px;height:40px;border-radius:10px;border:none;background:#0a84ff;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.planner-add-btn:hover:not(:disabled){background:#0070e0}.planner-add-btn:active:not(:disabled){transform:scale(.93)}.planner-add-btn:disabled{opacity:.25;cursor:not-allowed}.planner-task-list{display:flex;flex-direction:column;max-width:100%;width:100%;margin:0 auto;box-sizing:border-box;background:rgba(28,28,30,.82);border:1px solid rgba(255,255,255,.08);border-radius:14px;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden;gap:0}.planner-task-list:empty{display:none}.planner-task{display:flex;align-items:center;gap:14px;padding:14px 16px;background:0 0;border:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:background .15s ease;position:relative}.planner-task:not(:last-child)::after{content:'';position:absolute;bottom:0;left:48px;right:16px;height:.5px;background:rgba(255,255,255,.08)}@keyframes taskSlideIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.planner-task{animation:taskSlideIn .3s cubic-bezier(.25,1,.5,1) forwards}.planner-task:hover{background:rgba(255,255,255,.04)}.planner-task.completed{opacity:.45}.planner-task.completed .planner-task-text{text-decoration:line-through;text-decoration-color:rgba(255,255,255,0.3)}.planner-checkbox{position:relative;width:24px;height:24px;flex-shrink:0}.planner-checkbox input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:2;margin:0}.planner-checkbox-visual{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:0 0;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.planner-checkbox-visual i{font-size:.65rem;color:#fff;opacity:0;transform:scale(.5);transition:all .2s ease}.planner-checkbox input:checked~.planner-checkbox-visual{background:#0a84ff;border-color:#0a84ff}.planner-checkbox input:checked~.planner-checkbox-visual i{opacity:1;transform:scale(1)}.planner-checkbox input:hover:not(:checked)~.planner-checkbox-visual{border-color:rgba(255,255,255,.45)}.planner-task-content{flex:1;min-width:0}.planner-task-text{font-size:.95rem;font-weight:400;color:rgba(255,255,255,.92);line-height:1.35;letter-spacing:-.01em}.planner-task-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .2s ease}.planner-task:hover .planner-task-actions{opacity:1}.planner-task-action-btn{width:30px;height:30px;border-radius:8px;border:none;background:0 0;color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;font-size:.8rem}.planner-task-action-btn:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}.planner-task-action-btn.delete:hover{background:rgba(255,69,58,.15);color:#ff453a}.planner-task-action-btn.move-today:hover{background:rgba(10,132,255,.15);color:#0a84ff}.planner-task.overdue-mild{border-left:none}.planner-task.overdue-danger{border-left:none}.planner-overdue-badge{font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:100px;display:inline-flex;align-items:center;gap:4px;margin-top:4px;text-transform:uppercase;letter-spacing:.02em}.planner-overdue-badge.warn{background:rgba(255,214,10,.12);color:#ffd60a}.planner-overdue-badge.critical{background:rgba(255,69,58,.12);color:#ff453a}.planner-section-header{margin:0 auto .65rem auto;max-width:100%;width:100%;box-sizing:border-box}.planner-section-title{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.04em}.planner-tab-content{display:none;max-width:100%;margin:0 auto;width:100%;box-sizing:border-box}.planner-tab-content.active{display:block;animation:plannerFadeIn .25s ease}@keyframes plannerFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.planner-history-banner{display:flex;align-items:center;gap:10px;max-width:100%;margin:0 auto 1rem auto;width:100%;box-sizing:border-box;background:rgba(255,214,10,.08);border:1px solid rgba(255,214,10,.15);padding:9px 13px;border-radius:12px;color:#ffd60a;font-weight:500;font-size:.8rem}.planner-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.6rem 1.5rem;text-align:center;background:rgba(28,28,30,.82);border:1px solid rgba(255,255,255,.08);border-radius:13px;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 2px 12px rgba(0,0,0,.3);animation:plannerFadeIn .4s ease}.planner-empty-badge{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.85rem;border:none}.planner-empty-badge.success{background:rgba(48,209,88,.12);color:#30d158}.planner-empty-badge.warning{background:rgba(255,214,10,.12);color:#ffd60a}.planner-empty-badge.info{background:rgba(10,132,255,.12);color:#0a84ff}.planner-empty-title{font-size:1rem;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:.3rem}.planner-empty-subtitle{font-size:.82rem;color:rgba(255,255,255,.4);max-width:240px;line-height:1.4}.exam-modal-content{max-width:520px;width:min(520px,94vw);max-height:90vh;overflow-y:auto;background:linear-gradient(165deg,rgba(26,34,53,.97) 0,rgba(15,23,42,.98) 100%)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;box-shadow:0 24px 60px rgba(0,0,0,.55),0 4px 16px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12)!important;padding:1.5rem 1.6rem!important;color:#f1f5f9!important}.exam-modal-body{display:flex;flex-direction:column;gap:1.15rem;padding-top:.25rem}.exam-mode-switcher{display:flex;background:rgba(15,23,42,.65);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:4px;gap:4px}.exam-mode-btn{flex:1;padding:8px 12px;border-radius:9px;border:1px solid transparent;background:0 0;color:rgba(255,255,255,.65);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.exam-mode-btn:hover{color:#fff;background:rgba(255,255,255,.06)}.exam-mode-btn.active{background:linear-gradient(135deg,rgba(2,132,199,.28) 0,rgba(3,105,161,.32) 100%);border-color:rgba(56,189,248,.35);color:#38bdf8;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.25)}.exam-quick-dates-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.exam-quick-date-chip{background:rgba(15,23,42,.65);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:4px 10px;font-size:.72rem;color:rgba(255,255,255,.75);cursor:pointer;transition:all .15s ease}.exam-quick-date-chip:hover{background:rgba(56,189,248,.16);border-color:rgba(56,189,248,.5);color:#fff}.exam-form-section{display:flex;flex-direction:column;gap:6px}.exam-form-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.55)}.exam-chips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:190px;overflow-y:auto;padding-right:4px}.exam-chip-btn{background:rgba(15,23,42,.55);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:9px 11px;color:rgba(255,255,255,.85);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .18s ease;display:flex;align-items:center;gap:8px;text-align:left}.exam-chip-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}.exam-chip-btn.selected{background:rgba(14,165,233,.16);border-color:rgba(56,189,248,.55);color:#fff;box-shadow:0 0 14px rgba(56,189,248,.18)}.exam-chip-icon{font-size:.85rem;color:#38bdf8;flex-shrink:0}.exam-year-pills{display:flex;gap:8px;flex-wrap:wrap}.exam-year-pill{flex:1;min-width:60px;text-align:center;background:rgba(15,23,42,.55);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px 12px;color:rgba(255,255,255,.75);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .18s ease}.exam-year-pill:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}.exam-year-pill.selected{background:linear-gradient(135deg,#0284c7 0,#0369a1 100%);border-color:rgba(56,189,248,.45);color:#fff;font-weight:700;box-shadow:0 4px 12px rgba(2,132,199,.35)}.exam-date-header-row{display:flex;align-items:center;justify-content:space-between}.exam-date-status-tag{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:100px;background:rgba(56,189,248,.14);border:1px solid rgba(56,189,248,.25);color:#38bdf8}.exam-date-status-tag.tentative{background:rgba(255,214,10,.12);border:1px solid rgba(255,214,10,.25);color:#ffd60a}.exam-date-input,.exam-text-input{background:rgba(15,23,42,.65);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#f8fafc;padding:9px 12px;font-size:.92rem;font-family:inherit;outline:0;width:100%;box-sizing:border-box;transition:all .2s ease;box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.exam-date-input:focus,.exam-text-input:focus{border-color:#38bdf8;background:rgba(15,23,42,.85);box-shadow:0 0 0 3px rgba(56,189,248,.2),inset 0 1px 2px rgba(0,0,0,.2)}.exam-date-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.exam-helper-note{font-size:.72rem;color:rgba(255,255,255,.45);margin:4px 0 0 0;line-height:1.4}.exam-preview-box{background:rgba(15,23,42,.7);border:1.5px dashed rgba(56,189,248,.38);box-shadow:0 4px 18px rgba(0,0,0,.25),inset 0 0 20px rgba(56,189,248,.05);border-radius:14px;padding:14px 12px;text-align:center;display:flex;flex-direction:column;align-items:center}.exam-preview-num{font-size:2.2rem;font-weight:800;color:#38bdf8;line-height:1;font-variant-numeric:tabular-nums}.exam-preview-label{font-size:.65rem;font-weight:700;color:rgba(255,255,255,.65);letter-spacing:.08em;margin-top:5px}.exam-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.08);padding-top:1rem}.exam-btn-cancel{background:rgba(255,255,255,.06)!important;color:rgba(255,255,255,.85)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;padding:9px 18px!important;font-size:.86rem!important;font-weight:600!important;cursor:pointer!important}.exam-btn-cancel:hover{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important}.exam-btn-save{background:linear-gradient(135deg,#0284c7 0,#0369a1 100%)!important;color:#fff!important;border:1px solid rgba(56,189,248,.4)!important;border-radius:10px!important;padding:9px 20px!important;font-size:.86rem!important;font-weight:600!important;cursor:pointer!important;box-shadow:0 4px 14px rgba(2,132,199,.35),inset 0 1px 0 rgba(255,255,255,.2)!important;transition:transform .15s,background .15s,box-shadow .15s!important}.exam-btn-save:hover{background:linear-gradient(135deg,#0ea5e9 0,#0284c7 100%)!important;box-shadow:0 6px 18px rgba(2,132,199,.45)!important;transform:translateY(-1px)!important}@media (max-width:640px){.planner-stats-row.has-four-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.planner-container{padding:1rem .75rem 6rem;transform:none!important}.planner-title{font-size:2rem}.planner-stats-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1rem}.planner-stats-row.has-four-cards{grid-template-columns:repeat(2,1fr)}.planner-stat-widget{padding:.85rem .5rem;border-radius:13px}.planner-stat-value{font-size:1.4rem}.planner-stat-icon{width:28px;height:28px;font-size:.82rem}.planner-calendar-wrapper{padding:.75rem;border-radius:13px}.planner-calendar-strip{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;gap:6px}.planner-calendar-strip::-webkit-scrollbar{display:none}.planner-cal-day{flex:0 0 46px;min-width:46px;height:58px}.cal-day-num{width:32px;height:32px;font-size:.95rem}.planner-tabs{margin-bottom:1rem;max-width:100%}.planner-task{padding:12px 14px;gap:12px}.planner-task-actions{opacity:1}.planner-task-text{font-size:.9rem}.exam-chips-grid{grid-template-columns:1fr}}@media (max-width:580px){.planner-stats-row{grid-template-columns:repeat(2,1fr)}.planner-stats-row.has-four-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.planner-container{max-width:795px}}@media (min-width:1400px){.planner-container{max-width:815px}}