:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--primary: hsl(220, 85%, 57%);--primary-hover: hsl(220, 85%, 50%);--primary-pressed: hsl(220, 85%, 45%);--primary-soft: hsl(220, 85%, 96%);--on-primary: #FFFFFF;--accent: hsl(220, 85%, 57%);--focus: hsla(220, 85%, 57%, .4);--bg-main: var(--app-background);--bg-card: hsl(0, 0%, 100%);--bg-glass: hsla(0, 0%, 100%, .8);--text-main: #334155;--text-primary: #334155;--text-muted: #94a3b8;--text-inverse: hsl(0, 0%, 100%);--icon-muted: #94a3b8;--app-background: #ffffff;--modal-surface: #FFFFFF;--modal-surface-soft: #F8FAFC;--menu-button-bg: #FFFFFF;--menu-button-text: #334155;--menu-button-hover: #F1F5F9;--menu-button-active: #E2E8F0;--surface: #FFFFFF;--surface-soft: #f8fafc;--surface-hover: #f1f5f9;--surface-pressed: #e2e8f0;--border-subtle: #e2e8f0;--border-light: #e2e8f0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 8px 24px rgba(149, 157, 165, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--success: #10b981;--warning: #f59e0b;--warning-soft: #fffbeb;--warning-text: #92400e;--danger: #ef4444;--danger-soft: #fef2f2;--danger-text: #b91c1c;--subject-blue: #3b82f6;--subject-green: #10b981;--subject-purple: #8b5cf6;--subject-orange: #f59e0b;--subject-pink: #ec4899;--subject-indigo: #6366f1}[data-theme=formal]{--primary: #1F3A5F;--primary-hover: #1A3252;--primary-pressed: #152A45;--on-primary: #FFFFFF;--accent: #4A6FA5;--focus: #4A6FA5;--app-background: #E5E9F0;--modal-surface: #FFFFFF;--modal-surface-soft: #F4F6F9;--menu-button-bg: #1F3A5F;--menu-button-text: #FFFFFF;--menu-button-hover: #1A3252;--menu-button-active: #152A45;--surface: #FFFFFF;--surface-soft: #F4F6F9;--surface-hover: #EEF2F7;--surface-pressed: #E6ECF4;--border-subtle: #D8E0EA;--text-main: #2E3440;--text-primary: #2E3440;--text-muted: #667085;--icon-muted: #6B7280;--success: #1B7F5A;--warning: #B7791F;--warning-soft: #FFF9E6;--warning-text: #744210;--danger: #B42318;--danger-soft: #FEE2E2;--danger-text: #991B1B}[data-theme=happy]{--primary: #22C55E;--primary-hover: #16A34A;--primary-pressed: #15803D;--on-primary: #FFFFFF;--app-background: #EAFBF3;--modal-surface: #FCE7F3;--modal-surface-soft: #FFF1F7;--menu-button-bg: #FDE68A;--menu-button-text: #1F2937;--menu-button-hover: #FCD34D;--menu-button-active: #FBBF24;--accent: #F2A7C6;--accent-soft: #FCE7F3;--warning: #FDE68A;--warning-soft: #FFFBEB;--warning-text: #92400E;--focus: #22C55E;--surface: #FFFFFF;--surface-soft: #F6FAF8;--surface-hover: #EDF7F1;--surface-pressed: #E1F0E7;--border-subtle: #D1FAE5;--border-light: #D1FAE5;--text-main: #1F2937;--text-primary: #1F2937;--text-muted: #6B7280;--icon-muted: #6B7280;--success: #22C55E;--danger: #EF4444;--danger-soft: #FEF2F2;--danger-text: #991B1B}[data-theme=neutral]{--primary: #475569;--primary-hover: #334155;--primary-pressed: #1F2937;--on-primary: #FFFFFF;--accent: #E0ECFF;--focus: #475569;--app-background: #F1F5F9;--modal-surface: #FAFAFB;--modal-surface-soft: #F8FAFC;--menu-button-bg: #475569;--menu-button-text: #FFFFFF;--menu-button-hover: #334155;--menu-button-active: #1F2937;--surface: #FFFFFF;--surface-soft: #FAFAFB;--surface-hover: #F1F5F9;--surface-pressed: #E9EEF5;--border-subtle: #D7DEE8;--text-main: #0F172A;--text-primary: #0F172A;--text-muted: #64748B;--icon-muted: #6B7280;--success: #16A34A;--warning: #CA8A04;--warning-soft: #FEFCE8;--warning-text: #854D0E;--danger: #DC2626;--danger-soft: #FEF2F2;--danger-text: #991B1B}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg-main: hsl(220, 40%, 5%);--bg-card: hsl(220, 40%, 8%);--bg-glass: hsla(220, 40%, 8%, .7);--text-main: hsl(220, 20%, 95%);--text-muted: hsl(220, 20%, 65%);--border-light: hsl(220, 30%, 15%);--primary-soft: hsl(220, 40%, 12%)}}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;max-width:100vw;width:100%}body{font-family:var(--font-family);background-color:var(--app-background);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}button,[role=button],.menuButton,.iconButton,.pillButton{cursor:pointer;border:none;background:none;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}button:focus-visible,[role=button]:focus-visible,.menuButton:focus-visible,.iconButton:focus-visible,.pillButton:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent);border-color:color-mix(in srgb,var(--primary) 55%,var(--border-subtle))}button:active,[role=button]:active,.menuButton:active,.iconButton:active,.pillButton:active{transform:translateY(0);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.glass{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light)}.app-container{max-width:1800px;width:98%;margin:0 auto;padding:0 1.5rem}.vertical-stack{display:flex;flex-direction:column;gap:1rem}.horizontal-stack{display:flex;align-items:center;gap:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:fadeIn .4s ease-out forwards}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.vertical-timeline{padding:1rem 0;width:100%}.slot-card{display:flex;overflow:hidden;transition:all .2s ease;border-radius:var(--radius-md);margin-bottom:1rem}.slot-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.slot-sidebar{width:6px;flex-shrink:0}.slot-body{flex:1;padding:2.5rem 3rem;display:flex;flex-direction:column;gap:1.5rem}.slot-header{display:flex;justify-content:space-between;align-items:center}.slot-meta{display:flex;align-items:center;gap:.75rem}.time-chip{font-size:.9rem;font-weight:600;color:var(--text-muted);background:var(--bg-main);padding:4px 12px;border-radius:12px;display:flex;align-items:center;gap:6px}.subject-badge{font-size:.9rem;font-weight:700;letter-spacing:.02em;padding:4px 12px;border-radius:8px;display:inline-block}.diagnosis-overlay{position:absolute;top:10px;right:10px;padding:10px;font-size:.8rem;z-index:10;max-width:300px}.diag-header{font-weight:700;margin-bottom:5px;color:var(--primary)}.diag-details{display:flex;flex-direction:column;gap:2px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5px}.wizard-container{padding:1rem 0}.wizard-steps{justify-content:center;gap:20px}.step-indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--border-light);color:var(--text-muted);font-weight:700;font-size:.9rem;transition:all .3s ease}.step-indicator.active{background:var(--primary);color:#fff;transform:scale(1.1);box-shadow:0 0 10px var(--primary-soft)}.step-title{font-weight:700;color:var(--text-main)}.wizard-grid{width:100%;border-collapse:collapse;margin-top:10px}.wizard-grid th,.wizard-grid td{border:1px solid var(--border-light);padding:8px;text-align:center}.wizard-grid select{width:100%;padding:5px;border:none;background:transparent;cursor:pointer}.cursor-p{cursor:pointer}.flex-wrap{flex-wrap:wrap}.overflow-x{overflow-x:auto}.overflow-y{overflow-y:auto}.max-h-400{max-height:400px}.p-10{padding:10px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.gap-10{gap:10px}.primary-btn.highlight{background:var(--subject-green);border-color:var(--subject-green)}.session-card-content{display:flex;flex-direction:column;gap:16px}.session-title-compact{font-size:1.25rem;font-weight:700;color:var(--text-main);margin:0;line-height:1.2}.card-columns{display:grid;grid-template-columns:65% 35%;gap:16px}.card-column{background:#fff6;border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:8px 12px;background:var(--bg-main);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.panel-header h4{font-size:.85rem;font-weight:700;color:var(--text-muted);letter-spacing:.02em;margin:0}.add-item-btn{width:20px;height:20px;border-radius:4px;border:1.5px solid var(--primary);background:transparent;color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;transition:all .2s}.add-item-btn:hover{background:var(--primary);color:#fff}.panel-body{padding:12px;flex:1;min-height:100px;max-height:200px;overflow-y:auto}.scroll-thin::-webkit-scrollbar{width:4px}.scroll-thin::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:10px}.activity-item-wire{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.9rem;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.02)}.mini-check{width:18px;height:18px;border:2px solid var(--border-light);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mini-check.is-done{background:var(--subject-green);border-color:var(--subject-green);color:#fff}.bullet-list-wire{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.bullet-list-wire li{font-size:.9rem;color:var(--text-main)}.quick-add-input{width:100%;padding:6px;margin-top:8px;border:1.5px solid var(--primary);border-radius:4px;font-size:.85rem;background:#fff!important}.empty-panel-text{font-size:.85rem;color:var(--text-muted);font-style:italic;padding-top:10px}.slot-actions-wire{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:12px;border-top:1px solid var(--border-light)}.complete-session-label{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer}.complete-session-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.link-btn-sm{background:none;border:none;color:var(--primary);font-weight:700;font-size:.85rem;cursor:pointer;text-decoration:underline}.program-dashboard,.program-editor{padding:20px;max-width:1200px;margin:0 auto}.dashboard-header{margin-bottom:30px;gap:20px}.section-title-wire{font-size:1.8rem;font-weight:800;color:var(--text-main);margin:0}.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.program-card{padding:20px;border-radius:var(--radius-lg);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.program-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0000001a}.program-card.archived{opacity:.6}.program-card h3{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-main)}.program-actions-dropdown{position:relative}.dropdown-menu-content{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 12px #0000001a;display:none;z-index:50;min-width:140px;padding:6px}.program-actions-dropdown:hover .dropdown-menu-content{display:flex;flex-direction:column}.dropdown-menu-content button{background:none;border:none;padding:8px 12px;text-align:left;font-size:.85rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;gap:10px}.dropdown-menu-content button:hover{background:var(--bg-app)}.program-card-stats{margin-top:20px;padding-top:15px;border-top:1px solid var(--border-light);gap:10px}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;letter-spacing:.05em}.stat-value{font-size:1.1rem;font-weight:800;color:var(--text-main)}.status-pill{font-size:.7rem;font-weight:800;padding:2px 8px;border-radius:99px;text-transform:uppercase}.status-pill.is-active{background:#dcfce7;color:#166534}.status-pill.is-archived{background:#f3f4f6;color:#4b5563}.editor-layout{gap:24px;margin-top:20px}.editor-meta-panel{width:300px;padding:20px;position:sticky;top:100px}.editor-main-panel{flex:1}.program-title-input{background:transparent;border:none;border-bottom:2px solid transparent;font-size:1.8rem;font-weight:800;color:var(--text-main);width:100%;padding:4px 0;transition:border-color .2s}.program-title-input:focus{border-bottom-color:var(--primary);outline:none}.sessions-edit-list{max-height:calc(100vh - 250px);overflow-y:auto;padding-right:10px}.session-edit-card{padding:16px;margin-bottom:16px;border-radius:12px}.session-input-title{background:transparent;border:none;font-size:1rem;font-weight:700;flex:1;color:var(--text-main)}.session-input-text{background:#ffffff80;border:1px solid var(--border-light);border-radius:8px;padding:10px;font-size:.85rem;font-family:inherit;resize:vertical;min-height:80px}.impact-choice{display:flex;align-items:center;gap:20px;padding:16px;border-radius:12px;border:2px solid var(--border-light);cursor:pointer;transition:all .2s}.impact-choice:hover{border-color:var(--primary);background:var(--primary-soft)}.impact-choice.highlight{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.impact-choice .choice-icon{width:48px}.menu-action-btn.primary-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:999px;background:var(--menu-button-bg);color:var(--menu-button-text);font-size:15px;font-weight:700;border:none;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);position:relative}.menu-action-btn.primary-pill:hover{background:var(--menu-button-hover);box-shadow:0 8px 20px #959da526;transform:translateY(-1px)}.menu-action-btn.primary-pill:active{background:var(--menu-button-active);transform:translateY(0)}.menu-action-btn.primary-pill.active{background:var(--menu-button-active)}.menu-action-btn.primary-pill .notification-dot{position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:50%;background:var(--primary);border:2px solid white}.impact-choice .choice-icon{height:48px;border-radius:12px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.impact-choice h4{margin:0;font-size:1rem;font-weight:700}.impact-choice p{margin:4px 0 0;font-size:.85rem;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.modal-header{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light)}.modal-header h2{font-size:1.25rem;font-weight:700}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:1rem;background:var(--bg-main)}.close-btn{color:var(--text-muted)}.close-btn:hover{color:var(--text-main)}:root{--modal-max-width: 720px;--modal-min-width: 320px;--modal-radius: 20px;--modal-shadow: 0 20px 60px rgba(0, 0, 0, .18);--modal-header-border: 1px solid var(--border-light);--surface: #f8fafc;--surface-soft: #f1f5f9;--border-subtle: #e2e8f0;--text-secondary: #64748b;--text-primary: #1e293b;--primary-very-soft: hsl(220, 85%, 97%);--error: #ef4444;--surface-hover: #f1f5f9}.base-modal-content{width:95%;max-width:var(--modal-max-width);min-width:var(--modal-min-width);max-height:92vh;display:flex;flex-direction:column;background:var(--modal-surface);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);overflow:hidden}.base-modal-header{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border-subtle);background:var(--modal-surface);flex-shrink:0;min-height:88px}.base-modal-header-slot-left{display:flex;align-items:center;justify-content:center}.base-modal-icon-badge{width:40px;height:40px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--border-subtle);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.base-modal-header-slot-center{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;max-width:clamp(260px,70%,480px)}.base-modal-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.15;letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.base-modal-subtitle{font-size:14px;font-weight:500;color:var(--text-muted);margin:4px 0 0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.base-modal-header-slot-right{display:flex;align-items:center;justify-content:center}.base-modal-close{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--surface-soft);border:1px solid var(--border-subtle);cursor:pointer;transition:all .2s;flex-shrink:0}.base-modal-close:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--primary-soft)}.base-modal-body{padding:24px;overflow-y:auto;flex:1}.base-modal-body-noPad{overflow-y:auto;flex:1}.base-modal-footer{padding:14px 18px;border-top:1px solid var(--border-subtle);background:var(--modal-surface);display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0}.base-modal-footer-pill{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);width:fit-content;flex-wrap:wrap}.base-modal-footer-pill .primary-btn,.base-modal-footer-pill .secondary-btn,.base-modal-footer-pill .btn-ghost,.base-modal-footer-pill button{height:42px;border-radius:999px;font-size:14px;font-weight:600;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;border:none}.base-modal-footer-pill .primary-btn{background:var(--primary)!important;color:var(--on-primary)!important}.base-modal-footer-pill .primary-btn:hover{background:var(--primary-hover)!important}.base-modal-footer-pill .secondary-btn,.base-modal-footer-pill .btn-ghost{background:var(--surface)!important;color:var(--text-primary)!important;border:1px solid var(--border-subtle)!important}.base-modal-footer-pill .secondary-btn:hover,.base-modal-footer-pill .btn-ghost:hover{background:var(--surface-hover)!important}.base-modal-footer-pill button:disabled{opacity:.45;cursor:not-allowed}.modal-info-card{background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:14px;padding:16px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.segmented-control{display:grid;gap:6px;padding:6px;background:var(--surface-soft);border-radius:14px;border:1px solid var(--border-subtle)}.segmented-control-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:10px;border:none;cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:600;background:transparent;color:var(--text-secondary);opacity:.65}.segmented-control-btn.active{background:#fff;color:var(--primary);box-shadow:0 4px 12px #00000014;opacity:1}.modal-empty-state{border:1px dashed var(--border-subtle);border-radius:14px;padding:32px 24px;text-align:center;font-size:.9rem;color:var(--text-secondary);background:var(--surface-soft)}.btn-ghost{padding:10px 20px;border-radius:12px;font-weight:600;font-size:.9rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border-subtle);cursor:pointer;transition:background .2s,color .2s}.btn-ghost:hover{background:var(--surface-soft);color:var(--text-primary)}.evaluation-row{display:grid;grid-template-columns:1fr 90px 1.5fr;padding:12px 8px;border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:12px;transition:background .2s}.evaluation-row:last-child{border-bottom:none}.evaluation-row:hover{background:var(--surface-soft)}.grade-input{width:90px;height:36px;border-radius:10px;text-align:center;font-weight:600;border:1px solid var(--border-subtle);background:#fff;font-size:.95rem;padding:0 8px;transition:border-color .2s}.grade-input:focus{outline:none;border-color:var(--primary)}.comment-textarea{width:100%;min-height:72px;max-height:120px;border-radius:12px;padding:10px;font-size:.82rem;resize:vertical;border:1px solid var(--border-subtle);background:var(--surface);font-family:inherit;line-height:1.5;transition:border-color .2s}.comment-textarea:focus{outline:none;border-color:var(--primary)}.modal-header-title{display:flex;align-items:flex-start;gap:12px}.modal-icon-container{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close-btn{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background .2s}.modal-close-btn:hover{background:var(--surface-hover)}.modal-subtitle{font-size:.875rem;color:var(--text-secondary);margin:2px 0 0}.import-container,.details-container,.holiday-container{display:flex;flex-direction:column;gap:1.5rem}.detail-section{display:flex;flex-direction:column;gap:.5rem}.detail-section label{font-size:.85rem;font-weight:700;color:var(--text-muted);display:flex;align-items:center;gap:6px}.import-textarea,textarea,input[type=text],.date-input{width:100%;padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-md);font-family:inherit;background:var(--bg-main)}.import-textarea{height:200px;font-family:monospace;resize:none}textarea{height:100px;resize:vertical}.actions-bar{display:flex;justify-content:flex-end}.text-link{font-size:.85rem;color:var(--primary);font-weight:600;text-decoration:underline;background:none;border:none;cursor:pointer;padding:0}.error-msg{display:flex;align-items:center;gap:8px;color:#ef4444;font-size:.85rem;font-weight:500}.secondary-btn{padding:.75rem 1.25rem;border-radius:var(--radius-md);font-weight:600;color:var(--text-muted)}.activities-list{display:flex;flex-direction:column;gap:.5rem;background:var(--bg-main);padding:1rem;border-radius:var(--radius-md);margin-top:10px}.activity-item{display:flex;align-items:center;gap:10px;font-size:.9rem}.status-toggle.small{padding:2px;color:var(--text-muted)}.status-toggle.small.is-completed{color:var(--subject-green)}.completed-text{text-decoration:line-through;opacity:.6}.add-holiday{background:var(--primary-soft);padding:1rem;border-radius:var(--radius-md);display:flex;gap:1rem}.holiday-list h3{font-size:.9rem;font-weight:700;color:var(--text-muted)}.holiday-item{justify-content:space-between;padding:.75rem 1rem;border-radius:var(--radius-md);display:flex;align-items:center}.delete-btn{color:#ef4444;padding:4px}.primary-btn-sm{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;display:flex;align-items:center;gap:6px;font-size:.85rem}.modal-content.large{max-width:95vw;width:95vw;height:95vh;margin:2.5vh auto}.manual-config-header{margin-bottom:1.5rem}.manual-config-header h3{font-size:1.4rem;margin-bottom:.25rem}.manual-grid-wrapper{flex:1;overflow:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-card)}.manual-grid{width:100%;border-collapse:collapse;min-width:800px}.manual-grid th{position:sticky;top:0;background:var(--bg-main);z-index:10;padding:12px;font-weight:700;border-bottom:2px solid var(--border-light)}.manual-grid td{padding:4px;border:1px solid var(--border-light);vertical-align:middle}.manual-grid tr:hover td{background:var(--primary-soft)}.manual-grid .slot-label-cell{background:var(--bg-main);font-weight:600;width:150px;text-align:center}.cell-selector{width:100%;padding:8px;border:none;background:transparent;font-family:inherit;font-size:.9rem;outline:none;border-radius:4px}.cell-selector:focus{background:#fff;box-shadow:0 0 0 2px var(--primary)}.subject-input-zone{display:flex;gap:10px;margin-bottom:1rem;background:var(--primary-soft);padding:1rem;border-radius:var(--radius-md);align-items:center}.subject-input-zone input{flex:1;max-width:300px}.quick-actions{display:flex;gap:10px;margin-bottom:10px}.blocking-error{background:#fef2f2;border:1px solid #fee2e2;color:#991b1b;padding:1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.blocking-error h4{margin-bottom:.5rem;display:flex;align-items:center;gap:8px}.blocking-error p{font-size:.95rem;line-height:1.4;margin-bottom:1rem}.success-banner{background:#f0fdf4;border:1px solid #dcfce7;color:#166534;margin-bottom:1rem}.success-banner h3{margin:10px 0}.sessions-review-list{max-height:60vh;overflow-y:auto;padding-right:4px}.session-editor-row{border-radius:var(--radius-md);padding:.75rem 1rem;border:1px solid var(--border-light);transition:border-color .2s}.session-editor-row.has-error{border-color:#f87171;background:#fef2f2}.session-editor-header{align-items:center;gap:10px}.session-editor-body{padding-top:.75rem;gap:.75rem}.seq-badge{min-width:28px;height:28px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.input-error{border-color:#f87171!important;background:#fff5f5}.text-error{color:#dc2626}.chip-editor{display:flex;flex-direction:column;gap:6px}.chip-list{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--primary-soft, #ede9fe);color:var(--primary);padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:500}.chip button{background:none;border:none;cursor:pointer;padding:0;color:inherit;opacity:.7;display:flex;align-items:center}.chip-input-row{gap:6px}.secondary-btn-sm{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:var(--bg-card);cursor:pointer;display:flex;align-items:center}.icon-btn-sm{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-muted);display:flex;align-items:center}.sidebar-backdrop{position:fixed;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-backdrop.active{opacity:1;visibility:visible}.details-sidebar{position:fixed;top:0;right:0;width:500px;max-width:90vw;height:100vh;background:var(--modal-surface);z-index:2001;box-shadow:-10px 0 30px #0000001a;transform:translate(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.details-sidebar.open{transform:translate(0)}.sidebar-header{padding:20px 24px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:var(--modal-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-title{font-size:1.1rem;font-weight:700;color:var(--text-muted);margin:0}.close-btn-circle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-main);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s}.close-btn-circle:hover{background:#f87171;color:#fff;border-color:#f87171}.sidebar-content-scroll{flex:1;overflow-y:auto;padding-bottom:50px}.sidebar-hero{padding:40px 30px;background:linear-gradient(to bottom,var(--primary-soft) 0%,transparent 100%);display:flex;flex-direction:column;gap:16px}.subject-badge-lg{padding:4px 14px;border-radius:999px;font-size:.9rem;font-weight:700;width:fit-content}.hero-session-title{font-size:2.2rem;font-weight:800;margin:0;color:var(--text-main);line-height:1.1}.hero-metadata{display:flex;gap:20px;color:var(--text-muted);font-size:.9rem;font-weight:500}.meta-item{display:flex;align-items:center;gap:6px}.sidebar-sections-container{padding:0 30px;display:flex;flex-direction:column;gap:40px}.sidebar-section h3{font-size:1.1rem;font-weight:700;margin:0;color:var(--text-main)}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--border-light)}.section-icon{color:var(--primary)}.sidebar-activities-list{display:flex;flex-direction:column;gap:12px}.sidebar-activity-item{display:flex;gap:12px;padding:14px 18px;background:var(--bg-main);border-radius:var(--radius-md);border:1px solid var(--border-light);cursor:pointer;transition:all .2s;align-items:flex-start}.sidebar-activity-item:hover{border-color:var(--primary);transform:translate(4px)}.sidebar-activity-item .completed-text{text-decoration:line-through;opacity:.5}.sidebar-materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.sidebar-material-card{padding:10px 14px;background:#fff;border:1px solid var(--border-light);border-radius:8px;display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-main);font-weight:500}.sidebar-notes-text{font-size:1rem;line-height:1.6;color:var(--text-main);white-space:pre-wrap;background:#f9fafb;padding:20px;border-radius:12px;border:1px dashed var(--border-light)}.notes-edit-area textarea{width:100%;height:250px;padding:16px;border-radius:12px;border:2px solid var(--primary);font-family:inherit;font-size:1rem;line-height:1.5}.empty-section-msg{color:var(--text-muted);font-style:italic;font-size:.9rem}.brand-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.12em;line-height:1.1;text-align:center;margin-bottom:6px;-webkit-font-smoothing:antialiased;opacity:.8;pointer-events:none}.header-center-reference{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important;margin-left:auto!important;margin-right:auto!important;transform:none!important;left:unset!important;right:unset!important}.main-header{padding:3rem 0 0;border-bottom:none;background:transparent}.date-header{text-align:center;margin-bottom:24px;display:flex;flex-direction:column;align-items:center}.main-date-title{font-size:2.2rem;font-weight:800;color:var(--text-main);margin:0;letter-spacing:-.02em;text-transform:capitalize;display:inline-flex;align-items:center;gap:12px}.main-date-title.interactive{cursor:pointer;transition:all .2s;padding:8px 16px;border-radius:12px;border:1px solid transparent}.main-date-title.interactive:hover{background:#fff;border-color:var(--border-light);box-shadow:0 4px 12px #00000008;color:var(--primary)}.header-calendar-icon{color:#94a3b8;transition:color .2s}.main-date-title.interactive:hover .header-calendar-icon{color:var(--primary)}.day-navigation-group{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;padding:8px 12px;border-radius:100px;box-shadow:0 4px 12px #00000008;border:1px solid var(--border-light);margin:0 auto 24px;width:fit-content}.nav-btn-human{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:100px;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.nav-btn-human:hover{background:var(--bg-hover);color:var(--text-main)}.nav-btn-human.today{background:var(--primary-soft);color:var(--primary)}.day-closure-bar{margin:0 auto 24px;padding:16px 24px;background:#fff;border-radius:16px;border:1px solid var(--border-light);box-shadow:0 2px 8px #00000005;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;width:fit-content;max-width:90%}.action-bar-container{margin-bottom:32px;display:flex;justify-content:center}.action-bar{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8);padding:12px;border-radius:100px;box-shadow:0 8px 32px #0000000a;gap:12px;display:flex;align-items:center}.main-wrapper{max-width:1000px;width:100%;margin:0 auto;padding:0 20px}.main-wrapper.no-pad{padding-left:0!important;padding-right:0!important}.pill-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:16px;border:1px solid var(--border-subtle);background:var(--menu-button-bg);font-family:inherit;font-weight:700;font-size:15px;color:var(--menu-button-text);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.pill-btn:hover{background:var(--surface-hover);color:var(--text-main)}.pill-btn.active{background:var(--primary-soft);color:var(--primary);box-shadow:0 2px 8px #0000000f;border-color:var(--primary)}.pill-btn.primary{background:var(--primary-soft);color:var(--primary);border-color:transparent}.pill-btn.primary:hover{filter:brightness(.95)}.pill-btn.warning{background:transparent;color:var(--text-secondary);border:1px solid var(--border-light)}.pill-btn.warning:hover{background:#f8fafc;color:var(--text-main)}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:8px;box-shadow:0 10px 40px #00000014;display:flex;flex-direction:column;gap:4px;min-width:220px;z-index:50;animation:dropdownFadeIn .2s ease}.settings-dropdown .pill-btn{width:100%;justify-content:flex-start;padding:10px 16px;border-radius:8px}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pill-btn.warning{color:#d97706;border-color:#fef3c7}.pill-btn.warning:hover{background:#fffbeb}.icon-btn-pill{width:42px;height:42px;border-radius:50%;border:1px solid var(--border-light);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s}.icon-btn-pill.active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.icon-btn-pill:hover{border-color:var(--primary);color:var(--primary)}.items-center{align-items:center}.vertical-stack{display:flex;flex-direction:column}.modal-subtitle{text-align:center;color:var(--text-muted);font-size:1.05rem;margin-bottom:2.5rem}.method-selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:2rem}.method-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 30px;background:#fff;border:2px solid var(--border-light);border-radius:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.method-card:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-4px);box-shadow:0 12px 30px rgba(var(--primary-rgb),.1)}.method-card.highlighted{border-color:var(--primary);background:rgba(var(--primary-rgb),.02)}.card-icon{width:64px;height:64px;background:var(--bg-main);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--primary);transition:all .3s}.method-card:hover .card-icon{background:var(--primary);color:#fff;transform:scale(1.1)}.card-info h3{font-size:1.25rem;font-weight:700;margin:0 0 8px;color:var(--text-main)}.card-info p{font-size:.95rem;color:var(--text-muted);margin:0;line-height:1.4}.card-tag{position:absolute;top:12px;right:12px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:800;padding:4px 10px;border-radius:99px;text-transform:uppercase}.blocking-error-card{display:flex;gap:20px;padding:24px;background:#fff1f2;border:1px solid #fecdd3;border-radius:16px;margin-bottom:2rem}.error-icon-box{width:48px;height:48px;background:#fb7185;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-content h4{margin:0 0 4px;font-size:1.1rem;color:#9f1239;font-weight:700}.error-content p{font-size:.95rem;background:var(--bg-hover);color:var(--primary);border-radius:4px}.calendar-day-btn.selected{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700;box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.calendar-day-btn.today{border-color:var(--primary);color:var(--primary);font-weight:700}.calendar-day-btn.off-month{color:var(--text-muted);opacity:.5}.datepicker-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.datepicker-modal-content.large{width:520px;padding:32px}.calendar-day-btn.large{height:52px;font-size:1.1rem;border-radius:12px}.month-nav-btn.large{padding:12px}.multi-date-count{margin-top:8px;font-size:.95rem;color:var(--primary);background:var(--primary-soft);padding:4px 12px;border-radius:100px;display:inline-block}.absence-modal-overlay{background:#0f172ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.absence-header-block{display:flex;justify-content:space-between;align-items:flex-start;height:72px;border-bottom:1px solid var(--border-light);padding-bottom:20px;margin-bottom:24px}.absence-section{background:#f8fafc;border-radius:14px;padding:20px 24px;margin-bottom:24px;border:1px solid var(--border-light)}.student-absence-card{background:#fff;border-radius:12px;padding:20px;margin-top:16px;border:1px solid var(--border-light);box-shadow:0 2px 8px #00000005;display:flex;flex-direction:column;gap:16px}.student-absence-card.error{border-color:#fca5a5;background:#fef2f2}.absence-input-large{height:48px;font-size:1.05rem;font-weight:600;border-radius:10px;border:1px solid var(--border-light);padding:0 16px;width:100%}.absence-input-large:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-soft)}.switch-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:1rem;font-weight:600;color:var(--text-main)}.import-preview-box{background:var(--bg-main);border-radius:16px;padding:20px;border:1px dashed var(--border-light)}.preview-header{justify-content:space-between;margin-bottom:15px;font-weight:700;font-size:.9rem;color:var(--text-muted)}.modal-footer-minimal{display:flex;justify-content:center;padding-top:20px;border-top:1px solid var(--border-light)}.w-full{width:100%}.badge-success{background:#dcfce7;color:#166534;font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:700}.soft-card-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:20px;margin-bottom:2rem}.summary-stats-bar{background:#fff;padding:20px 40px;border-radius:20px;border:1px solid var(--border-light);box-shadow:0 4px 6px -1px #0000000d}.stat-pill{display:flex;flex-direction:column;align-items:center}.stat-separator{width:1px;height:40px;background:var(--border-light)}.stat-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.stat-value{font-size:1.5rem;font-weight:800;color:var(--text-main)}.modal-overlay.opaque-blue-overlay{background-color:#cbd5e1e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content.large-xl{width:95vw;max-width:1000px;padding:32px}.method-card-v2{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid var(--border-light);border-radius:20px;padding:40px 30px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000008}.method-card-v2:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 12px 30px #959da51a}.method-card-v2.ready{border-color:var(--primary);background:linear-gradient(to bottom,#ffffff,var(--primary-soft))}.card-icon-v2{background:var(--bg-main);color:var(--text-muted);width:72px;height:72px;border-radius:24px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:all .2s ease}.card-icon-v2.soft-blue{background:#eff6ff;color:#3b82f6}.card-icon-v2.soft-gray{background:#f8fafc;color:#64748b}.method-card-v2:hover .card-icon-v2.soft-blue{background:#dbeafe;transform:scale(1.05)}.method-card-v2:hover .card-icon-v2.soft-gray{background:#f1f5f9;transform:scale(1.05)}.method-card-v2 h3{font-size:1.25rem;font-weight:800;color:var(--text-main);margin:0 0 12px}.method-card-v2 p{font-size:.95rem;color:var(--text-muted);margin:0;line-height:1.5;max-width:220px}.recommended-badge.discreet{position:absolute;top:16px;right:16px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;font-size:.7rem;font-weight:700;padding:6px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}.review-session-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:20px 24px;transition:all .2s ease;box-shadow:0 2px 8px #00000005;display:flex;flex-direction:column}.review-session-card:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #959da514}.review-session-card.has-error{border-color:#f87171;background-color:#fef2f2}.session-pill-badge{display:inline-flex;align-items:center;background:var(--bg-main);color:var(--text-muted);font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em;align-self:flex-start}.session-title-input{border:none;background:transparent;padding:0;margin:0;font-size:1.15rem;font-weight:700;color:var(--text-main);outline:none;font-family:inherit;cursor:text}.session-title-input:focus{background:transparent;box-shadow:none}.session-title-input.input-error{color:#ef4444}.icon-btn-subtle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--text-muted);background:transparent;transition:all .2s;cursor:pointer}.icon-btn-subtle:hover{background:var(--bg-main);color:var(--text-main)}.icon-btn-subtle.delete:hover{color:#ef4444;background:#fef2f2}.review-modal-footer{position:sticky;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:24px 32px;border-top:1px solid var(--border-light);z-index:10;margin:0 -32px -32px;border-radius:0 0 16px 16px}.inline-warning-notice{display:inline-flex;align-items:center;gap:8px;background:#fffbeb;color:#d97706;padding:10px 16px;border-radius:12px;font-size:.85rem;font-weight:500;margin-top:16px}.method-card-v2:not(.ready){opacity:.85;filter:grayscale(80%);cursor:not-allowed;border-color:var(--border-light)}.method-card-v2:not(.ready):hover{transform:none;box-shadow:none;border-color:#cbd5e1}.method-card-v2:not(.ready):hover .card-icon-v2{transform:none;background:var(--bg-main);box-shadow:none}.editor-v2-container{max-width:1300px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px}.editor-v2-header{position:sticky;top:0;z-index:20;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px 0;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:12px}.editor-v2-header-top{display:flex;align-items:center;gap:16px}.editor-v2-title{font-size:1.8rem;font-weight:800;color:var(--text-main);margin:0;flex:1}.editor-v2-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.meta-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-main);padding:4px 12px;border-radius:99px;font-size:.8rem;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-light)}.editor-v2-body{display:flex;align-items:flex-start;gap:32px}.editor-v2-sidebar{width:320px;flex-shrink:0;position:sticky;top:140px}.editor-v2-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}@media(max-width:1024px){.editor-v2-body{flex-direction:column}.editor-v2-sidebar{width:100%;position:static}}.session-accordion{background:#fff;border:1px solid var(--border-light);border-radius:12px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #00000008}.session-accordion:hover{border-color:#cbd5e1}.session-accordion.expanded{border-color:var(--primary-soft);box-shadow:0 4px 16px #0000000f}.accordion-header{padding:16px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent}.accordion-header:hover{background:#f8fafc}.accordion-summary{flex:1;display:flex;flex-direction:column;gap:4px}.accordion-title-row{display:flex;align-items:center;gap:12px}.accordion-title{font-size:1rem;font-weight:700;color:var(--text-main);margin:0}.accordion-details{font-size:.85rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}.accordion-counters{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-main);padding:2px 8px;border-radius:8px}.accordion-actions{display:flex;align-items:center;gap:8px}.accordion-body{padding:0 20px 20px;border-top:1px dashed var(--border-light);background:#fafaf9}.chip-list-truncated{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.welcome-card-v2{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;background:#fff;border-radius:20px;border:1px solid var(--border-light);box-shadow:0 4px 16px #0000000a;text-align:center;max-width:600px;margin:40px auto}.welcome-icon-wrapper{background:var(--primary-soft);color:var(--primary);width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.welcome-card-v2 h2{font-size:1.6rem;font-weight:800;color:var(--text-main);margin:0 0 12px}.form-cards-container{display:flex;align-items:center}@media(max-width:768px){.form-cards-container{flex-direction:column;align-items:stretch}}.input-card-v2{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:18px 24px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease;position:relative;min-height:85px;box-shadow:0 2px 10px #00000005}.input-card-v2:focus-within,.input-card-v2:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #959da514;transform:translateY(-2px)}.input-card-v2:focus-within{border-color:var(--primary);box-shadow:0 4px 14px rgba(var(--primary-rgb),.08)}.input-card-v2.has-error{border-color:#f87171;background-color:#fef2f2}.input-card-v2-label{font-size:.85rem;font-weight:600;color:var(--text-muted);letter-spacing:0}.input-card-v2-body{display:flex;align-items:center;gap:14px}.input-card-v2-icon{color:var(--primary);display:flex;align-items:center;justify-content:center;background:var(--primary-soft);width:44px;height:44px;border-radius:14px}.input-card-v2-control{flex:1;border:none;background:transparent;padding:0;margin:0;font-size:1.15rem;font-weight:700;color:var(--text-main);outline:none;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-card-v2-control:focus{background:transparent;box-shadow:none}.template-session-card{background:#fff;border:1px solid var(--border-light);border-radius:12px;margin-bottom:24px;overflow:hidden;box-shadow:0 2px 8px #00000005}.template-session-header{background:#f8fafc;border-bottom:1px solid var(--border-light);padding:16px 20px;display:flex;align-items:center;gap:16px}.template-session-body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:768px){.template-session-body{grid-template-columns:1fr}}.template-textarea{width:100%;border:1px solid var(--border-light);border-radius:8px;padding:12px 16px;font-family:inherit;font-size:.95rem;color:var(--text-main);resize:vertical;background:#fff;transition:all .2s ease}.template-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.template-textarea.activities-ta{min-height:180px}.template-textarea.materials-ta{min-height:120px}.template-modal-footer{position:sticky;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px 32px;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;z-index:10;margin:0 -32px -32px;border-radius:0 0 16px 16px}.daily-notes-container{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.daily-note-postit{background:#eff6ff;border-radius:12px;padding:16px;box-shadow:0 1px 2px #0000000d;position:relative;transition:all .2s;border:1px solid #bfdbfe}.daily-note-postit.preview-mode{width:100%;max-width:400px;margin:0 auto}.daily-note-postit.is-completed{background:#f8fafc;border-color:#e2e8f0}.daily-note-text-area p{font-size:1.05rem;color:#1e293b;margin:0;line-height:1.5;white-space:pre-wrap;font-weight:500;transition:color .2s}.daily-note-postit.is-completed .daily-note-text-area p{color:#94a3b8}.daily-note-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.daily-note-menu-btn{background:transparent;border:none;cursor:pointer;color:#94a3b8;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .2s}.daily-note-postit:hover .daily-note-menu-btn{opacity:1}.daily-note-menu-btn:hover{background:#e2e8f0;color:#475569}.daily-note-menu{position:absolute;bottom:40px;left:16px;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;overflow:hidden;z-index:10}.daily-note-menu button{background:transparent;border:none;padding:8px 16px;text-align:left;font-size:.9rem;cursor:pointer;color:var(--text-main)}.daily-note-menu button:hover{background:#f1f5f9}.daily-note-menu button.delete-action{color:#ef4444}.daily-note-menu button.delete-action:hover{background:#fef2f2}.daily-note-checkbox-wrapper{display:flex;align-items:center;gap:6px;cursor:pointer;margin-left:auto}.daily-note-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#94a3b8}.daily-note-checkbox-label{font-size:.85rem;font-weight:500;color:#64748b;-webkit-user-select:none;user-select:none}.note-modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;margin:5vh auto;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh}.note-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-light)}.note-modal-header h2{font-size:1.5rem;margin:0;color:var(--text-main);font-weight:700}.note-close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;transition:color .2s}.note-close-btn:hover{color:var(--text-main)}.note-modal-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.note-date-selector{display:flex;align-items:center;gap:16px;padding:12px;border-radius:16px;border:1px solid transparent;transition:all .2s ease}.note-date-selector.interactive:hover{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 12px #00000008;transform:translateY(-1px)}.note-date-icon-box{width:56px;height:56px;background:#f1f5f9;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#475569}.note-date-text-box{display:flex;flex-direction:column;gap:4px;position:relative}.note-date-text-box label{font-size:.85rem;font-weight:600;color:#64748b}.note-date-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.note-date-display{font-size:1.1rem;font-weight:600;color:var(--text-main)}.note-input-container{display:flex;flex-direction:column}.note-main-textarea{width:100%;min-height:120px;font-size:1.15rem;line-height:1.5;padding:16px;border:2px solid #e2e8f0;border-radius:12px;resize:vertical;background:#f8fafc;transition:all .2s;font-family:inherit;color:var(--text-main)}.note-main-textarea:focus{outline:none;border-color:#93c5fd;background:#fff;box-shadow:0 0 0 3px #93c5fd33}.note-preview-section{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:8px;padding-top:24px;border-top:1px dashed #e2e8f0}.note-preview-label{font-size:.85rem;font-weight:600;color:#94a3b8}.note-modal-footer{padding:24px;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:12px;background:#f8fafc;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.dashboard-top-nav{margin-bottom:24px}.return-day-btn{border-radius:100px;padding:12px 24px;font-size:1.05rem;box-shadow:0 4px 12px #38bdf833}.dashboard-header{margin-bottom:32px}.dashboard-title{font-size:1.75rem;color:var(--text-main);margin-bottom:8px;font-weight:700}.dashboard-subtitle{font-size:1rem;color:#64748b;margin:0}.empty-programs-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000008;text-align:center;border:1px solid var(--border-light);margin-top:32px}.empty-programs-card h3{font-size:1.25rem;color:var(--text-main);margin:16px 0 8px}.programs-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding-bottom:40px}.program-card-v2{background:#fff;border-radius:16px;border:1px solid var(--border-light);padding:24px;display:flex;flex-direction:column;transition:all .2s ease;box-shadow:0 2px 8px #00000005}.program-card-v2:hover{box-shadow:0 8px 24px #0000000f;transform:translateY(-2px)}.program-card-v2.archived{opacity:.7;background:#f8fafc}.program-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.program-card-title-area h3{font-size:1.25rem;color:var(--text-main);margin:0 0 12px;line-height:1.3}.program-card-badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.badge-subject{padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:700;letter-spacing:.5px}.badge-date{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#64748b;font-weight:500}.discreet-menu{color:#cbd5e1;transition:color .2s}.program-card-v2:hover .discreet-menu{color:#64748b}.discreet-menu:hover{color:var(--text-main)!important;background:#f1f5f9}.custom-pos{right:0;left:auto}.program-card-middle{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px dashed var(--border-light);border-bottom:1px dashed var(--border-light);margin-bottom:20px}.status-chip{padding:4px 12px;border-radius:100px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center}.status-chip.active{background:#ecfdf5;color:#059669}.status-chip.archived{background:#f1f5f9;color:#64748b}.program-card-metrics{display:flex;gap:16px}.metric-item{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#475569;font-weight:500}.program-card-footer-v2{display:flex;justify-content:flex-end;margin-top:auto}.action-btn-secondary{background:#fff;border:1px solid var(--primary);color:var(--primary);padding:10px 20px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.action-btn-secondary:hover{background:var(--primary-soft)}.datepicker-modal-content{background:#fff;border-radius:20px;width:90%;max-width:480px;margin:auto;box-shadow:0 16px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.datepicker-header{padding:24px 32px;background:#f8fafc;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:flex-start}.datepicker-header-titles h2{font-size:1.5rem;font-weight:700;color:var(--text-main);margin:0 0 8px}.datepicker-header-titles p{font-size:.95rem;color:#64748b;margin:0;line-height:1.4}.datepicker-body{padding:24px 32px;background:#fff}.datepicker-month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.current-month-display{font-size:1.25rem;font-weight:700;color:var(--text-main);text-transform:capitalize;margin:0}.month-nav-btn{background:transparent;border:none;cursor:pointer;color:#64748b;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.month-nav-btn:hover{background:#f1f5f9;color:var(--text-main)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:12px}.weekday-label{font-size:.85rem;font-weight:700;color:#94a3b8;text-transform:uppercase}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-btn{background:transparent;border:1px solid transparent;padding:12px 0;border-radius:12px;cursor:pointer;font-size:1.1rem;font-weight:500;color:var(--text-main);transition:all .2s;display:flex;align-items:center;justify-content:center}.calendar-day-btn:hover:not(.selected){background:#f1f5f9}.calendar-day-btn.off-month{color:#cbd5e1}.calendar-day-btn.today{border-color:#cbd5e1;font-weight:700;color:var(--primary)}.calendar-day-btn.selected{background:var(--primary);color:#fff;box-shadow:0 4px 12px #38bdf866;font-weight:700;border-color:var(--primary)}.datepicker-footer{padding:20px 32px;border-top:1px solid var(--border-light);background:#f8fafc;display:flex;justify-content:flex-end;gap:12px}.update-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--text-main);color:#fff;padding:12px 24px;border-radius:30px;font-size:.95rem;font-weight:600;z-index:9999;box-shadow:0 4px 12px #00000026}.animate-fade-up{animation:fadeUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.visual-editor-container-v3{display:flex;flex-direction:column;height:100%;min-height:80vh;margin:-20px;background-color:var(--bg-app)}.zone-a-header{background:#fff;padding:24px 40px;display:flex;flex-direction:column;gap:16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.back-btn-human{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;font-size:1rem;font-weight:600;color:var(--text-muted);cursor:pointer;padding:0;transition:color .2s;width:fit-content}.back-btn-human:hover{color:var(--primary)}.header-titles{display:flex;flex-direction:column;gap:4px}.header-main-title{font-size:1.25rem;font-weight:500;color:var(--text-muted);margin:0}.header-sub-title{font-size:2.5rem;font-weight:800;color:var(--primary);margin:0;letter-spacing:-.02em}.visual-body-wrapper{display:flex;flex:1;overflow:hidden}.zone-b-sidebar{width:260px;background:var(--bg-main);border-right:1px solid var(--border-light);padding:32px 24px;display:flex;flex-direction:column;gap:24px;flex-shrink:0;overflow-y:auto}.sidebar-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;padding-left:10px}.days-pill-list{display:flex;flex-direction:column;gap:8px}.day-pill-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:transparent;border:none;border-radius:12px;font-size:1.1rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .2s;text-align:left}.day-pill-btn:hover{background:var(--bg-hover);color:var(--text-main)}.day-pill-btn.active{background:var(--primary-soft);color:var(--primary-dark);font-weight:700;font-size:1.15rem}.day-indicator{width:6px;height:6px;border-radius:50%;background-color:transparent;transition:background-color .2s}.day-pill-btn.active .day-indicator{background-color:var(--primary)}.zone-c-main{flex:1;padding:32px 40px 100px;overflow-y:auto;background-color:var(--bg-app)}.main-actions-row{display:flex;justify-content:flex-end;margin-bottom:24px}.btn-copy-day{background:#fff;color:var(--text-main);border:1px solid var(--border-light);box-shadow:0 1px 3px #0000000d;font-size:.95rem;padding:8px 16px}.btn-copy-day:hover{background:var(--bg-hover);border-color:var(--border-color)}.slots-list-v3{display:flex;flex-direction:column;gap:16px;max-width:800px}.empty-state-clean{padding:40px;text-align:center;color:var(--text-muted);font-size:1.1rem;background:transparent;border:2px dashed var(--border-light);border-radius:var(--radius-lg)}.slot-card-v3{display:flex;align-items:center;padding:16px 20px;background:#fff;border-radius:12px;border:1px solid var(--border-light);box-shadow:0 4px 12px #00000005;gap:20px;transition:all .2s ease}.slot-card-v3:hover{box-shadow:0 8px 16px #0000000a;transform:translateY(-2px);border-color:var(--border-color)}.slot-card-v3.dragging{opacity:.4;box-shadow:none}.drag-handle-v3{color:var(--text-muted);opacity:.3;cursor:grab;display:flex;align-items:center;justify-content:center;padding:4px}.slot-card-v3:hover .drag-handle-v3{opacity:.8}.drag-handle-v3:active{cursor:grabbing}.slot-time-v3{font-size:1.1rem;font-weight:500;color:var(--text-secondary);width:140px;flex-shrink:0}.slot-subject-v3{flex:1}.inline-subject-input{width:100%;font-size:1.25rem;font-weight:700;background:transparent;border:none;outline:none;padding:4px 0;letter-spacing:.01em}.inline-subject-input::placeholder{color:var(--text-muted);opacity:.5;font-weight:400}.delete-slot-btn{background:transparent;border:none;color:var(--text-error);opacity:.6;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.slot-card-v3:hover .delete-slot-btn{opacity:.8}.delete-slot-btn:hover{opacity:1!important;background:#fee2e2;color:#dc2626}.mini-save-toast{position:absolute;bottom:24px;right:24px;background:var(--subject-green, #10b981);color:#fff;padding:10px 20px;border-radius:100px;font-weight:600;font-size:.95rem;box-shadow:0 4px 12px #10b9814d;display:flex;align-items:center;gap:8px;animation:fadeUp .3s cubic-bezier(.16,1,.3,1) forwards;z-index:1000}.add-slot-btn-v3{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:24px;background:transparent;border:2px dashed var(--border-light);border-radius:12px;color:var(--text-muted);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.add-slot-btn-v3:hover{background:#fff;border-color:var(--primary);color:var(--primary)}.add-slot-card-v3{background:#fff;border-radius:12px;border:1px solid var(--primary);box-shadow:0 8px 24px #0000000f;padding:24px;display:flex;flex-direction:column;gap:20px;margin-top:8px;animation:dropdownFadeIn .2s ease-out}.time-inputs-row{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-weight:500}.time-input-clean{padding:8px 12px;border:1px solid var(--border-light);border-radius:8px;font-family:inherit;font-size:1rem;color:var(--text-main);background:var(--bg-main);outline:none}.time-input-clean:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.subject-input-row{border-bottom:2px solid var(--border-light);padding-bottom:8px}.subject-input-row .inline-subject-input{color:var(--text-main)}.subject-input-row .inline-subject-input:focus{border-color:var(--primary)}.add-slot-actions{display:flex;justify-content:flex-end;gap:16px;align-items:center}.copy-day-overlay{position:fixed;inset:0;background-color:#1e293b99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;display:flex;align-items:center;justify-content:center}.copy-day-modal{background:#fff;border-radius:16px;width:90%;max-width:480px;padding:32px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;gap:24px}.copy-day-header{text-align:center}.copy-day-header h3{font-size:1.5rem;font-weight:700;color:var(--text-main);margin-bottom:12px}.copy-day-header p{color:var(--text-muted);font-size:1.05rem;line-height:1.5;margin:0}.copy-day-body{margin:8px 0}.week-view-container{display:flex;flex-direction:column;gap:20px;width:100%;animation:fadeInWeek .3s ease-out}.week-header-nav{display:flex;align-items:center;justify-content:center;gap:30px;background:#fff;padding:12px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:10px}.week-range-title{font-size:1.1rem;font-weight:800;color:var(--text-main);margin:0}.nav-btn-human.sm{width:36px;height:36px;padding:0;justify-content:center}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;min-height:500px;margin-top:28px}.week-column{background:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden;transition:background .2s}.week-column:hover{background:#fff9}.week-day-header{padding:16px;background:var(--bg-main);border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;align-items:center;gap:4px}.week-day-header .day-name{font-weight:800;text-transform:capitalize;color:var(--text-main);font-size:1rem}.week-day-header .day-date{font-size:.8rem;font-weight:600;color:var(--text-muted)}.week-sessions-list{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1}.week-empty-day{text-align:center;padding:20px;border:1px dashed var(--border-light);border-radius:var(--radius-md);opacity:.6}.week-session-card{background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-light);display:flex;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.week-session-card:hover{transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md);border-color:var(--primary)}.week-session-info{padding:10px 12px;display:flex;flex-direction:column;gap:4px;overflow:hidden;flex:1}.week-session-subject{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-session-title{font-size:.85rem;font-weight:700;color:var(--text-main);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.week-session-card.completed{opacity:.6;filter:grayscale(.4)}.week-session-card.completed .week-session-title{text-decoration:line-through;color:var(--text-muted)}@media(max-width:1024px){.week-grid{overflow-x:auto;grid-template-columns:repeat(5,220px);padding-bottom:15px;scroll-snap-type:x mandatory}.week-column{scroll-snap-align:center}}.week-navigation-group{display:flex;align-items:center;gap:12px;background:#fff;padding:6px 12px;border-radius:100px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.week-range-display{font-weight:700;color:var(--text-main);font-size:.95rem;min-width:140px;text-align:center}@keyframes fadeInWeek{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.day-cards-list{display:flex;flex-direction:column;gap:12px}.day-selectable-card{display:flex;align-items:center;gap:16px;width:100%;padding:16px 20px;background:#fff;border:1px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all .2s ease;min-height:60px;text-align:left}.day-selectable-card:hover:not(:disabled){border-color:var(--primary-soft);background:#f8fafc}.day-selectable-card.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 2px 8px rgba(var(--primary-rgb),.1)}.day-selectable-card:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-main)}.checkbox-indicator{width:24px;height:24px;border:2px solid var(--border-light);border-radius:6px;display:flex;align-items:center;justify-content:center;background:#fff;flex-shrink:0;transition:all .2s ease}.day-selectable-card.selected .checkbox-indicator{background:var(--primary);border-color:var(--primary);color:#fff}.day-name{font-size:1.1rem;font-weight:500;color:var(--text-main);flex-grow:1}.source-badge{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--border-light);color:var(--text-secondary);padding:4px 10px;border-radius:100px}.copy-day-footer{display:flex;justify-content:flex-end;gap:16px;margin-top:8px}.apply-copy-btn{padding:12px 28px}.full-height-modal{width:95vw!important;max-width:1400px!important;margin:20px auto;border-radius:16px}.custom-select-dropdown{padding:12px!important;display:flex!important;flex-direction:column!important;gap:8px!important}.dropdown-item-btn{display:flex;align-items:center;width:100%;padding:12px 16px;background:#fff;border:1px solid var(--border-light);font-size:1.15rem;color:var(--text-main);text-align:left;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);min-height:52px;gap:16px}.dropdown-item-btn:hover{background:var(--bg-hover);border-color:var(--border-color);transform:translateY(-1px);box-shadow:0 4px 12px #00000008}.dropdown-item-btn.selected{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.subject-color-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0}.subject-name-large{font-weight:600;text-transform:capitalize;flex:1}.selected-subject-chip{display:flex;align-items:center;gap:10px;background:var(--bg-main);border:1px solid var(--border-light);padding:6px 14px;border-radius:100px;font-weight:700;font-size:1.05rem}.meetings-home-modal{width:min(980px,92vw);max-height:min(640px,85vh);background:#fff;border-radius:18px;box-shadow:0 12px 48px #00000026;font-family:inherit;display:flex;flex-direction:column}.meetings-header{padding:24px 32px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border-light)}.meetings-titles h2{font-size:22px;font-weight:800;color:var(--text-main);margin:0 0 6px}.meetings-titles p{font-size:13px;font-weight:500;color:var(--text-secondary);margin:0}.meetings-home-body{padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:24px;justify-content:center}@media(max-width:640px){.meetings-home-body{grid-template-columns:1fr}}.meeting-action-card{background:#f8fafc;border:1px solid var(--border-light);border-radius:16px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .2s cubic-bezier(.16,1,.3,1)}.meeting-action-card:hover{box-shadow:0 4px 16px #0000000d;border-color:#cbd5e1;transform:translateY(-2px)}.mac-icon{margin-bottom:16px;color:var(--primary)}.meeting-action-card h3{font-size:16px;font-weight:800;color:var(--text-main);margin:0 0 8px}.mac-desc{font-size:13px;color:var(--text-secondary);margin:0 0 24px}.mac-btn{height:44px;border-radius:12px;font-size:14px;font-weight:800;width:100%}.new-meeting-modal{width:min(1040px,94vw);height:min(760px,90vh);background:#fff;border-radius:18px;box-shadow:0 12px 48px #00000026;display:flex;flex-direction:column}.editor-header-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-light)}.eh-center{text-align:center}.eh-center h2{font-size:20px;font-weight:800;color:var(--text-main);margin:0}.eh-center p{font-size:13px;color:var(--text-secondary);font-weight:500;margin:4px 0 0}.editor-body{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.editor-top-fields{display:grid;grid-template-columns:2fr 3fr;gap:16px}@media(max-width:768px){.editor-top-fields{grid-template-columns:1fr}}.field-group{background:#fff;border:1px solid var(--border-light);border-radius:14px;padding:16px}.field-group label{display:block;font-size:12px;font-weight:700;color:var(--text-main);margin-bottom:12px}.date-row{display:flex;gap:12px}.clickable-field-btn{flex:1;display:flex;align-items:center;height:52px;background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:0 16px;font-size:15px;font-weight:700;color:var(--text-main);cursor:pointer;transition:all .2s ease}.clickable-field-btn:hover{background:#f8fafc;border-color:#cbd5e1}.large-input{width:100%;height:52px;background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:0 16px;font-size:15px;font-weight:700;color:var(--text-main);transition:all .2s ease}.large-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.large-input.error-border{border-color:#f87171;background:#fef2f2}.inline-error-msg{display:block;font-size:12px;color:#f87171;margin-top:6px;font-weight:500}.content-block{flex:1;display:flex;flex-direction:column}.content-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.autosave-indicator{font-size:12px;color:var(--text-secondary);font-weight:600}.large-textarea{width:100%;flex:1;min-height:360px;background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:16px;font-size:15px;font-weight:500;line-height:1.5;color:var(--text-main);resize:none;font-family:inherit;transition:border-color .2s ease}.large-textarea:focus{outline:none;border-color:var(--primary)}.editor-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--border-light);height:72px;flex-shrink:0}.review-meetings-modal{width:min(1040px,94vw);height:min(760px,90vh);background:#fff;border-radius:18px;box-shadow:0 12px 48px #00000026;display:flex;flex-direction:column}.meetings-search-container{padding:24px;display:flex;justify-content:center}.search-pill{width:min(720px,100%);height:52px;background:#fff;border:1px solid var(--border-light);border-radius:999px;display:flex;align-items:center;padding:0 16px;box-shadow:0 2px 8px #00000008;transition:border-color .2s ease}.search-pill:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.sp-icon{color:var(--text-secondary);margin-right:12px}.sp-input{flex:1;border:none;background:transparent;outline:none;font-size:14px;font-weight:600;color:var(--text-main)}.meetings-grid-wrapper{flex:1;padding:0 24px 24px;overflow-y:auto}.meetings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1024px){.meetings-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.meetings-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.meetings-grid{grid-template-columns:1fr}}.empty-search-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:15px;font-weight:500;text-align:center;opacity:.8}.meeting-lib-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;min-height:140px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.meeting-lib-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f;border-color:#cbd5e1}.mlc-title{font-size:16px;font-weight:800;color:var(--text-main);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mlc-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.mlc-date{font-size:13px;font-weight:600;color:var(--text-secondary)}.meeting-detail-card{width:min(840px,94vw);height:min(760px,90vh);background:#fff;border-radius:18px;box-shadow:0 12px 48px #00000026;display:flex;flex-direction:column}.mdc-header{padding:16px 24px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.mdc-actions{display:flex;align-items:center;gap:8px}.mdc-body{flex:1;padding:32px 40px;overflow-y:auto}.mdc-title{font-size:26px;font-weight:800;color:var(--text-main);margin:0 0 12px;line-height:1.2}.mdc-date{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:32px}.mdc-content{font-size:16px;line-height:1.6;color:var(--text-main);white-space:pre-wrap}.mdc-content p{margin:0 0 1em}.mdc-empty{color:var(--text-secondary);font-style:italic}.non-teaching-empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(100vh - 160px);padding:48px 24px}.non-teaching-empty-card{background:#fff;border:1px solid var(--border-light);border-radius:18px;padding:36px 28px;box-shadow:0 4px 16px #0000000a;max-width:780px;width:100%;display:flex;flex-direction:column;align-items:center}.nte-icon-badge{width:92px;height:92px;border-radius:50%;background-color:var(--primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.nte-icon{color:var(--primary)}.nte-title{font-size:34px;font-weight:800;color:var(--text-main);line-height:1.15;margin:0 0 10px;text-align:center;max-width:720px}.nte-subtitle{font-size:15px;font-weight:500;color:var(--text-secondary);margin:0;max-width:640px;text-align:center}@media(max-width:768px){.nte-title{font-size:28px}}.delete-program-modal-overlay{background-color:#1e3a8af2!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.delete-program-modal-content{max-width:740px!important;padding:32px!important}.dp-options-grid{margin-top:8px}.dp-option-card{display:flex;align-items:flex-start;gap:16px;padding:20px;border:2px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.dp-option-card:hover{border-color:#cbd5e1}.dp-option-card.selected{border-color:var(--primary);background-color:#3b82f60a}.dp-option-icon{color:var(--text-muted);margin-top:2px}.dp-option-card.selected .dp-option-icon{color:var(--primary)}.dp-option-text{flex:1}.dp-option-text h4{margin:0 0 6px;font-size:16px;color:var(--text-main)}.dp-option-text p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.4}.dp-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;margin-top:2px;flex-shrink:0}.dp-option-card.selected .dp-radio{border-color:var(--primary)}.dp-radio .radio-inner{width:10px;height:10px;border-radius:50%;background-color:transparent;transition:background-color .2s}.dp-option-card.selected .dp-radio .radio-inner{background-color:var(--primary)}.format-notice-modal-overlay{background-color:#0f172a80!important}.format-notice-modal-content{max-width:760px!important;width:92vw;max-height:640px!important;height:min(640px,88vh);overflow:hidden!important;padding:32px!important;border-radius:20px!important;background-color:#fff!important;box-shadow:0 20px 40px #0000001a!important;display:flex!important;flex-direction:column!important;position:relative}.format-notice-body{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:relative;height:100%}.format-notice-close{position:absolute;top:-8px;right:-8px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .2s ease;z-index:10}.format-notice-close:hover{background-color:#f1f5f9;color:var(--text-main)}.format-notice-hero-icon{width:48px;height:48px;background-color:#e0f2fe;color:#0284c7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;flex-shrink:0}.format-notice-title{font-size:28px;font-weight:800;color:var(--text-main);margin:0 0 12px;text-align:center;flex-shrink:0}.format-notice-text-block{max-width:560px;margin:0 auto 16px;text-align:center;flex-shrink:0}.format-notice-text-block p{font-size:15px;line-height:1.6;color:var(--text-secondary);margin:0 0 8px}.format-notice-text-block p:last-child{margin-bottom:0}.format-notice-preview-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.format-notice-preview-block{width:100%;max-width:560px;height:200px;margin:0 auto;border:1px solid #e2e8f0;background-color:#f8fafc;border-radius:16px;padding:12px;display:flex;align-items:center;justify-content:center;position:relative}.format-notice-image-container{width:100%;height:100%;position:relative;border-radius:12px;overflow:hidden;background:#fff}.format-notice-image{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px}.format-notice-zoom-btn{position:absolute;bottom:8px;right:8px;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--border-light);border-radius:8px;padding:6px 14px;display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--text-main);box-shadow:var(--shadow-sm);transition:all .2s;cursor:pointer}.format-notice-zoom-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.format-notice-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.format-notice-preview-caption{font-size:13px;color:#64748b;margin:8px 0 16px}.format-notice-actions{width:100%;display:flex;flex-direction:column;align-items:center;margin-top:auto}.primary-action-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;position:relative}.format-notice-adapter-btn{width:100%;max-width:320px;height:48px;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;border-radius:999px;justify-content:center;display:flex;align-items:center;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.format-notice-secondary-actions{display:flex;flex-direction:column;align-items:center;margin-top:10px}.format-notice-continue-btn{font-size:14.5px;font-weight:500;color:var(--text-secondary);text-decoration:none;background:transparent;border:none;cursor:pointer;padding:8px 16px;transition:color .2s ease}.format-notice-continue-btn:hover{color:var(--text-main);text-decoration:underline;text-underline-offset:4px}.format-notice-checkbox-label{cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--text-secondary);margin-top:12px;transition:color .2s}.format-notice-checkbox-label:hover{color:var(--text-main)}.format-notice-microfeedback{font-size:13px;opacity:0;transform:translateY(-5px);transition:all .3s;text-align:center;position:absolute;top:100%;margin-top:6px;pointer-events:none}.format-notice-microfeedback.showing{opacity:1;transform:translateY(0);color:#059669}.hidden-placeholder{visibility:hidden}.image-expand-overlay{position:fixed;inset:0;background:#000000e6;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px}.image-expand-content{position:relative;max-width:100%;max-height:100%;display:flex;justify-content:center;align-items:center}.image-expand-close{position:absolute;top:-40px;right:0;color:#fff;background:#fff3;border-radius:50%;padding:8px}.image-expand-close:hover{background:#ffffff4d}.expanded-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px}.link-pill-micro{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background-color:#1e40af0f;border:1px solid rgba(30,64,175,.25);color:var(--primary);font-size:11.5px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.link-pill-micro:hover{background-color:#1e40af1f}.link-pill-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background-color:#1e40af14;border:1px solid rgba(30,64,175,.3);color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:none}.link-pill-btn:hover{background-color:#1e40af24}.link-pill-btn:active{background-color:#1e40af33}.welcome-primary-card{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:220px;height:48px;padding:0 20px;background:var(--primary);color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:600;box-shadow:0 6px 16px #0000001f;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.welcome-primary-card:hover{background:var(--primary-hover);box-shadow:0 8px 20px #00000029;transform:translateY(-1px)}.welcome-primary-card:active{background:var(--primary-pressed);box-shadow:0 4px 10px #0000001f;transform:translateY(0)}.welcome-primary-card:focus{outline:2px solid var(--focus);outline-offset:2px}.welcome-secondary-card{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:180px;height:40px;padding:0 18px;background:var(--menu-button-bg);color:var(--menu-button-text);border:1px solid var(--border-subtle);border-radius:12px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000014;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.welcome-secondary-card:hover{background:var(--surface-hover);color:var(--text-main);box-shadow:0 6px 16px #0000001f;transform:translateY(-1px)}.welcome-secondary-card:active{background:var(--surface-pressed);transform:translateY(0)}.primary-btn,.secondary-btn{height:42px;border-radius:999px;padding:0 24px;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;border:none;cursor:pointer}.primary-btn{background:var(--primary);color:var(--on-primary)}.primary-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.secondary-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.secondary-btn:hover{background:var(--surface-hover);transform:translateY(-1px)}.lang-icon-btn{width:36px;height:36px;border-radius:999px;background:var(--surface);border:1px solid var(--border-subtle);overflow:hidden;padding:0;display:flex;justify-content:center;align-items:center;cursor:pointer;opacity:.95;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.lang-icon-btn:hover{transform:scale(1.03);background:var(--surface-hover);opacity:1}.lang-icon-btn.selected{opacity:1;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}.secondary-action-row-container{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%);z-index:10000;width:max-content;max-width:calc(100vw - 80px)}.secondary-capsule{background:var(--surface);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-sm);padding:12px 14px;display:flex;flex-direction:column;align-items:center;margin:0 auto}.secondary-row-1{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:nowrap}.secondary-row-2{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:nowrap;margin-top:12px}@media(max-width:980px){.secondary-row-1,.secondary-row-2{flex-wrap:wrap}}.submenu-popover-item{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;border-radius:12px;background:transparent;cursor:pointer;border:none;width:100%;color:var(--text-primary);font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.submenu-popover-item:hover{background:var(--surface-hover)}.submenu-popover-item:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent)}.submenu-popover-item:active{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.submenu-popover-item .icon{color:var(--text-muted)}.submenu-popover-item.danger,.submenu-popover-item.danger .icon{color:var(--error)}.submenu-divider{height:1px;background:var(--border-subtle);margin:8px 0}
