@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand-primary: #c71f1d;--brand-primary-strong: #8d0f14;--brand-primary-soft: #fcd9cf;--brand-primary-mist: #fff1ea;--brand-deep: #4a1a12;--brand-amber: #f2951a;--brand-amber-strong: #c46b00;--brand-ink: #2c1208;--brand-gradient-primary: linear-gradient(120deg, #ba0918, #f47d22);--brand-gradient-amber: linear-gradient(120deg, #f2951a, #ffd18b);--brand-gradient-soft: linear-gradient(160deg, rgba(250, 227, 199, .65), rgba(255, 241, 234, .65));--bg-root: #fff8f2;--bg-soft: #fff2e6;--bg-muted: #fbe1cc;--bg-card: #ffffff;--bg-elevated: #ffe9d7;--text: var(--brand-ink);--text-soft: rgba(44, 18, 8, .8);--muted: #7a4f3a;--muted-soft: rgba(122, 79, 58, .65);--accent: var(--brand-primary);--accent-strong: var(--brand-primary-strong);--accent-soft: var(--brand-primary-soft);--accent-mist: var(--brand-primary-mist);--accent-dark: var(--brand-deep);--success: #1e855b;--success-soft: #d1f6e7;--warning: var(--brand-amber);--warning-soft: #ffe3bd;--danger: #b01616;--danger-soft: #ffd2cf;--border-subtle: rgba(199, 31, 29, .12);--border-soft: rgba(199, 31, 29, .08);--border-strong: rgba(199, 31, 29, .22);--shadow-soft: 0 25px 55px rgba(59, 8, 0, .08);--shadow-medium: 0 40px 70px rgba(59, 8, 0, .12);--radius-lg: 30px;--radius-md: 20px;--radius-sm: 12px;--radius-xs: 8px;--app-bar-height: 64px;--app-bar-offset: var(--app-bar-height)}@media(max-width:768px){:root{--app-bar-height: 56px;--app-bar-offset: calc(var(--app-bar-height) + 8px)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg-root);color:var(--text)}#root{min-height:100vh}h1,h2,h3,h4{font-family:Playfair Display,Space Grotesk,serif;letter-spacing:-.01em;color:var(--text)}p{color:var(--muted);margin-top:0}::selection{background:#c71f1d40;color:#fff}.app-bar{position:fixed;top:0;left:0;right:0;height:var(--app-bar-height);display:flex;align-items:center;padding:0;background:radial-gradient(ellipse 120% 80% at 10% -20%,rgba(255,210,170,.4),transparent 50%),radial-gradient(ellipse 100% 100% at 95% 10%,rgba(255,235,215,.35),transparent 45%),linear-gradient(180deg,#fffcf8fa,#fff8f0f2);border-bottom:1px solid rgba(180,120,80,.08);z-index:100;backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);box-shadow:0 1px #fffc inset,0 20px 50px -15px #6432141a}.app-bar--impersonating{background:radial-gradient(ellipse 100% 80% at 15% -10%,rgba(242,180,80,.3),transparent 45%),radial-gradient(ellipse 80% 100% at 90% 20%,rgba(255,215,140,.25),transparent 50%),linear-gradient(180deg,#fffcf2fa,#fff8ebf2);border-bottom-color:#c8823226}.app-bar-content{width:100%;margin:0;padding:0 clamp(1.5rem,3vw,3.5rem);height:var(--app-bar-height);min-height:var(--app-bar-height);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1.5rem,4vw,3rem)}.app-bar-left{display:flex;align-items:center;justify-self:start}.app-bar-left-controls{display:flex;align-items:center;gap:1.25rem}.app-bar-center{display:flex;align-items:center;justify-content:center;min-width:0}.app-bar-right{display:flex;align-items:center;gap:1rem;justify-self:end}.app-bar-menu,.app-bar-back{background:#ffffffd9;border:1px solid rgba(180,100,60,.12);color:var(--brand-ink);cursor:pointer;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #783c1e0f,0 8px 24px #783c1e14}.app-bar-menu:hover,.app-bar-back:hover{background:#fff;border-color:#c71f1d40;color:var(--brand-primary);transform:translateY(-2px);box-shadow:0 4px 12px #c71f1d1a,0 12px 32px #783c1e1f}.app-bar-logo{display:flex;align-items:center;gap:.85rem}.app-bar-logo-img{height:72px;width:auto;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.app-bar-logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-title{font-family:Playfair Display,Georgia,serif;font-size:1rem;font-weight:700;letter-spacing:.08em;color:var(--brand-ink);text-transform:uppercase}.logo-tagline{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#0f172a99}.app-bar-nav{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem;border-radius:14px;background:#ffffffbf;border:1px solid rgba(180,100,60,.1);box-shadow:inset 0 1px 2px #ffffffe6,0 4px 16px #6432140f}.app-bar-nav-link{position:relative;padding:.55rem 1.15rem;border-radius:10px;font-family:inherit;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#50321e99;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.app-bar-nav-link:hover{color:var(--brand-ink);background:#fff9}.app-bar-nav-link.active{background:#fff;color:var(--brand-ink);box-shadow:0 2px 8px #c71f1d14,0 6px 20px #6432140f}.app-bar-nav-link.active:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:.35rem;width:16px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-amber))}.app-bar-title-group{text-align:center;min-width:0}.app-bar-subtitle{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#64463280;font-weight:600}.app-bar-title{margin:.2rem 0 0;font-family:Playfair Display,serif;font-size:1.15rem;font-weight:600;color:var(--brand-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-bar-actions{display:flex;align-items:center;gap:.75rem}.app-bar-avatar{width:42px;height:42px;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #6432141a,0 8px 24px #6432141f;transition:all .25s cubic-bezier(.4,0,.2,1)}.app-bar-avatar:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #6432141f,0 12px 32px #64321426}.app-bar-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(145deg,var(--brand-primary) 0%,#f2951a 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-family:Playfair Display,serif;font-weight:700;font-size:1rem}.app-bar-impersonation-inline{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem .5rem .85rem;background:linear-gradient(135deg,#fff8ebf2,#fff2dce6);border:1px solid rgba(200,130,50,.25);border-radius:12px;box-shadow:inset 0 1px #fffc,0 4px 16px #c882321f}.impersonation-badge-inline{font-size:1.1rem;line-height:1}.impersonation-student{font-family:Playfair Display,serif;font-size:.95rem;font-weight:600;color:var(--brand-ink);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impersonation-exit-inline{font-size:.7rem;padding:.4rem .75rem;border-radius:8px;background:#fff;border:1px solid rgba(200,130,50,.3);color:#a66a20;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease}.impersonation-exit-inline:hover{background:#fff;border-color:var(--brand-amber);color:var(--brand-amber-strong);transform:translateY(-1px);box-shadow:0 4px 12px #c8823226}.app-bar-logout-icon{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1rem;height:42px;border-radius:10px;border:1px solid rgba(180,60,40,.15);background:#ffffffd9;color:var(--brand-ink);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #6432140d}.app-bar-logout-icon:hover:not(:disabled){background:linear-gradient(135deg,#c71f1d14,#f2951a0f);border-color:#c71f1d40;color:var(--brand-primary);transform:translateY(-1px);box-shadow:0 4px 16px #c71f1d1a}.app-bar-logout-icon:disabled{opacity:.5;cursor:wait}.logout-text{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.app-bar-mentorship-indicator{display:flex;align-items:center;gap:.85rem;padding:.5rem 1.5rem .5rem .75rem;background:linear-gradient(135deg,#fff,#fffcf8f2);border:1px solid rgba(199,31,29,.12);border-radius:12px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #6432140a,0 8px 24px #6432140f;position:relative;overflow:hidden}.app-bar-mentorship-indicator:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--brand-primary),var(--brand-amber));opacity:0;transition:opacity .3s ease}.app-bar-mentorship-indicator:hover{border-color:#c71f1d40;transform:translateY(-2px);box-shadow:0 4px 12px #c71f1d14,0 12px 32px #6432141a}.app-bar-mentorship-indicator:hover:before{opacity:1}.mentorship-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:linear-gradient(135deg,#c71f1d1f,#f2951a14);border-radius:8px}.mentorship-text{display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--muted);font-weight:500;line-height:1.3}.mentorship-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#0f172a99;font-weight:700}.mentorship-date{display:block;font-family:Playfair Display,serif;font-size:.9rem;font-weight:700;color:var(--brand-ink);letter-spacing:-.01em}.mentorship-cta{margin-left:auto;font-size:.78rem;font-weight:600;color:#c71f1d;background:#c71f1d14;padding:.3rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:.35rem}.app-bar-mentorship-indicator:hover .mentorship-cta{background:#c71f1d2e}@media(max-width:1024px){.app-bar-content{gap:1.25rem}.app-bar-nav-link{padding:.5rem .9rem;font-size:.78rem}.app-bar-mentorship-indicator{padding:.45rem 1rem .45rem .65rem}.mentorship-icon{width:28px;height:28px;font-size:1rem}}@media(max-width:768px){.app-bar{height:56px;background:linear-gradient(180deg,#fffcf8fa,#fff8f0f2);box-shadow:0 1px #b4785014}.app-bar-content{padding:0 .875rem;height:56px;grid-template-columns:auto 1fr auto;gap:.5rem}.app-bar-left-controls{gap:0}.app-bar-menu,.app-bar-back{width:44px;height:44px;border-radius:12px;background:transparent;border:none;box-shadow:none}.app-bar-menu:hover,.app-bar-back:hover{background:#c71f1d0f;transform:none;box-shadow:none}.app-bar-menu:active,.app-bar-back:active{background:#c71f1d1f;transform:scale(.95)}.app-bar-nav{display:none}.app-bar-center{min-width:0;justify-content:center}.app-bar-logo{gap:0}.logo-mark{padding:.3rem .65rem;font-size:.7rem;border-radius:6px;letter-spacing:.1em}.logo-text{display:none}.app-bar-impersonation-inline{gap:.4rem;padding:.4rem .6rem;border-radius:8px;background:#fff8ebe6;border-color:#c8823233}.impersonation-badge-inline{font-size:.9rem}.impersonation-student{font-size:.8rem;max-width:90px;font-family:inherit;font-weight:600}.impersonation-exit-inline{font-size:.6rem;padding:.25rem .5rem;border-radius:4px}.app-bar-right{gap:.25rem}.app-bar-logout-icon{width:44px;height:44px;padding:0;border-radius:12px;background:transparent;border:none;box-shadow:none}.app-bar-logout-icon:hover:not(:disabled){background:#c71f1d0f;transform:none;box-shadow:none}.logout-text{display:none}.app-bar-avatar{width:36px;height:36px;border-radius:10px;border-width:1.5px}.app-bar-mentorship-indicator{padding:.35rem .6rem;gap:.4rem;border-radius:8px;background:#ffffffe6;box-shadow:none;border-color:#c71f1d1a}.app-bar-mentorship-indicator:before{display:none}.mentorship-icon{width:24px;height:24px;font-size:.85rem;border-radius:6px;background:#c71f1d0f}.mentorship-text{font-size:.65rem;gap:.1rem}.mentorship-text span:first-child{display:none}.mentorship-date{font-size:.75rem;font-family:inherit;font-weight:700}}@media(max-width:390px){.app-bar-content{padding:0 .75rem}.app-bar-menu,.app-bar-back,.app-bar-logout-icon{width:40px;height:40px}.app-bar-avatar{width:32px;height:32px}.logo-mark{padding:.25rem .5rem;font-size:.65rem}.app-bar-mentorship-indicator{padding:.3rem .5rem}.mentorship-icon{width:22px;height:22px}.mentorship-date{font-size:.7rem}.mentorship-cta{display:none}.impersonation-student{max-width:70px}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(99,102,241,.1);box-shadow:0 -4px 20px #0f172a14;z-index:100;padding:.5rem 0;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}@media(max-width:768px){.mobile-bottom-nav{display:flex;justify-content:space-around;align-items:center}}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;text-decoration:none;color:#64748b;border-radius:12px;transition:all .2s ease;min-width:64px}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-item.active{color:#1152d4}.mobile-nav-item.active .mobile-nav-icon{background:#1152d41f;color:#1152d4}.mobile-nav-icon{width:40px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease}.mobile-nav-icon svg{width:22px;height:22px}.mobile-nav-label{font-size:.7rem;font-weight:600;letter-spacing:.01em}@media(max-width:768px){.student-layout .student-main,.plan-page-new{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}.student-layout{min-height:100vh;background:radial-gradient(110% 110% at 50% 0%,#eff4ff,#f7f8fb 45%,#fefefe)}.student-main{padding-top:var(--app-bar-offset);min-height:calc(100vh - var(--app-bar-offset));display:flex;justify-content:center;padding-left:1rem;padding-right:1rem;padding-bottom:2rem}@media(max-width:768px){.student-main{padding-left:.75rem;padding-right:.75rem;padding-bottom:80px}}.month-grid-container{display:flex;flex-direction:column;height:100%;gap:.75rem}.month-grid-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;padding:0 2rem .5rem}.month-grid-header-cell{text-align:center;font-size:.75rem;font-weight:600;color:#4c669a;text-transform:uppercase;letter-spacing:.05em}.month-grid-body{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:1rem;padding:0 2rem 2rem;min-height:600px}.month-day-cell{background:#fff;border:1px solid transparent;border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;cursor:pointer;transition:all .2s ease;position:relative}.month-day-cell:hover{border-color:#e7ebf3;box-shadow:0 2px 8px #0000000d}.month-day-cell--other{background:#ffffff80;opacity:.6}.month-day-cell--other .month-day-number{color:#cbd5e1}.month-day-cell--selected{border:2px solid #1152d4;box-shadow:0 4px 12px #1152d426;transform:scale(1.02)}.month-day-cell--selected .month-day-number{color:#1152d4;font-weight:700}.month-day-cell--today{background:#1152d40d}.month-day-cell--today .month-day-number{color:#1152d4;font-weight:600}.month-day-number{font-size:.875rem;font-weight:500;color:#4c669a}.month-day-indicators{display:flex;gap:.25rem;margin-top:.25rem}.event-dot{width:6px;height:6px;border-radius:50%;background:#1152d4}.month-day-cell--drop-target{background:#1152d433!important;border:3px dashed #1152d4!important;transform:scale(1.08);z-index:20;transition:all .15s ease;box-shadow:0 4px 16px #1152d440}.month-drop-indicator{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:.65rem;font-weight:700;color:#1152d4;background:#fff;padding:.25rem .6rem;border-radius:.375rem;white-space:nowrap;box-shadow:0 2px 8px #1152d433}@media(max-width:1024px){.month-grid-header,.month-grid-body{padding-left:1rem;padding-right:1rem}.month-day-cell{padding:.5rem}.month-day-number{font-size:.75rem}.event-dot{width:4px;height:4px}}@media(max-width:768px){.month-grid-container{gap:.5rem}.month-grid-header{padding:0 .75rem .5rem;gap:.25rem}.month-grid-header-cell{font-size:.65rem}.month-grid-body{gap:.35rem;padding:0 .75rem 1rem;min-height:350px;grid-template-rows:repeat(6,1fr)}.month-day-cell{padding:.35rem;border-radius:.5rem;min-height:48px}.month-day-number{font-size:.7rem}.month-day-cell--selected{transform:none}.month-day-indicators{gap:.15rem;margin-top:.15rem}.event-dot{width:4px;height:4px}}@media(max-width:480px){.month-grid-header{padding:0 .5rem .35rem}.month-grid-body{gap:.25rem;padding:0 .5rem .75rem;min-height:280px}.month-day-cell{padding:.25rem;min-height:40px}.month-day-number{font-size:.65rem}}.week-grid-container{display:flex;flex-direction:column;height:100%;padding:1.5rem 2rem 2rem;width:100%;box-sizing:border-box}.week-grid-header-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e7ebf3;margin-bottom:1rem}.week-grid-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem}.week-grid-nav-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(15,23,42,.12);background:#fff;color:#475569;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #0f172a14}.week-grid-nav-btn:hover{color:#c71f1d;border-color:#c71f1d59;box-shadow:0 4px 12px #c71f1d26}.week-grid-nav-btn:active{transform:scale(.95)}.week-grid-nav-spacer{width:32px;height:32px;display:inline-block}.week-header-cell{text-align:center}.week-header-day{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#94a3b8;margin-bottom:.25rem;letter-spacing:.05em}.week-header-date{font-size:1.25rem;font-weight:500;color:#0d121b}.week-header-cell--today .week-header-day{color:#1152d4}.week-header-cell--today .week-header-date{width:32px;height:32px;background:#1152d4;color:#fff;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:0 4px 12px #1152d44d}.week-allday-row{display:flex;align-items:stretch;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;margin-bottom:.75rem;padding:.5rem 0;min-height:2.75rem}.week-allday-label{width:60px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding-right:.75rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.week-allday-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;padding-right:.5rem}.week-allday-cell{display:flex;flex-direction:column;gap:.35rem;min-height:2rem;padding:.25rem;border-radius:.5rem;transition:background .15s ease}.week-allday-cell:hover{background:#1152d408}.week-allday-cell--today{background:#1152d40f}.week-allday-event{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;border-left:3px solid;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s ease;box-shadow:0 1px 3px #0000000f;position:relative}.week-allday-event:before{content:"";position:absolute;top:50%;left:.75rem;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6;display:none}.week-allday-event:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.week-allday-event-title{display:flex;align-items:center;gap:.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-allday-event-title:before{content:"○";font-size:.6rem;opacity:.5}.week-grid-body{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;overflow-y:auto}.week-day-column{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem;border-top:2px solid transparent;position:relative}.week-day-quick-add{position:absolute;top:.5rem;right:0;width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.65;transition:all .15s ease;z-index:10}.week-day-quick-add-icon{font-size:1rem;font-weight:700;line-height:1;display:inline-block}.week-day-column:hover .week-day-quick-add{opacity:1}.week-day-quick-add:hover{background:#1152d4;color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #1152d44d}.week-day-quick-add:active{transform:scale(.95)}.week-day-column--today{border-top-color:#1152d4;background:#1152d405;border-radius:0 0 .75rem .75rem;padding-left:.5rem;padding-right:.5rem;margin-left:-.5rem;margin-right:-.5rem}.week-day-column--weekend{background:#f8f9fc4d}.week-event-card{padding:.75rem;border-radius:.75rem;border:1px solid;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-user-drag:element}.week-event-card:active{cursor:grabbing}.week-event-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.week-day-column--today .week-event-card{box-shadow:0 2px 8px #0000000f}.week-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.week-event-badge{font-size:.625rem;font-weight:700;padding:.25rem .5rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.05em}.week-event-duration{font-size:.75rem;color:#64748b;font-family:SF Mono,Monaco,Courier New,monospace}.week-event-title{font-size:.875rem;font-weight:600;color:#0d121b;margin:0 0 .25rem;line-height:1.3}.week-event-time{font-size:.75rem;color:#64748b;margin:0;display:flex;align-items:center;gap:.25rem}.week-event-card[draggable=true]{cursor:grab}.week-event-card[draggable=true]:active{cursor:grabbing}.week-event-card--dragging{opacity:.5;transform:scale(.98);box-shadow:0 8px 24px #00000026!important}.week-day-column--drop-target{background:#1152d426!important;border-radius:.75rem;outline:3px dashed #1152d4;outline-offset:-3px;transform:scale(1.02);transition:all .15s ease}.week-day-column--drop-target:before{content:"Drop to reschedule";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.8rem;font-weight:700;color:#1152d4;background:#fff;padding:.75rem 1.25rem;border-radius:.75rem;pointer-events:none;z-index:100;box-shadow:0 4px 16px #1152d440;white-space:nowrap}.week-empty-day{margin:auto;text-align:center;opacity:.4;padding:2rem 1rem}.week-empty-day svg{color:#94a3b8;margin-bottom:.5rem}.week-empty-day p{font-size:.875rem;font-weight:500;color:#64748b;margin:0}.week-day-allday-section,.week-day-mobile-header{display:none}.week-day-column--today:after{content:"";position:absolute;left:0;right:0;height:2px;background:#1152d4;opacity:.3;display:none}@media(max-width:1200px){.week-grid-body{gap:.75rem}.week-event-card{padding:.625rem}}@media(max-width:1024px){.week-grid-container{padding:1.25rem}.week-grid-header{gap:.75rem}.week-grid-body{gap:.5rem}}@media(max-width:768px){.week-grid-container{padding:1rem}.week-grid-header,.week-allday-row{display:none}.week-grid-body{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.75rem}.week-grid-body::-webkit-scrollbar{height:6px}.week-grid-body::-webkit-scrollbar-track{background:transparent}.week-grid-body::-webkit-scrollbar-thumb{background:#0f172a33;border-radius:999px}.week-day-column{min-width:220px;flex:0 0 220px;padding:.75rem;border:1px solid #e3e9ff;border-radius:1rem;background:#fff}.week-day-column--today{background:linear-gradient(180deg,#f8fbff,#eef4ff);margin:0;border-top-color:#1152d4;padding:.75rem}.week-day-column--weekend{background:#f8f9fc99}.week-day-quick-add{opacity:1;top:.75rem;right:.75rem;background:#1152d414;color:#1152d4}.week-day-allday-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0;background:linear-gradient(180deg,rgba(17,82,212,.04) 0%,transparent 100%);margin:-.75rem -.75rem .75rem;padding:.75rem;border-radius:.75rem .75rem 0 0}.week-day-allday-event{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;border-radius:.5rem;border-left:3px solid;cursor:pointer;font-size:.8rem;box-shadow:0 1px 3px #00000014}.week-day-allday-badge{font-size:.55rem;font-weight:800;letter-spacing:.06em;padding:.2rem .5rem;border-radius:.25rem;background:#0000001a;flex-shrink:0;text-transform:uppercase}.week-day-allday-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-day-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.week-day-mobile-date{display:flex;align-items:baseline;gap:.4rem}.week-day-mobile-day{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.week-day-mobile-number{font-size:1.5rem;font-weight:700;color:#0f172a}.week-day-mobile-today{font-size:.75rem;font-weight:700;color:#1152d4;background:#1152d41f;border-radius:999px;padding:.2rem .65rem}.week-event-card{padding:.75rem}.week-empty-day{padding:1.5rem .5rem}.week-empty-day svg{width:32px;height:32px}.week-empty-day p{font-size:.8rem}}.list-view-container{padding:2rem;height:100%;overflow-y:auto}.list-view-container::-webkit-scrollbar{width:8px}.list-view-container::-webkit-scrollbar-track{background:transparent}.list-view-container::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:10px}.list-view-container::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.list-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#64748b;min-height:400px}.list-empty-state svg{margin-bottom:1.5rem;opacity:.5}.list-empty-state h3{font-size:1.25rem;font-weight:600;color:#475569;margin:0 0 .5rem}.list-empty-state p{font-size:.875rem;color:#94a3b8;margin:0}.list-sections{display:flex;flex-direction:column;gap:1rem}.list-section{display:flex;flex-direction:column;background:#fff;border-radius:12px;border:1px solid #e7ebf3;overflow:hidden}.list-section-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:#f8fafc;border:none;cursor:pointer;width:100%;text-align:left;transition:background .15s ease}.list-section-header:hover{background:#f1f5f9}.list-section-chevron{color:#64748b;display:flex;align-items:center;flex-shrink:0}.list-section-title{font-size:.8rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0;flex:1;display:flex;align-items:center;gap:.5rem}.list-section-count{font-size:.75rem;font-weight:600;color:#94a3b8;background:#e2e8f0;padding:.25rem .625rem;border-radius:999px}.list-section--backlog{border-color:#fecaca;background:#fff8f8}.list-section--backlog .list-section-header{background:#fef2f2}.list-section--backlog .list-section-header:hover{background:#fee2e2}.list-section--backlog .list-section-title{color:#b91c1c}.list-section--backlog .backlog-icon{color:#dc2626}.list-section--backlog .backlog-count{background:#fecaca;color:#b91c1c}.list-section--completed{opacity:.7}.list-section--completed .list-section-header{background:#f0fdf4}.list-section--completed .list-section-title{color:#166534}.list-section--completed .list-section-count{background:#bbf7d0;color:#166534}.list-section-events{display:flex;flex-direction:column;padding:.5rem;gap:.5rem}.list-event-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:#fff;border:1px solid #e7ebf3;border-radius:.75rem;transition:all .2s ease;position:relative}.list-event-card:hover{box-shadow:0 4px 12px #00000014;border-color:#cbd5e1}.list-event-card:hover .list-event-edit{opacity:1}.list-event-card--completed{background:#f8faf8;border-color:#d1e7d1}.list-event-card--completed .list-event-title{text-decoration:line-through;color:#6b7280}.list-event-card--completed .list-event-content{opacity:.7}.list-event-card--backlog{border-color:#fecaca;background:snow}.list-event-card--backlog .list-event-title{color:#991b1b}.list-event-checkbox{flex-shrink:0;width:32px;height:32px;border:2px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-top:.25rem}.list-event-checkbox:hover{border-color:#10b981;background:#f0fdf4}.list-event-checkbox.checked{background:#10b981;border-color:#10b981;color:#fff}.list-event-done-badge{font-size:.65rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;background:#d1fae5;color:#047857;text-transform:uppercase;letter-spacing:.03em}.list-event-overdue-badge{font-size:.65rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;background:#fee2e2;color:#b91c1c;text-transform:uppercase;letter-spacing:.03em}.list-event-time{display:flex;flex-direction:column;align-items:flex-end;padding-top:.25rem;min-width:80px;flex-shrink:0}.list-event-time-text{font-size:1rem;font-weight:700;color:#0d121b;line-height:1.2}.list-event-date-small{font-size:.7rem;font-weight:500;color:#94a3b8;margin-top:.25rem}.list-event-time-meridiem{font-size:.75rem;font-weight:600;color:#64748b;margin-top:.125rem}.list-event-content{flex:1;min-width:0}.list-event-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.list-event-badge{font-size:.625rem;font-weight:700;padding:.25rem .625rem;border-radius:.375rem;text-transform:uppercase;letter-spacing:.05em}.list-event-assigned{font-size:.75rem;font-weight:500;color:#1152d4;display:flex;align-items:center;gap:.25rem}.list-event-title{font-size:1rem;font-weight:700;color:#0d121b;margin:0 0 .5rem;line-height:1.3}.list-event-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.list-event-duration{font-size:.75rem;font-weight:500;color:#64748b;display:flex;align-items:center;gap:.25rem}.list-event-subject{font-size:.75rem;font-weight:500;color:#94a3b8}.list-event-description{font-size:.875rem;color:#64748b;line-height:1.5;margin:0;line-clamp:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.list-event-edit{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid #e7ebf3;border-radius:999px;color:#94a3b8;cursor:pointer;transition:all .2s ease;opacity:0;padding:.35rem .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.list-event-edit:hover{background:#f8f9fc;color:#1152d4;border-color:#1152d4}.list-show-more,.list-show-less{width:100%;padding:.75rem;background:transparent;border:1px dashed #d1d5db;border-radius:8px;color:#64748b;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.list-show-more:hover,.list-show-less:hover{background:#f8fafc;border-color:#94a3b8;color:#475569}.list-section--backlog .list-show-more{border-color:#fca5a5;color:#b91c1c}.list-section--backlog .list-show-more:hover{background:#fef2f2;border-color:#f87171}@media(max-width:768px){.list-view-container{padding:1rem}.list-event-card{flex-direction:column;gap:.75rem;padding:1rem}.list-event-time{flex-direction:row;align-items:center;gap:.5rem;min-width:auto}.list-event-time-text{font-size:.875rem}.list-event-date-small{margin-top:0}.list-event-time-meridiem{font-size:.625rem;margin-top:0}.list-event-edit{opacity:1}.list-section-header{padding:.75rem}}@media(max-width:1024px){.list-view-container{padding:1rem}.list-sections{gap:.75rem}}.current-phase-widget{background:#fff;border:1px solid #e7ebf3;border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.current-phase-widget.empty{text-align:center;padding:1.5rem}.current-phase-header{display:flex;align-items:flex-start;gap:.75rem}.phase-icon{flex-shrink:0;color:#0c6f8d}.phase-header-text{flex:1;min-width:0}.phase-title{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.phase-name{margin:.25rem 0 0;font-size:.9375rem;font-weight:600;color:#0f172a}.phase-empty-text{margin:.75rem 0;font-size:.875rem;color:#64748b;line-height:1.5}.phase-setup-link{display:inline-block;padding:.625rem 1.25rem;background:#0c6f8d1a;border:1px solid rgba(12,111,141,.3);border-radius:.5rem;color:#0c6f8d;text-decoration:none;font-size:.875rem;font-weight:600;transition:all .2s}.phase-setup-link:hover{background:#0c6f8d26;border-color:#0c6f8d80}.phase-timeline-info{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.phase-dates{font-size:.8125rem;color:#64748b}.phase-status-badge{padding:.25rem .625rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid}.phase-status-badge.status-planned{background:#64748b1a;color:#64748b;border-color:#64748b4d}.phase-status-badge.status-active{background:#0c6f8d1a;color:#0c6f8d;border-color:#0c6f8d4d}.phase-status-badge.status-completed{background:#2e8b571a;color:#2e8b57;border-color:#2e8b574d}.phase-progress{display:flex;flex-direction:column;gap:.5rem}.phase-progress-header{display:flex;justify-content:space-between;align-items:center}.phase-progress-label{font-size:.8125rem;font-weight:500;color:#0f172a}.phase-progress-percent{font-size:.875rem;font-weight:700;color:#0c6f8d}.phase-progress-bar{height:.375rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.phase-progress-fill{height:100%;background:linear-gradient(90deg,#0c6f8d,#1282a2);border-radius:999px;transition:width .3s ease}.phase-progress-stats{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.phase-stat{white-space:nowrap}.phase-stat-divider{opacity:.5}.phase-modules-quick{display:flex;flex-direction:column;gap:.625rem}.phase-modules-heading{margin:0;font-size:.8125rem;font-weight:600;color:#0f172a}.phase-modules-list{display:flex;flex-direction:column;gap:.5rem}.phase-module-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;background:#f8fafc;border:1px solid #e7ebf3;border-radius:.5rem;color:#0f172a;cursor:pointer;transition:all .2s}.phase-module-item:hover{background:#f1f5f9;border-color:#0c6f8d}.phase-module-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;text-align:left}.phase-module-title{font-size:.8125rem;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-module-domain{font-size:.75rem;color:#64748b}.phase-module-item svg{flex-shrink:0;color:#0c6f8d}.phase-view-all-link{display:block;text-align:center;padding:1rem .625rem .625rem;color:#0c6f8d;text-decoration:none;font-size:.8125rem;font-weight:600;border-top:1px solid #e7ebf3;margin-top:.5rem;transition:color .2s}.phase-view-all-link:hover{color:#0b5168}@media(max-width:640px){.current-phase-widget{padding:1rem;gap:.875rem}.phase-modules-list{gap:.375rem}.phase-module-item{padding:.625rem}}.day-sidebar{width:380px;background:#fff;border-left:1px solid #e7ebf3;display:flex;flex-direction:column;box-shadow:-2px 0 12px #0000000d;z-index:10;height:100%}.day-sidebar-header{padding:1.5rem;border-bottom:1px solid #e7ebf3}.day-sidebar-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.day-sidebar-label{font-size:.75rem;font-weight:700;color:#4c669a;text-transform:uppercase;letter-spacing:.05em}.day-sidebar-more{background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.375rem;transition:all .2s ease}.day-sidebar-more:hover{color:#1152d4;background:#1152d40d}.day-sidebar-title{font-size:1.5rem;font-weight:700;color:#0d121b;margin:0}.day-sidebar-subtitle{font-size:.875rem;color:#4c669a;margin:.25rem 0 0}.day-sidebar-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.daily-objective{background:#eff6ff80;border:1px solid rgba(191,219,254,1);border-radius:.75rem;padding:1rem}.daily-objective-inner{display:flex;gap:.75rem;align-items:flex-start}.daily-objective-icon{color:#1152d4;flex-shrink:0;margin-top:.125rem}.daily-objective-title{font-size:.875rem;font-weight:700;color:#1152d4;margin:0 0 .25rem}.daily-objective-text{font-size:.875rem;color:#0d121b;line-height:1.5;margin:0}.schedule-section{display:flex;flex-direction:column;gap:1rem}.schedule-heading{font-size:.875rem;font-weight:700;color:#0d121b;margin:0}.schedule-timeline{display:flex;flex-direction:column;gap:1rem}.timeline-item{display:flex;gap:1rem}.timeline-item.completed .timeline-card{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#bbf7d0;box-shadow:inset 0 0 0 1px #86efac,0 6px 18px #05966926}.timeline-item.completed .timeline-title,.timeline-item.completed .timeline-subtitle{text-decoration:line-through;color:#0f7c5f}.timeline-item.completed .timeline-badge{background:#d1fae5;color:#065f46}.timeline-item--empty{opacity:.6}.timeline-item--empty:hover{opacity:1}.timeline-time{display:flex;flex-direction:column;align-items:flex-end;padding-top:.25rem;width:50px;flex-shrink:0}.timeline-time span{font-size:.75rem;font-weight:600;color:#4c669a}.timeline-card{flex:1;background:#fff;border:1px solid #e7ebf3;border-radius:.75rem;padding:1rem;transition:all .2s ease;cursor:pointer}.timeline-card:hover{box-shadow:0 4px 12px #00000014}.timeline-card[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:element}.timeline-card[draggable=true]:active{cursor:grabbing}.timeline-card--dragging{opacity:.5;transform:scale(.95);box-shadow:0 8px 24px #00000026}.timeline-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.timeline-badge{font-size:.625rem;font-weight:700;padding:.25rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.timeline-edit{background:none;border:none;color:#cbd5e1;cursor:pointer;padding:.25rem;transition:color .2s ease}.timeline-edit:hover{color:#64748b}.timeline-title{font-size:.875rem;font-weight:700;color:#0d121b;margin:0 0 .25rem}.timeline-subtitle{font-size:.75rem;color:#4c669a;margin:0 0 .75rem}.timeline-footer{display:flex;align-items:center;gap:.5rem}.timeline-avatar{flex-shrink:0}.avatar-circle{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.625rem;font-weight:700;border:2px solid white;box-shadow:0 2px 4px #0000001a}.timeline-student{font-size:.75rem;color:#4c669a}.timeline-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.timeline-complete-menu{position:relative}.timeline-complete-trigger{border:none;background:#10b9811a;color:#047857;font-size:.75rem;font-weight:600;padding:.4rem .75rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:all .2s ease}.timeline-complete-trigger:hover:not(:disabled){background:#10b98133}.timeline-complete-trigger:disabled{opacity:.6;cursor:not-allowed}.timeline-complete-dropdown{position:absolute;top:calc(100% + .25rem);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 8px 24px #0f172a1f;display:flex;flex-direction:column;min-width:180px;z-index:50}.timeline-complete-dropdown button{border:none;background:transparent;color:#0f172a;font-size:.75rem;padding:.6rem .75rem;display:flex;align-items:center;gap:.4rem;cursor:pointer;transition:background .2s ease;text-align:left}.timeline-complete-dropdown button:hover{background:#f8fafc}.timeline-free-slot{flex:1;border:2px dashed #e7ebf3;background:none;border-radius:.75rem;padding:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;color:#4c669a;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;height:60px}.timeline-free-slot:hover{border-color:#1152d4;color:#1152d4;background:#1152d405}.counselor-notes-section{margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e7ebf3}.counselor-notes-label{display:block;font-size:.875rem;font-weight:700;color:#0d121b;margin-bottom:.5rem}.counselor-notes-textarea{width:100%;background:#f8f9fc;border:1px solid #e7ebf3;border-radius:.5rem;padding:.75rem;font-size:.875rem;color:#0d121b;resize:none;font-family:inherit;transition:all .2s ease}.counselor-notes-textarea:focus{outline:none;border-color:#1152d4;background:#fff;box-shadow:0 0 0 3px #1152d41a}.counselor-notes-textarea::placeholder{color:#94a3b8}.day-sidebar-footer{padding:1.5rem;border-top:1px solid #e7ebf3;background:#fff}.add-session-button{width:100%;background:#1152d4;color:#fff;border:none;border-radius:.75rem;padding:.875rem;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #1152d433}.add-session-button:hover{background:#0e41a8;transform:translateY(-1px);box-shadow:0 6px 16px #1152d440}.add-session-button:active{transform:translateY(0)}@media(max-width:768px){.day-sidebar{width:100%;border-left:none;box-shadow:none}.day-sidebar-header{padding:.5rem 1rem 1rem}.day-sidebar-title{font-size:1.25rem}.day-sidebar-content{padding:1rem;gap:1rem}.daily-objective{padding:.75rem}.schedule-section,.timeline-item{gap:.75rem}.timeline-time{width:45px}.timeline-card{padding:.75rem}.timeline-free-slot{height:50px}.counselor-notes-section{margin-top:.75rem;padding-top:1rem}.day-sidebar-footer{padding:1rem}.add-session-button{padding:.75rem}.mobile-close-btn{display:none}.day-sidebar.mobile-open .mobile-close-btn{display:flex;position:absolute;top:1rem;right:1rem;width:32px;height:32px;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;transition:all .2s ease;z-index:10}.day-sidebar.mobile-open .mobile-close-btn:hover{background:#e2e8f0;color:#0f172a}}@media(max-width:480px){.day-sidebar-header{padding:.75rem}.day-sidebar-title{font-size:1.1rem}.day-sidebar-content{padding:.75rem}.timeline-time{width:40px}.timeline-time span{font-size:.65rem}}.mobile-close-btn{display:none}.undo-snackbar-portal{position:fixed;inset:0;pointer-events:none;z-index:9999}.undo-snackbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000003d,0 2px 8px #0000001f;overflow:hidden;min-width:320px;max-width:480px;pointer-events:auto;animation:undo-snackbar-slide-up .3s ease-out}@keyframes undo-snackbar-slide-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.undo-snackbar-content{display:flex;align-items:center;gap:12px;padding:14px 16px}.undo-snackbar-message{flex:1;font-size:.9375rem;font-weight:500;line-height:1.4}.undo-snackbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.undo-snackbar-timer{font-size:.8125rem;color:#fff9;font-variant-numeric:tabular-nums;min-width:24px;text-align:right}.undo-snackbar-undo-btn{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.undo-snackbar-undo-btn:hover{background:#2563eb}.undo-snackbar-undo-btn:active{background:#1d4ed8}.undo-snackbar-dismiss-btn{background:transparent;border:none;padding:4px;color:#ffffff80;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background-color .15s ease}.undo-snackbar-dismiss-btn:hover{color:#fffc;background:#ffffff1a}.undo-snackbar-progress{height:3px;background:#ffffff1a}.undo-snackbar-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .1s linear}@media(max-width:600px){.undo-snackbar{bottom:80px;left:16px;right:16px;transform:none;min-width:unset;max-width:none}@keyframes undo-snackbar-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.undo-snackbar-content{flex-wrap:wrap;gap:8px}.undo-snackbar-message{flex-basis:100%}.undo-snackbar-actions{width:100%;justify-content:flex-end}}.event-dialog-backdrop{position:fixed;inset:0;z-index:40;background-color:#10162299;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.event-dialog-wrapper{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;pointer-events:none}.event-dialog-modal{position:relative;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;pointer-events:auto}.event-preview-wrapper .event-dialog-modal{border:1px solid rgba(15,23,42,.06);border-radius:1.5rem;overflow:hidden;background:#fff}.event-preview-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.75rem 2.5rem;border-bottom:1px solid #e5e7eb}.event-preview-eyebrow{margin:0;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:#94a3b8}.event-preview-title{margin:.35rem 0 0;font-size:1.5rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.event-preview-subtitle{margin:.35rem 0 0;font-size:.95rem;color:#475569}.event-preview-actions{display:flex;align-items:center;gap:.75rem}.event-preview-edit-btn{display:inline-flex;align-items:center;gap:.35rem;border:none;background:#f1f5ff;color:#1152d4;font-size:.9rem;font-weight:600;border-radius:999px;padding:.55rem 1.25rem;cursor:pointer;transition:background .2s ease,transform .2s ease}.event-preview-edit-btn:hover{background:#e1e8ff}.event-preview-edit-icon{font-size:.85rem}.event-preview-body{padding:2rem 2.5rem 1.5rem;background:#f8f9fc;display:flex;flex-direction:column;gap:1.5rem}.event-preview-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.1rem 1.25rem}.event-preview-metric{display:flex;flex-direction:column;gap:.25rem}.metric-label{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.metric-value{margin:0;font-size:1rem;font-weight:600;color:#0f172a}.event-preview-section{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.event-preview-section.stack{gap:.35rem}.event-preview-section.counselor{border-color:#fcd34d;background:#fff7ed}.event-preview-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.event-preview-label{font-size:.85rem;font-weight:600;color:#0f172a;display:flex;align-items:center;gap:.5rem}.event-preview-hint{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;background:#edf2ff;padding:.1rem .5rem;border-radius:999px}.event-preview-section.counselor .event-preview-hint{background:#f59e0b26;color:#b45309}.event-preview-lock{font-size:1rem;color:#b45309}.event-preview-value{margin:0;color:#475569;line-height:1.5;white-space:pre-line}.event-preview-value.muted{color:#94a3b8}.event-preview-module-chips{display:flex;flex-wrap:wrap;gap:.5rem}.event-preview-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:999px;background:#0f172a;color:#f8fafc;font-weight:500;font-size:.85rem;border:1px solid transparent;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-preview-chip.clickable{cursor:pointer;transition:all .2s ease;border-color:#ffffff1a}.event-preview-chip.clickable:hover{background:#1e293b;border-color:#ffffff40;transform:translate(2px)}.event-preview-chip .chip-arrow{width:12px;height:12px;margin-left:.25rem;opacity:.6;transition:all .2s ease}.event-preview-chip.clickable:hover .chip-arrow{opacity:1;transform:translate(2px)}.event-preview-chip-meta{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.event-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.event-preview-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem 2.5rem;border-top:1px solid #e5e7eb;background:#fff}.event-preview-secondary,.event-preview-primary{border:none;border-radius:1rem;padding:.65rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.event-preview-secondary{background:#f8fafc;color:#475569}.event-preview-secondary:hover{background:#e2e8f0}.event-preview-primary{background:#1152d4;color:#fff;box-shadow:0 10px 25px #1152d433;display:inline-flex;align-items:center;gap:.35rem}.event-preview-primary:hover{background:#0d3f9f}.event-preview-primary-icon{font-size:.85rem}.event-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;border-bottom:1px solid #f3f4f6;background:#fff;z-index:10}.event-dialog-title{font-size:1.25rem;font-weight:700;color:#0d121b;letter-spacing:-.025em;margin:0;line-height:1.2}.event-dialog-subtitle{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.event-dialog-close{padding:.5rem;border-radius:9999px;border:none;background:#f3f4f6;color:#6b7280;font-size:1.25rem;line-height:1;cursor:pointer;transition:all .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.event-dialog-close:hover{background:#e5e7eb;color:#374151}.event-dialog-body{flex:1;overflow-y:auto;padding:2rem;background:#fff}.event-dialog-body::-webkit-scrollbar{width:6px}.event-dialog-body::-webkit-scrollbar-track{background:transparent}.event-dialog-body::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:20px}.event-dialog-content{display:flex;flex-direction:column;gap:1.5rem}.event-dialog-section{display:flex;flex-direction:column;gap:1.25rem}.module-picker-mini{background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #e5e7eb;border-radius:1rem;padding:1.25rem;box-shadow:inset 0 1px #fff9;gap:1rem}.module-picker-mini-head{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:space-between;align-items:flex-end}.module-picker-mini-hint{margin:.25rem 0 0;color:#64748b;font-size:.85rem}.module-picker-mini-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.module-picker-mini-selects{display:flex;gap:.75rem;width:100%;flex-wrap:wrap}.module-picker-mini-select{flex:1;min-width:150px;border-radius:.75rem;border:1px solid #cbd5f5;background:#fff;height:2.5rem;padding:0 .85rem;font-size:.9rem;color:#0f172a}.module-picker-mini-select:focus{outline:none;border-color:#546efc;box-shadow:0 0 0 2px #546efc26}.module-picker-mini-search-row{display:flex;width:100%;gap:.75rem;align-items:center}.module-picker-mini-search{height:2.5rem;border-radius:999px;border:1px solid #cbd5f5;background:#fff;padding:0 1rem;min-width:220px;font-size:.95rem;transition:box-shadow .2s ease,border-color .2s ease}.module-picker-mini-search:focus{outline:none;border-color:#546efc;box-shadow:0 0 0 3px #546efc33}.module-picker-mini-link{border:none;background:transparent;color:#546efc;font-weight:600;font-size:.9rem;cursor:pointer;padding:.5rem .75rem;border-radius:999px;transition:background .2s ease}.module-picker-mini-link:hover{background:#546efc1a}.module-pill-row{display:flex;gap:.5rem;flex-wrap:wrap}.module-pill{border:none;border-radius:999px;background:#0f172a12;padding:.65rem 1rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;color:#0f172a;font-weight:500;flex:0 0 auto;min-height:2.5rem;max-width:100%}.module-pill:hover{transform:translateY(-1px);background:#0f172a1f}.module-pill.active{background:#0f172a;color:#f8fafc}.module-pill-title{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-pill-code{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.65}.module-pill-more{background:#fff;border:1px dashed rgba(15,23,42,.2)}.module-picker-empty{margin:.5rem 0 0;color:#94a3b8;font-size:.9rem}.module-picker-popover{margin-top:.75rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;box-shadow:0 12px 35px #0f172a1f;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.module-picker-popover-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.9rem;color:#0f172a}.module-picker-popover-close{border:none;background:transparent;font-size:1rem;cursor:pointer;color:#475569}.module-picker-popover-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.event-dialog-divider{height:1px;background:#f3f4f6;margin:.25rem 0}.event-dialog-field{display:flex;flex-direction:column;flex:1}.event-dialog-label{font-size:.875rem;font-weight:600;color:#0d121b;margin-bottom:.5rem;display:block}.event-dialog-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.event-dialog-input,.event-dialog-select,.event-dialog-textarea{width:100%;border-radius:.75rem;border:1px solid #cfd7e7;background:#f8f9fc;color:#0d121b;font-size:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:all .2s}.event-dialog-input,.event-dialog-select{height:3rem;padding:0 1rem}.event-dialog-textarea{padding:1rem;min-height:100px;resize:vertical}.event-dialog-input::placeholder,.event-dialog-textarea::placeholder{color:#94a3b8}.event-dialog-input:focus,.event-dialog-select:focus,.event-dialog-textarea:focus{outline:none;border-color:#1152d4;box-shadow:0 0 0 3px #1152d41a}.event-dialog-input:disabled,.event-dialog-select:disabled,.event-dialog-textarea:disabled{opacity:.6;cursor:not-allowed}.event-dialog-select-wrapper{position:relative}.event-dialog-select{appearance:none;cursor:pointer;padding-right:3rem}.event-dialog-select-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#6b7280;font-size:.75rem;pointer-events:none}.event-dialog-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem 1rem;background:#f8f9fc;border:1px solid #e2e8f0;border-radius:.75rem;transition:all .2s ease}.event-dialog-toggle:hover{background:#f1f5f9;border-color:#cbd5e1}.event-dialog-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.event-dialog-toggle-slider{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:24px;transition:all .2s ease;flex-shrink:0}.event-dialog-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #00000026;transition:transform .2s ease}.event-dialog-toggle input:checked+.event-dialog-toggle-slider{background:#1152d4}.event-dialog-toggle input:checked+.event-dialog-toggle-slider:before{transform:translate(20px)}.event-dialog-toggle-label{font-size:.9rem;font-weight:500;color:#374151}.event-dialog-toggle input:checked~.event-dialog-toggle-label{color:#1152d4;font-weight:600}.event-dialog-segmented{display:flex;height:2.75rem;width:100%;align-items:center;border-radius:.75rem;background:#e7ebf3;padding:.25rem;gap:.25rem}.event-dialog-segment{display:flex;cursor:pointer;height:100%;flex:1;align-items:center;justify-content:center;overflow:hidden;border-radius:.5rem;padding:0 .5rem;color:#6b7280;font-size:.875rem;font-weight:500;transition:all .2s;position:relative}.event-dialog-segment input{position:absolute;opacity:0;width:0;height:0}.event-dialog-segment:hover{color:#374151}.event-dialog-segment.active{background:#fff;color:#1152d4;box-shadow:0 1px 3px #0000001a}.event-dialog-duration-wrapper{position:relative}.event-dialog-duration-suffix{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.875rem;pointer-events:none}.event-dialog-duration-wrapper .event-dialog-input{padding-right:3.5rem}.counselor-note-field{position:relative}.counselor-note-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.lock-icon{font-size:1.125rem;color:#f59e0b}.counselor-note-private{color:#9ca3af;font-weight:400;margin-left:.25rem}.counselor-note-textarea{border-color:#fcd34d;background:#fef3c780}.counselor-note-textarea::placeholder{color:#b4530966}.counselor-note-textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.event-dialog-error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:.5rem;color:#991b1b;font-size:.875rem}.event-dialog-conflicts{padding:1rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:.75rem}.event-dialog-conflicts-title{font-size:.875rem;font-weight:600;color:#92400e;margin:0 0 .75rem}.event-dialog-conflicts-list{list-style:none;padding:0;margin:0 0 1rem;font-size:.875rem;color:#78350f}.event-dialog-conflicts-list li{padding:.5rem 0;border-top:1px solid #fde68a}.event-dialog-conflicts-list li:first-child{border-top:none;padding-top:0}.event-dialog-conflicts-actions{display:flex;gap:.5rem;justify-content:flex-end}.event-dialog-footer{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:#f9fafb;border-top:1px solid #f3f4f6;gap:.75rem}.event-dialog-footer-right{display:flex;gap:.75rem;margin-left:auto}.event-dialog-btn-delete,.event-dialog-btn-secondary,.event-dialog-btn-primary{padding:.625rem 1.5rem;border-radius:.75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.event-dialog-btn-delete{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.event-dialog-btn-delete:hover{background:#fee2e2}.event-dialog-btn-secondary{background:transparent;color:#4b5563}.event-dialog-btn-secondary:hover{background:#e5e7eb}.event-dialog-btn-primary{background:#1152d4;color:#fff;box-shadow:0 10px 15px -3px #1152d433}.event-dialog-btn-primary:hover{background:#0d3f9f;box-shadow:0 10px 15px -3px #1152d44d}.event-dialog-btn-primary:active{transform:scale(.95)}.event-dialog-btn-primary:disabled,.event-dialog-btn-secondary:disabled,.event-dialog-btn-delete:disabled{opacity:.5;cursor:not-allowed}.send-icon{font-size:1.125rem}.event-dialog-hint{margin:.375rem 0 0;font-size:.75rem;color:#64748b;line-height:1.4}.event-dialog-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}@media(max-width:768px){.event-dialog-wrapper{padding:.5rem}.event-dialog-modal{max-height:95vh;border-radius:1rem}.event-dialog-header,.event-dialog-body,.event-dialog-footer{padding-left:1.5rem;padding-right:1.5rem}.event-dialog-row{grid-template-columns:1fr}.event-dialog-footer{flex-direction:column;align-items:stretch}.event-dialog-footer-right{width:100%;margin-left:0}.event-dialog-footer-right .event-dialog-btn-secondary,.event-dialog-footer-right .event-dialog-btn-primary{flex:1}}.debrief-backdrop{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;animation:debrief-fade-in .2s ease}.debrief-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,94vw);max-height:85vh;background:#fff;border-radius:16px;box-shadow:0 24px 64px #0f172a33;z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:debrief-slide-up .25s ease}@keyframes debrief-fade-in{0%{opacity:0}to{opacity:1}}@keyframes debrief-slide-up{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.debrief-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 1.75rem 1.25rem;border-bottom:1px solid #f1f5f9;background:radial-gradient(circle at top left,#34d39940,#10b98114),#f9fffb}.debrief-header-content{display:flex;align-items:center;gap:1rem}.debrief-icon-ring{width:52px;height:52px;border-radius:16px;background:#10b9811f;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #10b98126}.debrief-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#0ea5e9);color:#fff;font-size:1.25rem;font-weight:700;border-radius:12px;box-shadow:0 8px 20px #10b98159}.debrief-header-text{display:flex;flex-direction:column;gap:.25rem}.debrief-label-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.15rem}.debrief-chip{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:#0f766e1f;color:#0f766e}.debrief-helper{font-size:.8rem;color:#0f172a;font-weight:500}.debrief-title{margin:0;font-size:1.125rem;font-weight:600;color:#0f172a;font-family:inherit}.debrief-event-name{margin:.15rem 0 0;font-size:.85rem;color:#64748b}.debrief-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.meta-pill{font-size:.75rem;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .6rem;box-shadow:0 2px 8px #0f172a14}.debrief-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#64748b;cursor:pointer;border-radius:8px;transition:all .15s}.debrief-close:hover{background:#f1f5f9;color:#0f172a}.debrief-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.debrief-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.debrief-section{margin-bottom:1.5rem}.debrief-section:last-child{margin-bottom:0}.debrief-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.debrief-section-header h3{margin:0;font-size:.9rem;font-weight:600;color:#334155;font-family:inherit}.debrief-progress{font-size:.8rem;font-weight:500;color:#64748b;background:#f1f5f9;padding:.25rem .6rem;border-radius:999px}.debrief-add-btn{font-size:.8rem;padding:.35rem .75rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;transition:all .15s}.debrief-add-btn:hover{border-color:#94a3b8;color:#475569;background:#f1f5f9}.debrief-module-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.debrief-module-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .5rem .4rem .75rem;background:#e0f2fe;border-radius:999px;font-size:.85rem;font-weight:500;color:#0369a1}.debrief-module-chip button{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#0369a126;border:none;border-radius:50%;color:#0369a1;font-size:.9rem;line-height:1;cursor:pointer;transition:background .15s}.debrief-module-chip button:hover{background:#0369a140}.debrief-add-chip{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:50%;color:#94a3b8;font-size:1.1rem;cursor:pointer;transition:all .15s}.debrief-add-chip:hover{border-color:#94a3b8;color:#64748b;background:#f1f5f9}.debrief-module-picker{position:relative}.debrief-module-picker input{width:100%;padding:.65rem .85rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#0f172a;transition:border-color .15s,box-shadow .15s}.debrief-module-picker input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.debrief-module-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 12px 32px #0f172a1f;max-height:200px;overflow-y:auto;z-index:10}.debrief-module-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .85rem;background:transparent;border:none;text-align:left;cursor:pointer;transition:background .1s}.debrief-module-option:hover{background:#f8fafc}.debrief-module-option .option-title{font-size:.875rem;font-weight:500;color:#0f172a}.debrief-module-option .option-domain{font-size:.75rem;color:#94a3b8}.debrief-progress-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-bottom:1rem;background:#f1f5f9}.debrief-progress-segment{height:100%;transition:flex .3s ease}.debrief-empty-text{color:#94a3b8;font-size:.875rem;text-align:center;padding:1rem 0;margin:0}.debrief-quick-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.quick-actions-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.quick-actions-buttons{display:flex;gap:.5rem}.quick-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid var(--btn-color);color:var(--btn-color);background:var(--btn-bg);border-color:var(--btn-bg)}.quick-btn:hover:not(:disabled){filter:brightness(.95);transform:translateY(-1px)}.quick-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.quick-btn .quick-icon{font-size:.9rem}.debrief-concepts{display:flex;flex-direction:column;gap:1rem}.concept-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.65rem .85rem;background:transparent;border:none;border-bottom:1px solid #f1f5f9;border-left:3px solid transparent;text-align:left;cursor:pointer;transition:all .1s}.concept-item:last-child{border-bottom:none}.concept-item:hover:not(:disabled){background:#f8fafc}.concept-indicator{font-size:1.1rem;width:1.25rem;text-align:center;flex-shrink:0}.concept-name{flex:1;font-size:.875rem;color:#334155;min-width:0}.concept-state{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .5rem;background:#fff;border-radius:4px;flex-shrink:0;box-shadow:0 1px 2px #0000000d}@media(max-width:640px){.quick-actions-buttons{flex-wrap:wrap}.quick-btn{min-width:0;padding:.5rem}}.debrief-notes-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;font-size:.875rem;color:#64748b;cursor:pointer;transition:all .15s}.debrief-notes-toggle:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.toggle-icon{font-size:1rem;font-weight:600;color:#94a3b8}.debrief-notes-input{width:100%;margin-top:.75rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;font-family:inherit;color:#334155;background:#fff;resize:vertical;min-height:80px;transition:border-color .15s,box-shadow .15s}.debrief-notes-input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.debrief-notes-input::placeholder{color:#94a3b8}.debrief-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.75rem;border-top:1px solid #f1f5f9;background:#fefefe}.debrief-footer-copy p{margin:0;font-size:.85rem;color:#475569}.debrief-footer-actions{display:flex;gap:.75rem}.debrief-btn{padding:.65rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;border:none}.debrief-btn:disabled{opacity:.5;cursor:not-allowed}.debrief-btn--secondary{background:#fff;color:#64748b;border:1px solid #e2e8f0}.debrief-btn--secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#475569}.debrief-btn--primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b98140}.debrief-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}@media(max-width:640px){.debrief-dialog{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;top:0;left:0;transform:none;animation:debrief-slide-mobile .25s ease}@keyframes debrief-slide-mobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.debrief-header{padding:1rem;position:sticky;top:0;z-index:1}.debrief-body{padding:1rem;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.debrief-footer{padding:1rem;flex-direction:column;align-items:flex-start}.debrief-footer-actions{width:100%}.debrief-btn{flex:1;padding:.85rem 1rem}.debrief-quick-actions{flex-direction:column;gap:.4rem}.quick-btn{padding:.65rem 1rem}.concept-item{padding:.75rem .85rem}}.status-line{display:flex;align-items:center}.status-line__inner{display:flex;align-items:center;gap:.625rem}.status-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:.875rem;color:#475569;transition:all .2s ease;position:relative;overflow:hidden}.status-pill__icon{color:#94a3b8;flex-shrink:0;transition:color .2s ease}.status-pill__text{display:flex;align-items:baseline;gap:.25rem;position:relative;z-index:1}.status-pill__text strong{font-weight:700;font-size:1rem;color:#0f172a;font-variant-numeric:tabular-nums}.status-pill__divider{color:#cbd5e1;font-weight:400}.status-pill__muted{color:#94a3b8;font-weight:500}.status-pill__progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000000a;border-radius:0 0 7px 7px;overflow:hidden}.status-pill__progress-fill{height:100%;border-radius:0 0 0 7px;transition:width .5s cubic-bezier(.4,0,.2,1)}.status-pill--good{border-color:#22c55e26;background:#f0fdf4e6}.status-pill--good .status-pill__icon{color:#22c55e}.status-pill--good .status-pill__text strong{color:#166534}.status-pill--good .status-pill__progress-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.status-pill--success{border-color:#10b98133;background:linear-gradient(135deg,#ecfdf5f2,#d1fae5cc)}.status-pill--success .status-pill__icon{color:#10b981}.status-pill--success .status-pill__text strong{color:#065f46}.status-pill--success .status-pill__progress-fill{background:linear-gradient(90deg,#10b981,#34d399)}.status-pill--warning{border-color:#f59e0b26;background:#fffbebe6}.status-pill--warning .status-pill__icon{color:#f59e0b}.status-pill--warning .status-pill__text strong{color:#92400e}.status-pill--warning .status-pill__progress-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.status-pill--urgent{border-color:#ef444433;background:linear-gradient(135deg,#fef2f2f2,#fee2e2cc);animation:pulse-subtle 2s ease-in-out infinite}.status-pill--urgent .status-pill__icon{color:#ef4444}.status-pill--urgent .status-pill__text strong{color:#b91c1c}.status-pill--alert{border-color:#fb923c26;background:#fff7ede6}.status-pill--alert .status-pill__icon{color:#f97316}.status-pill--alert .status-pill__text strong{color:#c2410c}.status-pill--streak{border-color:#fb923c33;background:linear-gradient(135deg,#fff7edf2,#fef3c7cc)}.status-pill--streak .status-pill__icon{color:#f97316}.status-pill--streak .status-pill__text strong{color:#c2410c}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.6875rem;font-weight:600;border-radius:6px;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 2px 8px #10b9814d}.status-badge svg{width:12px;height:12px}@keyframes pulse-subtle{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 4px #ef44441a}}.status-pill:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}@media(max-width:768px){.status-line{padding:.5rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.status-line::-webkit-scrollbar{display:none}.status-line__inner{flex-wrap:nowrap;padding:0 .25rem}.status-pill{flex-shrink:0;padding:.3rem .625rem;font-size:.7rem}.status-badge{flex-shrink:0}}@media(max-width:480px){.status-pill__muted{display:none}.status-pill__text strong:after{content:"h"}.status-pill:first-child .status-pill__text strong:after{content:"h / " attr(data-target) "h"}}.template-picker-backdrop{position:fixed;inset:0;background:#00000080;z-index:999}.template-picker-wrapper{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;pointer-events:none}.template-picker-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.template-picker-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.template-picker-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.template-picker-subtitle{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.template-picker-close{background:#f3f4f6;border:none;font-size:1.125rem;color:#6b7280;cursor:pointer;padding:0;line-height:1;transition:all .15s;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.template-picker-close:hover{background:#e5e7eb;color:#374151}.template-picker-close:disabled{opacity:.5;cursor:not-allowed}.template-picker-body{padding:1.5rem;overflow-y:auto;flex:1}.template-picker-field{margin-bottom:1.5rem}.template-picker-field:last-child{margin-bottom:0}.template-picker-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.template-picker-input{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9375rem;color:#111827;transition:border-color .15s,box-shadow .15s}.template-picker-input:focus{outline:none;border-color:#1152d4;box-shadow:0 0 0 3px #1152d41a}.template-picker-input:disabled{background:#f3f4f6;cursor:not-allowed}.template-picker-hint{font-size:.75rem;color:#6b7280;margin:.375rem 0 0}.template-list{display:flex;flex-direction:column;gap:.75rem}.template-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:1rem;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s,transform .1s}.template-card:hover{background:#f3f4f6;border-color:#d1d5db}.template-card.selected{background:#eff6ff;border-color:#1152d4}.template-card:disabled{opacity:.6;cursor:not-allowed}.template-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.template-card-name{font-size:.9375rem;font-weight:600;color:#111827}.template-card-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .375rem;border-radius:4px;background:#e5e7eb;color:#6b7280}.template-card-badge.custom{background:#dbeafe;color:#1d4ed8}.template-card-description{font-size:.8125rem;color:#6b7280;margin:0 0 .5rem;line-height:1.4}.template-card-meta{display:flex;gap:1rem;font-size:.75rem;color:#9ca3af}.template-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin-top:1rem}.template-preview-title{font-size:.8125rem;font-weight:600;color:#374151;margin:0 0 .75rem}.template-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:180px;overflow-y:auto}.template-preview-item{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;padding:.5rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.template-preview-day{font-weight:600;color:#1152d4;min-width:48px}.template-preview-event{flex:1;color:#374151}.template-preview-time{color:#9ca3af;font-size:.75rem}.template-preview-note{margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid #e5e7eb;font-size:.75rem;color:#6b7280;font-style:italic}.template-picker-loading,.template-picker-empty{padding:2rem;text-align:center;color:#6b7280;font-size:.875rem}.template-picker-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;color:#dc2626;font-size:.875rem;margin-top:1rem}.template-picker-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:2rem;text-align:center;color:#15803d;font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.success-icon{width:48px;height:48px;background:#22c55e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.template-picker-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.template-picker-btn-secondary{padding:.625rem 1.25rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.template-picker-btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.template-picker-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.template-picker-btn-primary{padding:.625rem 1.5rem;border:none;border-radius:8px;background:#1152d4;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.template-picker-btn-primary:hover{background:#0e44b7}.template-picker-btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.template-confirm-summary{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:1.25rem}.template-confirm-info{display:flex;justify-content:space-between;align-items:center;gap:1rem}.template-confirm-label{font-size:.8125rem;color:#6b7280}.template-confirm-value{font-size:.875rem;font-weight:600;color:#15803d}.template-confirm-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.template-confirm-preview-title{font-size:.8125rem;font-weight:600;color:#374151;margin:0 0 .75rem}.template-confirm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem;max-height:200px;overflow-y:auto}.template-confirm-item{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;padding:.5rem .75rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.template-confirm-date{font-weight:600;color:#1152d4;min-width:90px}.template-confirm-module{flex:1;color:#374151}.template-confirm-hours{color:#9ca3af;font-size:.75rem}.template-confirm-note{display:flex;align-items:flex-start;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:#eff6ff;border-radius:8px;font-size:.8125rem;color:#1d4ed8}.template-confirm-note svg{flex-shrink:0;margin-top:1px}@media(max-width:480px){.template-picker-modal{max-height:90vh}.template-picker-header,.template-picker-body,.template-picker-footer{padding-left:1rem;padding-right:1rem}.template-preview-list{max-height:140px}.template-confirm-list{max-height:160px}.template-confirm-date{min-width:70px;font-size:.75rem}}.scheduler-tabs{display:flex;padding:.5rem;gap:.5rem;background:var(--background, #f5f5f5)}.scheduler-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:10px;font-size:.875rem;font-weight:500;color:var(--muted, #666);cursor:pointer;transition:all .2s}.scheduler-tab:hover{color:var(--text, #1a1a1a);background:#ffffff80}.scheduler-tab.active{color:#7c3aed;background:#fff;box-shadow:0 2px 8px #00000014}.tab-icon{font-size:1.125rem}.chat-mode{display:flex;flex-direction:column;gap:1.25rem}.chat-messages{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:#f8fafc}.chat-welcome{text-align:center;padding:3rem 2rem;margin:auto;max-width:420px;position:relative}.welcome-close-btn{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:1.25rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}.welcome-close-btn:hover{background:#e5e7eb;color:#374151}.chat-welcome .welcome-icon{font-size:4rem;margin-bottom:1.5rem;display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:24px;color:#7c3aed;animation:welcomePulse 2s ease-in-out infinite}@keyframes welcomePulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #8b5cf633}50%{transform:scale(1.05);box-shadow:0 8px 30px #8b5cf659}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.chat-welcome h3{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#7c3aed,#8b5cf6,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-welcome p{margin:0 0 2rem;font-size:1rem;color:#6b7280;line-height:1.6}.chat-welcome .suggested-prompts{display:flex;flex-direction:column;gap:.75rem}.chat-welcome .suggested-prompt{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem 1.25rem;font-size:.9375rem;color:#374151;text-align:left;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000000d}.chat-welcome .suggested-prompt:hover{border-color:#8b5cf6;background:#faf5ff;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf626}.chat-message{display:flex;gap:.75rem;max-width:80%}.chat-message.user{margin-left:auto;flex-direction:row-reverse}.msg-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0;color:#fff;box-shadow:0 2px 8px #8b5cf64d}.msg-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:.875rem 1.125rem;font-size:.9375rem;line-height:1.6;color:#1f2937;box-shadow:0 1px 3px #0000000a;max-width:100%;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.chat-message.user .msg-content{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff;box-shadow:0 2px 8px #8b5cf640}.chat-message-wrapper{display:flex;flex-direction:column;gap:.75rem}.quick-replies{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:48px;margin-top:-.25rem}.quick-reply-btn{background:#fff;border:1.5px solid #e5e7eb;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;color:#374151;cursor:pointer;transition:all .2s;white-space:nowrap}.quick-reply-btn:hover{border-color:#8b5cf6;background:#faf5ff;color:#7c3aed;transform:translateY(-1px);box-shadow:0 2px 8px #8b5cf626}.quick-reply-btn:active{transform:translateY(0)}.chat-message.error .msg-content{background:#fef2f2;border-color:#fecaca;color:#991b1b}.typing-dots{display:flex;gap:4px;padding:.25rem 0}.typing-dots span{width:6px;height:6px;background:#8b5cf6;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.chat-schedule-preview{margin-top:.75rem;padding:.75rem;background:#8b5cf614;border-radius:8px}.chat-schedule-preview h4{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:#7c3aed}.preview-sessions{display:flex;flex-direction:column;gap:.25rem}.preview-session{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.ps-day{color:var(--muted, #666);min-width:30px}.ps-title{color:var(--text, #1a1a1a)}.preview-sessions .more{font-size:.75rem;color:var(--muted, #666);margin:.25rem 0 0}.chat-schedule-bar{padding:.75rem 1rem;background:linear-gradient(135deg,#8b5cf61a,#7c3aed26);border-top:1px solid rgba(139,92,246,.2);display:flex;align-items:center;justify-content:space-between;gap:1rem}.chat-schedule-bar span{font-size:.8125rem;font-weight:500;color:#7c3aed}.chat-schedule-bar .btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer}.chat-input-area{padding:1.25rem 1.5rem;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:1rem}.chat-input-area input{flex:1;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:14px;font-size:1rem;background:#f9fafb;transition:all .2s}.chat-input-area input:focus{outline:none;border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 4px #8b5cf61a}.chat-input-area input::placeholder{color:#9ca3af}.send-btn{width:52px;height:52px;border-radius:14px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 12px #8b5cf659;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 20px #8b5cf673}.send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.event-cards-section{border-top:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;gap:.75rem}.event-cards-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border, #e5e5e5);background:var(--background, #f8f9fa)}.event-cards-header h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text, #1a1a1a)}.event-cards-actions{display:flex;gap:.75rem}.text-btn{background:none;border:none;padding:0;font-size:.75rem;color:#8b5cf6;cursor:pointer;font-weight:500}.text-btn:hover{text-decoration:underline}.event-cards-list{padding:.5rem;display:flex;flex-direction:column;gap:.5rem;background:#f3f4f6}.event-card{background:#fff!important;border:2px solid #e5e7eb;border-radius:12px;overflow:visible;transition:all .2s;min-height:60px}.event-card.accepted{border-color:#10b981;background:#fff!important}.event-card.rejected{opacity:.5;border-color:#d1d5db;background:#f9fafb!important}.event-card.editing{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.event-card-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--background, #f8f9fa);border-bottom:1px solid var(--border, #e5e5e5)}.accept-btn{width:24px;height:24px;border-radius:8px;border:2px solid #d1d5db;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;transition:all .2s;color:#fff;flex-shrink:0}.accept-btn:hover{border-color:#10b981}.accept-btn.active{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 2px 6px #10b9814d}.event-number{font-size:.6875rem;color:var(--muted, #666);font-weight:500}.domain-badge{padding:.25rem .625rem;border-radius:6px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.domain-badge.varc{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.domain-badge.dilr{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.domain-badge.qa{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.edit-btn,.remove-btn{margin-left:auto;background:none;border:none;width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center}.edit-btn{color:var(--muted, #666)}.edit-btn:hover{background:var(--hover, #f0f0f0);color:#8b5cf6}.remove-btn{margin-left:0;color:var(--muted, #999)}.remove-btn:hover{background:#fef2f2;color:#dc2626}.event-card-compact{display:flex!important;align-items:center!important;gap:12px!important;padding:14px 16px!important;cursor:pointer;background:#fff!important;min-height:64px!important;box-sizing:border-box}.event-card-compact:hover{background:#f9fafb!important}.event-card-compact .accept-btn{flex-shrink:0;width:24px;height:24px}.event-card-compact .event-info{flex:1!important;min-width:0;display:block!important}.event-card-compact .event-title-row{display:flex!important;align-items:center;gap:8px;margin-bottom:4px}.event-card-compact .domain-badge{flex-shrink:0;display:inline-block!important}.event-card-compact .event-title{font-size:14px!important;font-weight:600!important;color:#111827!important;line-height:1.4;display:inline!important}.event-card-compact .event-meta-row{display:flex!important;align-items:center;gap:6px;font-size:13px!important;color:#6b7280!important;margin-top:2px}.event-card-compact .event-day{font-weight:500;color:#374151!important}.event-card-compact .event-time,.event-card-compact .event-duration{color:#6b7280!important}.event-card-compact .event-time:before,.event-card-compact .event-duration:before{content:"·";margin-right:6px;color:#d1d5db}.event-card-compact .remove-btn{width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:#9ca3af;font-size:20px;cursor:pointer;display:flex!important;align-items:center;justify-content:center;flex-shrink:0}.event-card-compact .remove-btn:hover{background:#fef2f2;color:#dc2626}.edit-row-inline{display:flex;gap:.75rem}.edit-field{flex:1;display:flex;flex-direction:column;gap:.25rem}.edit-field label{font-size:.75rem;color:var(--muted, #666)}.edit-field select,.edit-field input{padding:.375rem .5rem;border:1px solid var(--border, #e5e5e5);border-radius:6px;font-size:.8125rem;background:var(--surface, #fff)}.edit-field select:focus,.edit-field input:focus{outline:none;border-color:#8b5cf6}.event-card-edit{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.edit-row{display:flex;align-items:center;gap:.75rem}.edit-row label{font-size:.75rem;color:var(--muted, #666);min-width:50px}.edit-row input,.edit-row select{flex:1;padding:.375rem .5rem;border:1px solid var(--border, #e5e5e5);border-radius:6px;font-size:.8125rem;background:var(--surface, #fff)}.edit-row input:focus,.edit-row select:focus{outline:none;border-color:#8b5cf6}.event-cards-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-top:1px solid var(--border, #e5e5e5);background:var(--background, #f8f9fa)}.selected-count{font-size:.8125rem;color:var(--muted, #666)}.event-cards-footer .btn-primary{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:.625rem 1.25rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #10b98140}.event-cards-footer .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #10b98159}.event-cards-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.chat-message.system .msg-content{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7;color:#065f46;animation:successPop .3s ease-out}.chat-message.system .msg-content strong{color:#047857}@keyframes successPop{0%{transform:scale(.95);opacity:0}70%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.auto-scheduler-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem 1.5rem;overflow-y:auto;min-height:100vh}.auto-scheduler-overlay:before{content:"";position:absolute;inset:0;z-index:-1}.auto-scheduler-dialog{background:#fff;border-radius:16px;max-width:900px;width:100%;display:flex;flex-direction:column;box-shadow:0 25px 80px #00000040;position:relative;z-index:1;margin:0 auto;max-height:calc(100vh - 3rem);overflow:hidden}.auto-scheduler-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border, #e5e5e5);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.auto-scheduler-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text, #1a1a1a)}.auto-scheduler-header p{margin:.25rem 0 0;font-size:.875rem;color:var(--muted, #666)}.auto-scheduler-close{background:#f3f4f6;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;padding:0;line-height:1;border-radius:50%;transition:all .15s;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.auto-scheduler-close:hover{background:#e5e7eb;color:#374151}.week-selector{padding:1rem 1.5rem;background:var(--background, #fafafa);border-bottom:1px solid var(--border, #e5e5e5);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.week-selector-left{display:flex;align-items:center;gap:1rem}.week-selector label{font-size:.875rem;font-weight:500;color:var(--text, #1a1a1a)}.ai-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-toggle input{width:18px;height:18px;accent-color:var(--accent, #4a7c59)}.ai-toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text, #1a1a1a)}.ai-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:4px}.week-nav{display:flex;align-items:center;gap:.5rem}.week-nav button{background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-radius:6px;padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:var(--text, #1f2a37);display:inline-flex;align-items:center;gap:.35rem;transition:all .15s}.week-nav button svg{display:block;color:inherit}.week-nav button:hover:not(:disabled){background:var(--hover, #f5f5f5);border-color:var(--accent, #4a7c59)}.week-nav button:disabled{opacity:.5;cursor:not-allowed}.week-label{font-weight:500;min-width:180px;text-align:center}.auto-scheduler-content{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;flex:1;max-height:calc(100vh - 18rem)}.schedule-summary{background:var(--background, #fafafa);border:1px solid var(--border, #e5e5e5);border-radius:8px;padding:1rem;margin-bottom:1rem}.schedule-summary.ai-summary{background:linear-gradient(135deg,#8b5cf60d,#7c3aed14);border-color:#8b5cf64d}.summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.schedule-summary h3{margin:0;font-size:1rem;font-weight:600;color:var(--text, #1a1a1a)}.schedule-summary p{margin:0;font-size:.875rem;color:var(--muted, #666)}.ai-tips{background:linear-gradient(135deg,#8b5cf60d,#7c3aed14);border:1px solid rgba(139,92,246,.2);border-radius:8px;padding:1rem;margin-bottom:1rem}.ai-tips h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#7c3aed}.ai-tips ul{margin:0;padding-left:1.25rem}.ai-tips li{font-size:.875rem;color:var(--text, #1a1a1a);margin-bottom:.25rem}.ai-tips li:last-child{margin-bottom:0}.summary-stats{display:flex;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.stat-chip{background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-radius:6px;padding:.375rem .75rem;font-size:.75rem;color:var(--muted, #666)}.stat-chip strong{color:var(--text, #1a1a1a)}.events-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.events-header h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text, #1a1a1a)}.select-all-btn{background:none;border:none;font-size:.75rem;color:var(--accent, #4a7c59);cursor:pointer;padding:.25rem .5rem}.select-all-btn:hover{text-decoration:underline}.events-list{display:flex;flex-direction:column;gap:.5rem}.event-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-radius:8px;cursor:pointer;transition:all .15s}.event-item:hover{border-color:var(--accent, #4a7c59)}.event-item.selected{border-color:var(--accent, #4a7c59);background:#4a7c590d}.event-checkbox{width:18px;height:18px;border:2px solid var(--border, #ccc);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.event-item.selected .event-checkbox{background:var(--accent, #4a7c59);border-color:var(--accent, #4a7c59);color:#fff}.event-details{flex:1;min-width:0}.event-title{font-weight:500;font-size:.875rem;color:var(--text, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-meta{font-size:.75rem;color:var(--muted, #666);margin-top:.125rem}.event-domain{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;background:var(--tag-bg, #e8f0eb);color:var(--tag-text, #4a7c59)}.quick-setup-prompt{text-align:center;padding:3rem 1.5rem;background:linear-gradient(135deg,#4a7c590d,#4a7c591a);border:2px dashed rgba(74,124,89,.3);border-radius:12px}.quick-setup-icon{font-size:3rem;margin-bottom:1rem}.quick-setup-prompt h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text, #1a1a1a)}.quick-setup-prompt p{margin:0 0 1.5rem;font-size:.875rem;color:var(--muted, #666);max-width:300px;margin-left:auto;margin-right:auto}.quick-setup-panel{background:var(--background, #fafafa);border:1px solid var(--border, #e5e5e5);border-radius:12px;padding:1.5rem}.quick-setup-panel h3{margin:0 0 1.5rem;font-size:1.125rem;font-weight:600;color:var(--text, #1a1a1a)}.quick-setup-section{margin-bottom:1.5rem}.quick-setup-section:last-of-type{margin-bottom:1.5rem}.quick-setup-section label{display:block;font-size:.875rem;font-weight:500;color:var(--text, #1a1a1a);margin-bottom:.75rem}.preset-chips{display:flex;flex-wrap:wrap;gap:.5rem}.preset-chip{padding:.5rem 1rem;background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-radius:20px;font-size:.875rem;font-weight:500;color:var(--text, #1a1a1a);cursor:pointer;transition:all .15s}.preset-chip:hover{border-color:var(--accent, #4a7c59);background:#4a7c590d}.preset-chip.active{background:var(--accent, #4a7c59);border-color:var(--accent, #4a7c59);color:#fff}.day-toggles{display:flex;gap:.375rem;margin-top:.75rem}.day-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-radius:8px;font-size:.75rem;font-weight:500;color:var(--muted, #666);cursor:pointer;transition:all .15s}.day-toggle:hover{border-color:var(--accent, #4a7c59)}.day-toggle.active{background:var(--accent, #4a7c59);border-color:var(--accent, #4a7c59);color:#fff}.quick-setup-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border, #e5e5e5)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted, #666)}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.empty-state h4{margin:0 0 .5rem;font-size:1rem;color:var(--text, #1a1a1a)}.empty-state p{margin:0;font-size:.875rem}.loading-state{text-align:center;padding:3rem 1rem;color:var(--muted, #666)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border, #e5e5e5);border-top-color:var(--accent, #4a7c59);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-state{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:1rem;color:#991b1b;font-size:.875rem}.warning-state{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1rem;color:#92400e;font-size:.875rem}.warning-state a{color:#92400e;font-weight:500}.auto-scheduler-footer{padding:1rem 1.5rem;border-top:1px solid var(--border, #e5e5e5);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface, #fff)}.footer-info{font-size:.875rem;color:var(--muted, #666)}.footer-actions{display:flex;gap:.75rem}.footer-actions button{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary{background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);color:var(--text, #1a1a1a)}.btn-secondary:hover:not(:disabled){background:var(--hover, #f5f5f5)}.btn-primary{background:var(--accent, #4a7c59);border:1px solid var(--accent, #4a7c59);color:#fff}.btn-primary:hover:not(:disabled){background:#3d6649}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.auto-scheduler-overlay{padding:0}.auto-scheduler-dialog{max-height:100vh;height:100vh;border-radius:0;max-width:100%}.auto-scheduler-header{padding:1rem}.auto-scheduler-header h2{font-size:1.125rem}.scheduler-tabs{padding:.375rem;gap:.375rem}.scheduler-tab{padding:.625rem .75rem;font-size:.8125rem}.week-selector{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.week-selector-left{flex-direction:column;align-items:stretch;gap:.5rem;width:100%}.week-nav{justify-content:center}.chat-mode{min-height:300px;max-height:none;flex:1}.chat-messages{padding:.75rem}.chat-welcome{padding:1.5rem 1rem}.chat-welcome h3{font-size:1.125rem}.chat-welcome .suggested-prompt{padding:.625rem .875rem;font-size:.75rem}.quick-replies{margin-left:0;gap:.375rem}.quick-reply-btn{padding:.375rem .75rem;font-size:.8125rem;border-radius:16px}.chat-input-area{padding:.75rem;gap:.5rem}.chat-input-area input{padding:.625rem .875rem;font-size:.8125rem}.send-btn{width:40px;height:40px}.event-cards-section{max-height:220px}.event-cards-header{padding:.625rem .75rem}.event-cards-header h4{font-size:.8125rem}.event-cards-list{padding:.375rem;gap:.375rem}.event-card-header{padding:.375rem .5rem;gap:.375rem}.event-card-compact{padding:.625rem .75rem;gap:.5rem}.event-card-compact .event-title{font-size:.8125rem}.event-card-compact .event-meta-row{font-size:.6875rem}.edit-row-inline{flex-direction:column;gap:.5rem}.event-cards-footer{padding:.625rem .75rem}.event-cards-footer .btn-primary{padding:.5rem 1rem;font-size:.8125rem}.auto-scheduler-footer{flex-direction:column;padding:.75rem 1rem;gap:.75rem}.footer-info{text-align:center;font-size:.8125rem}.footer-actions{width:100%;gap:.5rem}.footer-actions button{flex:1;padding:.625rem .75rem;font-size:.8125rem}.quick-setup-panel{padding:1rem}.preset-chips{gap:.375rem}.preset-chip{padding:.375rem .75rem;font-size:.75rem}.day-toggles{gap:.25rem}.day-toggle{width:36px;height:36px;font-size:.6875rem}}@media(max-width:380px){.scheduler-tab{padding:.5rem;font-size:.75rem}.tab-icon{font-size:1rem}.week-nav button{padding:.375rem .5rem;font-size:.75rem}.event-number{display:none}.edit-btn,.remove-btn{width:20px;height:20px}}.md-content{font-size:.9rem;line-height:1.6;max-width:100%;overflow-x:hidden;word-wrap:break-word;overflow-wrap:break-word}.md-content h2{font-size:1.1rem;font-weight:600;margin:1rem 0 .5rem;color:var(--text, #1a1a1a)}.md-content h3{font-size:1rem;font-weight:600;margin:.875rem 0 .5rem;color:var(--text, #1a1a1a)}.md-content h4{font-size:.925rem;font-weight:600;margin:.75rem 0 .375rem;color:var(--text, #1a1a1a)}.md-content p{margin:.5rem 0}.md-content ul{margin:.5rem 0;padding-left:1.25rem}.md-content li{margin:.25rem 0}.md-content hr{border:none;border-top:1px solid var(--border, #e5e5e5);margin:1rem 0}.md-content code{background:#0000000d;padding:.125rem .375rem;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.85em}.md-content strong{font-weight:600}.md-content em{font-style:italic}.md-table-wrap{overflow-x:auto;overflow-y:hidden;margin:.75rem 0;border-radius:8px;border:1px solid var(--border, #e5e5e5);max-width:100%;-webkit-overflow-scrolling:touch}.md-table{min-width:max-content;border-collapse:collapse;font-size:.8rem}.md-table th{background:var(--background, #f5f5f5);padding:.5rem .75rem;text-align:left;font-weight:600;border-bottom:1px solid var(--border, #e5e5e5)}.md-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border, #e5e5e5);vertical-align:top}.md-table tr:last-child td{border-bottom:none}.md-table tr:hover td{background:#00000005}@media(max-width:600px){.auto-scheduler-overlay{padding:0;align-items:stretch}.auto-scheduler-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.auto-scheduler-header{position:relative;z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;flex-shrink:0}.auto-scheduler-header h2{font-size:1rem}.auto-scheduler-header p{font-size:.6875rem;display:none}.scheduler-tabs{padding:.375rem;gap:.375rem;flex-shrink:0}.scheduler-tab{padding:.5rem .75rem;font-size:.8125rem}.auto-scheduler-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.chat-mode{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;max-height:none}.chat-welcome{padding:2rem 1rem}.chat-welcome .welcome-icon{font-size:3rem;margin-bottom:1rem}.chat-welcome h3{font-size:1.25rem;margin-bottom:.5rem}.chat-welcome p{font-size:.875rem;margin-bottom:1.25rem}.suggested-prompts{display:flex;flex-direction:column;gap:.5rem;width:100%}.suggested-prompt{width:100%;text-align:left;padding:.875rem 1rem;font-size:.875rem;border-radius:12px}.chat-message-wrapper{width:100%}.chat-message{max-width:100%}.chat-message.user{margin-left:auto;max-width:85%}.chat-message.assistant{max-width:100%}.msg-avatar{width:32px;height:32px;font-size:1rem;flex-shrink:0}.msg-content{padding:.75rem 1rem;font-size:.9375rem;line-height:1.5}.quick-replies{margin-left:0;margin-top:.5rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.quick-reply-btn{flex:1 1 auto;min-width:calc(50% - .25rem);padding:.75rem 1rem;font-size:.875rem;text-align:center;border-radius:20px;-webkit-tap-highlight-color:transparent}.chat-input-area{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));gap:.75rem;flex-shrink:0}.chat-input-area input{flex:1;padding:.875rem 1rem;font-size:1rem;border-radius:24px;appearance:none;-webkit-appearance:none}.send-btn{width:48px;height:48px;border-radius:50%;font-size:1.25rem;flex-shrink:0;-webkit-tap-highlight-color:transparent}.event-cards-section{max-height:50vh;border-top:1px solid #e5e7eb}.event-cards-header{position:sticky;top:0;background:#fff;z-index:5;padding:.75rem 1rem}.event-cards-list{padding:.5rem;gap:.5rem;max-height:calc(50vh - 120px);overflow-y:auto;-webkit-overflow-scrolling:touch}.event-card{border-radius:12px}.event-card-compact{padding:.875rem 1rem;gap:.75rem}.accept-btn{width:28px;height:28px;font-size:.875rem}.domain-badge{padding:.25rem .625rem;font-size:.6875rem}.event-title{font-size:.9375rem}.event-meta-row{font-size:.8125rem;gap:.5rem}.remove-btn{width:28px;height:28px;font-size:1.125rem}.event-cards-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.event-cards-footer .btn-primary{width:100%;padding:.875rem 1rem;font-size:1rem;border-radius:12px}.event-card-edit{padding:.75rem}.edit-row{margin-bottom:.75rem}.edit-row label{font-size:.75rem;margin-bottom:.375rem}.edit-row input,.edit-row select{padding:.75rem;font-size:1rem;border-radius:8px}.md-content{font-size:.9375rem;line-height:1.6}.md-content h2{font-size:1.125rem}.md-content h3{font-size:1rem}.md-content h4{font-size:.9375rem}.md-content ul{padding-left:1rem}.md-table-wrap{margin:.5rem -.5rem;border-radius:0;border-left:none;border-right:none}.md-table{font-size:.75rem}.md-table th,.md-table td{padding:.5rem;white-space:nowrap}.week-selector{padding:.5rem 1rem}.week-nav{gap:.25rem}.week-nav button{padding:.5rem .75rem;font-size:.8125rem}.week-label{font-size:.875rem;min-width:100px;text-align:center}.scheduler-tabs{padding:.5rem}.scheduler-tab{padding:.875rem;font-size:.875rem;-webkit-tap-highlight-color:transparent}.auto-scheduler-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}@media(max-width:380px){.chat-welcome h3{font-size:1.125rem}.suggested-prompt{padding:.75rem;font-size:.8125rem}.quick-reply-btn{min-width:100%;padding:.625rem .875rem;font-size:.8125rem}.msg-content{padding:.625rem .875rem;font-size:.875rem}.event-card-compact{padding:.75rem}.event-title{font-size:.875rem}}@supports (padding-bottom: env(safe-area-inset-bottom)){.chat-input-area,.event-cards-footer,.auto-scheduler-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}@media(hover:none)and (pointer:coarse){.quick-reply-btn:active{transform:scale(.97);background:#ede9fe}.suggested-prompt:active{transform:scale(.98)}.send-btn:active{transform:scale(.95)}.accept-btn:active,.remove-btn:active,.edit-btn:active{transform:scale(.9)}.event-card-compact:active{background:#f8fafc}.scheduler-tab:active{transform:scale(.98)}}.quick-reply-btn,.suggested-prompt,.send-btn,.accept-btn,.remove-btn,.edit-btn,.scheduler-tab{user-select:none;-webkit-user-select:none}.action-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.action-card:hover{box-shadow:0 2px 8px #00000014}.action-card.risk-high{border-left:4px solid #ef4444}.action-card.risk-medium{border-left:4px solid #f59e0b}.action-card.risk-low{border-left:4px solid #10b981}.action-card.risk-none{border-left:4px solid #6b7280}.action-card.status-approved{background:#f0fdf4;border-color:#86efac}.action-card.status-rejected{background:#fef2f2;border-color:#fecaca;opacity:.7}.action-card.status-executing{background:#fefce8;border-color:#fde047}.action-card.status-completed{background:#f0fdf4;border-color:#86efac}.action-card.status-failed{background:#fef2f2;border-color:#fecaca}.action-card-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #f3f4f6}.action-icon{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:8px}.action-title{flex:1;display:flex;align-items:center;gap:8px}.tool-label{font-weight:600;font-size:14px;color:#111827;text-transform:capitalize}.risk-badge{font-size:10px;font-weight:600;padding:2px 8px;background:#fef2f2;color:#dc2626;border-radius:4px;text-transform:uppercase}.status-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px}.status-badge.executing{background:#fef3c7;color:#92400e}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.failed{background:#fee2e2;color:#991b1b}.status-badge.rejected{background:#f3f4f6;color:#6b7280}.status-badge.approved{background:#dbeafe;color:#1e40af}.action-card-body{padding:12px 16px}.action-params-preview{margin-bottom:8px}.param-main{font-size:15px;font-weight:500;color:#111827;margin-bottom:4px}.param-main.delete-warning{color:#dc2626}.param-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#6b7280}.domain-tag{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.domain-tag.qa{background:#dbeafe;color:#1e40af}.domain-tag.varc{background:#fce7f3;color:#9d174d}.domain-tag.dilr{background:#d1fae5;color:#065f46}.priority-tag{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px}.priority-tag.high{background:#fee2e2;color:#991b1b}.priority-tag.medium{background:#fef3c7;color:#92400e}.priority-tag.low{background:#d1fae5;color:#065f46}.param-time,.param-duration,.param-date,.param-id,.param-module{color:#6b7280}.param-notes,.param-note-preview{font-style:italic;color:#6b7280}.param-json{font-family:monospace;font-size:11px;background:#f9fafb;padding:8px;border-radius:4px;overflow-x:auto;max-height:120px}.action-reason{font-size:13px;color:#6b7280;font-style:italic;margin:8px 0 0;padding-top:8px;border-top:1px solid #f3f4f6}.action-card-actions{display:flex;gap:8px;padding:12px 16px;background:#f9fafb;border-top:1px solid #e5e7eb}.action-card-actions button{flex:1;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-approve{background:#10b981;color:#fff;border:none}.btn-approve:hover{background:#059669}.btn-reject{background:#fff;color:#6b7280;border:1px solid #d1d5db}.btn-reject:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.btn-modify{background:#fff;color:#6b7280;border:1px solid #d1d5db}.btn-modify:hover{background:#f3f4f6}.action-edit-form{display:flex;flex-direction:column;gap:12px}.edit-row{display:flex;flex-direction:column;gap:4px}.edit-row label{font-size:12px;font-weight:500;color:#6b7280}.edit-row input,.edit-row select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.edit-row input:focus,.edit-row select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.edit-row-inline{display:flex;gap:12px}.edit-field{flex:1;display:flex;flex-direction:column;gap:4px}.edit-field label{font-size:12px;font-weight:500;color:#6b7280}.edit-field input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.param-json-edit{font-family:monospace;font-size:12px;padding:10px;border:1px solid #d1d5db;border-radius:6px;min-height:100px;resize:vertical}.edit-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f3f4f6}.btn-cancel{padding:6px 12px;background:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:13px;cursor:pointer}.btn-save{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.btn-save:hover{background:#2563eb}.action-error{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fef2f2;border-top:1px solid #fecaca;color:#dc2626;font-size:13px}.error-icon{width:18px;height:18px;background:#dc2626;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.action-success{padding:8px 16px;background:#f0fdf4;border-top:1px solid #86efac;color:#065f46;font-size:13px}.action-card.compact .action-card-header,.action-card.compact .action-card-body,.action-card.compact .action-card-actions{padding:8px 12px}.action-queue{background:#f9fafb;border-top:1px solid #e5e7eb;max-height:50vh;overflow-y:auto}.action-queue-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.queue-title{display:flex;align-items:center;gap:12px}.queue-title h4{margin:0;font-size:14px;font-weight:600;color:#111827}.queue-stats{display:flex;gap:6px}.stat-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px}.stat-badge.pending{background:#fef3c7;color:#92400e}.stat-badge.approved{background:#dbeafe;color:#1e40af}.stat-badge.completed{background:#d1fae5;color:#065f46}.stat-badge.failed{background:#fee2e2;color:#991b1b}.queue-actions{display:flex;align-items:center;gap:8px}.text-btn{background:none;border:none;font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.text-btn.approve{color:#059669}.text-btn.approve:hover{background:#d1fae5}.text-btn.reject{color:#dc2626}.text-btn.reject:hover{background:#fee2e2}.btn-execute{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-execute:hover:not(:disabled){background:#2563eb}.btn-execute:disabled{opacity:.7;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:12px;height:12px;border-width:1.5px;border-color:#0003;border-top-color:#3b82f6}.action-queue-list{padding:12px;display:flex;flex-direction:column;gap:12px}.action-group{display:flex;flex-direction:column;gap:8px}.group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;padding:4px 0;display:flex;align-items:center;gap:6px}.group-label.executing{color:#d97706}.group-label.approved{color:#2563eb}.group-label.completed{color:#059669}.group-label.failed{color:#dc2626}.group-label.rejected{color:#9ca3af;cursor:pointer}.action-group.collapsed{opacity:.6}.action-queue::-webkit-scrollbar{width:6px}.action-queue::-webkit-scrollbar-track{background:#f3f4f6}.action-queue::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.action-queue::-webkit-scrollbar-thumb:hover{background:#9ca3af}.agent-chat-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.agent-chat-dialog{width:100%;max-width:600px;max-height:90vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.agent-chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.header-info{display:flex;align-items:center;gap:12px}.header-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.agent-chat-header h2{margin:0;font-size:18px;font-weight:600}.agent-chat-header p{margin:2px 0 0;font-size:13px;opacity:.9}.close-btn{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease;padding:0 12px;gap:6px;font-size:14px}.close-btn:hover{background:#fff3}.close-btn-label{font-weight:600}.agent-chat-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.chat-welcome{text-align:center;padding:40px 20px}.welcome-icon{width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;color:#fff;margin:0 auto 16px}.chat-welcome h3{margin:0 0 8px;font-size:20px;color:#111827}.chat-welcome p{margin:0 0 24px;color:#6b7280;font-size:14px;line-height:1.5}.chat-welcome strong{color:#3b82f6}.api-warning{background:#fef3c7;color:#92400e;padding:12px 16px;border-radius:8px;font-size:13px}.suggested-prompts{display:flex;flex-direction:column;gap:8px}.prompts-label{font-size:12px;color:#9ca3af;margin:0 0 4px}.suggested-prompt{padding:10px 16px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:14px;cursor:pointer;transition:all .15s ease;text-align:left}.suggested-prompt:hover{background:#e5e7eb;border-color:#d1d5db}.suggested-prompt:disabled{opacity:.5;cursor:not-allowed}.chat-message{display:flex;gap:12px;max-width:90%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant,.chat-message.system{align-self:flex-start}.message-avatar{width:32px;height:32px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;color:#fff;flex-shrink:0}.message-content{background:#f3f4f6;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;color:#111827}.chat-message.user .message-content{background:#3b82f6;color:#fff}.chat-message.error .message-content{background:#fef2f2;color:#dc2626}.chat-message.system-feedback .message-content{background:#f0fdf4;color:#065f46;border:1px solid #86efac}.message-content p{margin:0 0 8px}.message-content p:last-child{margin-bottom:0}.message-content h2,.message-content h3{margin:12px 0 8px;font-size:15px;font-weight:600}.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content li{margin:4px 0;padding-left:8px}.message-content strong{font-weight:600}.message-content em{font-style:italic}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-left:44px}.quick-reply-btn{padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:16px;font-size:13px;color:#374151;cursor:pointer;transition:all .15s ease}.quick-reply-btn:hover{background:#f3f4f6;border-color:#9ca3af}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:8px;height:8px;background:#9ca3af;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.agent-chat-input{padding:16px 20px;background:#fff;border-top:1px solid #e5e7eb}.chat-error{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:12px}.input-wrapper{display:flex;gap:8px;align-items:flex-end}.input-wrapper textarea{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;resize:none;min-height:44px;max-height:120px;font-family:inherit}.input-wrapper textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-wrapper textarea:disabled{background:#f9fafb;cursor:not-allowed}.send-btn{background:#3b82f6;border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease;flex-shrink:0;padding:.5rem 1.125rem;gap:.35rem;font-size:.85rem;font-weight:600}.send-btn:hover:not(:disabled){background:#2563eb}.send-btn:disabled{background:#d1d5db;cursor:not-allowed}.input-hint{margin:8px 0 0;font-size:11px;color:#9ca3af;text-align:center}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(max-width:640px){.agent-chat-overlay{padding:0}.agent-chat-dialog{max-width:100%;max-height:100vh;border-radius:0}.chat-messages{padding:16px}.chat-message{max-width:95%}.quick-replies{padding-left:0}}.plan-page-new{display:flex;flex-direction:column;min-height:100vh;padding-top:var(--app-bar-height, 64px);background:radial-gradient(circle at 10% -10%,rgba(199,31,29,.12),transparent 45%),radial-gradient(circle at 85% 0%,rgba(242,149,26,.22),transparent 55%),#fff8f2;color:var(--brand-ink);font-family:Space Grotesk,Playfair Display,sans-serif}.plan-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);height:64px;flex-shrink:0;box-shadow:0 12px 32px #4a1a1214}.plan-hamburger-button{width:40px;height:40px;border-radius:.75rem;border:1px solid rgba(199,31,29,.25);background:#ffffffe6;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:.35rem;margin-right:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 24px #4a1a121a}.plan-hamburger-button span{display:block;height:2px;width:100%;border-radius:999px;background:var(--brand-ink)}.plan-hamburger-button:hover{border-color:var(--brand-primary);box-shadow:0 10px 26px #4a1a122e}.plan-header-left{display:flex;align-items:center;gap:1rem}.plan-logo{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--brand-gradient-primary);border-radius:.75rem;box-shadow:0 10px 22px #c71f1d40}.plan-brand{font-size:1.125rem;font-weight:700;color:var(--brand-ink);margin:0;letter-spacing:.03em}.plan-header-center{display:flex;align-items:center;gap:1.5rem;padding-right:1.5rem;border-right:1px solid var(--border-subtle)}.student-selector{display:flex;flex-direction:column;min-width:200px}.student-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.student-selector-label{font-size:.625rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.student-selector-mastery{font-size:.625rem;font-weight:700;color:var(--brand-primary)}.student-selector-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.student-avatar-small{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#c71f1d,#f2951a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.625rem;font-weight:700;box-shadow:0 6px 12px #c71f1d40}.student-name{font-size:.875rem;font-weight:500;color:#0d121b}.student-progress-bar{height:4px;width:100%;background:#c71f1d1a;border-radius:9999px;overflow:hidden}.student-progress-fill{height:100%;background:var(--brand-gradient-primary);border-radius:9999px;transition:width .3s ease}.phase-badge{display:flex;align-items:center;height:28px;padding:0 .75rem;border-radius:9999px;background:#f2951a26;border:1px solid rgba(242,149,26,.35)}.phase-badge span{font-size:.75rem;font-weight:700;color:var(--brand-amber-strong)}.plan-header-right{display:flex;align-items:center;gap:.75rem}.plan-header-user-info{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.plan-user-name{font-size:.875rem;font-weight:600;color:#0f172a;line-height:1.2}.plan-user-role{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-amber-strong);background:#fbbf2426;padding:.15rem .5rem;border-radius:4px}.plan-exit-button{padding:.5rem 1rem;background:#fbbf2426;border:1px solid rgba(251,191,36,.4);border-radius:8px;color:#92400e;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.plan-exit-button:hover{background:#fbbf2440;border-color:#fbbf2499}.header-icon-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:1px solid var(--border-subtle);border-radius:.75rem;color:var(--brand-ink);cursor:pointer;transition:all .2s ease;position:relative;box-shadow:0 10px 20px #4a1a121a}.header-icon-button:hover{background:#fff1eacc;color:var(--brand-primary)}.notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#ef4444;border:2px solid white;border-radius:50%}.plan-divider{width:1px;height:32px;background:#e7ebf3;margin:0 .25rem}.counselor-profile{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:.75rem;transition:background .2s ease}.counselor-profile:hover{background:#f8f9fc}.counselor-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#ec4899,#f59e0b);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;border:2px solid white;box-shadow:0 2px 8px #0000001a}.counselor-info{display:flex;flex-direction:column;align-items:flex-start}.counselor-name{font-size:.75rem;font-weight:700;color:#0d121b;line-height:1}.counselor-role{font-size:.625rem;color:#4c669a;line-height:1.4}.plan-main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:2rem;padding:1.5rem 2.5rem 2.5rem;max-width:1800px;margin:0 auto;width:100%}.plan-calendar-pane{background:#ffffffe6;border:1px solid rgba(199,31,29,.08);border-radius:1.25rem;box-shadow:0 25px 60px #4a1a1214;display:flex;flex-direction:column;min-width:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1.25rem}.plan-calendar-surface{flex:1;margin-top:1rem;background:linear-gradient(180deg,#fff,#fff1ea);border-radius:1.5rem;border:1px solid rgba(199,31,29,.08);box-shadow:inset 0 1px #ffffffb3;min-height:620px;overflow-x:auto;overflow-y:hidden;display:flex;flex-direction:column}.plan-calendar-surface--month{position:relative}.plan-main>.day-sidebar{border-radius:1.75rem;border-left:none;border:1px solid rgba(199,31,29,.08);box-shadow:0 25px 60px #4a1a1214}.plan-header-strip{display:flex;flex-direction:column;gap:0;margin-bottom:1.25rem}.plan-header-primary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:1rem}.plan-header-date{display:flex;align-items:center;gap:1.25rem}.plan-date-title{font-family:Playfair Display,Georgia,serif;font-size:1.625rem;font-weight:600;color:var(--brand-ink, #1a1a2e);margin:0;letter-spacing:-.01em;line-height:1.2}.plan-nav{display:flex;align-items:center;gap:.25rem;background:#ffffffb3;border:1px solid rgba(199,31,29,.12);border-radius:10px;padding:.2rem}.plan-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fffffff2;border:1px solid rgba(15,23,42,.08);border-radius:10px;color:#1e293b;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 10px #0f172a14}.plan-nav-btn-label{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.plan-nav-btn:hover{background:#c71f1d14;border-color:#c71f1d40;color:var(--brand-primary, #c71f1d);box-shadow:0 6px 14px #c71f1d2e}.plan-nav-btn:active{transform:scale(.95)}.plan-nav-today{height:32px;padding:0 .875rem;background:transparent;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--brand-primary, #c71f1d);cursor:pointer;transition:all .15s ease;letter-spacing:.01em}.plan-nav-today:hover{background:#c71f1d1a}.plan-view-toggle{display:flex;align-items:center;background:#fffc;border:1px solid rgba(199,31,29,.1);border-radius:10px;padding:.2rem;box-shadow:0 2px 8px #0000000a}.plan-view-btn{display:flex;align-items:center;gap:.4rem;height:34px;padding:0 .875rem;background:transparent;border:none;border-radius:8px;font-size:.8125rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.plan-view-btn svg{width:15px;height:15px;opacity:.7;transition:opacity .2s ease}.plan-view-btn:hover{color:#475569}.plan-view-btn:hover svg{opacity:1}.plan-view-btn.active{background:#fff;color:var(--brand-primary, #c71f1d);font-weight:600;box-shadow:0 1px 3px #c71f1d1a,0 4px 12px #c71f1d14}.plan-view-btn.active svg{opacity:1}.plan-header-actions{display:flex;align-items:center;gap:.625rem}.plan-action-btn{display:inline-flex;align-items:center;gap:.5rem;height:36px;padding:0 1rem;border:none;border-radius:9px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em}.plan-action-btn svg{width:16px;height:16px;flex-shrink:0}.plan-action-btn--secondary{background:#ffffffe6;color:#475569;border:1px solid rgba(100,116,139,.2);box-shadow:0 2px 6px #0000000a}.plan-action-btn--secondary:hover{background:#fff;border-color:#64748b59;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.plan-action-btn--primary{background:linear-gradient(135deg,#c71f1d,#a31815);color:#fff;box-shadow:0 2px 8px #c71f1d40,inset 0 1px #ffffff26}.plan-action-btn--primary:hover{background:linear-gradient(135deg,#b31b19,#8f1412);box-shadow:0 4px 16px #c71f1d59;transform:translateY(-1px)}.plan-action-btn--primary:active{transform:translateY(0)}.plan-ai-chat-button{display:inline-flex;align-items:center;gap:.5rem;height:36px;padding:0 1rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #8b5cf640}.plan-ai-chat-button:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf659;transform:translateY(-1px)}.cal-toolbar{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;border:1px solid rgba(0,0,0,.06)}.cal-toolbar__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;width:100%}.cal-toolbar__row--secondary{padding-top:1rem;border-top:1px solid #f1f5f9}.cal-toolbar__left{display:flex;align-items:center;justify-content:flex-start}.cal-toolbar__center{display:flex;align-items:center;justify-content:center}.cal-toolbar__right{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.cal-toolbar__title{font-family:Playfair Display,Georgia,serif;font-size:1.875rem;font-weight:600;color:#0f172a;margin:0;letter-spacing:-.02em}.cal-nav-group{display:flex;align-items:center;gap:.5rem;background:#f8fafc;padding:.375rem;border-radius:12px;border:1px solid #e2e8f0}.cal-nav-group__btn{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:10px;color:#64748b;cursor:pointer;transition:all .2s ease;padding:0 1rem;gap:.35rem;font-size:.9rem;font-weight:600}.cal-nav-group__label{font-size:.85rem;font-weight:600;letter-spacing:.04em}.cal-nav-group__btn:hover{background:#fff;color:#0f172a;box-shadow:0 2px 8px #00000014}.cal-nav-group__btn:active{transform:scale(.95)}.cal-nav-group__today{height:44px;padding:0 1.5rem;background:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--brand-primary, #c71f1d);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000f}.cal-nav-group__today:hover{background:#fef2f2;box-shadow:0 4px 12px #c71f1d26}.cal-toolbar__btn{display:inline-flex;align-items:center;gap:.625rem;height:48px;padding:0 1.5rem;border:none;border-radius:12px;font-family:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.cal-toolbar__btn svg{width:20px;height:20px;flex-shrink:0}.cal-toolbar__btn--ghost{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.cal-toolbar__btn--ghost:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.cal-toolbar__btn--primary{background:linear-gradient(135deg,var(--brand-primary, #c71f1d) 0%,#b31b19 100%);color:#fff;box-shadow:0 4px 14px #c71f1d59}.cal-toolbar__btn--primary:hover{box-shadow:0 6px 20px #c71f1d73;transform:translateY(-2px)}.cal-toolbar__btn--primary:active{transform:translateY(0)}.cal-view-switcher{display:flex;align-items:center;gap:.375rem;background:#f8fafc;padding:.375rem;border-radius:12px;border:1px solid #e2e8f0}.cal-view-switcher__btn{display:flex;align-items:center;gap:.5rem;height:44px;padding:0 1.25rem;background:transparent;border:none;border-radius:10px;font-family:inherit;font-size:.9375rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.cal-view-switcher__btn svg{width:20px;height:20px;opacity:.6}.cal-view-switcher__btn:hover{background:#fff;color:#475569}.cal-view-switcher__btn:hover svg{opacity:.8}.cal-view-switcher__btn.is-active{background:#fff;color:var(--brand-primary, #c71f1d);font-weight:600;box-shadow:0 2px 8px #00000014}.cal-view-switcher__btn.is-active svg{opacity:1;color:var(--brand-primary, #c71f1d)}@media(max-width:1100px){.cal-toolbar__row{grid-template-columns:1fr 1fr;gap:1rem}.cal-toolbar__center{grid-column:1 / -1;order:-1}.cal-toolbar__left{justify-content:flex-start}.cal-toolbar__right{justify-content:flex-end}}@media(max-width:768px){.cal-toolbar{padding:1rem;gap:.875rem;border-radius:12px}.cal-toolbar__row{display:flex;flex-wrap:wrap;gap:.75rem}.cal-toolbar__title{font-size:1.5rem}.cal-toolbar__left,.cal-toolbar__center,.cal-toolbar__right{width:100%;justify-content:center}.cal-toolbar__btn{flex:1;justify-content:center;height:44px}.cal-view-switcher{width:100%}.cal-view-switcher__btn{flex:1;justify-content:center}}@media(max-width:480px){.cal-toolbar{padding:.875rem}.cal-toolbar__title{font-size:1.25rem}.cal-nav-group__btn{width:40px;height:40px}.cal-nav-group__today,.cal-toolbar__btn{height:40px;padding:0 1rem;font-size:.875rem}.cal-toolbar__btn span{display:none}.cal-view-switcher__btn{height:40px;padding:0 1rem}.cal-view-switcher__btn span{display:none}.cal-view-switcher__btn svg{width:22px;height:22px}}.plan-filter-toolbar{margin:1.25rem 2rem 0;padding:1.5rem;border:1px solid rgba(224,231,255,.9);border-radius:1.25rem;background:#f9faffb3;display:flex;flex-direction:column;gap:1.5rem}.plan-filter-toolbar__head{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.plan-filter-toolbar__head h3{margin:.25rem 0 .35rem;font-size:1.25rem}.plan-filter-toolbar__meta{display:flex;align-items:center;gap:.75rem}.plan-filter-toolbar__group{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;color:#5f6fb7}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip:hover:not(:disabled){border-color:var(--brand-primary, #c71f1d);color:var(--brand-primary, #c71f1d);transform:translateY(-2px);box-shadow:0 4px 12px #c71f1d1a}.phase-filter-select{width:220px;max-width:100%;border-radius:.85rem;border:1px solid #dfe6fb;background:#fff;padding:.65rem .85rem;font-size:.92rem;color:#1c2434;transition:border .2s ease}.phase-filter-select:focus{outline:none;border-color:#1152d4;box-shadow:0 0 0 3px #1152d426}@media(max-width:1200px){.plan-header-center{display:none}.plan-hamburger-button{margin-right:.5rem}.plan-main{grid-template-columns:1fr}.plan-main>.day-sidebar{position:static;width:100%;border-radius:1.5rem}}@media(max-width:768px){.plan-header{padding:.5rem 1rem;height:56px}.plan-header-left{gap:.5rem}.plan-brand{font-size:1rem}.plan-logo{width:28px;height:28px}.plan-header-right{gap:.5rem}.header-icon-button{width:36px;height:36px}.plan-divider,.counselor-profile{display:none}.plan-main{padding:1rem;padding-bottom:calc(80px + env(safe-area-inset-bottom));gap:1rem;flex-direction:column}.plan-calendar-pane{border-radius:1rem}.plan-header-strip{gap:.5rem}.plan-header-primary{flex-direction:column;align-items:stretch;gap:.75rem;padding-bottom:.75rem}.plan-header-date{justify-content:space-between;width:100%}.plan-date-title{font-size:1.25rem}.plan-nav{padding:.15rem}.plan-nav-btn{width:28px;height:28px}.plan-nav-today{height:28px;padding:0 .625rem;font-size:.75rem}.plan-view-toggle{width:100%;justify-content:stretch}.plan-view-btn{flex:1;justify-content:center;height:36px;font-size:.75rem;padding:0 .5rem}.plan-view-btn span{display:none}.plan-header-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}.plan-action-btn{justify-content:center;height:40px;font-size:.75rem}.plan-action-btn span{display:none}.plan-ai-chat-button,.plan-agent-button{width:100%;justify-content:center}.plan-calendar-surface{min-height:auto;border-radius:1rem;margin-top:.75rem}.mobile-sidebar-toggle{display:none}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-overlay.visible{opacity:1;visibility:visible}.plan-main>.day-sidebar{position:relative;width:100%;border-radius:1rem;box-shadow:0 4px 20px #00000014;max-height:none;height:auto}.plan-main>.day-sidebar.mobile-open{position:fixed;inset:auto 0 0;height:80vh;max-height:80vh;z-index:1000;border-radius:1.5rem 1.5rem 0 0;box-shadow:0 -10px 40px #00000026}.mobile-drag-handle{display:none}.day-sidebar.mobile-open .mobile-drag-handle{display:flex;justify-content:center;padding:.75rem 0 .5rem}.mobile-drag-handle span{width:40px;height:4px;background:#cbd5e1;border-radius:999px}}@media(max-width:480px){.plan-header{padding:.5rem .75rem}.plan-hamburger-button{width:36px;height:36px;margin-right:.5rem}.plan-main{padding:.75rem}.plan-header-primary{gap:.625rem}.plan-date-title{font-size:1.1rem}.plan-nav{gap:.125rem}.plan-nav-btn{width:26px;height:26px}.plan-nav-today{padding:0 .5rem;font-size:.7rem}.plan-view-btn{height:34px;padding:0 .375rem}}.mobile-sidebar-toggle,.mobile-drag-handle{display:none}.module-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.module-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.module-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.module-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.module-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.module-phase-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:#8b5cf61a;color:#7c3aed;border:1px solid rgba(139,92,246,.2);cursor:default;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-phase-badge.clickable{cursor:pointer;transition:all .2s ease}.module-phase-badge.clickable:hover{background:#8b5cf633;border-color:#8b5cf666;transform:translate(2px)}.module-phase-badge .phase-arrow{width:12px;height:12px;opacity:.7;transition:transform .2s ease}.module-phase-badge.clickable:hover .phase-arrow{opacity:1;transform:translate(2px)}.module-badge.bg-blue{background:#3b82f61a;color:#1152d4}.module-badge.bg-purple{background:#8b5cf61a;color:#7c3aed}.module-badge.bg-amber{background:#f59e0b1a;color:#d97706}.module-badge.bg-emerald{background:#10b9811a;color:#059669}.module-content{margin-bottom:1.5rem}.module-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 .25rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.module-description{font-size:.875rem;color:#64748b;margin:0;line-height:1.5}.module-progress-section{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.progress-circle{position:relative;width:3rem;height:3rem;flex-shrink:0}.progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-track{stroke:#e2e8f0}.progress-value{transition:stroke-dasharray .6s ease}.progress-value.progress-blue{stroke:#1152d4}.progress-value.progress-purple{stroke:#7c3aed}.progress-value.progress-amber{stroke:#d97706}.progress-value.progress-emerald{stroke:#059669}.progress-value.mastered{stroke:#10b981}.progress-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.progress-icon{width:1.125rem;height:1.125rem;color:#cbd5e1}.progress-icon.mastered{color:#10b981}.progress-percentage{font-size:.625rem;font-weight:700}.progress-percentage.text-blue{color:#1152d4}.progress-percentage.text-purple{color:#7c3aed}.progress-percentage.text-amber{color:#d97706}.progress-percentage.text-emerald{color:#059669}.module-meta{display:flex;flex-direction:column;gap:.125rem}.meta-label{font-size:.75rem;font-weight:500;color:#94a3b8}.meta-value{font-size:.875rem;font-weight:600;color:#334155}.counselor-note{display:flex;align-items:flex-start;gap:.75rem;background:#f8fafc;padding:.75rem;border-radius:.5rem;margin-top:1.25rem}.quote-icon{width:1rem;height:1rem;color:#1152d4;flex-shrink:0;margin-top:.125rem}.note-text{font-size:.75rem;font-weight:500;font-style:italic;line-height:1.5;color:#475569;margin:0}.module-arrow{position:absolute;bottom:1.5rem;right:1.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#1152d4;border-radius:9999px;color:#fff;opacity:0;transform:translate(1rem);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #1152d44d}.module-arrow svg{width:1.125rem;height:1.125rem}.module-card:hover .module-arrow{opacity:1;transform:translate(0)}.module-stats{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.06)}.stat-item{display:flex;flex-direction:column;gap:.25rem;flex:1}.stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.stat-value{font-size:.875rem;font-weight:500;color:#111827}.stat-item.testpress-score{padding:.5rem .75rem;border-radius:.5rem;background:#f1f5f9}.stat-item.testpress-score.high{background:#10b9811a}.stat-item.testpress-score.high .stat-value{color:#059669}.stat-item.testpress-score.medium{background:#f59e0b1a}.stat-item.testpress-score.medium .stat-value{color:#d97706}.stat-item.testpress-score.low{background:#ef44441a}.stat-item.testpress-score.low .stat-value{color:#dc2626}.session-notes-preview{display:flex;flex-direction:column;gap:.5rem;background:#f0f9ff;padding:.75rem;border-radius:.5rem;margin-top:.75rem;border:1px solid rgba(59,130,246,.15)}.session-preview-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:#0369a1}.session-preview-header svg{flex-shrink:0;color:#0ea5e9}.session-preview-text{font-size:.75rem;font-weight:400;line-height:1.5;color:#475569;margin:0;font-style:italic}@media(max-width:768px){.module-card{padding:1.25rem;border-radius:16px;background:#fffffff2;border:1px solid rgba(180,100,60,.06);box-shadow:0 2px 12px #6432140a;min-height:auto}.module-card:hover{transform:none;box-shadow:0 2px 12px #6432140a}.module-card:active{transform:scale(.98);box-shadow:0 1px 8px #6432140f}.module-card-header{margin-bottom:.75rem;gap:.5rem}.module-badges{gap:.35rem;flex-wrap:wrap}.module-badge{padding:.2rem .6rem;font-size:.68rem;font-weight:600}.module-phase-badge{padding:.2rem .6rem;font-size:.68rem}.module-bookmark{width:44px;height:44px;margin:-.5rem -.5rem 0 0;background:transparent;border-radius:12px}.module-bookmark:active{background:#c71f1d14}.module-bookmark svg{width:20px;height:20px}.module-content{margin-bottom:1rem}.module-title{font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700;line-height:1.3;color:var(--brand-ink, #2d1810);-webkit-line-clamp:2;margin-bottom:.35rem}.module-description{font-size:.82rem;line-height:1.45;color:var(--muted, #8b7355);-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.module-progress-section{gap:.75rem;margin-bottom:1rem}.progress-circle{width:2.5rem;height:2.5rem}.progress-percentage{font-size:.55rem}.progress-icon{width:1rem;height:1rem}.module-meta{gap:.1rem}.meta-label{font-size:.68rem}.meta-value{font-size:.82rem}.counselor-note{padding:.65rem;border-radius:10px;gap:.6rem;margin-top:1rem}.quote-icon{width:.875rem;height:.875rem}.note-text{font-size:.72rem;line-height:1.45}.module-arrow{display:none}.module-stats{gap:.75rem;margin-top:.875rem;padding-top:.875rem}.stat-item{gap:.15rem}.stat-label{font-size:.68rem}.stat-value{font-size:.82rem}.stat-item.testpress-score{padding:.4rem .6rem;border-radius:8px}.session-notes-preview{padding:.65rem;border-radius:10px;gap:.35rem;margin-top:.65rem}.session-preview-header{font-size:.7rem;gap:.4rem}.session-preview-header svg{width:14px;height:14px}.session-preview-text{font-size:.7rem;line-height:1.4}}@media(max-width:390px){.module-card{padding:1rem;border-radius:14px}.module-title{font-size:.98rem}.module-description{font-size:.78rem}.progress-circle{width:2.25rem;height:2.25rem}.module-stats{flex-wrap:wrap}.stat-item{flex:1 1 45%;min-width:0}}.concepts-tab{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.concepts-tab-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--muted, #6b7280)}.concepts-progress{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.25rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-header h4{margin:0;font-size:.9375rem;font-weight:600;color:var(--text, #f3f4f6)}.progress-percentage{font-size:1.25rem;font-weight:700;color:var(--primary, #5ee49b)}.progress-bar-5tier{height:.625rem;background:#ffffff0d;border-radius:999px;overflow:hidden;display:flex;margin-bottom:1rem}.progress-segment{height:100%;transition:flex .3s ease;min-width:0}.progress-segment.mastered{background:#10b981}.progress-segment.confident{background:#3b82f6}.progress-segment.in-progress{background:#f59e0b}.progress-segment.not-studied{background:#6b72804d}.progress-segment.omitting{background:#ef444480}.progress-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:var(--stat-bg, rgba(255, 255, 255, .05));border:1px solid rgba(255,255,255,.08);border-radius:.5rem;text-align:center;transition:transform .15s,border-color .15s}.stat-tile:hover{transform:translateY(-2px);border-color:var(--stat-color, rgba(255, 255, 255, .2))}.stat-tile .stat-icon{font-size:1.25rem;color:var(--stat-color, #9ca3af);line-height:1}.stat-tile .stat-count{font-size:1.25rem;font-weight:700;color:var(--stat-color, #f3f4f6);line-height:1}.stat-tile .stat-label{font-size:.6875rem;color:var(--muted, #9ca3af);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.progress-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.progress-stats .stat{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text, #e5e7eb)}.stat-icon{font-size:1rem;font-weight:700}.add-concept-section{background:#ffffff05;border:1px dashed rgba(255,255,255,.15);border-radius:.75rem;padding:1rem}.add-concept-input-group{display:flex;gap:.75rem}.add-concept-input{flex:1;padding:.625rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:var(--text, #f3f4f6);font-size:.9375rem;outline:none;transition:all .2s}.add-concept-input:focus{background:#ffffff14;border-color:#5ee49b66}.add-concept-input::placeholder{color:var(--muted, #9ca3af)}.add-concept-button{padding:.625rem 1.5rem;background:#5ee49b26;border:1px solid rgba(94,228,155,.3);border-radius:.5rem;color:#5ee49b;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.add-concept-button:hover:not(:disabled){background:#5ee49b40;border-color:#5ee49b80}.add-concept-button:disabled{opacity:.5;cursor:not-allowed}.concepts-list{display:flex;flex-direction:column;gap:.75rem}.concepts-empty{text-align:center;padding:2rem 1rem;color:var(--muted, #9ca3af)}.concepts-empty p{margin:.5rem 0}.concepts-empty-hint{font-size:.875rem;opacity:.7}.concept-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;transition:all .2s}.concept-item:hover{background:#ffffff0d;border-color:#ffffff1f}.concept-item.mastered{border-left:3px solid #10b981}.concept-item.confident{border-left:3px solid #3b82f6}.concept-item.in_progress{border-left:3px solid #f59e0b}.concept-item.omitting{border-left:3px solid #ef4444;opacity:.7}.concept-item.omitting .concept-name{text-decoration:line-through;opacity:.6}.concept-state-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;cursor:pointer;transition:all .2s;flex-shrink:0}.concept-state-toggle:hover{background:#ffffff1a;transform:scale(1.1)}.state-icon{font-size:1.5rem;line-height:1}.concept-content{flex:1;min-width:0}.concept-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.concept-name{margin:0;font-size:.9375rem;font-weight:500;color:var(--text, #f3f4f6)}.concept-badge{padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em}.concept-badge.custom{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.concept-codes{display:flex;gap:.5rem;flex-wrap:wrap}.concept-code{padding:.25rem .625rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;font-size:.75rem;font-family:Monaco,Courier New,monospace;color:var(--muted, #9ca3af)}.concept-linked-modules{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin-top:.375rem}.linked-label{font-size:.6875rem;color:var(--muted, #6b7280);text-transform:uppercase;letter-spacing:.02em}.linked-module-code{padding:.125rem .5rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:.25rem;font-size:.6875rem;font-family:Monaco,Courier New,monospace;color:#60a5fa}.linked-more{font-size:.6875rem;color:var(--muted, #6b7280)}.concept-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.concept-state-label{font-size:.875rem;font-weight:500;color:var(--muted, #9ca3af);white-space:nowrap}.delete-concept-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:.375rem;color:#ef4444;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s;line-height:1}.delete-concept-button:hover{background:#ef444433;border-color:#ef444466}@media(max-width:768px){.progress-stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.add-concept-input-group{flex-direction:column}.add-concept-button{width:100%}.concept-item{flex-wrap:wrap}.concept-actions{width:100%;justify-content:space-between;margin-top:.5rem}.progress-stats{gap:1rem}.progress-stats-grid{grid-template-columns:repeat(3,1fr)}.stat-tile{padding:.5rem .25rem}.stat-tile .stat-count{font-size:1rem}.stat-tile .stat-label{font-size:.625rem}}@media(max-width:400px){.progress-stats-grid{grid-template-columns:repeat(2,1fr)}.stat-tile:last-child{grid-column:span 2}}.session-notes-tab{padding:1.5rem}.session-notes-loading,.session-notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:#64748b}.session-notes-empty svg{margin-bottom:1rem;opacity:.5}.session-notes-empty h3{font-size:1.125rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.session-notes-empty p{font-size:.9375rem;color:#64748b;margin:0;max-width:400px}.session-notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e7ebf3}.session-notes-header h3{font-size:1.125rem;font-weight:600;color:#0f172a;margin:0}.session-notes-count{font-size:.875rem;color:#64748b;margin:0}.session-notes-list{display:flex;flex-direction:column;gap:1rem}.session-note-card{position:relative;border-radius:1rem;background:#fff;border:1px solid #e4e9f4;box-shadow:0 12px 30px #0f172a14;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.session-note-card:after{content:"";position:absolute;inset:0;border-radius:1rem;background:linear-gradient(135deg,#1152d414,#10b98114);opacity:0;transition:opacity .2s ease;pointer-events:none}.session-note-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0f172a1f}.session-note-card:hover:after{opacity:1}.session-note-card-inner{position:relative;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.session-note-card--editing .session-note-card-inner{border:1px solid rgba(17,82,212,.2);border-radius:1rem}.session-note-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.session-note-date{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#1d2847}.session-note-date svg{flex-shrink:0;color:#1152d4}.session-note-date-label{display:block;font-weight:600;color:#0f172a}.session-note-date-sub{display:block;font-size:.8rem;color:#94a3b8}.session-note-meta-row{display:flex;flex-wrap:wrap;gap:.5rem}.session-note-meta-chip{padding:.2rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border:1px solid rgba(15,23,42,.1);color:#475569;background:#94a3b814}.session-note-meta-chip.accent{border-color:#1152d459;color:#1152d4;background:#1152d414}.session-note-meta-chip.muted{color:#94a3b8;border-color:#94a3b833}.session-note-edit-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .9rem;font-size:.85rem;font-weight:600;border-radius:.75rem;border:1px solid rgba(17,82,212,.3);color:#1152d4;background:#1152d414;cursor:pointer;transition:all .2s ease}.session-note-edit-btn:hover{background:#1152d4;color:#fff;box-shadow:0 8px 16px #1152d433}.session-note-debrief{background:#0f172a0a;border-radius:.85rem;padding:1rem 1.2rem}.session-note-debrief h4{font-size:.875rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.session-note-debrief p{font-size:.9375rem;color:#334155;line-height:1.6;margin:0;white-space:pre-wrap;word-wrap:break-word}.session-note-concepts{margin-top:1rem}.session-note-concepts h4{font-size:.875rem;font-weight:600;color:#0f172a;margin:0 0 .75rem}.session-note-concepts-list{display:flex;flex-direction:column;gap:.5rem}.session-note-concept-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #edf2fb;border-radius:.75rem;font-size:.875rem;box-shadow:inset 0 1px #fff9}.session-note-concept-icon{font-size:1.25rem;flex-shrink:0;width:1.5rem;text-align:center}.session-note-concept-copy{display:flex;align-items:center;gap:.5rem;flex:1}.session-note-concept-name{flex:1;color:#0f172a;font-weight:500}.session-note-concept-state{font-size:.75rem;padding:.2rem .7rem;border-radius:999px;border:1px solid currentColor;background:#94a3b814;font-weight:600}.session-note-empty-content{padding:.5rem 0}.session-note-empty-content .muted{font-size:.875rem;color:#94a3b8;margin:0;font-style:italic}@media(max-width:640px){.session-notes-tab{padding:1rem}.session-note-card{border-radius:.85rem}.session-note-header{flex-direction:column;align-items:flex-start;gap:.5rem}.session-note-concept-item{flex-wrap:wrap}}.mdv-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:mdv-fade-in .2s ease}@keyframes mdv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mdv-slide-up{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.mdv-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;width:min(640px,92vw);max-height:96vh;min-height:520px;margin:0;padding:0;border:none;border-radius:1.25rem;background:#fff;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;display:flex;flex-direction:column;animation:mdv-slide-up .3s ease}.mdv-header{position:relative;padding:1.5rem 1.5rem 1.25rem;background:linear-gradient(135deg,var(--domain-bg, #eff6ff) 0%,#ffffff 100%);border-bottom:1px solid rgba(0,0,0,.06)}.mdv-header-content{padding-right:2.5rem}.mdv-domain-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid;margin-bottom:.75rem}.mdv-title{margin:0 0 .25rem;font-size:1.375rem;font-weight:700;color:#0f172a;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.mdv-code{margin:0;font-size:.8125rem;color:#64748b;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mdv-close-btn{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.5rem;background:#0000000d;color:#64748b;cursor:pointer;transition:all .15s ease}.mdv-close-btn:hover{background:#0000001a;color:#0f172a}.mdv-tabs{display:flex;gap:.25rem;padding:.5rem 1rem;background:#f8fafc;border-bottom:1px solid rgba(0,0,0,.06)}.mdv-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:.5rem;background:transparent;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.mdv-tab:hover{background:#0000000a;color:#334155}.mdv-tab.active{background:#fff;color:#1152d4;box-shadow:0 1px 3px #00000014}.mdv-tab svg{flex-shrink:0;opacity:.7}.mdv-tab.active svg{opacity:1}.mdv-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;font-size:.6875rem;font-weight:600;background:#e2e8f0;color:#64748b}.mdv-tab.active .mdv-tab-badge{background:#1152d41a;color:#1152d4}.mdv-content{flex:1;overflow-y:auto;padding:1.25rem}.mdv-overview{display:flex;flex-direction:column;gap:1rem}.mdv-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem}.mdv-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:#64748b}.mdv-card-header h3{margin:0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.mdv-card-header svg{flex-shrink:0;opacity:.6}.mdv-description{margin:0;font-size:.9375rem;line-height:1.6;color:#334155}.mdv-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mdv-stat-card{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.mdv-stat-card-wide{grid-column:1 / -1}.mdv-stat-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.625rem;flex-shrink:0}.mdv-stat-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.mdv-stat-info-wide{flex:1}.mdv-stat-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.mdv-stat-value{font-size:.9375rem;font-weight:600;color:#0f172a}.mdv-weightage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.mdv-weightage-value{font-size:.875rem;font-weight:700;color:#7c3aed}.mdv-weightage-bar{height:.5rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.mdv-weightage-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:999px;transition:width .4s ease}.mdv-taxonomy-grid{display:flex;flex-direction:column;gap:.5rem}.mdv-taxonomy-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.625rem;cursor:pointer;transition:all .15s ease;text-align:left}.mdv-taxonomy-item:hover{background:#f1f5f9;border-color:#cbd5e1}.mdv-taxonomy-icon{font-size:1.125rem;flex-shrink:0}.mdv-taxonomy-text{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.mdv-taxonomy-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.mdv-taxonomy-value{font-size:.875rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdv-taxonomy-arrow{flex-shrink:0;color:#cbd5e1;transition:transform .15s ease}.mdv-taxonomy-item:hover .mdv-taxonomy-arrow{color:#94a3b8;transform:translate(2px)}.mdv-tags{display:flex;flex-wrap:wrap;gap:.5rem}.mdv-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;font-size:.8125rem;font-weight:500;color:#475569;cursor:pointer;transition:all .15s ease;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdv-tag:hover{background:#e2e8f0;border-color:#cbd5e1;color:#334155}.mdv-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.mdv-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.625rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.mdv-btn-primary{background:#1152d4;border:none;color:#fff}.mdv-btn-primary:hover{background:#0e42b0;transform:translateY(-1px);box-shadow:0 4px 12px #1152d44d}.mdv-btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.mdv-btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1;color:#334155}@media(max-width:640px){.mdv-dialog{width:95%;max-height:90vh;border-radius:1rem}.mdv-header{padding:1.25rem}.mdv-title{font-size:1.25rem}.mdv-tabs{padding:.375rem .75rem;overflow-x:auto}.mdv-tab{padding:.5rem .75rem;font-size:.8125rem;white-space:nowrap}.mdv-content{padding:1rem}.mdv-stats-row{grid-template-columns:1fr}.mdv-stat-card-wide{grid-column:1}.mdv-actions{flex-direction:column}.mdv-btn{justify-content:center}}.modules-page{min-height:100vh;background:linear-gradient(180deg,#f6f6f8,#fafbff);padding-top:72px;overflow-x:hidden}@media(max-width:768px){.modules-page{padding-top:68px}}.modules-container{max-width:1280px;margin:0 auto;padding:2rem 1.5rem 4rem}@media(min-width:768px){.modules-container{padding:3rem 2.5rem 4.5rem}}@media(min-width:1024px){.modules-container{padding:3rem 4rem 5rem}}.modules-loading,.modules-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:var(--muted)}.modules-error h2{color:var(--danger);margin-bottom:1rem}.modules-error button{margin-top:1rem}.modules-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.modules-header-top{display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.modules-header-top{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:2rem}}.modules-title-section{display:flex;flex-direction:column;gap:.5rem}.modules-main-title{font-size:clamp(1.875rem,4vw,2.25rem);font-weight:900;line-height:1.2;letter-spacing:-.02em;color:#0f172a;margin:0}.modules-subtitle{font-size:1rem;color:#64748b;margin:0}.modules-actions{display:flex;align-items:center;justify-content:flex-end}.sync-lms-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.2rem;border-radius:999px;border:1px solid rgba(17,82,212,.3);background:linear-gradient(135deg,#1152d41f,#0f172a0d);color:#0f1f3a;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.sync-lms-btn:hover:not(:disabled){background:linear-gradient(135deg,#1152d4,#0c3fa3);color:#fff;border-color:transparent;box-shadow:0 10px 20px #1152d440}.sync-lms-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.modules-controls{display:grid;gap:1.25rem}@media(min-width:1024px){.modules-controls{grid-template-columns:minmax(320px,1fr) auto;align-items:center}}.modules-search{position:relative;width:100%;max-width:28rem}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#94a3b8;pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;background:#fcfdff;border:1px solid rgba(15,23,42,.08);border-radius:.75rem;font-size:.875rem;font-weight:500;color:#0f172a;box-shadow:0 2px 8px #0f172a14,inset 0 1px #fffc;transition:all .2s ease}.search-input::placeholder{color:#cbd5e1}.search-input:focus{outline:none;border-color:#1152d473;box-shadow:0 6px 20px #1152d426,0 0 0 3px #1152d433}.search-input:hover{border-color:#0f172a33}.modules-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:.25rem}@media(max-width:640px){.modules-filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.5rem;margin:0 -1rem;padding-left:1rem;padding-right:1rem}.modules-filters::-webkit-scrollbar{display:none}}.filter-chip{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 1rem;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:999px;font-size:.85rem;font-weight:600;color:#475569;white-space:nowrap;cursor:pointer;transition:all .2s ease;max-width:100%;overflow:hidden;text-overflow:ellipsis}.filter-chip:hover{border-color:#1152d4;color:#1152d4}.filter-chip.active{background:#1152d4;color:#fff;border-color:#0c3fa3;box-shadow:0 4px 14px #1152d440}.modules-body{margin-top:2.5rem;display:grid;gap:2rem}@media(min-width:1024px){.modules-body{grid-template-columns:320px 1fr;gap:2.5rem}}.modules-sidebar{display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:96px;align-self:flex-start}@media(max-width:1023px){.modules-sidebar{position:static;top:auto}}.modules-content{background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 25px 60px #0c142114}@media(max-width:1023px){.modules-content{padding:1.5rem}}.results-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.results-header h3{margin:0;font-size:1.35rem;color:#0f172a}.results-header .ghost{border-radius:999px}.modules-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.section-title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:#1e293b;margin:0}.section-count{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.modules-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.modules-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.modules-grid{grid-template-columns:repeat(3,1fr)}}.modules-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.modules-empty h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.modules-empty p{color:#64748b;margin:0}.filter-group{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border-radius:1rem;border:1px solid rgba(15,23,42,.08);background:#fffc;box-shadow:0 15px 30px #0f172a0d}.filter-group-header{display:flex;align-items:baseline;gap:.5rem}.filter-group-header h4{margin:0;font-size:1rem;color:#0f172a}.filter-input{width:100%;border:1px solid rgba(15,23,42,.12);border-radius:.75rem;padding:.6rem .9rem;font-size:.85rem;transition:border .2s ease,box-shadow .2s ease}.filter-input:focus{outline:none;border-color:#1152d4;box-shadow:0 0 0 3px #1152d41f}.chip-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.chip-cloud.scrollable{max-height:220px;overflow-y:auto;padding-right:.25rem}.tag-filter-grid{display:flex;flex-wrap:wrap;gap:.5rem}.tag-chip{border:1px solid rgba(15,23,42,.1);background:#f8fafce6;color:#475569;padding:.4rem .85rem;border-radius:999px;font-size:.8rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:all .2s ease;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip .tag-count{font-size:.65rem;background:#0f172a14;border-radius:1rem;padding:.05rem .35rem}.tag-chip.active{background:linear-gradient(120deg,#1152d4,#6578ff);color:#fff;border-color:transparent}.tag-chip:hover{border-color:#1152d4;color:#1152d4}.filter-summary-chips{display:flex;flex-wrap:wrap;gap:.4rem}.filter-summary-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#f1f5ffcc;font-size:.75rem;max-width:100%}.filter-summary-chip .chip-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-label{text-transform:uppercase;font-size:.6rem;letter-spacing:.08em;color:#94a3b8}.chip-value{font-weight:600;color:#0f172a}.filter-summary-chip button{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.85rem;padding:0}.overview-stats{display:flex;gap:1.5rem;margin:.75rem 0}.overview-stats strong{display:block;font-size:1.35rem;color:#0f172a}.stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.ghost.full-width{width:100%;justify-content:center}.muted.tiny{font-size:.8rem;margin:0}.dialog-backdrop{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.module-detail-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;border:none;border-radius:1.25rem;padding:0;width:min(600px,92vw);max-height:85vh;overflow:auto;background:#fff;box-shadow:0 30px 80px #0f172a40}.module-detail-content{padding:1.75rem}.detail-section{margin-bottom:1.5rem}.detail-section h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:#475569;margin-bottom:.75rem}.module-tags{display:flex;flex-wrap:wrap;gap:.4rem}.module-tag{font-size:.7rem;padding:.25rem .5rem;border-radius:.4rem;background:#47556914;color:#475569}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.detail-grid>div{padding:1rem;border-radius:.85rem;border:1px solid rgba(15,23,42,.08);background:#f8fafccc}.detail-grid strong{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:.35rem}.detail-grid p{margin:0;font-size:1.15rem;font-weight:600;color:#0f172a}.detail-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.25rem;border-top:1px solid rgba(15,23,42,.08)}.detail-actions .primary{background:linear-gradient(120deg,#1152d4,#6578ff);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:.75rem;font-weight:600;cursor:pointer;transition:transform .2s ease}.detail-actions .primary:hover{transform:translateY(-1px)}@media(max-width:768px){.modules-page{padding-top:60px;background:radial-gradient(ellipse 100% 40% at 50% 0%,rgba(255,220,180,.12),transparent 50%),linear-gradient(180deg,#fffcf8,#fff8f0fa);min-height:100vh}.modules-container{padding:1.25rem 1rem 6rem}.modules-header{gap:1rem;margin-bottom:1.25rem}.modules-title-section{gap:.25rem}.modules-main-title{font-family:Playfair Display,serif;font-size:1.65rem;font-weight:700;letter-spacing:-.02em;color:var(--brand-ink, #2d1810)}.modules-subtitle{font-size:.875rem;color:var(--muted, #8b7355)}.modules-controls{gap:.875rem}.modules-search{max-width:100%}.search-input{padding:.875rem 1rem .875rem 2.75rem;border-radius:12px;font-size:1rem;min-height:48px;background:#ffffffe6;border:1px solid rgba(180,100,60,.08);box-shadow:0 2px 12px #6432140a}.search-input:focus{border-color:var(--brand-primary, #c71f1d);box-shadow:0 0 0 3px #c71f1d14}.search-icon{left:.875rem}.modules-filters{margin:0 -1rem;padding:0 1rem .5rem;gap:.4rem}.filter-chip{height:40px;padding:0 1rem;font-size:.8rem;border-radius:20px;background:#ffffffe6;border-color:#b4643c1a;flex-shrink:0}.filter-chip:hover{border-color:var(--brand-primary, #c71f1d);color:var(--brand-primary, #c71f1d)}.filter-chip.active{background:linear-gradient(135deg,var(--brand-primary, #c71f1d),#e84a32);border-color:transparent;color:#fff;box-shadow:0 4px 12px #c71f1d40}.modules-body{margin-top:1.5rem;gap:1.25rem}.modules-sidebar{display:none}.modules-content{padding:1.25rem;border-radius:20px;background:#ffffffd9;box-shadow:0 4px 24px #6432140f;border:1px solid rgba(255,255,255,.8)}.results-header{margin-bottom:1rem;gap:.75rem}.results-header h3{font-family:Playfair Display,serif;font-size:1.15rem;color:var(--brand-ink, #2d1810)}.modules-section{gap:.875rem;margin-bottom:2rem}.section-header{padding-bottom:.4rem;border-bottom-color:#b4643c1a}.section-title{font-family:Playfair Display,serif;font-size:1.05rem;color:var(--brand-ink, #2d1810)}.section-count{font-size:.7rem}.modules-grid{grid-template-columns:1fr;gap:1rem}.modules-empty{padding:3rem 1.5rem}.empty-icon{font-size:3rem}.modules-empty h3{font-size:1.1rem}.filter-group{padding:1rem;border-radius:14px;background:#ffffffe6;border-color:#b4643c14}.filter-group-header h4{font-size:.9rem}.filter-input{min-height:44px;font-size:1rem;border-radius:10px}.tag-chip{padding:.5rem .75rem;font-size:.78rem;min-height:36px;border-radius:18px}.chip-cloud.scrollable{max-height:180px}.overview-stats{gap:1rem;flex-wrap:wrap}.overview-stats strong{font-size:1.2rem}.stat-label{font-size:.7rem}.module-detail-dialog{position:fixed;inset:auto 0 0;transform:none;width:100%;max-height:85vh;border-radius:24px 24px 0 0;box-shadow:0 -10px 50px #0f172a33}.module-detail-content{padding:1.5rem 1.25rem 2rem}.detail-section{margin-bottom:1.25rem}.detail-section h3{font-size:.85rem;margin-bottom:.6rem}.detail-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.detail-grid>div{padding:.875rem;border-radius:10px}.detail-grid strong{font-size:.65rem}.detail-grid p{font-size:1rem}.detail-actions{padding-top:1rem;gap:.5rem;flex-direction:column}.detail-actions .primary,.detail-actions button{width:100%;min-height:48px;border-radius:12px}}@media(max-width:390px){.modules-container{padding:1rem .875rem 5.5rem}.modules-main-title{font-size:1.45rem}.search-input{padding-left:2.5rem;font-size:.95rem}.modules-content{padding:1rem;border-radius:18px}.filter-chip{height:36px;padding:0 .85rem;font-size:.75rem}.modules-grid{gap:.875rem}.module-detail-dialog{max-height:90vh;border-radius:20px 20px 0 0}.module-detail-content{padding:1.25rem 1rem 1.75rem}}.phases-page{min-height:100vh;background:radial-gradient(circle at 10% -10%,rgba(199,31,29,.08),transparent 45%),radial-gradient(circle at 90% 0%,rgba(242,149,26,.12),transparent 55%),#fff8f2;padding-top:var(--app-bar-height, 64px)}.phases-main{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.phases-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.phases-header h1{font-size:1.75rem;font-weight:700;color:var(--brand-ink);margin:0 0 .25rem;font-family:Playfair Display,serif}.phases-subtitle{font-size:.9rem;color:var(--muted);margin:0}.phases-create-btn{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--brand-primary);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #c71f1d40;flex-shrink:0}.phases-create-btn:hover{background:var(--brand-primary-strong);transform:translateY(-1px);box-shadow:0 6px 16px #c71f1d4d}.phases-toast{position:fixed;top:calc(var(--app-bar-height, 64px) + 1rem);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:.75rem 1.5rem;border-radius:10px;font-size:.875rem;font-weight:500;box-shadow:0 8px 24px #0003;z-index:100;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.phases-create-section{background:#fff;border:1px solid rgba(199,31,29,.1);border-radius:16px;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 20px #4a1a120f}.phases-create-tabs{display:flex;border-bottom:1px solid rgba(199,31,29,.1);background:#fff8f280}.create-tab{flex:1;padding:1rem;background:none;border:none;font-size:.875rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s ease;position:relative}.create-tab:hover{color:var(--brand-ink);background:#ffffff80}.create-tab.active{color:var(--brand-primary);background:#fff}.create-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand-primary)}.phases-create-form{padding:1.5rem}.create-form-content{display:flex;flex-direction:column;gap:1.25rem}.form-description{font-size:.875rem;color:var(--muted);margin:0}.form-row{display:flex;gap:1rem}.form-field{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-field--wide{flex:2}.form-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.form-field select,.form-field input{padding:.75rem 1rem;border:1px solid rgba(199,31,29,.15);border-radius:8px;font-size:.9rem;color:var(--brand-ink);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.form-field select:focus,.form-field input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #c71f1d1a}.form-field select:disabled,.form-field input:disabled{background:#f5f5f5;cursor:not-allowed}.cat-info-box{background:#c71f1d0a;border:1px solid rgba(199,31,29,.1);border-radius:10px;padding:1rem;display:flex;gap:2rem}.cat-info-row{display:flex;flex-direction:column;gap:.25rem}.cat-label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.cat-value{font-size:.9rem;font-weight:600;color:var(--brand-ink)}.cat-countdown{color:var(--brand-primary)}.form-submit-btn{align-self:flex-start;padding:.75rem 1.5rem;background:var(--brand-primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.form-submit-btn:hover:not(:disabled){background:var(--brand-primary-strong)}.form-submit-btn:disabled{opacity:.6;cursor:not-allowed}.phases-empty{text-align:center;padding:4rem 2rem;background:#fff;border:1px dashed rgba(199,31,29,.2);border-radius:16px}.phases-empty-icon{color:#c71f1d4d;margin-bottom:1.5rem}.phases-empty h3{font-size:1.25rem;font-weight:600;color:var(--brand-ink);margin:0 0 .5rem}.phases-empty p{font-size:.9rem;color:var(--muted);margin:0 0 1.5rem}.phases-empty-btn{padding:.75rem 2rem;background:var(--brand-primary);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.phases-empty-btn:hover{background:var(--brand-primary-strong)}.phases-error{text-align:center;padding:2rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:2rem}.phases-error p{color:#991b1b;margin:0 0 1rem}.phases-error button{padding:.5rem 1rem;background:#991b1b;color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer}.phases-loading{text-align:center;padding:3rem;color:var(--muted);font-size:.9rem}.phases-list{display:flex;flex-direction:column;gap:1rem}.phase-card{background:#fff;border:1px solid rgba(199,31,29,.08);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #4a1a120a;transition:all .2s ease}.phase-card:hover{box-shadow:0 4px 16px #4a1a1214}.phase-card--active{border-color:var(--brand-primary);box-shadow:0 4px 16px #c71f1d1f}.phase-card--completed{opacity:.8}.phase-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background .2s ease}.phase-card-header:hover{background:#fff8f280}.phase-card-left{display:flex;align-items:center;gap:1rem}.phase-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#c71f1d14;color:var(--brand-primary);border-radius:8px;font-size:.875rem;font-weight:700;flex-shrink:0}.phase-card--active .phase-number{background:var(--brand-primary);color:#fff}.phase-info{display:flex;flex-direction:column;gap:.15rem}.phase-name{font-size:1rem;font-weight:600;color:var(--brand-ink);margin:0}.phase-dates{font-size:.8rem;color:var(--muted)}.phase-card-right{display:flex;align-items:center;gap:1rem}.phase-status{padding:.35rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.phase-status--planned{background:#f1f5f9;color:#475569}.phase-status--active{background:#c71f1d1a;color:var(--brand-primary)}.phase-status--completed{background:#d1fae5;color:#047857}.phase-module-count{font-size:.8rem;color:var(--muted)}.phase-expand-icon{color:var(--muted);transition:transform .2s ease}.phase-expand-icon.expanded{transform:rotate(180deg)}.phase-progress-bar{height:4px;background:#f1f5f9;position:relative}.phase-progress-fill{position:absolute;top:0;left:0;height:100%;background:var(--brand-primary);border-radius:0 2px 2px 0;transition:width .3s ease}.phase-progress-time{position:absolute;top:0;left:0;height:100%;background:#f2951a4d;border-radius:0 2px 2px 0}.phase-card-body{padding:1.25rem;border-top:1px solid rgba(199,31,29,.06);background:#fff8f24d}.phase-actions{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.phase-action-btn{padding:.5rem 1rem;background:#fff;border:1px solid rgba(199,31,29,.15);border-radius:8px;font-size:.8rem;font-weight:500;color:var(--brand-ink);cursor:pointer;transition:all .2s ease}.phase-action-btn:hover:not(:disabled){background:#c71f1d0a;border-color:var(--brand-primary);color:var(--brand-primary)}.phase-action-btn--schedule{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.phase-action-btn--schedule:hover:not(:disabled){background:var(--brand-primary-strong)}.phase-action-btn:disabled{opacity:.5;cursor:not-allowed}.phase-modules{background:#fff;border:1px solid rgba(199,31,29,.08);border-radius:12px;padding:1rem}.phase-modules-title{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.phase-modules-empty{font-size:.875rem;color:var(--muted);margin:0;padding:.5rem 0}.phase-modules-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.phase-module-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff8f280;border:1px solid rgba(199,31,29,.06);border-radius:8px;gap:1rem}.phase-module-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.phase-module-title{font-size:.875rem;font-weight:500;color:var(--brand-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-module-domain{font-size:.75rem;color:var(--muted)}.phase-module-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.phase-module-status{padding:.4rem .6rem;border:1px solid rgba(199,31,29,.12);border-radius:6px;font-size:.75rem;background:#fff;color:var(--brand-ink)}.phase-module-schedule,.phase-module-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(199,31,29,.12);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s ease}.phase-module-schedule:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#c71f1d0a}.phase-module-remove:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.phase-add-module{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(199,31,29,.06)}.phase-add-module select{flex:1;padding:.5rem .75rem;border:1px solid rgba(199,31,29,.15);border-radius:8px;font-size:.8rem;background:#fff;color:var(--brand-ink)}.phase-add-module button{padding:.5rem 1rem;background:var(--brand-primary);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .2s ease}.phase-add-module button:hover:not(:disabled){background:var(--brand-primary-strong)}.phase-add-module button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.phases-main{padding:1.5rem 1rem 6rem}.phases-header{flex-direction:column;align-items:stretch}.phases-header h1{font-size:1.5rem}.phases-create-btn{width:100%;justify-content:center}.form-row{flex-direction:column}.cat-info-box{flex-direction:column;gap:1rem}.phase-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.phase-card-left{width:100%}.phase-card-right{width:100%;justify-content:space-between}.phase-module-item{flex-direction:column;align-items:flex-start;gap:.75rem}.phase-module-controls{width:100%;justify-content:space-between}.phase-module-status{flex:1}.phase-actions{flex-direction:column}.phase-action-btn{width:100%;justify-content:center}.phase-add-module{flex-direction:column}.phase-add-module button{width:100%}}.notification-settings{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid #e5e7eb}.notification-settings-header{margin-bottom:1.25rem}.notification-settings-title{margin:0;font-size:1.125rem;font-weight:600;color:#0f172a}.notification-settings-subtitle{margin:.25rem 0 0;font-size:.875rem;color:#64748b}.notification-alert{padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1rem}.notification-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.notification-alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.notification-options{display:flex;flex-direction:column;gap:1rem}.notification-option{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:.75rem;gap:1rem}.notification-option-info{display:flex;align-items:flex-start;gap:.75rem;flex:1}.notification-option-icon{font-size:1.5rem;flex-shrink:0}.notification-option-title{margin:0;font-size:.9375rem;font-weight:500;color:#0f172a}.notification-option-desc{margin:.125rem 0 0;font-size:.8125rem;color:#64748b;line-height:1.4}.notification-option-action{flex-shrink:0}.notification-badge{display:inline-block;padding:.25rem .625rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.notification-badge-warning{background:#fef3c7;color:#d97706}.notification-badge-error{background:#fee2e2;color:#dc2626}.notification-btn{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.notification-btn:disabled{opacity:.5;cursor:not-allowed}.notification-btn-primary{background:#4f46e5;color:#fff}.notification-btn-primary:hover:not(:disabled){background:#4338ca}.notification-btn-secondary{background:#e5e7eb;color:#374151}.notification-btn-secondary:hover:not(:disabled){background:#d1d5db}.notification-btn-outline{background:transparent;border:1px solid #d1d5db;color:#374151}.notification-btn-outline:hover:not(:disabled){background:#f3f4f6}.notification-toggle{position:relative;display:inline-block;width:44px;height:24px}.notification-toggle input{opacity:0;width:0;height:0}.notification-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:24px}.notification-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0000001a}.notification-toggle input:checked+.notification-toggle-slider{background-color:#4f46e5}.notification-toggle input:checked+.notification-toggle-slider:before{transform:translate(20px)}.notification-toggle input:disabled+.notification-toggle-slider{opacity:.5;cursor:not-allowed}.notification-test{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;text-align:center}.notification-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb}.notification-footer-text{margin:0;font-size:.8125rem;color:#64748b;line-height:1.5}@media(max-width:480px){.notification-option{flex-direction:column;align-items:flex-start}.notification-option-action{width:100%;margin-top:.75rem}.notification-btn{width:100%}}.profile-page{--profile-bg: transparent;--profile-text: var(--text);--profile-muted: var(--muted);--profile-border: var(--border-soft);--profile-card-bg: rgba(255, 255, 255, .65);--profile-primary: var(--brand-primary);--profile-primary-soft: var(--brand-primary-soft);--profile-primary-mist: var(--brand-primary-mist);--profile-success: var(--success);--profile-error: var(--danger);--profile-warning: var(--warning);min-height:100vh;color:var(--profile-text);padding-bottom:100px}.profile-page.profile-loading{display:flex;align-items:center;justify-content:center;padding:2rem}.profile-loading-card{background:var(--profile-card-bg);padding:2rem 3rem;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--profile-border)}.profile-loading-card .error{color:var(--profile-error)}.profile-header{background:var(--brand-gradient-primary);color:#fff;padding:2rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;position:relative;overflow:hidden;box-shadow:0 10px 40px #c71f1d40}.profile-header:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.1) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.1) 0%,transparent 20%);pointer-events:none}.profile-header-main{display:flex;align-items:center;gap:1.25rem;position:relative;z-index:1}.profile-avatar{width:80px;height:80px;border-radius:24px;background:#fffffff2;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;flex-shrink:0;color:var(--brand-primary);box-shadow:0 8px 16px #0000001a;border:4px solid rgba(255,255,255,.3)}.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:20px}.profile-header-info{display:flex;flex-direction:column;gap:.35rem}.profile-name{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;margin:0;line-height:1.1;color:#fff;letter-spacing:-.01em}.profile-email{font-size:.9375rem;opacity:.9;margin:0;font-weight:500;letter-spacing:.02em}.profile-impersonating-badge{display:inline-block;background:#fff;color:var(--brand-primary);padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;margin-top:.25rem;box-shadow:0 2px 6px #0000001a}.profile-header-stats{display:flex;gap:1rem;position:relative;z-index:1}.profile-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.85rem 1.35rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:16px;min-width:90px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-stat-exam{background:#ffffff40;border-color:#fff6}.profile-stat-value{font-size:1.5rem;font-weight:700;line-height:1}.profile-stat-label{font-size:.7rem;opacity:.9;margin-top:.35rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.profile-stat-icon{display:flex;align-items:center;justify-content:center}.profile-stat-icon svg{width:20px;height:20px}.profile-tabs{display:flex;gap:.5rem;background:transparent;padding:0 1rem;margin-top:-1.5rem;position:relative;z-index:2;overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-tab{padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;color:var(--profile-muted);background:#fffc;border:1px solid var(--profile-border);border-radius:12px;cursor:pointer;white-space:nowrap;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #00000008}.profile-tab:hover{transform:translateY(-2px);background:#fff;color:var(--brand-ink);box-shadow:0 6px 16px #0000000f}.profile-tab.active{background:#fff;color:var(--brand-primary);border-color:var(--brand-primary-soft);box-shadow:0 8px 20px #c71f1d26}.profile-tab-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.profile-tab-icon svg{width:16px;height:16px}.profile-tab-label{white-space:nowrap}.profile-content{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.profile-tab-content{display:flex;flex-direction:column;gap:2rem}.profile-card{background:#ffffffbf;border-radius:var(--radius-md);padding:2rem;box-shadow:var(--shadow-soft);border:1px solid white;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.profile-card-title{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;margin:0 0 .35rem;color:var(--profile-text);letter-spacing:-.01em}.profile-card-desc{font-size:.9rem;color:var(--profile-muted);margin:0 0 1.5rem;line-height:1.5}.profile-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field-full{grid-column:1 / -1}.profile-field-label{font-size:.8rem;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.profile-field input,.profile-field select,.profile-field textarea{padding:.75rem 1rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-size:.95rem;color:var(--profile-text);background:#ffffff80;transition:all .2s ease;font-family:inherit}.profile-field input:focus,.profile-field select:focus,.profile-field textarea:focus{outline:none;border-color:var(--brand-primary);background:#fff;box-shadow:0 0 0 4px var(--brand-primary-mist)}.profile-field input:disabled,.profile-field select:disabled,.profile-field textarea:disabled{background:#00000008;cursor:not-allowed;opacity:.7}.profile-field textarea{resize:vertical;min-height:100px}.profile-field-hint{font-size:.75rem;color:var(--muted-soft);margin-top:.25rem}.profile-list-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-soft)}.profile-list-section:first-child{margin-top:0;padding-top:0;border-top:none}.profile-list-title{font-size:1rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.65rem;color:var(--text);font-family:Playfair Display,serif}.profile-list-count{font-family:Space Grotesk,sans-serif;font-size:.7rem;font-weight:700;background:var(--brand-primary-mist);color:var(--brand-primary);padding:.15rem .6rem;border-radius:999px;vertical-align:middle}.profile-list-input-row{display:flex;gap:.75rem;margin-bottom:1rem}.profile-list-input-row input{flex:1;padding:.65rem 1rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-size:.9rem;background:#fff}.profile-list-input-row input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-mist)}.profile-btn-add{padding:.65rem 1.25rem;background:var(--brand-primary-mist);color:var(--brand-primary-strong);border:1px solid transparent;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.profile-btn-add:hover{background:#fff;border-color:var(--brand-primary-soft);transform:translateY(-1px);box-shadow:0 4px 12px var(--brand-primary-mist)}.profile-chip-list{display:flex;flex-wrap:wrap;gap:.65rem}.profile-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:#fff;border:1px solid var(--border-soft);border-radius:999px;font-size:.85rem;color:var(--text);box-shadow:0 2px 4px #00000005;transition:all .2s}.profile-chip:hover{border-color:var(--brand-amber);transform:translateY(-1px)}.profile-chip button{background:transparent;border:none;padding:0;color:var(--profile-muted);cursor:pointer;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .15s}.profile-chip button:hover{color:var(--profile-error)}.profile-chip-weak{background:#fff7ed;border-color:#ffedd5;color:#c2410c}.profile-subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.profile-subject-btn{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#fff9;cursor:pointer;font-size:.9rem;color:var(--text);transition:all .2s ease}.profile-subject-btn:hover{border-color:var(--brand-primary);background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.profile-subject-btn.selected{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 4px 12px #c71f1d4d}.profile-check{font-weight:700;font-size:1.1em}.profile-muted{color:var(--muted);font-size:.9rem}.profile-exam-banner{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem;background:var(--brand-gradient-amber);border-radius:var(--radius-md);color:var(--brand-ink);box-shadow:0 20px 40px -10px #f2951a4d;position:relative;overflow:hidden}.profile-exam-banner:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.15' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E")}.profile-exam-banner-content{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.profile-exam-badge{display:inline-block;background:#ffffff80;padding:.35rem .85rem;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.08em;width:fit-content;color:var(--brand-deep);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-exam-countdown{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--brand-deep)}.profile-exam-date{font-size:.95rem;opacity:.85;font-weight:500}.profile-exam-days-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:90px;height:90px;border-radius:50%;background:#ffffff40;border:2px solid rgba(255,255,255,.5);flex-shrink:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;z-index:1;box-shadow:0 8px 20px #c7641d26}.profile-exam-days-number{font-size:2rem;font-weight:800;line-height:1;color:var(--brand-deep)}.profile-exam-days-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-top:0;color:var(--brand-deep);opacity:.8}.profile-save-bar{position:fixed;bottom:0;left:0;right:0;background:#ffffffe6;border-top:1px solid var(--border-soft);padding:1rem 0;box-shadow:0 -10px 30px #0000000d;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.profile-save-bar-content{max-width:900px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.profile-save-message{font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.profile-save-message.success{color:var(--success)}.profile-save-message.error{color:var(--profile-error)}.profile-save-actions{display:flex;gap:1rem}.profile-btn-secondary{padding:.75rem 1.5rem;border:1px solid var(--border-soft);border-radius:12px;background:#fff;color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.profile-btn-secondary:hover{background:var(--bg-soft);border-color:var(--brand-primary-soft);transform:translateY(-1px)}.profile-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.profile-btn-primary{padding:.75rem 2rem;border:none;border-radius:12px;background:var(--brand-primary);background:var(--brand-gradient-primary);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #c71f1d40;transition:all .2s}.profile-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #c71f1d59;filter:brightness(1.1)}.profile-btn-primary:disabled{background:var(--muted-soft);box-shadow:none;cursor:not-allowed;transform:none}.profile-section-goals{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.profile-section-goal{background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s}.profile-section-goal:hover{border-color:var(--brand-primary-soft);box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.profile-section-goal-header{display:flex;align-items:center;gap:.75rem}.profile-section-goal-icon{background:var(--bg-soft);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--brand-primary)}.profile-section-goal-icon svg{width:20px;height:20px}.profile-section-goal-name{font-weight:700;font-size:1.1rem;color:var(--text)}.profile-section-goal-full{display:none;font-size:.8rem;color:var(--muted)}.profile-section-goal-input{display:flex;align-items:center;gap:.5rem;background:var(--bg-root);padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-soft)}.profile-section-goal-input:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-primary-mist)}.profile-section-goal-input input{border:none;background:transparent;width:100%;font-size:1.25rem;font-weight:700;color:var(--brand-primary);padding:0}.profile-section-goal-input input:focus{outline:none;box-shadow:none}.profile-section-goal-input span{font-weight:600;color:var(--muted-soft);font-size:.9rem}.profile-entry-form{background:linear-gradient(135deg,#fffcf8e6,#fffffff2);border:1px dashed var(--border-soft);border-radius:16px;padding:1.75rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.profile-entry-form:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--brand-amber) 0%,var(--brand-primary-soft) 100%);opacity:.6}.profile-entry-form-compact{padding:1.25rem 1.5rem}.profile-entry-row{display:flex;gap:1rem;margin-bottom:1rem}.profile-entry-row:last-of-type{margin-bottom:0}.profile-entry-row input,.profile-entry-row textarea{flex:1;padding:.85rem 1rem;border:1px solid transparent;border-radius:10px;font-size:.95rem;background:#fff;color:var(--text);font-family:inherit;transition:all .25s ease;box-shadow:0 2px 8px #00000008}.profile-entry-row input::placeholder,.profile-entry-row textarea::placeholder{color:var(--muted-soft);font-style:italic}.profile-entry-row input:focus,.profile-entry-row textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-primary-mist),0 4px 12px #c71f1d14;background:#fff}.profile-entry-title{font-weight:600;font-size:1rem!important}.profile-entry-notes{resize:none;min-height:70px;line-height:1.6}.profile-entries-list{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-soft);position:relative}.profile-entries-list:before{content:"Added";position:absolute;top:-.65rem;left:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:#ffffffe6;padding:0 .75rem}.profile-entry-card{background:#fff;border:none;border-radius:16px;padding:1.5rem 1.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;overflow:hidden}.profile-entry-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand-primary) 0%,var(--brand-amber) 100%);opacity:0;transition:opacity .3s ease}.profile-entry-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000000a,0 12px 24px #0000000f}.profile-entry-card:hover:before{opacity:1}.profile-entry-card-compact{padding:1.25rem 1.5rem}.profile-entry-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:.5rem}.profile-entry-header strong{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:var(--brand-ink);letter-spacing:-.01em;line-height:1.3}.profile-entry-card-compact .profile-entry-header strong{font-size:1.05rem}.profile-entry-company{display:inline-flex;align-items:center;font-size:.875rem;font-weight:600;color:var(--brand-primary);background:var(--brand-primary-mist);padding:.35rem .85rem;border-radius:8px;margin-bottom:.5rem;letter-spacing:.01em}.profile-entry-company:before{content:"●";font-size:.5rem;margin-right:.5rem;opacity:.6}.profile-entry-dates{font-size:.8rem;font-weight:500;color:var(--muted);letter-spacing:.03em;display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.profile-entry-dates:before{content:"";display:inline-block;width:14px;height:1px;background:var(--muted-soft)}.profile-entry-date{font-size:.8rem;color:var(--muted);background:var(--bg-soft);padding:.25rem .65rem;border-radius:6px;font-weight:500}.profile-entry-meta-row{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap;align-items:center}.profile-entry-notes-display{font-size:.9rem;line-height:1.7;color:var(--text-soft);background:linear-gradient(135deg,var(--bg-root),rgba(255,252,248,.5));padding:1rem 1.25rem;border-radius:10px;margin:.75rem 0 0;border-left:2px solid var(--brand-amber);font-style:italic}.profile-entry-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--muted-soft);cursor:pointer;border-radius:8px;transition:all .2s ease;flex-shrink:0;opacity:.5}.profile-entry-remove svg{width:16px;height:16px}.profile-entry-card:hover .profile-entry-remove{opacity:1}.profile-entry-remove:hover{background:#dc262614;border-color:#dc262626;color:var(--danger);transform:scale(1.1)}.profile-tab-content:has(.profile-mentorship-next){gap:2rem}.profile-mentorship-next{position:relative;padding:2.5rem;background:linear-gradient(135deg,#fff,#fffcf8f2);border:none;border-radius:20px;overflow:hidden;box-shadow:0 4px 16px #6432140a,0 12px 40px #6432140f}.profile-mentorship-next:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-amber))}.profile-mentorship-next:after{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(242,149,26,.08) 0%,transparent 70%);pointer-events:none}.profile-mentorship-next.today:before{background:linear-gradient(90deg,#16a34a,#22c55e);animation:pulse-glow 2s infinite}.profile-mentorship-next.soon:before{background:linear-gradient(90deg,var(--brand-amber),#fbbf24)}.profile-mentorship-next.missed:before{background:linear-gradient(90deg,#dc2626,#ef4444)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.7}}.profile-mentorship-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;position:relative;z-index:1}.profile-mentorship-header .profile-card-title{font-size:1.35rem;margin-bottom:.25rem}.profile-mentorship-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.45rem 1rem;border-radius:20px;background:var(--bg-soft);color:var(--muted);display:inline-flex;align-items:center;gap:.4rem}.profile-mentorship-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}.profile-mentorship-badge.today{background:linear-gradient(135deg,#16a34a1f,#22c55e14);color:#15803d}.profile-mentorship-badge.today:before{background:#22c55e;opacity:1;animation:pulse 1.5s infinite}.profile-mentorship-badge.soon{background:linear-gradient(135deg,#f59e0b1f,#fbbf2414);color:#b45309}.profile-mentorship-badge.missed{background:linear-gradient(135deg,#dc26261a,#ef44440f);color:#dc2626}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.profile-mentorship-date-picker{display:flex;flex-direction:column;gap:1.25rem;position:relative;z-index:1}.profile-mentorship-date-input{width:100%;max-width:280px;font-family:inherit;font-size:1rem;font-weight:500;padding:1rem 1.25rem;border:1px solid rgba(180,100,60,.15);border-radius:12px;color:var(--brand-ink);background:#fff;transition:all .25s ease;box-shadow:0 2px 8px #6432140a}.profile-mentorship-date-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-primary-mist),0 4px 16px #c71f1d1a}.profile-mentorship-date-display{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--brand-primary-mist),rgba(242,149,26,.06));border-radius:12px;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;color:var(--brand-ink);border:1px solid rgba(199,31,29,.1)}.profile-mentorship-date-display:before{content:"";display:inline-block;width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%232d1810' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.profile-btn-mark-complete{margin-top:1rem;padding:.85rem 1.75rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);border:none;border-radius:10px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #16a34a40;display:inline-flex;align-items:center;gap:.5rem}.profile-btn-mark-complete svg{width:16px;height:16px}.profile-btn-mark-complete:hover{transform:translateY(-2px);box-shadow:0 8px 24px #16a34a59}.profile-card:has(.profile-add-past-session){padding:2rem}.profile-add-past-session{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:linear-gradient(135deg,#fffcf8cc,#fff8f099);border:1px dashed rgba(180,100,60,.2);border-radius:12px;margin-top:1rem}.profile-add-past-session .profile-field-label{font-size:.75rem;color:var(--muted)}.profile-add-past-session input{padding:.75rem 1rem;border:1px solid transparent;border-radius:10px;background:#fff;font-size:.95rem;transition:all .2s ease;box-shadow:0 2px 8px #6432140a}.profile-add-past-session input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-mist)}.profile-mentorship-past-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.profile-mentorship-past-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border-radius:12px;font-size:.95rem;color:var(--text);border:1px solid rgba(180,100,60,.08);transition:all .2s ease;box-shadow:0 2px 8px #64321408}.profile-mentorship-past-item:hover{border-color:#c71f1d26;transform:translate(4px)}.profile-mentorship-past-item:before{content:"";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;margin-right:.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:14px 14px;background-position:center;background-repeat:no-repeat;background-color:#16a34a1a;border-radius:6px}.profile-mentorship-stats{padding:2rem;background:linear-gradient(135deg,var(--brand-ink) 0%,#2d1810 100%);color:#fff;position:relative;overflow:hidden}.profile-mentorship-stats:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(242,149,26,.15) 0%,transparent 70%);pointer-events:none}.profile-mentorship-stats .profile-card-title{color:#ffffffe6;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.profile-mentorship-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem;position:relative;z-index:1}.profile-mentorship-stat{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background:#ffffff14;border-radius:12px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-mentorship-stat-value{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:#fff;line-height:1}.profile-mentorship-stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#fff9}@media(max-width:768px){.profile-mentorship-tab{gap:1rem}.profile-mentorship-next{padding:1rem;border-radius:14px;width:100%;box-sizing:border-box}.profile-mentorship-next:before{height:3px}.profile-mentorship-next:after{width:120px;height:120px;opacity:.4}.profile-mentorship-header{flex-direction:column;gap:.5rem;align-items:flex-start;margin-bottom:1rem}.profile-mentorship-header .profile-card-title{font-size:1rem}.profile-mentorship-header .profile-card-desc{font-size:.78rem}.profile-mentorship-badge{font-size:.6rem;padding:.3rem .7rem;border-radius:12px}.profile-mentorship-date-picker{gap:.75rem;width:100%}.profile-mentorship-date-input{width:100%;max-width:100%;padding:.75rem .875rem;font-size:16px;border-radius:10px;min-height:44px;box-sizing:border-box}.profile-mentorship-date-display{padding:.75rem 1rem;font-size:.9rem;border-radius:10px;gap:.6rem;width:100%;box-sizing:border-box;flex-wrap:wrap;justify-content:center;text-align:center}.profile-mentorship-date-display:before{font-size:1rem}.profile-btn-mark-complete{width:100%;min-height:44px;padding:.75rem 1.25rem;font-size:.75rem;border-radius:10px;margin-top:.65rem}.profile-card:has(.profile-add-past-session){padding:1rem}.profile-add-past-session{padding:.875rem;border-radius:10px;gap:.5rem;margin-top:.65rem;width:100%;box-sizing:border-box}.profile-add-past-session .profile-field-label{font-size:.65rem}.profile-add-past-session input{width:100%;padding:.75rem .875rem;font-size:16px;min-height:44px;border-radius:8px;box-sizing:border-box}.profile-mentorship-past-list{gap:.5rem;margin-top:.875rem}.profile-mentorship-past-item{padding:.75rem .875rem;border-radius:10px;font-size:.82rem;gap:.5rem}.profile-mentorship-past-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-mentorship-past-item:before{width:20px;height:20px;min-width:20px;font-size:.6rem;margin-right:.5rem}.profile-mentorship-past-item .profile-entry-remove{width:28px;height:28px;min-width:28px;font-size:.9rem}.profile-mentorship-stats{padding:1rem;border-radius:14px;width:100%;box-sizing:border-box}.profile-mentorship-stats:before{width:150px;height:150px}.profile-mentorship-stats .profile-card-title{font-size:.78rem;margin-bottom:.875rem;letter-spacing:.06em}.profile-mentorship-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.profile-mentorship-stat{padding:.75rem;border-radius:8px}.profile-mentorship-stat-value{font-size:1.15rem}.profile-mentorship-stat-label{font-size:.6rem;white-space:nowrap}}@media(max-width:390px){.profile-mentorship-next{padding:.875rem;border-radius:12px}.profile-mentorship-header .profile-card-title{font-size:.92rem}.profile-mentorship-date-input{padding:.65rem .75rem}.profile-mentorship-date-display{padding:.65rem .875rem;font-size:.82rem}.profile-btn-mark-complete{font-size:.7rem;min-height:42px}.profile-mentorship-stats{padding:.875rem;border-radius:12px}.profile-mentorship-stats-grid{gap:.5rem}.profile-mentorship-stat{padding:.65rem;border-radius:7px}.profile-mentorship-stat-value{font-size:1rem}.profile-mentorship-stat-label{font-size:.55rem}.profile-mentorship-past-item{padding:.65rem .75rem;font-size:.75rem}.profile-add-past-session{padding:.75rem}}.profile-subsection{margin-bottom:2rem}.profile-subsection-title{font-size:1rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.75rem;font-family:Playfair Display,serif}.profile-btn-add.full-width{width:100%;margin-top:1rem;justify-content:center;display:flex;padding:1rem 1.5rem;font-size:.9rem;background:#fff;border:2px dashed var(--border-soft);color:var(--muted);border-radius:12px;transition:all .25s ease}.profile-btn-add.full-width:hover{border-color:var(--brand-primary);border-style:solid;color:var(--brand-primary);background:var(--brand-primary-mist);transform:none;box-shadow:0 4px 16px var(--brand-primary-mist)}.profile-date-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:140px}.profile-date-group label{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.profile-date-group input{width:100%;padding:.75rem 1rem;border:1px solid transparent;border-radius:10px;background:#fff;font-size:.9rem;color:var(--text);font-family:inherit;transition:all .25s ease;box-shadow:0 2px 8px #00000008}.profile-date-group input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-primary-mist),0 4px 12px #c71f1d14}.profile-card:has(.profile-entry-form) .profile-card-title{position:relative;padding-bottom:1rem;margin-bottom:1.5rem}.profile-card:has(.profile-entry-form) .profile-card-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-amber));border-radius:2px}.profile-entries-list:empty{display:none}.profile-entry-card.profile-entry-card-compact .profile-entry-notes-display{margin-top:.5rem;padding:.75rem 1rem;font-size:.875rem}.profile-experience-tab{gap:2.5rem}.profile-experience-card{padding:2.25rem}.profile-experience-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.profile-experience-header .profile-card-title{margin-bottom:0}.profile-experience-count{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--bg-soft);padding:.4rem .85rem;border-radius:20px;white-space:nowrap}.profile-entry-title-wrap{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.profile-entry-title-wrap strong{display:block}.profile-entry-title-wrap .profile-entry-company,.profile-entry-title-wrap .profile-entry-meta-row{margin-bottom:0}@media(max-width:768px){.profile-experience-tab{gap:1rem}.profile-experience-card{padding:1rem;border-radius:14px;width:100%;box-sizing:border-box}.profile-experience-header{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.profile-experience-header .profile-card-title{font-size:.95rem}.profile-experience-count{font-size:.6rem;padding:.2rem .5rem;border-radius:12px}.profile-entry-form{padding:.875rem;border-radius:12px;margin-bottom:.875rem;width:100%;box-sizing:border-box}.profile-entry-form:before{width:3px}.profile-entry-row{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.6rem;width:100%}.profile-entry-row input,.profile-entry-row textarea{width:100%;padding:.75rem .875rem;font-size:16px;border-radius:8px;min-height:44px;box-sizing:border-box}.profile-entry-row.two-cols{display:flex;flex-direction:column;gap:.6rem}.profile-date-group{width:100%}.profile-date-group label{font-size:.6rem;margin-bottom:.3rem;display:block}.profile-date-group input{width:100%;padding:.75rem .875rem;font-size:16px;min-height:44px;box-sizing:border-box;border-radius:8px}.profile-entries-list{gap:.75rem;margin-top:1.25rem;padding-top:1.25rem}.profile-entries-list:before{font-size:.6rem;top:-.45rem;padding:0 .4rem}.profile-entry-card{padding:1rem;border-radius:12px;width:100%;box-sizing:border-box}.profile-entry-card:before{height:2px}.profile-entry-header{gap:.75rem;margin-bottom:.3rem}.profile-entry-header strong{font-size:.92rem;line-height:1.3}.profile-entry-title-wrap{min-width:0;flex:1;overflow:hidden}.profile-entry-company{font-size:.72rem;padding:.25rem .55rem;border-radius:5px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-entry-company:before{font-size:.35rem;margin-right:.35rem}.profile-entry-dates{font-size:.68rem;margin-bottom:.4rem;flex-wrap:wrap}.profile-entry-dates:before{width:8px}.profile-entry-date{font-size:.68rem;padding:.15rem .4rem;border-radius:4px}.profile-entry-meta-row{gap:.5rem;flex-wrap:wrap}.profile-entry-notes-display{font-size:.78rem;padding:.75rem .875rem;border-radius:8px;margin-top:.5rem;line-height:1.55;border-left-width:2px}.profile-entry-remove{width:32px;height:32px;min-width:32px;opacity:.6;border-radius:8px;font-size:1rem}.profile-entry-card:hover .profile-entry-remove{opacity:.6}.profile-entry-remove:active{background:#dc26261f;transform:scale(.95)}.profile-btn-add.full-width{margin-top:.6rem;padding:.75rem 1rem;font-size:.8rem;border-radius:10px;min-height:44px}}@media(max-width:390px){.profile-experience-card{padding:.875rem}.profile-experience-header .profile-card-title{font-size:.88rem}.profile-entry-form{padding:.75rem;border-radius:10px}.profile-entry-row input,.profile-entry-row textarea{padding:.65rem .75rem;min-height:42px}.profile-entry-card{padding:.875rem;border-radius:10px}.profile-entry-header strong{font-size:.85rem}.profile-entry-company{font-size:.68rem}.profile-entry-notes-display{font-size:.72rem;padding:.65rem .75rem}}@media(min-width:1024px){.profile-page{display:grid;grid-template-columns:320px 1fr;grid-template-rows:auto 1fr;min-height:100vh;padding-bottom:0;gap:0}.profile-header{grid-column:1 / -1;padding:3rem 4rem;border-bottom:1px solid rgba(255,255,255,.1)}.profile-avatar{width:110px;height:110px;border-radius:28px;font-size:2.25rem}.profile-name{font-size:2.5rem;margin-bottom:.25rem}.profile-email{font-size:1.1rem}.profile-header-stats{gap:1.5rem}.profile-stat{padding:1.25rem 2rem;min-width:110px}.profile-stat-value{font-size:2rem}.profile-tabs{flex-direction:column;gap:1rem;padding:2.5rem 2rem 2rem 3rem;background:transparent;border-right:1px solid var(--border-soft);overflow:visible;position:sticky;top:64px;height:fit-content;max-height:calc(100vh - 80px);margin-top:0}.profile-tab{padding:1rem 1.5rem;border-radius:16px;border:1px solid transparent;background:transparent;text-align:left;font-size:1rem;display:flex;align-items:center;gap:1rem;transition:all .2s ease;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--text-soft)}.profile-tab:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--muted-soft);transition:all .3s ease}.profile-tab:hover{background:#fff;box-shadow:0 4px 12px #3c140a0d;color:var(--brand-primary);transform:translate(4px)}.profile-tab:hover:before{background:var(--brand-primary);transform:scale(1.2)}.profile-tab.active{background:#fff;border-color:var(--brand-primary-mist);color:var(--brand-primary);font-weight:700;box-shadow:0 8px 24px #3c140a14;transform:translate(4px)}.profile-tab.active:before{background:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-primary-mist);transform:scale(1.5)}.profile-content{max-width:1100px;padding:2.5rem 4rem;margin:0}.profile-tab-content{gap:2.5rem}.profile-card{padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-medium)}.profile-card-title{font-size:1.5rem;margin-bottom:.5rem}.profile-form-grid{gap:2rem}.profile-save-bar{left:320px;border-radius:24px 24px 0 0;border-left:1px solid var(--border-soft);background:#fffffff2}.profile-save-bar-content{max-width:1100px;padding:0 2rem}.profile-exam-banner{padding:3rem;border-radius:var(--radius-lg)}.profile-exam-days-circle{width:120px;height:120px;border-width:3px}.profile-exam-days-number{font-size:2.75rem}.profile-exam-countdown{font-size:2rem}}@media(min-width:1280px){.profile-page{grid-template-columns:380px 1fr}.profile-tabs{padding-left:4rem}.profile-content{padding-left:5rem}.profile-save-bar{left:380px}}@media(max-width:768px){.profile-page{padding-bottom:140px;overflow-x:hidden;width:100%;max-width:100vw}.profile-header{flex-direction:column;align-items:stretch;padding:1rem .875rem 1.25rem;gap:.875rem;box-shadow:0 6px 24px #c71f1d26;width:100%;box-sizing:border-box}.profile-header:after{opacity:.4}.profile-header-main{flex-direction:row;align-items:center;width:100%;gap:.75rem}.profile-avatar{width:48px;height:48px;min-width:48px;font-size:1.1rem;border-radius:12px;border-width:2px;box-shadow:0 2px 8px #00000014}.profile-header-info{gap:.15rem;flex:1;min-width:0;overflow:hidden}.profile-name{font-size:1.15rem;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-size:.75rem;opacity:.8}.profile-impersonating-badge{font-size:.6rem;padding:.15rem .4rem}.profile-header-stats{display:flex;gap:.4rem;overflow-x:auto;padding:.125rem 0;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.profile-header-stats::-webkit-scrollbar{display:none}.profile-stat{flex:0 0 auto;min-width:60px;padding:.5rem .65rem;border-radius:10px;background:#ffffff1f;border:1px solid rgba(255,255,255,.12)}.profile-stat-value{font-size:1rem}.profile-stat-label{font-size:.55rem;letter-spacing:.04em;white-space:nowrap}.profile-tabs{padding:.5rem .875rem 0;margin-top:-.5rem;gap:.35rem;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{flex:0 0 auto;padding:.5rem .85rem;font-size:.72rem;border-radius:8px;background:#ffffffd9;border:1px solid rgba(180,100,60,.06);box-shadow:none;min-height:40px;display:flex;align-items:center;gap:.35rem;white-space:nowrap}.profile-tab .profile-tab-icon{font-size:.9rem}.profile-tab.active{background:#fff;border-color:#c71f1d1f;box-shadow:0 2px 10px #c71f1d1a}.profile-content{padding:1rem .875rem 1.5rem;width:100%;box-sizing:border-box}.profile-tab-content{gap:1rem}.profile-card{padding:1rem;border-radius:14px;background:#ffffffe6;box-shadow:0 1px 8px #64321408;width:100%;box-sizing:border-box}.profile-card-title{font-size:1rem;margin-bottom:.2rem}.profile-card-desc{font-size:.8rem;margin-bottom:1rem;line-height:1.45}.profile-form-grid{display:flex;flex-direction:column;gap:.875rem;width:100%}.profile-field,.profile-field-full{width:100%}.profile-field input,.profile-field select,.profile-field textarea{width:100%;padding:.75rem .875rem;font-size:16px;border-radius:10px;min-height:44px;box-sizing:border-box}.profile-field-label{font-size:.65rem;margin-bottom:.35rem}.profile-field-hint{font-size:.68rem}.profile-list-section{margin-top:1rem;padding-top:1rem}.profile-list-title{font-size:.9rem;gap:.4rem}.profile-list-count{font-size:.6rem;padding:.1rem .4rem}.profile-list-input-row{flex-direction:column;gap:.5rem}.profile-list-input-row input{width:100%;min-height:44px;font-size:16px;box-sizing:border-box}.profile-btn-add{width:100%;min-height:44px;justify-content:center;font-size:.82rem}.profile-chip-list{gap:.4rem}.profile-chip{padding:.4rem .65rem;font-size:.78rem;min-height:32px}.profile-subjects-grid{grid-template-columns:1fr 1fr;gap:.4rem}.profile-subject-btn{padding:.6rem .5rem;font-size:.75rem;min-height:44px;border-radius:8px}.profile-exam-banner{flex-direction:column;padding:1rem;gap:.875rem;text-align:center;border-radius:14px}.profile-exam-banner-content{align-items:center}.profile-exam-badge{font-size:.6rem;padding:.2rem .5rem}.profile-exam-countdown{font-size:1.05rem}.profile-exam-date{font-size:.78rem}.profile-exam-days-circle{width:64px;height:64px;border-width:2px}.profile-exam-days-number{font-size:1.35rem}.profile-exam-days-label{font-size:.5rem}.profile-section-goals{display:flex;flex-direction:column;gap:.65rem}.profile-section-goal{padding:.875rem;border-radius:10px;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.profile-section-goal-header{gap:.5rem;flex:1}.profile-section-goal-icon{font-size:1.1rem;width:32px;height:32px;border-radius:8px}.profile-section-goal-name{font-size:.9rem}.profile-section-goal-full{display:none}.profile-section-goal-input{width:auto;min-width:80px;padding:.4rem .6rem}.profile-section-goal-input input{width:50px;font-size:1rem;padding:0;min-height:auto}.profile-section-goal-input span{font-size:.8rem}.profile-save-bar{position:fixed;bottom:65px;left:.5rem;right:.5rem;border-radius:14px;padding:.75rem;background:#fffffff2;box-shadow:0 -2px 20px #0000001a;border:1px solid rgba(180,100,60,.08);z-index:100}.profile-save-bar-content{padding:0;flex-direction:column;gap:.5rem;max-width:100%}.profile-save-message{font-size:.75rem;text-align:center;justify-content:center}.profile-save-actions{width:100%;display:flex;gap:.5rem}.profile-btn-secondary,.profile-btn-primary{flex:1;min-height:44px;border-radius:10px;font-size:.82rem;padding:.65rem 1rem}.profile-scores-row{display:flex;flex-direction:column;gap:.75rem;width:100%}.profile-score-block{width:100%}.profile-score-label{font-size:.7rem;margin-bottom:.4rem}.profile-score-input-wrap{width:100%;padding:0 .75rem;box-sizing:border-box}.profile-score-input-wrap input{font-size:16px;padding:.7rem 0;min-height:44px}.profile-scores-secondary{margin-top:1rem;padding-top:1rem}}@media(max-width:390px){.profile-page{overflow-x:hidden}.profile-header{padding:.875rem .75rem 1rem;gap:.75rem}.profile-avatar{width:42px;height:42px;min-width:42px;border-radius:10px;font-size:1rem}.profile-header-main{gap:.6rem}.profile-name{font-size:1.05rem}.profile-email{font-size:.7rem}.profile-stat{min-width:54px;padding:.4rem .5rem;border-radius:8px}.profile-stat-value{font-size:.9rem}.profile-stat-label{font-size:.5rem}.profile-tabs{padding:.4rem .75rem 0}.profile-tab{padding:.45rem .7rem;font-size:.68rem;border-radius:7px;min-height:36px;gap:.25rem}.profile-tab .profile-tab-icon{font-size:.8rem}.profile-content{padding:.875rem .75rem 1.25rem}.profile-card{padding:.875rem;border-radius:12px}.profile-card-title{font-size:.95rem}.profile-card-desc{font-size:.75rem;margin-bottom:.875rem}.profile-form-grid{gap:.75rem}.profile-field input,.profile-field select,.profile-field textarea{padding:.65rem .75rem;min-height:42px;font-size:16px}.profile-field-label{font-size:.6rem}.profile-subjects-grid{gap:.35rem}.profile-subject-btn{padding:.5rem .4rem;font-size:.7rem;min-height:40px}.profile-section-goal{padding:.75rem}.profile-section-goal-icon{width:28px;height:28px;font-size:.95rem}.profile-section-goal-name{font-size:.82rem}.profile-section-goal-input{min-width:70px;padding:.35rem .5rem}.profile-section-goal-input input{width:44px;font-size:.95rem}.profile-exam-banner{padding:.875rem;gap:.75rem;border-radius:12px}.profile-exam-days-circle{width:56px;height:56px}.profile-exam-days-number{font-size:1.2rem}.profile-save-bar{left:.375rem;right:.375rem;bottom:62px;padding:.65rem;border-radius:12px}.profile-btn-secondary,.profile-btn-primary{min-height:42px;font-size:.78rem;padding:.6rem .75rem;border-radius:9px}}.profile-entry-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-scores-row{display:flex;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}.profile-scores-secondary{margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed var(--border-soft)}.profile-scores-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 1.5rem;margin-top:1rem}@media(max-width:992px){.profile-scores-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.profile-scores-grid{grid-template-columns:1fr}}.profile-score-block{flex:1;min-width:140px}.profile-score-label{display:block;font-size:.8rem;font-weight:700;color:var(--text-soft);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.profile-score-input-wrap{position:relative;display:flex;align-items:center;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:0 .75rem}.profile-score-input-wrap input{border:none;background:transparent;width:100%;padding:.75rem 0;font-size:1.1rem;font-weight:600;color:var(--brand-ink)}.profile-score-input-wrap input:focus{outline:none;box-shadow:none}.profile-score-suffix{color:var(--muted-soft);font-weight:600}.profile-field-group{margin-bottom:2rem}.profile-exam-heading{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:1rem;display:block}.exam-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:.5rem}.exam-card{position:relative;border:1px solid var(--border-subtle);border-radius:1rem;padding:1.5rem;background:var(--bg-card);cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;gap:1rem;overflow:hidden}.exam-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.exam-card.selected{border-color:var(--accent);background:var(--bg-soft);box-shadow:0 8px 20px #0c6f8d1a}.exam-card.selected:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent)}.exam-card-header{display:flex;align-items:center;justify-content:space-between}.exam-info{display:flex;align-items:center;gap:.75rem}.exam-icon{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-muted);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s}.exam-card.selected .exam-icon{background:var(--accent);color:#fff}.exam-label{font-size:1.1rem;font-weight:700;color:var(--text)}.exam-check-circle{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:transparent;transition:all .2s}.exam-card.selected .exam-check-circle{border-color:var(--accent);background:var(--accent);color:#fff}.exam-card-date-section{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle);animation:slideDown .3s cubic-bezier(.16,1,.3,1)}.exam-date-label{display:block;font-size:.75rem;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-weight:600;letter-spacing:.05em}.exam-date-input{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text);font-size:.95rem;transition:border-color .2s}.exam-date-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0c6f8d1a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-experience-tab{display:flex;flex-direction:column;gap:2rem}.profile-experience-card{border:none;background:transparent;padding:0;box-shadow:none}.profile-experience-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.profile-section-title{font-size:1.5rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.75rem}.profile-section-title svg{color:var(--accent)}.profile-section-desc{color:var(--muted);margin-bottom:1.5rem;font-size:.95rem}.experience-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;margin-bottom:1.5rem}.experience-entry-card{position:relative;border:1px solid var(--border-subtle);border-radius:1rem;padding:1.25rem;background:var(--bg-card);transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;gap:.75rem}.experience-entry-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000003}.experience-card-header{display:flex;gap:1rem}.experience-icon-box{width:2.75rem;height:2.75rem;border-radius:.75rem;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.experience-info{flex:1;min-width:0}.experience-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.experience-subtitle{font-size:.85rem;color:var(--muted);display:block;margin-bottom:.25rem}.experience-date{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:.35rem;background:var(--bg-muted);padding:.15rem .5rem;border-radius:.5rem;width:fit-content}.experience-notes{font-size:.85rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-top:.75rem;border-top:1px solid var(--border-subtle);margin-top:auto}.btn-remove-entry{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--muted);cursor:pointer;opacity:0;transition:all .2s;padding:.25rem;border-radius:.5rem}.btn-remove-entry:hover{background:var(--bg-muted);color:#ef4444}.experience-entry-card:hover .btn-remove-entry{opacity:1}.experience-add-form{background:var(--bg-soft);border:1px dashed var(--border-subtle);border-radius:1rem;padding:1.5rem;transition:all .2s}.experience-add-form:focus-within{background:var(--bg-card);border-style:solid;border-color:var(--accent);box-shadow:0 0 0 4px #0c6f8d0d}.form-header{font-size:.9rem;font-weight:600;margin-bottom:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.counselor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.counselor-header h1{font-size:2.1rem;margin-bottom:.35rem}.counselor-header .lede{font-size:1rem;color:var(--muted, #64748b);margin:.5rem 0 0}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.student-card{transition:transform .2s,border-color .2s,box-shadow .2s}.student-card:hover{transform:translateY(-4px);border-color:#0c6f8d59;box-shadow:var(--shadow-soft)}.student-card .panel-header{margin-bottom:0}.student-card h3{font-size:1.15rem;margin:0}.role-badge{display:inline-block;padding:.35rem .9rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;background:var(--bg-muted);color:var(--accent-dark);border:1px solid var(--border-subtle)}.counselor-badge{background:var(--accent-soft);color:var(--accent-dark);border-color:#0c6f8d59}.impersonation-badge{display:inline-block;padding:.35rem .9rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;background:#fde9e1;border:1px solid rgba(229,98,54,.4);color:#a34718}.search-container input[type=search]{padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-soft);color:var(--text);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.search-container input[type=search]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0c6f8d26}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;background:#fff;border-radius:.75rem;border:1px solid var(--border-subtle);box-shadow:0 1px 3px #0000000d}.stat-card .stat-label{font-size:.875rem;font-weight:500;color:var(--muted, #64748b);text-transform:uppercase;letter-spacing:.05em}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--text)}.exam-badge{padding:.25rem .75rem;font-size:.75rem;font-weight:600;background:#3b82f61a;color:#1152d4;border-radius:999px;white-space:nowrap}.student-stats{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--bg-soft);border-radius:.5rem;margin:1rem 0}.stat-row{display:flex;justify-content:space-between;align-items:center}.stat-row .stat-label{font-size:.875rem;color:var(--muted, #64748b)}.stat-row .stat-value{font-size:.875rem;font-weight:600;color:var(--text)}.student-actions{display:flex;gap:.75rem;padding:0 1rem 1rem}.button-primary{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;background:linear-gradient(135deg,#3b82f6,#1152d4);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s}.button-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.button-secondary{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;background:#fff;color:var(--text);border:1px solid var(--border-subtle);border-radius:.5rem;cursor:pointer;transition:all .2s;flex:1}.button-secondary:hover{background:var(--bg-soft);border-color:var(--border)}@media(max-width:768px){.counselor-header{flex-direction:column;align-items:stretch}.dashboard-stats,.students-grid{grid-template-columns:1fr}.counselor-header h1{font-size:1.6rem}.stat-card .stat-value{font-size:1.5rem}}.analytics-dashboard{display:flex;flex-direction:column;gap:2.5rem;padding:0;max-width:1200px;margin:0 auto}.analytics-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;text-align:center;background:linear-gradient(135deg,#fff,#fffcf8f2);border-radius:24px;border:1px solid rgba(180,120,80,.1);margin-top:2rem;box-shadow:0 4px 20px #6432140a,0 16px 48px #6432140f;position:relative;overflow:hidden}.analytics-empty-state:before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(242,149,26,.08) 0%,transparent 70%);pointer-events:none}.empty-icon-large{font-size:4.5rem;margin-bottom:1.5rem;filter:grayscale(20%)}.analytics-empty-state h2{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;color:var(--brand-ink, #2d1810);margin:0 0 .75rem}.analytics-empty-state p{color:var(--muted, #8b7355);margin:0;font-size:1rem;max-width:400px;line-height:1.6}.sync-button-primary{margin-top:2rem;padding:1rem 2.5rem;background:linear-gradient(135deg,var(--brand-primary, #c71f1d) 0%,#e84a32 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #c71f1d40,0 8px 32px #c71f1d26}.sync-button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #c71f1d4d,0 16px 48px #c71f1d33}.sync-button-primary:disabled{background:#b478504d;box-shadow:none;cursor:not-allowed;transform:none}.analytics-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.stat-card{background:linear-gradient(135deg,#fff,#fffcf8f2);padding:1.75rem 1.5rem;border-radius:20px;border:1px solid rgba(180,120,80,.08);display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:0 2px 8px #64321408,0 8px 32px #6432140d;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(199,31,29,.2),transparent);opacity:0;transition:opacity .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #64321414,0 16px 48px #6432141a}.stat-card:hover:before{opacity:1;background:linear-gradient(90deg,var(--brand-primary, #c71f1d),var(--brand-amber, #f2951a))}.stat-card .stat-label{font-size:.72rem;font-weight:700;color:var(--muted, #8b7355);text-transform:uppercase;letter-spacing:.1em}.stat-card .stat-value{font-family:Playfair Display,serif;font-size:2.25rem;font-weight:700;color:var(--brand-ink, #2d1810);line-height:1}.stat-card .stat-sub{font-size:.8rem;color:var(--muted, #8b7355)}.stat-sub.positive{color:#16a34a;font-weight:600}.stat-sub.negative{color:#dc2626;font-weight:600}.stat-card.stat-form{background:linear-gradient(135deg,#fffcf8fa,#fff5ebf2);border-color:#f2951a33}.dashboard-actions{display:flex;justify-content:flex-end;margin-top:-1rem}.sync-button-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:#ffffffd9;border:1px solid rgba(180,120,80,.15);border-radius:10px;color:var(--muted, #8b7355);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .25s ease}.sync-button-secondary:hover{background:#fff;border-color:var(--brand-primary, #c71f1d);color:var(--brand-primary, #c71f1d);transform:translateY(-1px);box-shadow:0 4px 12px #c71f1d1a}.analytics-section{background:linear-gradient(135deg,#fff,#fffcf8f2);border-radius:24px;border:1px solid rgba(180,120,80,.08);padding:2rem;box-shadow:0 2px 8px #64321408,0 8px 32px #6432140d;position:relative;overflow:hidden}.section-title{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:var(--brand-ink, #2d1810);margin:0 0 1.5rem;display:flex;align-items:center;gap:.75rem}.trend-badge{font-family:inherit;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .85rem;border-radius:20px;margin-left:auto}.trend-badge.up{background:linear-gradient(135deg,#16a34a1a,#22c55e14);color:#15803d}.trend-badge.down{background:linear-gradient(135deg,#dc26261a,#ef444414);color:#dc2626}.trend-badge.stable{background:#b478501a;color:var(--muted, #8b7355)}.prediction-card{background:linear-gradient(135deg,var(--brand-ink, #2d1810) 0%,#1a0f0a 100%);color:#fff;padding:2.5rem;position:relative}.prediction-card:before{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at 80% 20%,rgba(242,149,26,.15) 0%,transparent 60%);pointer-events:none}.prediction-main{display:flex;justify-content:space-between;align-items:center;gap:2rem;position:relative;z-index:1}.prediction-score{display:flex;flex-direction:column;gap:.5rem}.prediction-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#fff9}.prediction-value{font-family:Playfair Display,serif;font-size:4rem;font-weight:700;line-height:1;background:linear-gradient(135deg,#fff,#f2951ae6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.prediction-range{font-size:.85rem;color:#ffffff80}.prediction-meta{display:flex;gap:2rem}.prediction-confidence,.prediction-target{display:flex;flex-direction:column;gap:.5rem;text-align:center}.prediction-confidence span:first-child,.prediction-target span:first-child{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffff80}.confidence-badge{padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase}.confidence-badge.high{background:#16a34a33;color:#86efac}.confidence-badge.medium{background:#eab30833;color:#fde047}.confidence-badge.low{background:#dc262633;color:#fca5a5}.target-value{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:#fff}.breakthrough-alert{margin-top:1.5rem;padding:1rem 1.5rem;background:#16a34a26;border:1px solid rgba(34,197,94,.3);border-radius:12px;font-size:.9rem;color:#86efac;position:relative;z-index:1}.insights-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.insight-card{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border-radius:16px;background:#fffcf899;border:1px solid rgba(180,120,80,.1);transition:all .25s ease}.insight-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #64321414}.insight-icon{font-size:1.75rem;line-height:1}.insight-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted, #8b7355)}.insight-value{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:var(--brand-ink, #2d1810)}.insight-detail{font-size:.8rem;color:var(--muted, #8b7355)}.insight-card.lucky{background:linear-gradient(135deg,#dcfce780,#bbf7d04d);border-color:#22c55e33}.insight-card.weak{background:linear-gradient(135deg,#fef2f280,#fee2e24d);border-color:#ef444433}.insight-card.best{background:linear-gradient(135deg,#fef9c380,#fef08a4d);border-color:#facc154d}.distribution-chart{display:flex;align-items:flex-end;justify-content:center;gap:1.5rem;height:160px;padding:1rem 0}.distribution-bar-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;max-width:80px}.distribution-bar{width:100%;border-radius:8px 8px 4px 4px;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative}.distribution-bar:hover{transform:scaleY(1.05);filter:brightness(1.1)}.distribution-label{font-size:.75rem;font-weight:600;color:var(--muted, #8b7355)}.distribution-count{font-family:Playfair Display,serif;font-size:1rem;font-weight:700;color:var(--brand-ink, #2d1810)}.records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.25rem}.record-card{padding:1.5rem;border-radius:16px;text-align:center;border:1px solid rgba(180,120,80,.1);background:#fffcf899;transition:all .25s ease}.record-card:hover{transform:translateY(-2px)}.record-card.best-score{background:linear-gradient(135deg,#fef9c399,#fef08a66);border-color:#facc154d}.record-card.streak{background:linear-gradient(135deg,#dcfce799,#bbf7d066);border-color:#22c55e4d}.record-card.peak{background:linear-gradient(135deg,#e0e7ff99,#c7d2fe66);border-color:#818cf84d}.record-label{display:block;font-size:.7rem;font-weight:700;color:var(--muted, #8b7355);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.record-value{display:block;font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:var(--brand-ink, #2d1810);line-height:1}.record-detail{display:block;font-size:.75rem;color:var(--muted, #8b7355);margin-top:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trend-chart{display:flex;align-items:flex-end;gap:6px;height:140px;padding:1rem .5rem;overflow-x:auto}.trend-bar-container{display:flex;flex-direction:column;align-items:center;flex:1;min-width:48px;height:100%}.trend-bar{width:100%;max-width:36px;border-radius:6px 6px 2px 2px;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.trend-bar:hover{filter:brightness(1.1);transform:scaleY(1.03)}.trend-bar-value{font-size:.65rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.2)}.trend-bar-label{font-size:.65rem;font-weight:600;color:var(--muted, #8b7355);margin-top:6px;white-space:nowrap}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.subject-card{background:#fffcf899;border-radius:16px;padding:1.5rem;border:1px solid rgba(180,120,80,.1);transition:all .25s ease}.subject-card:hover{border-color:var(--brand-primary, #c71f1d);transform:translateY(-2px);box-shadow:0 8px 24px #64321414}.subject-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.subject-header h4{margin:0;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;color:var(--brand-ink, #2d1810)}.subject-badges{display:flex;align-items:center;gap:.5rem}.mini-trend{font-size:.75rem;font-weight:700;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%}.mini-trend.up{background:#16a34a1a;color:#16a34a}.mini-trend.down{background:#dc26261a;color:#dc2626}.accuracy-badge{padding:.25rem .65rem;border-radius:8px;font-size:.8rem;font-weight:700}.accuracy-badge.high{background:#16a34a1f;color:#15803d}.accuracy-badge.med{background:#eab30826;color:#a16207}.accuracy-badge.low{background:#dc26261a;color:#b91c1c}.subject-progress-bar{height:6px;background:#b478501a;border-radius:3px;overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.4,0,.2,1)}.subject-stats{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted, #8b7355);font-weight:500}.mini-sparkline{display:flex;align-items:flex-end;gap:3px;height:24px;margin-top:.75rem;padding-top:.5rem;border-top:1px dashed rgba(180,120,80,.15)}.sparkline-dot{width:8px;border-radius:2px;min-height:4px;transition:transform .2s ease}.sparkline-dot:hover{transform:scaleY(1.2)}.consistency-grid{display:flex;gap:3rem;margin-bottom:2rem}.consistency-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.consistency-value{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:var(--brand-ink, #2d1810);line-height:1}.consistency-label{font-size:.72rem;font-weight:600;color:var(--muted, #8b7355);text-transform:uppercase;letter-spacing:.05em;margin-top:.35rem}.day-activity{display:flex;justify-content:space-between;align-items:flex-end;height:80px;padding:0 .5rem;margin-bottom:2rem;background:#fffcf866;border-radius:12px;padding:1rem}.day-bar-container{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.day-bar{width:100%;max-width:28px;background:linear-gradient(180deg,var(--brand-primary, #c71f1d),var(--brand-amber, #f2951a));border-radius:4px 4px 2px 2px;transition:all .3s ease}.day-bar:hover{filter:brightness(1.1)}.day-label{font-size:.65rem;font-weight:600;color:var(--muted, #8b7355);margin-top:6px;text-transform:uppercase}.day-count{display:none}.activity-heatmap{margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed rgba(180,120,80,.15)}.heatmap-title{display:block;font-size:.72rem;font-weight:700;color:var(--muted, #8b7355);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.heatmap-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.heatmap-cell{aspect-ratio:1;border-radius:3px;min-width:14px;max-width:20px;transition:transform .2s ease;cursor:pointer}.heatmap-cell:hover{transform:scale(1.2)}.heatmap-cell.level-0{background:#b4785014}.heatmap-cell.level-1{background:#16a34a40}.heatmap-cell.level-2{background:#16a34a80}.heatmap-cell.level-3{background:#16a34abf}.heatmap-cell.level-4{background:#16a34a}.recent-attempts-list{display:flex;flex-direction:column;gap:.75rem}.attempt-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fffcf899;border-radius:12px;border:1px solid rgba(180,120,80,.08);transition:all .25s ease}.attempt-row:hover{border-color:var(--brand-primary, #c71f1d);transform:translate(4px)}.attempt-info{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.attempt-title{font-size:.95rem;font-weight:600;color:var(--brand-ink, #2d1810);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attempt-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--muted, #8b7355)}.attempt-category{background:#b478501a;padding:.15rem .5rem;border-radius:4px;font-weight:500}.attempt-score{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;padding:.35rem .85rem;border-radius:10px;margin-left:1rem;white-space:nowrap}.attempt-score.high{background:#16a34a1f;color:#15803d}.attempt-score.med{background:#eab30826;color:#a16207}.attempt-score.low{background:#dc26261a;color:#b91c1c}@media(max-width:768px){.analytics-dashboard{gap:1.75rem}.analytics-summary-cards{grid-template-columns:repeat(2,1fr)}.stat-card{padding:1.25rem 1rem}.stat-card .stat-value{font-size:1.75rem}.analytics-section{padding:1.5rem;border-radius:20px}.prediction-card{padding:1.75rem}.prediction-main{flex-direction:column;align-items:flex-start;gap:1.5rem}.prediction-value{font-size:3rem}.prediction-meta{width:100%;justify-content:space-between}.records-grid{grid-template-columns:repeat(2,1fr)}.subjects-grid{grid-template-columns:1fr}.consistency-grid{gap:1.5rem}.heatmap-grid{grid-template-columns:repeat(6,1fr)}.insights-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.analytics-summary-cards,.insights-cards,.records-grid{grid-template-columns:1fr}}.deep-analytics-empty{display:flex;flex-direction:column;align-items:center;padding:4rem 2.5rem;text-align:center;background:linear-gradient(135deg,#fff,#fffcf8f2);border-radius:24px;border:1px solid rgba(180,120,80,.1);max-width:700px;margin:2rem auto;box-shadow:0 4px 20px #6432140a,0 16px 48px #6432140f;position:relative;overflow:hidden}.deep-analytics-empty:before{content:"";position:absolute;top:-80px;right:-80px;width:250px;height:250px;background:radial-gradient(circle,rgba(199,31,29,.06) 0%,transparent 70%);pointer-events:none}.empty-state-icon{font-size:4.5rem;margin-bottom:1.5rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1))}.deep-analytics-empty h2{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;color:var(--brand-ink, #2d1810);margin:0 0 .75rem}.deep-analytics-empty>p{color:var(--muted, #8b7355);margin:0;font-size:1rem;max-width:450px;line-height:1.7}.analytics-filters{margin-top:2.5rem;padding-top:2rem;border-top:1px dashed rgba(180,120,80,.2);width:100%}.analytics-filters h3{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--brand-ink, #2d1810);margin:0 0 1.25rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.filter-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:#ffffffd9;border:1px solid rgba(180,120,80,.15);border-radius:12px;font-size:.88rem;font-weight:600;color:var(--muted, #8b7355);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.filter-chip:hover{border-color:var(--brand-primary, #c71f1d);color:var(--brand-primary, #c71f1d);transform:translateY(-2px);box-shadow:0 4px 12px #c71f1d1a}.filter-chip.active{background:linear-gradient(135deg,var(--brand-primary, #c71f1d) 0%,#e84a32 100%);border-color:transparent;color:#fff;box-shadow:0 4px 12px #c71f1d40,0 8px 24px #c71f1d26}.filter-chip .check-mark{font-size:.85rem;font-weight:700}.filter-hint{margin-top:1.25rem;font-size:.85rem;color:var(--muted, #8b7355);font-style:italic}.empty-state-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:2.5rem;width:100%;max-width:320px}.btn-primary{padding:1rem 2rem;background:linear-gradient(135deg,var(--brand-primary, #c71f1d) 0%,#e84a32 100%);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #c71f1d40,0 8px 32px #c71f1d26}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #c71f1d4d,0 16px 48px #c71f1d33}.btn-primary.large{padding:1.15rem 2.5rem;font-size:1rem}.btn-primary:disabled{background:#b478504d;box-shadow:none;cursor:not-allowed}.btn-secondary{padding:.85rem 1.75rem;background:#ffffffe6;border:1px solid rgba(180,120,80,.2);border-radius:10px;font-size:.9rem;font-weight:600;color:var(--muted, #8b7355);cursor:pointer;transition:all .25s ease}.btn-secondary:hover:not(:disabled){border-color:var(--brand-primary, #c71f1d);color:var(--brand-primary, #c71f1d);transform:translateY(-1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.deep-analytics-panel{display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto}.deep-stats-header{display:grid;grid-template-columns:1fr 1fr auto;gap:1.5rem;align-items:stretch}.deep-stat-card{background:linear-gradient(135deg,#fff,#fffcf8f2);padding:2rem;border-radius:20px;border:1px solid rgba(180,120,80,.08);display:flex;flex-direction:column;gap:.5rem;box-shadow:0 2px 8px #64321408,0 8px 32px #6432140d;transition:all .25s ease}.deep-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #64321414,0 16px 48px #6432141a}.deep-stat-card.primary{background:linear-gradient(135deg,var(--brand-ink, #2d1810) 0%,#1a0f0a 100%);color:#fff;position:relative;overflow:hidden}.deep-stat-card.primary:before{content:"";position:absolute;top:0;right:0;width:150px;height:150px;background:radial-gradient(circle,rgba(242,149,26,.2) 0%,transparent 70%);pointer-events:none}.deep-stat-card .stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted, #8b7355)}.deep-stat-card.primary .stat-label{color:#fff9}.deep-stat-card .stat-value{font-family:Playfair Display,serif;font-size:3rem;font-weight:700;color:var(--brand-ink, #2d1810);line-height:1;position:relative;z-index:1}.deep-stat-card.primary .stat-value{background:linear-gradient(135deg,#fff,#f2951ae6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.deep-stat-card .stat-sub{font-size:.85rem;color:var(--muted, #8b7355)}.deep-stat-card.primary .stat-sub{color:#ffffff80}.deep-stat-actions{display:flex;align-items:center}.btn-refresh{padding:.85rem 1.5rem;background:#ffffffe6;border:1px solid rgba(180,120,80,.15);border-radius:12px;font-size:.88rem;font-weight:600;color:var(--brand-ink, #2d1810);cursor:pointer;transition:all .25s ease;white-space:nowrap}.btn-refresh:hover:not(:disabled){border-color:var(--brand-primary, #c71f1d);color:var(--brand-primary, #c71f1d);transform:translateY(-2px);box-shadow:0 4px 12px #c71f1d1a}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.active-filters-display{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 1.5rem;background:#fffcf899;border-radius:12px;border:1px dashed rgba(180,120,80,.2)}.filter-label{font-size:.8rem;font-weight:600;color:var(--muted, #8b7355);text-transform:uppercase;letter-spacing:.05em}.active-filter-badge{padding:.35rem .85rem;background:linear-gradient(135deg,var(--brand-primary-mist, rgba(199, 31, 29, .1)),rgba(242,149,26,.08));border-radius:8px;font-size:.82rem;font-weight:600;color:var(--brand-primary, #c71f1d)}.clear-filters{margin-left:auto;padding:.35rem .75rem;background:transparent;border:1px solid rgba(180,120,80,.2);border-radius:6px;font-size:.75rem;font-weight:600;color:var(--muted, #8b7355);cursor:pointer;transition:all .2s ease}.clear-filters:hover{border-color:#dc2626;color:#dc2626}.deep-section-block{background:linear-gradient(135deg,#fff,#fffcf8f2);border-radius:24px;border:1px solid rgba(180,120,80,.08);padding:2rem;box-shadow:0 2px 8px #64321408,0 8px 32px #6432140d}.deep-section-block h3{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:var(--brand-ink, #2d1810);margin:0 0 1.5rem}.difficulty-bars{display:flex;flex-direction:column;gap:1.25rem}.diff-bar-item{display:grid;grid-template-columns:100px 1fr 80px;align-items:center;gap:1.5rem}.diff-info{display:flex;justify-content:space-between;align-items:center}.diff-name{font-weight:600;color:var(--brand-ink, #2d1810);font-size:.95rem}.diff-val{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:var(--brand-ink, #2d1810)}.diff-track{height:10px;background:#b478501a;border-radius:5px;overflow:hidden}.diff-fill{height:100%;border-radius:5px;transition:width .6s cubic-bezier(.4,0,.2,1)}.diff-bar-item.easy .diff-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.diff-bar-item.medium .diff-fill{background:linear-gradient(90deg,#eab308,#facc15)}.diff-bar-item.hard .diff-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.diff-count{font-size:.8rem;color:var(--muted, #8b7355);text-align:right}.deep-sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.deep-section-card{background:linear-gradient(135deg,#fff,#fffcf8f2);border-radius:20px;border:1px solid rgba(180,120,80,.08);padding:1.75rem;box-shadow:0 2px 8px #64321408,0 8px 32px #6432140d;transition:all .25s ease;position:relative;overflow:hidden}.deep-section-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--brand-primary, #c71f1d),var(--brand-amber, #f2951a));opacity:0;transition:opacity .3s ease}.deep-section-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #64321414,0 16px 48px #6432141a}.deep-section-card:hover:before{opacity:1}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h4{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:var(--brand-ink, #2d1810);margin:0}.score-badge{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;padding:.4rem 1rem;border-radius:10px}.score-badge.high{background:#16a34a1f;color:#15803d}.score-badge.med{background:#eab30826;color:#a16207}.score-badge.low{background:#dc26261a;color:#b91c1c}.section-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fffcf880;border-radius:12px}.stat-mini{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-mini span{font-size:1rem;font-weight:700;color:var(--brand-ink, #2d1810)}.stat-mini label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #8b7355)}.topic-lists{display:flex;flex-direction:column;gap:1.25rem}.topic-group label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted, #8b7355);margin-bottom:.65rem}.topic-chips{display:flex;flex-wrap:wrap;gap:.5rem}.topic-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:10px;font-size:.85rem;font-weight:500;transition:all .2s ease}.topic-chip:hover{transform:translateY(-1px)}.topic-chip.weak{background:linear-gradient(135deg,#fef2f2cc,#fee2e299);border:1px solid rgba(239,68,68,.2);color:#991b1b}.topic-chip.strong{background:linear-gradient(135deg,#dcfce7cc,#bbf7d099);border:1px solid rgba(34,197,94,.2);color:#166534}.topic-chip small{font-weight:700;opacity:.8}.all-topics-details{margin-top:1.25rem;padding-top:1rem;border-top:1px dashed rgba(180,120,80,.15)}.all-topics-details summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--brand-primary, #c71f1d);transition:color .2s ease}.all-topics-details summary:hover{color:var(--brand-ink, #2d1810)}.all-topics-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.topic-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;background:#fffcf880;border-radius:8px;transition:all .2s ease}.topic-row:hover{background:#fffcf8cc;transform:translate(4px)}.topic-row span{font-size:.88rem;font-weight:500;color:var(--brand-ink, #2d1810);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.topic-row-stat{display:flex;align-items:center;gap:.5rem}.topic-row-stat .acc{font-family:Playfair Display,serif;font-size:1rem;font-weight:700}.topic-row-stat .acc.good{color:#16a34a}.topic-row-stat .acc.bad{color:#dc2626}.topic-row-stat small{font-size:.75rem;color:var(--muted, #8b7355)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:1.5rem;margin-bottom:2.5rem;margin-top:1rem}.bento-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 12px #00000008,0 10px 30px #0000000a;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;position:relative}.bento-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000000f,0 16px 40px #0000000f}.bento-card h3,.bento-card h4{font-family:Playfair Display,serif;margin:0 0 1rem;color:#2d1810}.bento-card h3 small{display:block;font-family:Inter,sans-serif;font-size:.75rem;color:#8b7355;text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-weight:600}.bento-card.large{grid-column:span 2;height:320px}.bento-card.medium{grid-column:span 1;height:320px}.bento-card.wide{grid-column:span 3;margin-top:.5rem}.bento-card.small{grid-column:span 1;height:160px}.velocity-card{background:linear-gradient(135deg,#fff,#fcfcfc)}.velocity-chart-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.velocity-svg{width:100%;height:100%;overflow:visible}.velocity-dot{transition:r .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}.velocity-dot:hover{r:8;opacity:1;stroke:#fff;stroke-width:2px}.chart-legend{display:flex;gap:1.5rem;justify-content:center;margin-top:.5rem;font-size:.8rem;color:#666}.legend-item{display:flex;align-items:center;gap:.4rem}.dot{width:8px;height:8px;border-radius:50%}.dot.green{background:#22c55e}.dot.red{background:#ef4444}.fatigue-chart{flex:1;display:flex;justify-content:space-between;align-items:flex-end;padding:1rem .5rem}.fatigue-bar-group{display:flex;flex-direction:column;align-items:center;gap:.5rem;height:100%;width:18%}.fatigue-track{width:100%;flex:1;background:#00000008;border-radius:8px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.fatigue-bar{width:100%;background:#ccc;border-radius:8px 8px 0 0;transition:height 1s cubic-bezier(.4,0,.2,1);min-height:4px;position:relative}.fatigue-bar.good{background:linear-gradient(to top,#22c55e,#86efac)}.fatigue-bar.mid{background:linear-gradient(to top,#eab308,#fde047)}.fatigue-bar.bad{background:linear-gradient(to top,#ef4444,#fca5a5)}.bar-val{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:700;color:#555}.bar-label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:#999}.card-icon{position:absolute;top:1rem;right:1rem;font-size:1.5rem;opacity:.2}.zone-stat,.streak-stat{display:flex;flex-direction:column;justify-content:center;height:100%}.zone-range{font-size:1.25rem;font-weight:700;color:#2d1810;margin-bottom:.25rem}.zone-acc{font-size:.9rem;font-weight:600;color:#16a34a}.streak-num{font-family:Playfair Display,serif;font-size:3rem;font-weight:700;color:#f59e0b;line-height:1}.trap-list{display:flex;flex-direction:column;gap:.75rem}.trap-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:snow;border:1px solid rgba(239,68,68,.1);border-radius:12px}.trap-time{padding:.4rem .8rem;background:#ef44441a;color:#b91c1c;font-weight:700;font-size:.85rem;border-radius:8px;white-space:nowrap}.trap-details{display:flex;flex-direction:column;gap:.2rem;overflow:hidden}.trap-exam{font-size:.7rem;text-transform:uppercase;font-weight:600;color:#999}.trap-q{font-size:.9rem;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-traps{padding:2rem;text-align:center;color:#16a34a;font-weight:600;background:#16a34a0d;border-radius:12px}@media(max-width:1024px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-card.large{grid-column:span 2}.bento-card.medium{grid-column:span 2;height:250px}.bento-card.small{grid-column:span 1}.bento-card.wide{grid-column:span 2}}@media(max-width:600px){.bento-grid{display:flex;flex-direction:column}}@media(max-width:768px){.deep-analytics-empty{padding:3rem 1.5rem}.deep-stats-header{grid-template-columns:1fr;gap:1rem}.deep-stat-card{padding:1.5rem}.deep-stat-card .stat-value{font-size:2.25rem}.deep-section-block{padding:1.5rem;border-radius:20px}.diff-bar-item{grid-template-columns:70px 1fr 60px;gap:1rem}.deep-sections-grid{grid-template-columns:1fr}.deep-section-card{padding:1.5rem}.section-stats-row,.filter-chips{gap:.5rem}.filter-chip{padding:.5rem 1rem;font-size:.82rem}}.insights-section{margin-bottom:2rem}.insights-section h2{font-size:1.25rem;font-weight:600;color:#4a3728;margin-bottom:1rem}.insights-grid{display:flex;flex-direction:column;gap:.75rem}.insight-card{display:flex;gap:1rem;padding:1rem 1.25rem;border-radius:12px;background:#fff;border-left:4px solid #e5e5e5;box-shadow:0 2px 8px #0000000a;transition:transform .15s ease,box-shadow .15s ease}.insight-card:hover{transform:translate(4px);box-shadow:0 4px 16px #00000014}.insight-card.danger{border-left-color:#ef4444;background:linear-gradient(90deg,#ef44440d,#fff)}.insight-card.warning{border-left-color:#f59e0b;background:linear-gradient(90deg,#f59e0b0d,#fff)}.insight-card.tip{border-left-color:#3b82f6;background:linear-gradient(90deg,#3b82f60d,#fff)}.insight-card.success{border-left-color:#22c55e;background:linear-gradient(90deg,#22c55e0d,#fff)}.insight-card.info{border-left-color:#6b7280;background:linear-gradient(90deg,#6b72800d,#fff)}.insight-icon{font-size:1.5rem;flex-shrink:0}.insight-content{flex:1;min-width:0}.insight-title{font-size:.95rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.insight-message{font-size:.85rem;color:#666;margin:0 0 .5rem;line-height:1.4}.insight-action{font-size:.85rem;color:#4a3728}.insight-action strong{font-weight:600}.quick-metrics-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.quick-metric{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background:#fff;border-radius:12px;border:1px solid rgba(180,120,80,.1);min-width:100px;text-align:center}.metric-icon{font-size:1.5rem;margin-bottom:.25rem}.metric-value{font-size:1.5rem;font-weight:700;color:#4a3728;line-height:1.2}.metric-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.5px}@media(max-width:600px){.insight-card{padding:.85rem 1rem}.insight-icon{font-size:1.25rem}.insight-title{font-size:.9rem}.quick-metrics-row{justify-content:center}.quick-metric{min-width:80px;padding:.75rem 1rem}}.data-section{margin-bottom:2rem;background:#fff;border-radius:16px;padding:1.5rem;border:1px solid rgba(180,120,80,.1)}.data-section h2{font-size:1.1rem;font-weight:600;color:#4a3728;margin:0 0 1.25rem}.section-breakdown{display:flex;flex-direction:column;gap:1.5rem}.section-data-card{border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:1.25rem}.section-data-card:last-child{border-bottom:none;padding-bottom:0}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header-row h3{font-size:.95rem;font-weight:600;color:#1a1a1a;margin:0}.section-summary{display:flex;gap:1rem;font-size:.85rem;font-weight:500}.section-summary .correct{color:#22c55e}.section-summary .wrong{color:#ef4444}.section-summary .accuracy{color:#4a3728;font-weight:600}.topic-table{width:100%;border-collapse:collapse;font-size:.85rem}.topic-table th{text-align:left;padding:.5rem;border-bottom:1px solid rgba(0,0,0,.08);color:#888;font-weight:500;font-size:.75rem;text-transform:uppercase}.topic-table td{padding:.5rem;border-bottom:1px solid rgba(0,0,0,.04)}.topic-table .num{text-align:center;font-family:SF Mono,Consolas,monospace}.topic-table tr.low-acc{background:#ef44440d}.topic-table tr.low-acc td:first-child{font-weight:500;color:#ef4444}.time-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.time-card{background:#f9f7f5;border-radius:12px;padding:1rem}.time-card h4{font-size:.8rem;font-weight:500;color:#888;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.time-comparison{display:flex;gap:1.5rem}.time-stat{display:flex;flex-direction:column}.time-value{font-size:1.5rem;font-weight:700;line-height:1.2}.time-stat.correct .time-value{color:#22c55e}.time-stat.wrong .time-value{color:#ef4444}.time-label{font-size:.75rem;color:#888}.fatigue-bars{display:flex;gap:.5rem;justify-content:space-between;height:100px}.fatigue-item{display:flex;flex-direction:column;align-items:center;flex:1}.fatigue-bar-bg{width:100%;height:60px;background:#e5e5e5;border-radius:4px;position:relative;overflow:hidden}.fatigue-bar-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#f59e0b,#fbbf24);border-radius:4px;transition:height .3s ease}.fatigue-label{font-size:.7rem;color:#888;margin-top:.25rem}.fatigue-val{font-size:.75rem;font-weight:600;color:#4a3728}.speed-table{width:100%;font-size:.85rem}.speed-table td{padding:.4rem .25rem;border-bottom:1px solid rgba(0,0,0,.04)}.speed-table td:first-child{color:#666}.speed-table td:last-child{font-weight:600;text-align:right}.difficulty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.difficulty-card{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:12px;text-align:center;border:1px solid rgba(0,0,0,.06)}.difficulty-card.easy{background:#22c55e14}.difficulty-card.medium{background:#f59e0b14}.difficulty-card.hard{background:#ef444414}.diff-label{font-size:.75rem;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.5px}.diff-count{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:.25rem 0}.diff-accuracy{font-size:1.5rem;font-weight:700;color:#4a3728}.diff-breakdown{font-size:.75rem;color:#888}.trap-list-data{display:flex;flex-direction:column;gap:.5rem}.trap-row{display:flex;gap:.75rem;align-items:center;padding:.5rem;background:#ef44440a;border-radius:8px}.trap-time{font-family:SF Mono,Consolas,monospace;font-size:.85rem;font-weight:600;color:#ef4444;min-width:50px}.trap-text{font-size:.85rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reports-page{min-height:100vh;padding:2.5rem;background:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(255,220,180,.15),transparent 50%),radial-gradient(ellipse 60% 60% at 90% 10%,rgba(255,235,210,.12),transparent 40%),linear-gradient(180deg,#fffcf8,#fff8f0fa);overflow-y:auto}.reports-header{max-width:1200px;margin:0 auto 2.5rem}.reports-header h1{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;color:var(--brand-ink, #2d1810);margin:0 0 .5rem;letter-spacing:-.02em;line-height:1.2}.reports-header>p{font-size:1.05rem;color:var(--muted, #8b7355);margin:0 0 2rem;max-width:500px;line-height:1.6}.reports-tabs{display:inline-flex;gap:.5rem;padding:.4rem;background:#ffffffbf;border:1px solid rgba(180,120,80,.12);border-radius:16px;margin-bottom:2rem;box-shadow:inset 0 1px 2px #ffffffe6,0 4px 20px #6432140f}.tab-btn{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.5rem;background:transparent;border:none;border-radius:12px;font-family:inherit;font-size:.9rem;font-weight:600;color:#50321e99;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.tab-btn:hover{color:var(--brand-ink, #2d1810);background:#fff9}.tab-btn.active{background:#fff;color:var(--brand-ink, #2d1810);box-shadow:0 2px 8px #6432140f,0 6px 20px #64321414}.tab-btn.active:after{content:"";position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);width:20px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--brand-primary, #c71f1d),var(--brand-amber, #f2951a))}.sync-progress-panel{margin-top:1.5rem;padding:1.5rem 2rem;background:linear-gradient(135deg,#fff,#fffcf8f2);border-radius:16px;border:1px solid rgba(180,120,80,.1);box-shadow:0 4px 16px #6432140a,0 12px 40px #6432140f;position:relative;overflow:hidden}.sync-progress-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-primary, #c71f1d),var(--brand-amber, #f2951a))}.progress-bar-track{height:6px;background:#b478501a;border-radius:3px;overflow:hidden;margin-bottom:1rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary, #c71f1d),var(--brand-amber, #f2951a));border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sync-status-text{display:flex;align-items:center;gap:1rem}.sync-message{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--brand-ink, #2d1810);font-size:.95rem}.sync-detail{font-size:.85rem;color:var(--muted, #8b7355)}.sync-pct{margin-left:auto;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:var(--brand-primary, #c71f1d)}.loading-spinner.mini{width:16px;height:16px;border-width:2px;border-color:#c71f1d33;border-top-color:var(--brand-primary, #c71f1d)}.error-banner{margin-top:1.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;border-radius:12px;font-size:.9rem;font-weight:500;border-left:4px solid #ef4444;display:flex;align-items:center;gap:.75rem}.error-banner:before{content:"";display:inline-block;width:18px;height:18px;min-width:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23991b1b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem}.loading-spinner{width:48px;height:48px;border:3px solid rgba(199,31,29,.15);border-top-color:var(--brand-primary, #c71f1d);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.reports-page{padding:1.5rem}.reports-header h1{font-size:1.85rem}.reports-header>p{font-size:.95rem}.reports-tabs{width:100%;flex-direction:column;gap:.35rem}.tab-btn{width:100%;justify-content:center;padding:.75rem 1.25rem}.sync-progress-panel{padding:1.25rem 1.5rem}}.app-shell{min-height:100vh;display:flex;flex-direction:column;gap:2.5rem;padding:2.5rem clamp(1rem,4vw,3.75rem) 3.5rem;background:var(--bg-root)}.app-shell:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 10%,rgba(199,31,29,.08),transparent 45%),radial-gradient(circle at 80% 0%,rgba(242,149,26,.15),transparent 55%);pointer-events:none;z-index:-1}header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:var(--muted-soft);margin:0 0 .4rem}header h1{font-size:clamp(2rem,4vw,2.8rem);margin:0}.lede{max-width:32rem;color:var(--muted);margin-top:.35rem}.role-badge,.impersonation-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:var(--radius-sm);font-size:.85rem;background:var(--bg-muted);border:1px solid var(--border-soft);color:var(--accent-dark);font-weight:600}.impersonation-badge{background:#f2951a33;color:var(--brand-amber-strong)}.user-pill{background:var(--bg-soft);border:1px solid var(--border-subtle);padding:.9rem 1.25rem;border-radius:999px;display:flex;align-items:center;gap:.75rem;box-shadow:var(--shadow-soft)}.user-pill strong{color:var(--text)}.protected-main{width:min(1200px,100%);margin:0 auto;display:flex;flex-direction:column;gap:2.5rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.panel{background:var(--bg-surface);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border-soft);box-shadow:var(--shadow-soft)}.panel-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem}.panel-header h2{margin:0}form{display:flex;flex-direction:column;gap:1rem}label{font-size:.95rem;display:flex;flex-direction:column;gap:.4rem;color:var(--muted)}input,textarea{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-soft);color:var(--text);font-size:1rem;padding:.85rem 1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #c71f1d26}button{border-radius:999px;border:none;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;background:var(--brand-gradient-primary);color:var(--brand-mist);color:#fff;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 15px 35px #4a1a122e}button:hover{transform:translateY(-1px);box-shadow:0 22px 44px #4a1a1238}.ghost{display:inline-flex;align-items:center;gap:.4rem;background:#ffffffeb;border-radius:999px;border:1px solid rgba(199,31,29,.25);color:var(--brand-ink);padding:.5rem 1rem;transition:background .2s ease,color .2s ease,border-color .2s ease}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;min-width:36px;min-height:36px}.icon-btn svg,.ghost svg{color:inherit;stroke:currentColor}.ghost:hover{background:#fff1eaf2;border-color:#c71f1d66;color:var(--brand-primary)}.auth-form button{margin-top:.5rem}.note-form textarea{resize:vertical;min-height:90px}.note-list{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:1rem}.note-list li{border-radius:var(--radius-md);border:1px solid var(--border-soft);padding:1rem 1.25rem;background:var(--bg-soft);display:flex;flex-direction:column;gap:.5rem}.note-list span{font-size:.85rem;color:var(--muted)}.hint,.empty{color:var(--muted);margin-top:1rem}.error{color:#b3261e;font-size:.9rem}@media(max-width:640px){.app-shell{padding:1.75rem 1.25rem 2.5rem}header{flex-direction:column}.user-pill{width:100%;justify-content:space-between}}
