:root{--color-bg: #f7f8fa;--color-surface: #ffffff;--color-primary: #f26722;--color-primary-dark: #d9581a;--color-primary-light: #fde8d8;--color-accent: #ef3924;--color-accent-dark: #d42d1a;--color-text: #1a1a1a;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-lock: #fde8d8;--color-error: #dc2626;--focus-ring-primary: rgba(242, 103, 34, .25);--focus-ring-accent: rgba(239, 57, 36, .25);--focus-ring-primary-input: rgba(242, 103, 34, .15);--focus-ring-ghost: rgba(242, 103, 34, .06);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(41, 50, 65, .08);--shadow-md: 0 4px 12px rgba(41, 50, 65, .12);--shadow-lg: 0 8px 24px rgba(41, 50, 65, .16);--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .25s ease-in-out;--transition-progress: .6s ease-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;border:none;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 0 0 3px var(--focus-ring-primary)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--color-accent-dark);box-shadow:0 0 0 3px var(--focus-ring-accent)}.btn-ghost{background:none;color:var(--color-primary);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){border-color:var(--color-primary);background:var(--focus-ring-ghost)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.page-enter{animation:fadeIn var(--transition-slow) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.progress-track{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary-light);border-radius:var(--radius-full);transition:width var(--transition-progress)}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--color-text-muted)}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-primary-input)}.error-text{color:var(--color-error);font-size:13px;margin-top:8px}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.landing-logo{font-size:22px;font-weight:700;color:var(--color-text);letter-spacing:-.3px}.landing-nav-right{display:flex;align-items:center;gap:10px}.landing-nav-signin{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-text);padding:7px 16px;transition:border-color var(--transition-fast),background var(--transition-fast)}.landing-nav-signin:hover{border-color:var(--color-text);background:var(--color-bg)}.landing-nav-cta{font-size:13px;padding:8px 16px}.landing-btn-primary{padding:12px 28px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:500;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.landing-btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 0 0 3px var(--focus-ring-primary)}.landing-btn-ghost{padding:12px 28px;background:none;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:15px;font-weight:500;transition:border-color var(--transition-fast),background var(--transition-fast)}.landing-btn-ghost:hover{border-color:var(--color-primary);background:var(--color-bg)}.landing-btn-lg{font-size:16px;padding:14px 32px}.landing-hero{background:var(--color-surface);padding:80px 40px 88px}.landing-hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.landing-hero-badge{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-primary);background:#3d5a8014;border-radius:var(--radius-full);padding:5px 14px;margin-bottom:20px}.landing-headline{font-size:48px;font-weight:700;line-height:1.15;color:var(--color-text);letter-spacing:-.8px;margin-bottom:20px}.landing-headline-accent{color:var(--color-accent)}.landing-subheadline{font-size:17px;color:var(--color-text-muted);line-height:1.65;margin-bottom:36px;max-width:480px}.landing-cta-group{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.landing-hero-hint{font-size:13px;color:var(--color-text-muted)}.landing-hero-visual{display:flex;justify-content:center}.landing-mock{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:20px;width:100%;max-width:380px}.landing-mock-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.landing-mock-logo{font-size:13px;font-weight:700;color:var(--color-text)}.landing-mock-tier{font-size:11px;font-weight:600;background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:var(--radius-full)}.landing-mock-label{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px}.landing-mock-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;margin-bottom:10px}.landing-mock-card--muted{opacity:.7}.landing-mock-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.landing-mock-card-title{font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:3px}.landing-mock-card-sub{font-size:11px;color:var(--color-text-muted)}.landing-mock-countdown{font-size:11px;font-weight:600;background:#3d5a801a;color:var(--color-primary);padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap}.landing-mock-countdown--far{background:var(--color-border);color:var(--color-text-muted)}.landing-mock-track{height:5px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:6px}.landing-mock-fill{height:100%;background:var(--color-primary-light);border-radius:var(--radius-full)}.landing-mock-pct{font-size:11px;color:var(--color-text-muted)}.landing-mock-flashcard{background:var(--color-surface);border:1px solid var(--color-primary-light);border-radius:var(--radius-md);padding:14px;margin-top:4px}.landing-mock-flashcard-eyebrow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);margin-bottom:8px}.landing-mock-flashcard-q{font-size:12px;color:var(--color-text);line-height:1.5;font-weight:500}.landing-stats{background:var(--color-primary);display:flex;justify-content:center;align-items:center;gap:0;padding:24px 40px;flex-wrap:wrap}.landing-stat{display:flex;flex-direction:column;align-items:center;padding:0 40px}.landing-stat-num{font-size:16px;font-weight:700;color:#fff}.landing-stat-label{font-size:12px;color:var(--color-primary-light);margin-top:2px}.landing-stat-divider{width:1px;height:32px;background:#fff3}.landing-features-section{background:var(--color-bg);padding:88px 40px}.landing-features-inner{max-width:1000px;margin:0 auto}.landing-section-title{font-size:30px;font-weight:700;color:var(--color-text);letter-spacing:-.4px;margin-bottom:12px;text-align:center}.landing-section-sub{font-size:16px;color:var(--color-text-muted);text-align:center;margin-bottom:52px}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px 24px;transition:box-shadow var(--transition-base),transform var(--transition-base)}.landing-feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.landing-feature-icon{font-size:28px;margin-bottom:14px}.landing-feature-card h3{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:8px}.landing-feature-card p{font-size:13px;color:var(--color-text-muted);line-height:1.6}.landing-how{background:var(--color-surface);padding:88px 40px}.landing-how-inner{max-width:900px;margin:0 auto;text-align:center}.landing-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-top:52px;flex-wrap:wrap}.landing-step{flex:1;min-width:200px;max-width:260px;padding:0 20px}.landing-step-num{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-surface);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.landing-step h3{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:10px}.landing-step p{font-size:14px;color:var(--color-text-muted);line-height:1.6}.landing-step-divider{width:60px;height:2px;background:var(--color-border);align-self:center;margin-top:-32px;flex-shrink:0}.landing-pricing{background:var(--color-bg);padding:88px 40px}.landing-pricing-inner{max-width:760px;margin:0 auto;text-align:center}.landing-pricing-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;text-align:left}.landing-pricing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px 28px;position:relative}.landing-pricing-card--pro{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),var(--shadow-md)}.landing-pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;font-size:11px;font-weight:600;padding:3px 12px;border-radius:var(--radius-full);white-space:nowrap}.landing-pricing-tier{font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.landing-pricing-price{font-size:40px;font-weight:700;color:var(--color-text);letter-spacing:-1px;margin-bottom:20px}.landing-pricing-price span{font-size:16px;font-weight:400;color:var(--color-text-muted);letter-spacing:0}.landing-pricing-features{list-style:none;margin-bottom:28px;display:flex;flex-direction:column;gap:10px}.landing-pricing-features li{font-size:14px;color:var(--color-text)}.landing-pricing-btn{width:100%;justify-content:center}.landing-bottom-cta{background:var(--color-text);color:#fff;text-align:center;padding:88px 40px}.landing-bottom-cta h2{font-size:32px;font-weight:700;margin-bottom:12px;letter-spacing:-.4px}.landing-bottom-cta p{font-size:16px;color:#aaa;margin-bottom:32px}.landing-bottom-cta .landing-btn-primary{background:var(--color-accent);font-size:16px;padding:14px 36px}.landing-bottom-cta .landing-btn-primary:hover{background:var(--color-accent-dark);box-shadow:0 0 0 3px var(--focus-ring-accent)}.landing-footer{background:var(--color-bg);border-top:1px solid var(--color-border);text-align:center;padding:20px 40px;font-size:12px;color:var(--color-text-muted)}@media (max-width: 900px){.landing-hero-inner{grid-template-columns:1fr;gap:48px}.landing-hero-visual{order:-1}.landing-hero{text-align:center;padding:60px 24px 72px}.landing-cta-group{justify-content:center}.landing-subheadline{max-width:100%}.landing-features-grid{grid-template-columns:repeat(2,1fr)}.landing-pricing-cards{grid-template-columns:1fr}}@media (max-width: 600px){.landing-nav{padding:14px 20px}.landing-nav-cta{display:none}.landing-headline{font-size:32px}.landing-features-grid{grid-template-columns:1fr}.landing-stats{gap:16px;padding:20px 24px}.landing-stat{padding:0 16px}.landing-stat-divider{display:none}.landing-steps{flex-direction:column;align-items:center;gap:32px}.landing-step-divider{display:none}.landing-features-section,.landing-how,.landing-pricing,.landing-bottom-cta{padding:60px 24px}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-md);animation:fadeIn var(--transition-slow) forwards}.auth-title{font-size:22px;font-weight:700;margin-bottom:24px;color:var(--color-text)}.auth-field{margin-bottom:16px}.auth-field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--color-text-muted)}.auth-field input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-primary-input)}.auth-btn{width:100%;padding:11px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;margin-top:8px;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.auth-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 0 0 3px var(--focus-ring-primary)}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-error{color:var(--color-error);font-size:13px;margin-top:12px}.auth-switch{margin-top:20px;font-size:13px;color:var(--color-text-muted);text-align:center}.auth-switch button{background:none;border:none;color:var(--color-primary);font-size:13px;cursor:pointer;padding:0;text-decoration:underline;transition:color var(--transition-fast)}.auth-switch button:hover{color:var(--color-accent)}.auth-hint{font-size:13px;color:var(--color-text-muted);margin-bottom:20px}.dashboard{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10}.dashboard-logo{font-size:18px;font-weight:700;color:var(--color-text);letter-spacing:-.3px}.dashboard-header-right{display:flex;align-items:center;gap:12px}.avatar-wrapper{position:relative}.avatar-btn{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:15px;font-weight:700;border:none;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.avatar-btn:hover{opacity:.85}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:200px;z-index:100;overflow:hidden}.avatar-dropdown-info{padding:12px 16px;border-bottom:1px solid var(--color-border)}.avatar-dropdown-email{font-size:13px;color:var(--color-text);font-weight:500;word-break:break-all}.avatar-dropdown-tier{font-size:11px;color:var(--color-primary);font-weight:600;margin-top:2px;text-transform:uppercase;letter-spacing:.4px}.avatar-dropdown-item{display:block;width:100%;padding:10px 16px;text-align:left;font-size:13px;color:var(--color-text);background:none;border:none;border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.avatar-dropdown-item:last-child{border-bottom:none}.avatar-dropdown-item:hover{background:var(--color-bg)}.avatar-dropdown-item--signout{color:var(--color-accent)}.dashboard-main{max-width:1100px;margin:0 auto;width:100%;padding:32px;flex:1;display:flex;flex-direction:column;gap:40px}.dashboard-panel-title{font-size:16px;font-weight:600;color:var(--color-text);padding-bottom:12px;border-bottom:2px solid var(--color-primary-light);margin-bottom:20px}.dashboard-empty{font-size:14px;color:var(--color-text-muted)}.dashboard-calendar-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-month-label{font-size:17px;font-weight:600;color:var(--color-text);letter-spacing:-.2px}.calendar-nav-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 12px;font-size:14px;color:var(--color-text);transition:background var(--transition-fast),border-color var(--transition-fast)}.calendar-nav-btn:hover{background:var(--color-bg);border-color:var(--color-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-header{font-size:11px;font-weight:600;color:var(--color-text-muted);text-align:center;padding:6px 0;text-transform:uppercase;letter-spacing:.4px}.calendar-cell{min-height:80px;border-radius:var(--radius-sm);padding:6px 8px;background:var(--color-bg);border:1px solid transparent;transition:border-color var(--transition-fast);vertical-align:top}.calendar-cell--empty{background:none;border:none}.calendar-cell--today{border-color:var(--color-primary);background:var(--color-surface)}.calendar-cell--interview{background:#f267220f;border-color:var(--color-primary-light);cursor:pointer}.calendar-cell--interview:hover{border-color:var(--color-primary);background:#f267221a}.calendar-day-num{font-size:12px;font-weight:500;color:var(--color-text-muted);display:block;margin-bottom:4px}.calendar-cell--today .calendar-day-num{color:var(--color-primary);font-weight:700}.calendar-event{display:flex;flex-direction:column;gap:1px}.calendar-event-role{font-size:11px;font-weight:600;color:var(--color-text);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.calendar-event-company{font-size:10px;color:var(--color-text-muted)}.calendar-event-more{font-size:10px;color:var(--color-primary);font-weight:500}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan-card{padding:16px 20px;cursor:pointer}.plan-card-title{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:2px}.plan-card-company{font-size:13px;color:var(--color-text-muted);margin-bottom:12px}.plan-card-progress{display:flex;align-items:center;gap:10px}.plan-card-progress .progress-track{flex:1}.plan-card-pct{font-size:12px;color:var(--color-text-muted);white-space:nowrap;min-width:72px;text-align:right}.dashboard-fab{position:fixed;bottom:32px;right:32px}.dashboard-generate-btn{font-size:15px;padding:14px 24px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.dashboard-error{color:var(--color-error);font-size:14px;padding:16px 32px}@media (max-width: 900px){.plans-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.dashboard-main{padding:16px;gap:24px}.dashboard-header{padding:14px 20px}.calendar-cell{min-height:56px;padding:4px}.calendar-event-role{font-size:10px}.calendar-event-company{display:none}.plans-grid{grid-template-columns:1fr}.dashboard-fab{bottom:20px;right:20px}}.create-plan{max-width:720px;margin:0 auto;padding:40px 24px;animation:fadeIn var(--transition-slow) forwards}.create-plan h1{font-size:22px;font-weight:600;margin-bottom:8px}.create-plan-desc{font-size:14px;color:var(--color-text-muted);margin-bottom:32px;line-height:1.6}.form-field{margin-bottom:20px}.form-field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--color-text)}.form-field input[type=text],.form-field input[type=date],.form-field textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--color-surface)}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-primary-input)}.form-field textarea{min-height:100px;resize:vertical}.form-field textarea.tall{min-height:160px}.form-field .field-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}.file-upload-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--color-surface);display:flex;align-items:center;gap:12px}.file-upload-wrapper input[type=file]{font-size:13px}.form-actions{display:flex;gap:12px;margin-top:32px}.btn-primary{padding:10px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 0 0 3px var(--focus-ring-primary)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{padding:10px 24px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-secondary:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.form-error{color:var(--color-error);font-size:13px;margin-top:16px}.generating-state{font-size:14px;color:var(--color-text-muted);margin-top:16px}.iplan{min-height:100vh;background:var(--color-bg)}.iplan-header{display:flex;align-items:center;gap:16px;padding:16px 32px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10;flex-wrap:wrap}.iplan-back{flex-shrink:0}.iplan-header-info{flex:1}.iplan-title{font-size:18px;font-weight:700;color:var(--color-text)}.iplan-company{font-size:13px;color:var(--color-text-muted)}.iplan-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.iplan-progress-bar-wrap{display:flex;align-items:center;gap:12px;padding:12px 32px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.iplan-progress-track{flex:1}.iplan-progress-label{font-size:13px;font-weight:500;color:var(--color-text-muted);min-width:80px;text-align:right}.iplan-body{max-width:860px;margin:0 auto;padding:24px 32px 80px}.day-accordion{margin-bottom:12px;overflow:hidden}.day-accordion-header{width:100%;display:flex;align-items:center;gap:12px;padding:16px 20px;background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.day-accordion-header:hover{background:#3d5a800a}.day-num{font-size:12px;font-weight:600;color:var(--color-primary);background:#3d5a801a;padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.day-title{flex:1;font-size:15px;font-weight:600;color:var(--color-text)}.day-chevron{font-size:11px;color:var(--color-text-muted)}.day-body{padding:0 20px 16px;border-top:1px solid var(--color-border)}.topic-block{margin-top:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.topic-header{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.topic-header:hover{background:#3d5a800a}.topic-name{flex:1;font-size:14px;font-weight:600;color:var(--color-text)}.topic-weight{font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-full)}.topic-weight--standard{background:var(--color-border);color:var(--color-text-muted)}.topic-weight--high{background:#3d5a8026;color:var(--color-primary)}.topic-weight--weakness{background:#ee6c4d26;color:var(--color-accent)}.topic-chevron{font-size:11px;color:var(--color-text-muted)}.topic-body{padding:12px 16px 16px;border-top:1px solid var(--color-border)}.topic-desc{font-size:13px;color:var(--color-text-muted);line-height:1.6;margin-bottom:12px}.topic-section{margin-top:14px}.topic-section-title{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.confidence-row{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.confidence-label{font-size:13px;color:var(--color-text-muted);font-weight:500}.confidence-pill{font-size:12px;font-weight:500;padding:4px 12px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:none;color:var(--color-text-muted);transition:all var(--transition-fast)}.confidence-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.confidence-pill--not_confident{background:#dc26261a;color:#dc2626;border-color:#dc26264d}.confidence-pill--somewhat{background:#98c1d940;color:var(--color-primary);border-color:var(--color-primary-light)}.confidence-pill--confident{background:#3d5a8026;color:var(--color-primary);border-color:var(--color-primary)}.checklist-item{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:13px;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast);line-height:1.5}.checklist-item input[type=checkbox]{margin-top:2px;accent-color:var(--color-primary);flex-shrink:0}.checklist-item--checked span{text-decoration:line-through;color:var(--color-text-muted)}.checklist-item--locked{cursor:default;color:var(--color-text-muted);opacity:.7}.lock-icon-sm{font-size:11px;flex-shrink:0;margin-top:2px}.pro-lock-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#98c1d91a;border:1px dashed var(--color-primary-light);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text-muted)}.lock-icon{flex-shrink:0}.lock-text{flex:1}.lock-upgrade{background:none;border:none;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;transition:color var(--transition-fast)}.lock-upgrade:hover{color:var(--color-accent)}.resource-link{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-primary);padding:5px 0;text-decoration:none;transition:color var(--transition-fast)}.resource-link:hover{color:var(--color-accent)}.resource-icon{font-size:11px;flex-shrink:0}.flashcard-btn{margin-top:4px;font-size:13px}.plan-loading,.plan-error{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--color-text-muted)}.countdown-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full);background:#3d5a801a;color:var(--color-primary);white-space:nowrap}.countdown-badge--urgent{background:#ee6c4d26;color:var(--color-accent)}@media (max-width: 600px){.iplan-header{padding:12px 16px}.iplan-body{padding:16px 16px 80px}.iplan-progress-bar-wrap{padding:10px 16px}}.subscription-view{min-height:100vh;background:var(--color-bg);display:flex;align-items:center;justify-content:center;padding:32px}.subscription-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px;width:100%;max-width:440px}.subscription-back{background:none;border:none;font-size:13px;color:var(--color-text-muted);padding:0;margin-bottom:24px;transition:color var(--transition-fast)}.subscription-back:hover{color:var(--color-primary)}.subscription-title{font-size:22px;font-weight:700;color:var(--color-text);letter-spacing:-.3px;margin-bottom:28px}.subscription-current{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-bottom:24px}.subscription-tier-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted);margin-bottom:6px}.subscription-tier-name{font-size:24px;font-weight:700;color:var(--color-text);margin-bottom:4px}.subscription-tier-name--pro{color:var(--color-primary)}.subscription-price{font-size:14px;color:var(--color-text-muted)}.subscription-action-btn{width:100%;justify-content:center}.subscription-upgrade-desc{font-size:14px;color:var(--color-text-muted);line-height:1.6;margin-bottom:16px}.subscription-error{color:var(--color-error);font-size:13px;margin-bottom:16px}
