@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--teal: #0F7B6C;--teal-mid: #1A9E8C;--teal-light: #E6F5F3;--cream: #F4F6F9;--cream-dark: #E8ECF2;--coral: #C0392B;--coral-light: #FDEEE9;--amber: #F0A830;--charcoal: #1A2340;--gray: #5E6D8A;--border: #DDE2EC;--white: #FFFFFF;--amber-light: #FEF6E4;--navy: #0D1B3E;--navy-mid: #162347;--navy-light: rgba(255,255,255,.08);--color-primary: #2563EB;--color-secondary: #0D1B3E;--color-accent: #F0A830;--color-text: #1A2340;--color-background: #F4F6F9;--color-login-bg: #1E40AF;--color-header-bg: #FFFFFF;--color-sidebar-bg: #1F2937;--color-sidebar-active-bg: #2563EB;--color-sidebar-active-text:#FFFFFF;--color-sidebar-text: #94A3B8;--color-bg: var(--color-background);--color-surface: var(--white);--color-surface-2: var(--cream);--color-border: var(--border);--color-text-muted: var(--gray);--color-primary-mid: #a93226;--color-primary-light:#eff6ff;--color-accent-light: var(--coral-light);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 18px;--touch-min: 44px;--space-mobile: 16px;--shadow-sm: 0 1px 4px rgba(13, 27, 62, .07), 0 1px 2px rgba(13, 27, 62, .04);--shadow-md: 0 4px 16px rgba(13, 27, 62, .12), 0 1px 4px rgba(13, 27, 62, .06);--shadow-lg: 0 8px 32px rgba(13, 27, 62, .14), 0 2px 8px rgba(13, 27, 62, .08);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--cream);color:var(--charcoal)}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{opacity:.8}h1{font-size:2rem;line-height:1.2;font-weight:800;letter-spacing:-.5px}h2{font-size:1.4rem;font-weight:700;letter-spacing:-.3px}h3{font-size:1.1rem;font-weight:600}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tap-target{min-height:var(--touch-min);min-width:var(--touch-min)}.login-root{min-height:100vh;min-height:100dvh;display:flex;background:var(--login-bg, #f9fafb)}.login-branding{width:45%;background:var(--login-secondary, #1e1b4b);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px}.login-logo{width:100%;max-width:720px;max-height:360px;object-fit:contain}.login-brand-fallback{color:#fff;font-size:36px;font-weight:900;text-align:center}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:48px}.login-form{width:100%;max-width:380px}.login-title{font-weight:800;font-size:28px;margin-bottom:8px;color:var(--login-text, #111827)}.login-subtitle{color:#6b7280;margin-bottom:32px;font-size:15px}.login-field{margin-bottom:16px}.login-field--tight{margin-bottom:8px}.login-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.login-input{width:100%;padding:11px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;box-sizing:border-box;outline:none;font-family:inherit}.login-input:focus{border-color:var(--login-primary, #6366f1)}.login-forgot-row{text-align:right;margin-bottom:20px}.login-link{background:none;border:none;color:#6b7280;font-size:13px;cursor:pointer;padding:0;font-family:inherit}.login-back{display:flex;align-items:center;gap:6px;background:none;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:0 0 24px;font-family:inherit}.login-alert{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:16px}.login-alert--success{background:#d1fae5;border-color:#6ee7b7;color:#065f46;padding:14px 16px;line-height:1.6;margin-bottom:0}.login-submit{width:100%;background:var(--login-primary, #6366f1);color:#fff;border:none;border-radius:10px;padding:13px 0;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s}.login-submit:disabled{cursor:not-allowed;opacity:.7}@media(max-width:768px){.login-root{flex-direction:column}.login-branding{width:100%;min-height:auto;flex-direction:row;padding:24px 16px}.login-logo{width:auto;max-width:75%;max-height:180px;margin:0}.login-brand-fallback{font-size:24px}.login-form-panel{padding:24px 16px;align-items:flex-start}.login-title{font-size:22px}.login-subtitle{margin-bottom:24px}.login-input{min-height:48px;font-size:16px}.login-submit{min-height:48px;font-size:15px}.login-link{display:inline-flex;align-items:center;min-height:44px;padding:8px}}.modal-overlay{position:fixed;inset:0;background:#1c2b2a80;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container{background:var(--white);border:1px solid var(--border);border-radius:16px;width:90%;max-width:700px;box-shadow:0 20px 40px #1c2b2a1f;animation:slide-down .25s ease-out;display:flex;flex-direction:column;max-height:90vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--charcoal);letter-spacing:-.2px}.modal-close-button{background:none;border:none;color:var(--gray);font-size:1.8rem;line-height:1;cursor:pointer;padding:0;transition:color .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.modal-close-button:hover{color:var(--charcoal);background:var(--cream)}.modal-body{padding:1.5rem;overflow-y:auto;flex-grow:1}@keyframes slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.modal-overlay{padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-container{width:100%;max-width:100%;height:100%;max-height:100dvh;border:none;border-radius:0;animation:none}.modal-header{position:sticky;top:0;background:var(--white);z-index:1;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top))}.modal-header h2{font-size:1rem}.modal-close-button{width:44px;height:44px}.modal-body{padding:1rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}}.community-container{padding:.5rem 0}.community-toolbar{margin-bottom:1.5rem}.community-loading,.community-empty{text-align:center;padding:3rem 1rem;color:var(--gray);font-size:.95rem}.community-error{background:var(--coral-light);color:var(--coral);border:1px solid #F5C9BE;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.88rem;font-weight:500}.create-post-form{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.2rem 1.4rem;margin-bottom:1.5rem}.create-post-form textarea{width:100%;background:var(--cream);border:1px solid var(--border);border-radius:8px;color:var(--charcoal);font-size:.95rem;padding:.75rem;resize:vertical;box-sizing:border-box;margin-bottom:.75rem;font-family:inherit;transition:border-color .2s}.create-post-form textarea:focus{outline:none;border-color:var(--teal);background:var(--white);box-shadow:0 0 0 3px var(--teal-light)}.create-post-extras{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.create-post-extras input[type=url]{flex:1;min-width:180px;background:var(--cream);border:1px solid var(--border);border-radius:8px;color:var(--charcoal);font-size:.88rem;padding:.55rem .75rem;font-family:inherit;transition:border-color .2s}.create-post-extras input[type=url]:focus{outline:none;border-color:var(--teal)}.file-input-label{display:inline-flex;align-items:center;gap:.4rem;background:var(--cream);border:1px dashed var(--border);border-radius:8px;color:var(--gray);font-size:.85rem;padding:.55rem .85rem;cursor:pointer;transition:all .15s;white-space:nowrap}.file-input-label:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-light)}.create-post-actions{display:flex;gap:.75rem}.community-feed{display:flex;flex-direction:column;gap:1rem}.post-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.2rem 1.4rem;transition:border-color .2s,box-shadow .2s}.post-card:hover{border-color:var(--teal);box-shadow:0 4px 16px #0f7b6c14}.post-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.post-avatar-circle{border-radius:50%;background:var(--teal);color:var(--white);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.post-avatar-img{border-radius:50%;object-fit:cover;flex-shrink:0}.post-author-info{flex:1;display:flex;flex-direction:column;gap:.1rem}.post-author-name{font-size:.92rem;font-weight:700;color:var(--charcoal)}.post-time{font-size:.75rem;color:var(--gray);opacity:.7}.post-manage-actions{display:flex;gap:.15rem;align-items:center}.post-delete-btn,.post-edit-btn{background:none;border:none;font-size:1rem;cursor:pointer;color:var(--gray);padding:.2rem .4rem;border-radius:4px;transition:all .15s}.post-delete-btn:hover{color:var(--coral);background:var(--coral-light)}.post-edit-btn:hover{background:var(--cream)}.post-edit-form{display:flex;flex-direction:column;gap:.5rem}.post-edit-form textarea{width:100%;background:var(--cream);border:1px solid var(--teal);border-radius:8px;color:var(--charcoal);font-size:.95rem;padding:.6rem .75rem;resize:vertical;box-sizing:border-box;font-family:inherit;outline:none}.post-edit-actions{display:flex;gap:.5rem}.post-edit-cancel-btn{background:none;border:1px solid var(--border);border-radius:20px;color:var(--gray);font-size:.88rem;padding:.4rem .9rem;cursor:pointer;font-family:inherit;transition:all .15s}.post-edit-cancel-btn:hover{background:var(--cream);color:var(--charcoal)}.post-content{margin-bottom:.8rem}.post-content p{color:var(--charcoal);font-size:.95rem;line-height:1.6;margin:0 0 .5rem;white-space:pre-wrap}.post-link-preview,.post-attachment-link{display:inline-block;margin:.25rem .4rem .25rem 0;padding:.3rem .7rem;border-radius:6px;font-size:.82rem;text-decoration:none;transition:opacity .15s}.post-link-preview{background:var(--teal-light);color:var(--teal);border:1px solid rgba(15,123,108,.2)}.post-attachment-link{background:var(--cream-dark);color:var(--charcoal);border:1px solid var(--border)}.post-link-preview:hover,.post-attachment-link:hover{opacity:.8}.post-last-comment{background:var(--cream);border-left:3px solid var(--border);padding:.4rem .75rem;margin-bottom:.8rem;border-radius:0 6px 6px 0;font-size:.82rem}.post-last-comment-label{color:var(--gray);margin-right:.4rem;opacity:.7}.post-last-comment-text{color:var(--gray);font-style:italic}.post-footer{display:flex;gap:.5rem;border-top:1px solid var(--cream-dark);padding-top:.75rem;margin-top:.25rem}.post-action-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:1px solid transparent;border-radius:20px;color:var(--gray);font-size:.85rem;padding:.35rem .75rem;cursor:pointer;transition:all .15s;font-family:inherit}.post-action-btn:hover{background:var(--cream);color:var(--charcoal);border-color:var(--border)}.post-action-btn.active.like{color:var(--teal);background:var(--teal-light);border-color:#0f7b6c40}.post-action-btn.active.dislike{color:var(--coral);background:var(--coral-light);border-color:#f5c9be}.post-card--expanded{border-color:var(--teal)}.post-comments-section{margin:.75rem -1.4rem -1.2rem;padding:.85rem 1.4rem 1.2rem;background:var(--cream);border-top:1px solid var(--cream-dark);border-radius:0 0 12px 12px}.post-comments-list{display:flex;flex-direction:column;gap:.6rem;max-height:420px;overflow-y:auto;margin-bottom:.75rem}.comments-loading,.comments-empty{text-align:center;color:var(--gray);font-size:.88rem;padding:1.5rem 0;opacity:.7}.comment-item{display:flex;align-items:flex-start;gap:.6rem}.comment-body{flex:1;background:var(--cream);border-radius:10px;padding:.5rem .75rem;border:1px solid var(--border)}.comment-header{display:flex;gap:.6rem;align-items:baseline;margin-bottom:.2rem}.comment-author{font-size:.82rem;font-weight:700;color:var(--charcoal)}.comment-time{font-size:.72rem;color:var(--gray);opacity:.6}.comment-text{font-size:.88rem;color:var(--charcoal);margin:0;white-space:pre-wrap;line-height:1.5}.comment-like-btn{background:none;border:none;color:var(--gray);font-size:.82rem;cursor:pointer;padding:.2rem .3rem;border-radius:4px;display:flex;align-items:center;gap:.2rem;transition:color .15s;margin-top:.25rem;flex-shrink:0}.comment-like-btn:hover,.comment-like-btn.liked{color:var(--teal)}.comment-actions{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex-shrink:0}.comment-delete-btn,.comment-edit-btn{background:none;border:none;color:var(--gray);font-size:.78rem;cursor:pointer;padding:.2rem .3rem;border-radius:4px;opacity:.5;transition:opacity .15s,color .15s}.comment-delete-btn:hover{opacity:1;color:#e53e3e}.comment-edit-btn:hover{opacity:1}.comment-edit-form{display:flex;flex-direction:column;gap:.35rem;margin-top:.15rem}.comment-edit-form input{background:var(--white);border:1px solid var(--teal);border-radius:8px;color:var(--charcoal);font-size:.88rem;padding:.35rem .6rem;font-family:inherit;outline:none;width:100%;box-sizing:border-box}.comment-edit-actions{display:flex;gap:.4rem}.post-comments-section .comment-body{background:var(--white)}.post-comment-input-row{display:flex;gap:.5rem;align-items:center;padding-top:.65rem;border-top:1px solid var(--border)}.post-comment-input-row input{flex:1;background:var(--white);border:1px solid var(--border);border-radius:20px;color:var(--charcoal);font-size:.9rem;padding:.55rem 1rem;font-family:inherit;transition:border-color .2s}.post-comment-input-row input:focus{outline:none;border-color:var(--teal)}.comment-send-btn{background:var(--teal);color:var(--white);border:none;border-radius:20px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.comment-send-btn:hover:not(:disabled){background:var(--teal-mid)}.comment-send-btn:disabled{opacity:.4;cursor:not-allowed}.user-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--teal);border:2px solid var(--teal-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;flex-shrink:0;transition:opacity .2s,border-color .2s}.user-avatar:hover{opacity:.85;border-color:var(--teal-light)}.user-avatar-initials{color:var(--white);font-size:.85rem;font-weight:700;letter-spacing:.5px;line-height:1;pointer-events:none}.user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem}.profile-avatar-circle{position:relative;width:80px;height:80px;border-radius:50%;background-color:var(--teal);border:3px solid var(--teal-mid);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center}.profile-avatar-circle:hover .profile-avatar-overlay{opacity:1}.profile-avatar-overlay{position:absolute;inset:0;background:#1c2b2a8c;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.7rem;font-weight:700;opacity:0;transition:opacity .2s;border-radius:50%}.profile-avatar-initials{color:var(--white);font-size:1.5rem;font-weight:700;letter-spacing:1px;line-height:1}.profile-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-avatar-hint{font-size:.75rem;color:var(--gray);margin:0}.profile-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem}.profile-field{display:flex;flex-direction:column;gap:.35rem}.profile-field-full{grid-column:1 / -1}.profile-field label{font-size:.72rem;color:var(--gray);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.profile-field input{background-color:var(--cream);border:1px solid var(--border);border-radius:8px;color:var(--charcoal);padding:.55rem .75rem;font-size:.9rem;transition:border-color .2s;width:100%;box-sizing:border-box;font-family:inherit}.profile-field input:focus{outline:none;border-color:var(--teal);background:var(--white);box-shadow:0 0 0 3px var(--teal-light)}.profile-section-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1rem;color:var(--gray);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.profile-section-divider:before,.profile-section-divider:after{content:"";flex:1;height:1px;background:var(--border)}.profile-error{font-size:.75rem;color:var(--coral);margin:0}.profile-error-general{margin:.5rem 0;text-align:center}.profile-success{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;background-color:var(--teal-light);border:1px solid rgba(15,123,108,.25);border-radius:8px;padding:.75rem 1rem;margin:1rem 0;font-size:.85rem;color:var(--teal)}.profile-success-icon{font-size:1.1rem;font-weight:700}.profile-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.profile-btn-cancel{background:transparent;border:1px solid var(--border);color:var(--gray);padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s;font-family:inherit}.profile-btn-cancel:hover{background:var(--cream-dark);color:var(--charcoal);border-color:var(--gray)}.profile-btn-save{background-color:var(--teal);border:none;color:var(--white);padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;transition:background .2s;font-family:inherit}.profile-btn-save:hover:not(:disabled){background-color:var(--teal-mid)}.profile-btn-save:disabled{opacity:.6;cursor:not-allowed}.profile-logout-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:center}.profile-btn-logout{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid #f5c9c4;color:var(--coral);padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;font-family:inherit;transition:all .15s}.profile-btn-logout:hover{background:var(--coral-light);border-color:var(--coral)}@media(max-width:480px){.profile-fields-grid{grid-template-columns:1fr}.profile-field-full{grid-column:1}}.mobile-navigation{display:none}@media(max-width:768px){.mobile-navigation{position:fixed;left:0;right:0;bottom:0;z-index:900;display:block;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid rgba(17,24,39,.1);box-shadow:0 -10px 28px #0f172a1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-navigation__inner{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;max-width:520px;margin:0 auto;gap:2px}.mobile-navigation__item{min-width:0;min-height:52px;border:0;border-radius:8px;background:transparent;color:#64748b;font:inherit;font-size:11px;font-weight:700;line-height:1.15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;cursor:pointer;letter-spacing:0}.mobile-navigation__item.active{color:var(--color-primary, var(--teal, #0f7b6c));background:color-mix(in srgb,var(--color-primary, #0f7b6c) 12%,white)}.mobile-navigation__icon,.mobile-navigation__menu-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-navigation svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mobile-navigation__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-navigation__more{position:relative;min-width:0}.mobile-navigation__menu{position:absolute;right:0;bottom:calc(100% + 12px);width:min(240px,calc(100vw - 24px));padding:8px;background:#fff;border:1px solid rgba(17,24,39,.1);border-radius:12px;box-shadow:0 18px 42px #0f172a2e}.mobile-navigation__menu-item{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;border:0;border-radius:8px;background:transparent;color:#334155;font:inherit;font-size:13px;font-weight:700;text-align:left;padding:8px 10px;cursor:pointer}.mobile-navigation__menu-item.active{color:var(--color-primary, var(--teal, #0f7b6c));background:color-mix(in srgb,var(--color-primary, #0f7b6c) 10%,white)}}.chat-text{margin:0}.chat-text-p{margin:0 0 6px;line-height:1.55}.chat-text-p:last-child{margin-bottom:0}.chat-text-spacer{height:6px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#1c2b2a80;display:flex;align-items:center;justify-content:center;z-index:1000}.chatbot-container{width:90%;max-width:500px;height:80vh;max-height:700px;background-color:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 48px #1c2b2a1f;display:flex;flex-direction:column;overflow:hidden}.chatbot-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);position:relative;flex-shrink:0;background:var(--cream)}.chatbot-header h2{margin:0;color:var(--charcoal);font-size:1rem;font-weight:700}.chatbot-header p{margin:4px 0 0;color:var(--gray);font-size:.85rem}.header-buttons{display:flex;align-items:center;gap:8px}.restart-button{display:flex;align-items:center;gap:5px;background:none;border:1px solid var(--border);border-radius:20px;padding:5px 12px;color:var(--gray);font-size:.82rem;font-family:inherit;cursor:pointer;transition:color .2s,border-color .2s}.restart-button:hover{color:var(--charcoal);border-color:var(--charcoal)}.close-button{position:absolute;top:10px;right:15px;background:none;border:none;color:var(--gray);font-size:1.8rem;cursor:pointer;line-height:1;transition:color .2s}.close-button:hover{color:var(--charcoal)}.chatbot-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex-grow:1;overflow-y:auto;min-height:0;background:var(--cream)}.chat-bubble-wrapper{display:flex;width:100%}.chat-bubble{max-width:80%;padding:.75rem 1rem;border-radius:16px;line-height:1.5}.chat-bubble p{margin:0;white-space:pre-wrap}.sender-label{display:block;font-size:.72rem;font-weight:700;margin-bottom:4px;opacity:.7;text-transform:uppercase;letter-spacing:.05em}.chat-bubble-wrapper.ai{justify-content:flex-start}.chat-bubble-wrapper.ai .chat-bubble{background-color:var(--white);color:var(--charcoal);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-bubble-wrapper.user{justify-content:flex-end}.chat-bubble-wrapper.user .chat-bubble{background-color:var(--teal);color:var(--white);border-bottom-right-radius:4px}.chatbot-form{display:flex;padding:1rem;border-top:1px solid var(--border);gap:8px;flex-shrink:0;background:var(--white)}.chatbot-form input{flex-grow:1;padding:.7rem 1rem;border:1px solid var(--border);background-color:var(--cream);color:var(--charcoal);border-radius:20px;font-size:14px;font-family:inherit;transition:border-color .2s}.chatbot-form input:focus{outline:none;border-color:var(--teal)}.chatbot-form button{padding:.7rem 1.2rem;border-radius:20px;border:none;background-color:var(--teal);color:var(--white);cursor:pointer;font-weight:600;font-family:inherit;transition:background .2s}.chatbot-form button:hover:not(:disabled){background-color:var(--teal-mid)}.chatbot-form button:disabled{background-color:var(--border);color:var(--gray);cursor:not-allowed}.loading-dots span{opacity:0;animation:blink 1s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%{opacity:0}50%{opacity:1}to{opacity:0}}.ai-message-content{display:flex;flex-direction:column;gap:10px}.audio-player{display:flex;align-items:center;gap:10px;background:var(--cream);border:1px solid var(--border);border-radius:24px;padding:8px 14px 8px 8px;min-width:220px}.audio-player-btn{background:var(--teal);color:var(--white);border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s}.audio-player-btn:hover{background:var(--teal-mid)}.audio-player-range{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--border);outline:none;cursor:pointer}.audio-player-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--teal);cursor:pointer;box-shadow:0 1px 3px #00000040;transition:transform .1s}.audio-player-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--teal);cursor:pointer;border:none;box-shadow:0 1px 3px #00000040}.audio-player-range::-webkit-slider-thumb:hover{transform:scale(1.25)}.audio-player-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--teal) 0%,var(--teal) var(--progress, 0%),var(--border) var(--progress, 0%),var(--border) 100%)}.audio-player-time{font-size:.72rem;color:var(--gray);white-space:nowrap;flex-shrink:0}.reveal-button{background:transparent;color:var(--teal);border:1px solid var(--teal);border-radius:20px;padding:6px 12px;font-size:.8rem;display:inline-flex;align-items:center;gap:5px;cursor:pointer;width:fit-content;transition:background .2s,color .2s}.reveal-button:hover{background:var(--teal);color:var(--white)}.ai-message-content p{margin:0}.speaking-form{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border-top:1px solid var(--border);min-height:94px;flex-shrink:0;background:var(--white)}.mic-button{background:var(--teal);color:var(--white);border:none;width:56px;height:56px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.mic-button:hover{background:var(--teal-mid)}.mic-button.recording{background:var(--coral);animation:pulse 1.5s infinite}.recording-status{color:var(--gray);font-size:.8rem;margin-top:10px;height:1em}@keyframes pulse{0%{box-shadow:0 0 #e05a3ab3}70%{box-shadow:0 0 0 10px #e05a3a00}to{box-shadow:0 0 #e05a3a00}}@media(max-width:768px){.chatbot-container{width:100%;height:100dvh;max-width:100%;max-height:100%;border-radius:0}.chatbot-header,.chatbot-body{padding:1rem}.chat-bubble{max-width:90%}}.student-workout-overlay{position:fixed;inset:0;background:#00000059;z-index:1000;display:flex;justify-content:flex-end}.student-workout-panel{width:56%;min-width:480px;max-width:860px;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #00000026;animation:slideInRight .25s ease;overflow:hidden}.student-workout-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:#f9fafb}.student-workout-title{display:flex;align-items:center;gap:12px}.student-workout-title h2{margin:0;font-size:1.1rem;font-weight:700;color:#111827}.student-workout-material{margin:2px 0 0;font-size:.8rem;color:#6b7280;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-workout-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:24px}.student-workout-loading,.student-workout-empty,.student-workout-error{text-align:center;color:#6b7280;padding:40px 0;font-size:.95rem}.student-workout-error{color:#dc2626}.student-block-section{display:flex;flex-direction:column;gap:14px}.student-block-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:2px solid #6366f1}.student-block-title{font-size:1rem;font-weight:700;color:#111827;margin:0}.student-block-count{font-size:.78rem;color:#6b7280;font-weight:500}.student-exercise-list{display:flex;flex-direction:column;gap:14px}.student-exercise-card{border:1.5px solid #e5e7eb;border-radius:10px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.student-exercise-card--done{border-color:#d1d5db;background:#fafafa}.student-exercise-header{display:flex;align-items:center;gap:10px}.student-exercise-num{min-width:26px;height:26px;background:#6366f1;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0}.student-exercise-title{font-size:.9rem;font-weight:600;color:#111827}.student-exercise-instruction{font-size:.88rem;color:#374151;line-height:1.5;margin:0;padding:10px 12px;background:#f9fafb;border-radius:6px;border-left:3px solid #6366f1}.student-answer-input{width:100%;border:1.5px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:.88rem;font-family:inherit;resize:vertical;transition:border-color .15s;box-sizing:border-box}.student-answer-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.student-answer-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.btn-student-submit{align-self:flex-start;background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-student-submit:hover:not(:disabled){background:#4f46e5}.btn-student-submit:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.feedback{border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;font-size:.88rem}.feedback--correct{background:#f0fdf4;border:1.5px solid #bbf7d0;color:#065f46;flex-direction:row;align-items:center;font-weight:600}.feedback--try-again{background:#fefce8;border:1.5px solid #fde68a;color:#78350f;flex-direction:row;align-items:center}.feedback--wrong{background:#fef2f2;border:1.5px solid #fecaca;color:#7f1d1d}.feedback--qualitative{background:#eff6ff;border:1.5px solid #bfdbfe;color:#1e3a5f}.feedback-icon{font-size:1.1rem;margin-right:6px}.feedback-row{display:flex;align-items:flex-start;gap:6px}.feedback-cat-label{font-weight:700;white-space:nowrap;flex-shrink:0}.feedback-no-errors{color:#16a34a;font-style:italic}.feedback-example{background:#fff9;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.feedback-example-label{font-size:.78rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.feedback-score-row{display:flex;align-items:center;gap:4px;margin-bottom:8px}.feedback-star{font-size:1.3rem;color:#d1d5db;line-height:1}.feedback-star--filled{color:#f59e0b}.feedback-score-num{font-size:.85rem;font-weight:700;color:#92400e;margin-left:6px}.feedback-justification{margin:0;font-size:.9rem;line-height:1.5;color:#1e3a5f}@media(max-width:768px){.student-workout-panel{width:100%;min-width:unset}}.teacher-preview-banner{background:#fff7e0;border:1px solid #f0a800;color:#7a5200;font-size:13px;font-weight:500;padding:8px 14px;border-radius:8px;margin-bottom:16px}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.storage-only-label{font-size:13px;color:var(--gray);margin:0;padding:4px 0}.lesson-detail-container{padding:2rem;max-width:900px;margin:2rem auto;color:var(--charcoal);animation:fadeInSlideUp .4s ease-out forwards}.lesson-detail-container--inline{padding:2rem;margin:2rem auto;max-width:900px}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:2rem;color:var(--gray);text-decoration:none;font-weight:500;font-size:14px;transition:color .2s;background:none;border:none;padding:0;cursor:pointer}.back-link:hover{color:var(--teal)}.lesson-header{background:var(--charcoal);border-radius:16px;padding:2rem;margin-bottom:2.5rem;text-align:center}.lesson-header h1{font-size:2rem;margin:0;color:var(--white);font-weight:800;letter-spacing:-.5px}.lesson-header p{font-size:1rem;color:#ffffff80;margin-top:.5rem}.ai-summary-section,.materials-section{margin-bottom:2.5rem}.ai-summary-section h2,.materials-section h2{font-size:1.3rem;color:var(--charcoal);border-bottom:2px solid var(--cream-dark);padding-bottom:.5rem;margin-bottom:1.5rem;font-weight:700;letter-spacing:-.2px}.ai-summary-section p{line-height:1.7;color:var(--gray)}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.material-card{background-color:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.material-card:hover{border-color:var(--teal);box-shadow:0 4px 16px #0f7b6c1a;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--cream);border-bottom:1px solid var(--border)}.card-title{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1rem;color:var(--charcoal);min-width:0}.card-title span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-kind-badge{min-width:36px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:5px;border:1px solid #e5e7eb;background:#f3f4f6;color:#374151;font-size:15px;font-weight:800;letter-spacing:0;box-sizing:border-box}.material-kind-badge--pdf,.material-kind-badge--yt{background:#fee2e2;color:#991b1b;border-color:#fecaca}.material-kind-badge--png,.material-kind-badge--jpg,.material-kind-badge--gif,.material-kind-badge--bmp,.material-kind-badge--tif{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.material-kind-badge--web{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.material-kind-badge--spot{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.icon-button{background:none;border:none;color:var(--gray);cursor:pointer;padding:.4rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-button:hover{background-color:var(--cream-dark);color:var(--charcoal)}.card-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;justify-content:center}.practice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.practice-buttons button{background-color:var(--teal-light);color:var(--teal);border:1px solid rgba(15,123,108,.2);padding:.75rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s;text-align:center;font-family:inherit}.practice-buttons button:hover{background-color:var(--teal);color:var(--white);border-color:var(--teal)}.status-text{text-align:center;color:var(--gray);font-style:italic;font-size:14px}.error-text{color:var(--coral);font-weight:600}.material-card.processing,.material-card.failed{opacity:.65}@media(max-width:768px){.lesson-detail-container{padding:1rem;margin:1rem auto}.lesson-header h1{font-size:1.6rem}.materials-grid{grid-template-columns:1fr}}.practice-buttons .workout-practice-btn{grid-column:1 / -1;background:#4ade80;color:#14532d;border:1.5px solid #22c55e;border-radius:8px;padding:.75rem;font-size:15px;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s;text-align:center;font-family:inherit}.practice-buttons .workout-practice-btn:hover{background:#22c55e;border-color:#16a34a;color:#14532d}.lesson-preview-overlay{position:fixed;inset:0;z-index:1100;display:flex;flex-direction:column;background:var(--white);overflow:hidden}.lesson-preview-modal{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.lesson-preview-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:var(--teal);color:#fff;font-size:14px;font-weight:600;flex-shrink:0}.lesson-preview-banner .icon-button{color:#fff;font-size:20px;background:transparent;border:none;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px;opacity:.85;transition:opacity .15s,background .15s}.lesson-preview-banner .icon-button:hover{opacity:1;background:#ffffff26}.lesson-preview-modal>.lesson-detail-container,.lesson-preview-modal>*>.lesson-detail-container{overflow-y:auto;flex:1;min-height:0}.teacher-dashboard-container{min-height:100vh;background:var(--navy);color:var(--charcoal);display:flex;flex-direction:row}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);color:var(--gray);gap:1rem}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}.right-panel{flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;background:var(--color-main-bg, var(--white))}.teacher-header{background:var(--navy);padding:0 28px;display:flex;align-items:center;justify-content:flex-end;height:64px;position:sticky;top:0;z-index:20;flex-shrink:0;box-shadow:0 4px 20px #0d1b3e33}.logo{display:flex;align-items:center;gap:10px;text-decoration:none}.logo-mark{width:32px;height:32px;background:var(--teal);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-bars{display:flex;align-items:flex-end;gap:2px;height:16px}.logo-bars span{display:block;width:3px;background:var(--white);border-radius:2px}.logo-bars span:nth-child(1){height:8px}.logo-bars span:nth-child(2){height:11px}.logo-bars span:nth-child(3){height:16px}.logo-text{font-size:17px;font-weight:700;color:var(--charcoal);letter-spacing:-.3px}.logo-text span{color:var(--teal)}.header-right{display:flex;align-items:center;gap:10px}.stat-pill{display:flex;align-items:center;gap:7px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:5px 13px;font-size:13px;color:#ffffff8c;white-space:nowrap;transition:background .15s}.stat-pill:hover{background:#ffffff21}.stat-pill strong{font-size:14px;font-weight:800;color:var(--white)}.header-profile-button{display:flex;flex-direction:column;align-items:flex-end;min-width:0;max-width:230px;padding:6px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:var(--white);line-height:1.2;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.header-profile-button:hover{background:#ffffff21;border-color:#ffffff3d}.header-profile-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.header-profile-role{margin-top:2px;color:#ffffff9e;font-size:11px;font-weight:600}.stat-dot{width:5px;height:5px;border-radius:50%;background:#ffffff40;flex-shrink:0}.btn-logout{border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff9;font-size:13px;font-weight:500;font-family:inherit;padding:7px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.btn-logout:hover{border-color:#ffffff80;color:var(--white)}.dashboard-sidebar{width:232px;background:var(--color-sidebar-bg, var(--white));border-right:none;padding:0;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;border-radius:0 28px 0 0;z-index:10}.sidebar-logo{padding:20px 20px 14px;display:flex;align-items:center}.sidebar-logo-img{height:160px;max-width:210px;object-fit:contain}.sidebar-profile{padding:14px 20px 12px;display:flex;flex-direction:row;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.sidebar-avatar-img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.sidebar-avatar-initials{width:40px;height:40px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--white);flex-shrink:0}.sidebar-profile-info{text-align:left}.sidebar-profile-name{font-size:15px;font-weight:700;color:#f1f5f9;letter-spacing:-.2px;line-height:1.3}.sidebar-profile-role{font-size:11px;color:#f1f5f98c;margin-top:2px;font-weight:500}.sidebar-greeting{padding:0 20px 18px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.sidebar-greeting h2{font-size:14px;font-weight:700;color:var(--white);letter-spacing:-.2px}.sidebar-greeting p{font-size:12px;color:#ffffff80;margin-top:2px}.sidebar-nav{padding:10px 0;flex:1}.sidebar-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13.5px;font-weight:500;color:var(--color-sidebar-text);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;position:relative;text-align:left;font-family:inherit;letter-spacing:0;margin-bottom:2px}.sidebar-nav-item:hover{color:#f1f5f9;background:#f1f5f914}.sidebar-nav-item.active{color:var(--color-sidebar-active-text);background:var(--color-sidebar-active-bg);font-weight:600}.sidebar-nav-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6}.sidebar-nav-item.active .sidebar-nav-icon{opacity:1}.sidebar-nav-item:hover .sidebar-nav-icon{opacity:.85}.dashboard-main{flex:1;padding:28px 32px;overflow:auto;min-width:0;background:var(--color-main-bg, var(--white))}.dashboard-main>*{width:100%;box-sizing:border-box}.students-section{width:100%;max-width:100%}.students-subnav{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0}.subnav-btn{padding:8px 18px;font-size:13.5px;font-weight:500;color:var(--gray);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-family:inherit;transition:all .15s}.subnav-btn:hover{color:var(--charcoal)}.subnav-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;width:100%}.section-header h2{font-size:20px;font-weight:700;color:var(--charcoal);letter-spacing:-.3px}.primary-button{background:var(--teal);border:none;border-radius:var(--radius-sm);padding:9px 18px;color:var(--white);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.primary-button:hover:not(:disabled){background:var(--teal-mid);box-shadow:var(--shadow-sm)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{background:var(--white);border:1px solid var(--border);color:var(--charcoal);padding:9px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;font-family:inherit}.secondary-button:hover{background:var(--cream-dark)}.delete-button{background:var(--coral-light);border:1px solid #F5C9BE;color:var(--coral);padding:9px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;font-family:inherit}.delete-button:hover{background:var(--coral);color:var(--white)}.view-toggle{display:flex;gap:6px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--gray);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.view-toggle-btn:hover{border-color:var(--teal);color:var(--teal)}.view-toggle-btn.active{background:var(--teal);border-color:var(--teal);color:var(--white)}.view-toggle-btn[aria-label]{width:38px;height:36px;padding:0}.students-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%}@media(max-width:1200px){.students-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.students-grid{grid-template-columns:1fr}}.student-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;transition:all .15s;box-shadow:var(--shadow-sm)}.student-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.student-card-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.students-list{width:100%;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.students-list-header{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;padding:10px 20px;background:var(--cream);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray)}.student-list-item{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;align-items:center;padding:12px 20px;border-bottom:1px solid var(--cream-dark);transition:background .12s}.student-list-item:last-child{border-bottom:none}.student-list-item:hover{background:var(--cream)}.student-list-item--inactive{opacity:.55}.student-list-name{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--charcoal)}.student-list-email{font-size:13px;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}.student-avatar--sm{width:30px;height:30px;font-size:12px}.student-avatar{width:40px;height:40px;background:var(--teal-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--teal);flex-shrink:0}.student-info h3{font-size:14px;font-weight:600;margin-bottom:2px;color:var(--charcoal)}.student-email{color:var(--gray);font-size:12px;margin-bottom:5px}.student-stats{display:flex;gap:8px;font-size:12px}.streak{color:var(--coral);font-weight:600}.lessons-count{color:var(--gray)}.student-card-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.student-card-actions button{background:var(--cream);border:1px solid var(--border);color:var(--charcoal);padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s;font-size:12px;font-weight:500;white-space:nowrap;font-family:inherit}.student-card-actions button:hover{background:var(--cream-dark);border-color:var(--gray)}.student-card-actions .archive-button{background:var(--coral-light);border-color:#f5c9be;color:var(--coral)}.student-card-actions .archive-button:hover{background:#f0c8bf}.student-card.inactive{opacity:.55}.toggle-archive-button{margin-top:1.5rem;background:none;border:1px solid var(--border);color:var(--gray);padding:9px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:all .15s;font-family:inherit}.toggle-archive-button:hover{background:var(--cream-dark);color:var(--charcoal)}.empty-state{text-align:center;padding:56px 20px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.empty-icon{font-size:44px;margin-bottom:14px}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--charcoal);font-weight:700}.empty-state p{color:var(--gray);font-size:14px;max-width:380px;margin:0 auto 22px;line-height:1.6}.modal-overlay{position:fixed;inset:0;background:#1c2b2a80;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;width:90%;max-width:500px;box-shadow:var(--shadow-md)}.modal input,.modal select{width:100%;padding:9px 12px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--charcoal);font-size:14px;margin-top:5px;font-family:inherit;transition:border-color .2s}.modal input:focus,.modal select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.modal label{text-align:left;display:block;font-size:12px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.05em}.lessons-subsection{margin-top:2rem;width:100%}.lessons-subsection h3{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);color:var(--charcoal);font-size:15px}.list-card{list-style:none;padding:0;display:flex;flex-direction:column;gap:.6rem}.list-card li{background-color:var(--white);border:1px solid var(--border);padding:.85rem 1rem;border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.list-card small{color:var(--gray);font-size:12px}.sidebar-social{padding:14px 20px;border-top:1px solid rgba(241,245,249,.1)}.sidebar-social-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f1f5f966;margin-bottom:10px}.sidebar-social-link{display:flex;align-items:center;gap:8px;color:#f1f5f9a6;text-decoration:none;font-size:11px;padding:3px 0;transition:color .15s;overflow:hidden}.sidebar-social-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-social-link:hover{color:#f1f5f9}.sidebar-powered{margin-top:auto;padding:14px 20px;border-top:1px solid rgba(241,245,249,.1);font-size:11px;color:#f1f5f966}.sidebar-powered span{font-weight:700;color:#f1f5f9}.dashboard-footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);padding:12px 32px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.dashboard-footer-brand{display:flex;align-items:center;gap:10px}.dashboard-footer-logo{height:28px;max-width:120px;object-fit:contain;opacity:.9}.dashboard-footer-name{font-size:13px;font-weight:600;color:#fffc;letter-spacing:-.1px}.dashboard-footer-tagline{font-size:12px;color:#fff6}.dashboard-footer-powered{font-size:11px;color:#ffffff4d;letter-spacing:.2px}.dashboard-footer-powered span{color:#ffffff8c;font-weight:600}@media(max-width:768px){.teacher-header{padding:0 16px;height:56px}.stat-pill{display:none}.header-right{width:100%;justify-content:flex-end}.header-profile-button{margin-right:auto;align-items:flex-start;max-width:180px}.header-profile-name{font-size:12.5px}.dashboard-sidebar{display:none}.dashboard-main{padding:20px 16px calc(96px + env(safe-area-inset-bottom));overflow-x:hidden}.dashboard-footer{padding:10px 16px}.dashboard-footer-tagline{display:none}.report-stat-cards{grid-template-columns:repeat(2,1fr)}.students-subnav,.report-selector{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.students-subnav::-webkit-scrollbar{display:none}.subnav-btn{white-space:nowrap;flex-shrink:0}.section-header{flex-wrap:wrap;gap:12px}.attendance-table{display:block;width:max-content;max-width:100%;overflow-x:auto}}.report-section{display:flex;flex-direction:column;gap:20px;width:100%}.report-section h2{font-size:1.1rem;font-weight:600;color:var(--charcoal);margin:0}.report-selector{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.report-selector label{font-size:.875rem;font-weight:500;color:var(--gray);white-space:nowrap}.report-selector select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--charcoal);font-size:.875rem;min-width:220px;cursor:pointer}.report-selector select:focus{outline:2px solid var(--teal);border-color:var(--teal)}.report-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%}.report-stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 16px;text-align:center;box-shadow:var(--shadow-sm)}.report-stat-value{font-size:2rem;font-weight:700;color:var(--teal);line-height:1;margin-bottom:6px}.report-stat-label{font-size:.75rem;font-weight:500;color:var(--gray);text-transform:uppercase;letter-spacing:.04em}.report-chart-container{width:100%;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.report-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.report-chart-header h4{font-size:.9rem;font-weight:600;color:var(--charcoal);margin:0}.report-period-btns{display:flex;gap:6px}.report-period-btn{padding:5px 14px;border:1px solid var(--border);border-radius:20px;background:var(--white);color:var(--gray);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.report-period-btn:hover{border-color:var(--teal);color:var(--charcoal)}.report-period-btn.active{background:var(--teal-light);border-color:var(--teal);color:var(--teal);font-weight:600}.attendance-period-filter{display:flex;gap:6px}.period-btn{padding:5px 14px;border:1px solid var(--border);border-radius:20px;background:var(--white);color:var(--gray);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.period-btn:hover{border-color:var(--teal);color:var(--charcoal)}.period-btn.active{background:var(--teal-light);border-color:var(--teal);color:var(--teal);font-weight:600}.attendance-rate-badge{font-size:1.1rem;font-weight:700;padding:10px 16px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-block;box-shadow:var(--shadow-sm)}.attendance-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.attendance-table th{background:var(--cream-dark);color:var(--gray);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}.attendance-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--charcoal)}.attendance-table tr:last-child td{border-bottom:none}.attendance-table tr:hover td{background:var(--cream)}.student-dashboard-container{min-height:100vh;background:var(--navy);color:var(--charcoal);display:flex;flex-direction:row}.student-header,.dashboard-header{background:var(--color-header-bg, var(--white));border-bottom:1px solid var(--border);padding:20px 24px}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.user-info h1{font-size:22px;font-weight:800;margin-bottom:2px;color:var(--charcoal);letter-spacing:-.4px}.user-info h1 span{color:var(--teal)}.user-info p{color:var(--gray);font-size:14px}.header-actions{display:flex;align-items:center;gap:20px}.streak-counter{text-align:center;padding:12px 18px;background:var(--coral-light);border-radius:12px;border:1px solid #F5C9BE}.streak-number{font-size:22px;font-weight:800;color:var(--coral);margin-bottom:2px}.streak-label{font-size:11px;color:var(--coral);text-transform:uppercase;letter-spacing:.5px;font-weight:600;opacity:.8}.logout-button{background:var(--cream);border:1px solid var(--border);color:var(--charcoal);padding:9px 18px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.logout-button:hover{background:var(--cream-dark);border-color:var(--gray)}.student-nav{background:var(--white);border-bottom:1px solid var(--border);padding:0 24px;position:sticky;top:0;z-index:10}.student-nav .nav-content{max-width:1200px;margin:0 auto;display:flex;gap:4px}.student-nav .nav-button{background:none;border:none;color:var(--gray);padding:14px 18px;cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;font-family:inherit}.student-nav .nav-button:hover{color:var(--charcoal)}.student-nav .nav-button.active{color:var(--color-sidebar-active-bg);border-bottom-color:var(--color-sidebar-active-bg)}.next-class-banner{background:var(--teal-light);border:1px solid rgba(15,123,108,.2);border-radius:12px;padding:14px 20px;margin-bottom:24px;display:flex;align-items:center;gap:14px}.next-class-icon{font-size:24px;flex-shrink:0}.next-class-label{font-size:11px;color:var(--teal);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:700}.next-class-banner strong{font-size:15px;color:var(--charcoal)}.student-main{max-width:1200px;margin:0 auto;padding:32px 24px}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:36px}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:22px;display:flex;align-items:center;gap:16px;transition:all .2s}.stat-card:hover{border-color:var(--teal);box-shadow:0 4px 12px #0f7b6c14}.stat-content{flex:1}.stat-icon{font-size:28px}.stat-number{font-size:24px;font-weight:800;color:var(--charcoal);margin-bottom:4px;letter-spacing:-.5px}.stat-label{font-size:13px;color:var(--gray);font-weight:500}.lessons-section{margin-top:36px}.section-header{margin-bottom:20px}.section-header h2{font-size:22px;font-weight:700;margin-bottom:6px;color:var(--charcoal);letter-spacing:-.3px}.section-header p{color:var(--gray);font-size:14px}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.lesson-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:22px;text-decoration:none;color:inherit;transition:all .2s;display:block}.lesson-card:hover{border-color:var(--teal);box-shadow:0 4px 16px #0f7b6c1a;transform:translateY(-2px)}.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.lesson-header h3{font-size:16px;font-weight:700;color:var(--charcoal);margin:0;flex:1;letter-spacing:-.2px}.lesson-date{color:var(--gray);font-size:11px;background:var(--cream);padding:3px 8px;border-radius:4px;margin-left:12px;white-space:nowrap;font-weight:500}.lesson-content{margin-bottom:18px}.lesson-summary{color:var(--gray);font-size:14px;line-height:1.6;margin:0}.lesson-no-summary{color:var(--gray);font-size:13px;font-style:italic;margin:0;opacity:.6}.lesson-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--cream-dark)}.lesson-materials{color:var(--gray);font-size:12px;font-weight:500}.lesson-arrow{color:var(--teal);font-size:16px;font-weight:700}.empty-state{text-align:center;padding:60px 20px;background:var(--white);border:1px solid var(--border);border-radius:12px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:20px;margin-bottom:8px;color:var(--charcoal);font-weight:700}.empty-state p{color:var(--gray);font-size:15px;max-width:400px;margin:0 auto}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);color:var(--charcoal)}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top:3px solid var(--teal);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.student-fin-section{padding:0 0 2rem}.student-fin-loading,.student-fin-empty{text-align:center;padding:3rem;color:var(--gray)}.student-fin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.student-fin-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:1.2rem 1.5rem}.student-fin-card-label{font-size:.72rem;color:var(--gray);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.student-fin-card-value{font-size:1.3rem;font-weight:800;color:var(--charcoal);letter-spacing:-.3px}.student-fin-badge{display:inline-block;padding:.3rem .9rem;border-radius:20px;font-size:.78rem;font-weight:600}.student-fin-badge.ok{background:var(--teal-light);color:var(--teal)}.student-fin-badge.pending{background:#fef5e7;color:#b7791f}.student-fin-badge.overdue{background:var(--coral-light);color:var(--coral)}.student-fin-section-title{font-size:.78rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.07em;margin:1.5rem 0 .75rem}.student-fin-next-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.student-fin-table{width:100%;border-collapse:collapse;font-size:.88rem}.student-fin-table th{text-align:left;color:var(--gray);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:.5rem .75rem;border-bottom:2px solid var(--border)}.student-fin-table td{padding:.65rem .75rem;border-bottom:1px solid var(--cream-dark);color:var(--charcoal)}.student-fin-table tr:last-child td{border-bottom:none}.student-fin-table tr:hover td{background:var(--cream)}.streak-badge{font-size:.9rem;margin-left:.25rem}.notif-bell-wrapper{position:relative}.notif-bell-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--gray);padding:.3rem .5rem;border-radius:8px;position:relative;transition:color .15s,background .15s}.notif-bell-btn:hover{color:var(--charcoal);background:var(--cream)}.notif-badge{position:absolute;top:0;right:0;background:var(--coral);color:var(--white);font-size:.65rem;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;line-height:1}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border:1px solid var(--border);border-radius:12px;width:300px;max-height:400px;overflow-y:auto;z-index:999;box-shadow:0 8px 32px #1c2b2a1a}.notif-dropdown-title{font-size:.78rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.07em;padding:.75rem 1rem .5rem;border-bottom:1px solid var(--border)}.notif-empty{text-align:center;color:var(--gray);font-size:.88rem;padding:1.5rem 1rem;margin:0;opacity:.7}.notif-list{list-style:none;padding:0;margin:0}.notif-item{padding:.75rem 1rem;border-bottom:1px solid var(--cream-dark)}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:var(--teal-light)}.notif-item-title{font-size:.85rem;font-weight:700;color:var(--charcoal);margin-bottom:.2rem}.notif-item-message{font-size:.8rem;color:var(--gray);margin-bottom:.2rem}.notif-item-date{font-size:.72rem;color:var(--gray);opacity:.6}.student-upcoming-list{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1rem 1.3rem;margin-top:1.25rem}.student-upcoming-list h3{font-size:.78rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.07em;margin:0 0 .75rem}.student-upcoming-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--cream-dark);font-size:.9rem}.student-upcoming-item:last-child{border-bottom:none}.upcoming-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0}.student-upcoming-item strong{flex:1;color:var(--charcoal);font-weight:600}.upcoming-time{font-size:.78rem;color:var(--gray)}.student-recent-materials{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1rem 1.3rem;margin-top:1rem}.student-recent-materials h3{font-size:.78rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.07em;margin:0 0 .75rem}.recent-lesson-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--cream);border-radius:8px;margin-bottom:.4rem;text-decoration:none;color:inherit;transition:background .15s,border-color .15s;border:1px solid transparent}.recent-lesson-card:hover{background:var(--teal-light);border-color:#0f7b6c26}.recent-lesson-title{flex:1;font-size:.88rem;color:var(--charcoal);font-weight:500}.recent-lesson-meta{font-size:.75rem;color:var(--gray)}.fin-overdue-alert{display:flex;align-items:center;gap:10px;background:var(--coral-light);border:1px solid #F5C9BE;border-radius:10px;padding:12px 18px;margin-bottom:16px;font-size:14px;color:var(--coral);cursor:pointer;transition:background .15s}.fin-overdue-alert:hover{background:#f5c9be}.next-class-banner--clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s}.next-class-banner--clickable:hover{border-color:#0f7b6c66;box-shadow:0 2px 8px #0f7b6c1a}.stat-card--alert{border-color:#f5c9be!important;background:var(--coral-light)}.stat-card--alert .stat-number{color:var(--coral)}.continue-section{margin-bottom:24px}.continue-section-label{font-size:11px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.continue-card{display:flex;align-items:center;gap:14px;background:var(--teal-light);border:1px solid rgba(15,123,108,.2);border-radius:12px;padding:14px 18px;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s}.continue-card:hover{border-color:var(--teal);box-shadow:0 2px 12px #0f7b6c1f}.continue-card-icon{width:36px;height:36px;background:var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:14px;flex-shrink:0}.continue-card-body{flex:1;min-width:0}.continue-card-title{font-size:15px;font-weight:600;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-card-meta{font-size:12px;color:var(--teal);margin-top:2px}.continue-card-arrow{font-size:18px;color:var(--teal);flex-shrink:0}.lessons-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.lessons-search-input{padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--charcoal);font-size:13px;font-family:inherit;width:200px;transition:border-color .15s,box-shadow .15s}.lessons-search-input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light)}.lessons-search-input::placeholder{color:var(--gray);opacity:.7}.lesson-new-badge{display:inline-block;background:var(--teal);color:var(--white);font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;margin-left:8px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.cal-list-day-label.past{color:var(--gray);opacity:.7}.cal-list-event--past{opacity:.65}.cal-list-event--past:hover{opacity:1}.cal-count-badge{display:inline-flex;align-items:center;justify-content:center;background:#ffffff40;border-radius:999px;font-size:10px;font-weight:700;padding:0 5px;margin-left:5px;min-width:16px;height:16px}.view-toggle-btn.active .cal-count-badge{background:#ffffff59}.streak-counter-pill{display:flex;align-items:center;gap:5px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:5px 13px;font-size:13px;color:#ffffffb3;white-space:nowrap}.streak-counter-pill strong{font-size:14px;font-weight:800;color:var(--white)}.streak-label-small{font-size:11px;color:#ffffff80}.lessons-list{display:flex;flex-direction:column;gap:0;background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden}.lesson-list-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--cream-dark);text-decoration:none;color:inherit;transition:background .12s}.lesson-list-item:last-child{border-bottom:none}.lesson-list-item:hover{background:var(--cream)}.lesson-list-icon{font-size:20px;flex-shrink:0}.lesson-list-body{flex:1;min-width:0}.lesson-list-title{font-size:14px;font-weight:600;color:var(--charcoal);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-list-summary{font-size:12px;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.lesson-list-date{font-size:12px;color:var(--gray);white-space:nowrap}.lesson-list-materials{font-size:11px;color:var(--gray);opacity:.7}.lesson-list-arrow{color:var(--teal);font-size:16px;font-weight:700;flex-shrink:0}.cal-list-day{margin-bottom:24px}.cal-list-day-label{font-size:12px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;padding:0 0 8px;border-bottom:1px solid var(--border);margin-bottom:8px;display:flex;align-items:center;gap:8px}.cal-list-day-label.today{color:var(--teal)}.cal-today-badge{background:var(--teal);color:var(--white);font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.cal-list-event{display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px;background:var(--white);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s,box-shadow .15s}.cal-list-event:hover{border-color:var(--teal);box-shadow:0 2px 8px #0f7b6c14}.cal-list-event-time{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;font-weight:700;color:var(--teal);white-space:nowrap;min-width:70px}.cal-list-event-end{font-size:11px;font-weight:500;color:var(--gray);margin-top:2px}.cal-list-event-body{flex:1;min-width:0}.cal-list-event-subject{font-size:14px;font-weight:600;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-list-event-lesson{font-size:12px;color:var(--gray);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-list-event-arrow{font-size:20px;color:var(--gray);flex-shrink:0}.drawer-overlay{position:fixed;inset:0;background:#1c2b2a66;z-index:500}.drawer{position:fixed;top:0;right:0;height:100vh;width:360px;max-width:92vw;background:var(--white);box-shadow:-4px 0 32px #1c2b2a24;z-index:501;display:flex;flex-direction:column;animation:slideInRight .2s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-header h2{font-size:16px;font-weight:700;color:var(--charcoal);margin:0}.drawer-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--gray);line-height:1;padding:2px 6px;border-radius:6px;transition:background .15s,color .15s}.drawer-close:hover{background:var(--cream);color:var(--charcoal)}.drawer-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.drawer-subject{font-size:18px;font-weight:700;color:var(--charcoal);margin:0 0 4px}.drawer-field{display:flex;flex-direction:column;gap:4px}.drawer-field-label{font-size:11px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.06em}.drawer-field-value{font-size:14px;color:var(--charcoal);line-height:1.5}.drawer-lesson-block{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:8px}.drawer-lesson-empty{font-size:13px;color:var(--gray);font-style:italic;margin:0}.drawer-lesson-title{font-size:15px;font-weight:600;color:var(--charcoal);margin:4px 0 0}.drawer-lesson-summary{font-size:13px;color:var(--gray);line-height:1.5;margin:0}.drawer-materials{margin-top:4px}.drawer-material-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--cream);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--charcoal);font-size:13px;margin-bottom:6px;transition:background .15s,border-color .15s}.drawer-material-item:hover{background:var(--teal-light);border-color:#0f7b6c33}.drawer-material-icon{flex-shrink:0}.drawer-material-item .material-type-badge{min-width:36px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:5px;border:1px solid #e5e7eb;background:#f3f4f6;color:#374151;font-size:10px;font-weight:800;letter-spacing:0;flex-shrink:0;box-sizing:border-box}.drawer-material-item .material-type-badge--pdf,.drawer-material-item .material-type-badge--yt{background:#fee2e2;color:#991b1b;border-color:#fecaca}.drawer-material-item .material-type-badge--png,.drawer-material-item .material-type-badge--jpg,.drawer-material-item .material-type-badge--gif,.drawer-material-item .material-type-badge--bmp,.drawer-material-item .material-type-badge--tif{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.drawer-material-item .material-type-badge--web{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.drawer-material-item .material-type-badge--spot{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.drawer-material-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-lesson-link{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:9px 18px;background:var(--teal);color:var(--white);border-radius:var(--radius-sm);font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;align-self:flex-start}.drawer-lesson-link:hover{background:var(--teal-mid)}.lesson-card-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:0;flex:1;letter-spacing:-.2px}@media(max-width:768px){.header-content{flex-direction:column;gap:20px;text-align:center}.header-actions{flex-direction:column;gap:12px}.stats-section,.lessons-grid{grid-template-columns:1fr}.dashboard-sidebar{display:none}.dashboard-main{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.student-header,.dashboard-header{padding:16px}.student-nav{padding:0 16px}.student-nav .nav-content{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.student-nav .nav-content::-webkit-scrollbar{display:none}.student-nav .nav-button{flex-shrink:0}.student-fin-table{display:block;width:max-content;max-width:100%;overflow-x:auto}}@media(max-width:768px){.drawer-overlay{z-index:950}.drawer{z-index:951;padding-bottom:env(safe-area-inset-bottom)}}.workout-drawer-overlay{position:fixed;inset:0;background:#00000059;z-index:1000;display:flex;justify-content:flex-end}.workout-drawer{width:52%;min-width:480px;max-width:800px;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #00000026;animation:slideInRight .25s ease;overflow:hidden}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.workout-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb);flex-shrink:0;background:#f9fafb}.workout-drawer-title{display:flex;align-items:center;gap:12px}.workout-icon{font-size:1.5rem}.workout-drawer-title h2{margin:0;font-size:1.1rem;font-weight:700;color:#111827}.workout-material-name{margin:2px 0 0;font-size:.8rem;color:#6b7280;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-beta-banner{background:#fef9c3;border-bottom:1px solid #fde047;color:#713f12;font-size:13px;font-weight:500;padding:8px 20px;flex-shrink:0}.workout-drawer-header-actions{display:flex;align-items:center;gap:10px}.workout-drawer-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.workout-loading,.workout-empty{text-align:center;color:#6b7280;padding:40px 0;font-size:.95rem}.workout-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.workout-tags-label{font-size:.78rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.workout-tag{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:500}.mode-grid-section{display:flex;flex-direction:column;gap:10px}.mode-grid-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0}.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mode-card{border:1.5px solid #e5e7eb;border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;background:#fff;-webkit-user-select:none;user-select:none}.mode-card:hover{border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}.mode-card--active{border-color:#6366f1;background:#f5f3ff}.mode-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.mode-name{font-size:.88rem;font-weight:600;color:#111827}.mode-toggle{width:32px;height:18px;border-radius:9px;background:#d1d5db;position:relative;transition:background .2s;flex-shrink:0}.mode-toggle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s}.mode-toggle--on{background:#6366f1}.mode-toggle--on:after{transform:translate(14px)}.mode-desc{font-size:.77rem;color:#6b7280;margin:0;line-height:1.4}.block-list{display:flex;flex-direction:column;gap:12px}.block-list-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0}.block-card{border:1.5px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.block-card--approved{border-color:#bbf7d0;background:#f0fdf4}.block-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.block-card-title{display:flex;align-items:center;gap:8px}.block-mode-name{font-size:.9rem;font-weight:600;color:#111827}.block-chevron{color:#6b7280;font-size:.75rem}.block-card-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px;border-top:1px solid #f3f4f6}.block-generating{display:flex;align-items:center;gap:8px;color:#6366f1;font-size:.85rem;padding:8px 0}.block-error{background:#fef2f2;color:#dc2626;border-radius:6px;padding:8px 12px;font-size:.85rem}.exercise-list{display:flex;flex-direction:column;gap:8px}.exercise-card{border:1px solid #f3f4f6;border-radius:8px;padding:10px 12px;background:#fafafa}.exercise-card--editing{background:#fff;border-color:#6366f1}.exercise-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.exercise-order{min-width:22px;height:22px;background:#6366f1;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.exercise-title{font-size:.85rem;font-weight:600;color:#111827;flex:1}.exercise-instruction{font-size:.83rem;color:#374151;margin:0 0 6px;line-height:1.45}.exercise-answer{font-size:.8rem;color:#6b7280;background:#eff6ff;border-radius:5px;padding:5px 8px}.exercise-answer-label{font-weight:600;margin-right:4px}.exercise-edit-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.exercise-edit-field label{font-size:.78rem;font-weight:600;color:#374151}.exercise-edit-field input,.exercise-edit-field textarea{border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-size:.83rem;font-family:inherit;resize:vertical}.exercise-edit-actions{display:flex;gap:8px}.block-instruction-section{display:flex;flex-direction:column;gap:6px}.block-instruction-label{font-size:.8rem;font-weight:600;color:#374151}.block-instruction-input{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font-size:.83rem;font-family:inherit;resize:vertical;box-sizing:border-box}.block-prompt-text{white-space:pre-wrap;font-size:.75rem;color:#6b7280;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:10px;max-height:200px;overflow-y:auto;font-family:Courier New,monospace}.block-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workout-danger-zone{border-top:1px solid #f3f4f6;padding-top:12px;margin-top:4px}.delete-confirm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#374151}.workout-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.badge-pending{background:#fef3c7;color:#92400e}.badge-processing{background:#ede9fe;color:#5b21b6}.badge-completed{background:#d1fae5;color:#065f46}.badge-failed{background:#fee2e2;color:#991b1b}.badge-approved{background:#d1fae5;color:#065f46;font-size:.78rem;font-weight:600}.badge-published{background:#d1fae5;color:#065f46;font-size:.85rem;font-weight:600;padding:4px 12px;border-radius:10px}.btn-activate-workout{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;cursor:pointer;margin-top:12px}.btn-publish{background:#16a34a;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-publish:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.btn-close-drawer{background:transparent;border:none;font-size:1.1rem;cursor:pointer;color:#6b7280;padding:4px 8px;border-radius:6px}.btn-close-drawer:hover{background:#f3f4f6}.btn-approve{background:#16a34a;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer}.btn-reprocess{background:#6366f1;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer}.btn-delete-block,.btn-delete-workout{background:transparent;color:#dc2626;border:1.5px solid #fca5a5;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer}.btn-save{background:#6366f1;color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.btn-cancel{background:#f3f4f6;color:#374151;border:none;border-radius:6px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.btn-confirm-delete{background:#dc2626;color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.btn-cancel-delete{background:#f3f4f6;color:#374151;border:none;border-radius:6px;padding:5px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.btn-text{background:transparent;border:none;color:#6366f1;font-size:.8rem;font-weight:600;cursor:pointer;padding:0;text-align:left}.btn-icon{background:transparent;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;font-size:.85rem}.btn-icon:hover{background:#f3f4f6}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .7s linear infinite}@media(max-width:768px){.workout-drawer{width:100%;min-width:unset}.mode-grid{grid-template-columns:1fr}}.edit-lesson-modal{display:flex;flex-direction:column;gap:0}.form-section{padding:20px 0}.form-section h4{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);margin:0 0 12px}.edit-lesson-modal hr{border:none;border-top:1px solid var(--border);margin:0}.summary-text{font-size:.9rem;color:var(--charcoal);line-height:1.6;margin:0;background:var(--cream);border-radius:8px;padding:12px 14px;border:1px solid var(--border)}.markdown-body{background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.markdown-heading{margin:0;font-size:.82rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.04em}.markdown-p{margin:0;font-size:.88rem;color:var(--charcoal);line-height:1.65}.markdown-p strong{color:var(--charcoal);font-weight:700}.markdown-spacer{height:4px}.summary-status{display:flex;align-items:flex-start;gap:12px;border-radius:8px;padding:14px 16px;border:1px solid var(--border)}.summary-status strong{display:block;font-size:.88rem;margin-bottom:2px}.summary-status p{margin:0;font-size:.82rem;line-height:1.5;opacity:.75}.summary-status-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}.summary-status--loading{background:var(--teal-light);border-color:#0f7b6c33;color:var(--teal)}.summary-status--pending{background:var(--cream);border-color:var(--border);color:var(--gray)}.summary-status--error{background:#fff5f5;border-color:#fecaca;color:var(--coral)}.summary-spinner{flex-shrink:0;display:inline-block;width:18px;height:18px;border:2px solid rgba(15,123,108,.25);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;margin-top:2px}.processing-indicator{display:flex;align-items:center;gap:10px;padding:1rem;background-color:var(--teal-light);border:1px solid rgba(15,123,108,.2);border-radius:8px;margin:1rem 0;color:var(--teal);font-size:.9rem;font-weight:500}.spinner{width:18px;height:18px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.upload-form-row{display:flex;gap:10px;align-items:center}.material-mode-tabs{display:flex;gap:8px;margin-bottom:10px}.material-mode-tab{border:1px solid var(--border);background:var(--cream);color:var(--charcoal);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.material-mode-tab.active{border-color:var(--teal);background:var(--teal-light);color:var(--teal)}.link-material-fields{display:flex;flex-direction:column;gap:8px;flex:1}.link-material-fields input{width:100%;box-sizing:border-box}.ai-practice-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--cream);font-size:13px;font-weight:600;color:var(--charcoal);cursor:pointer;font-family:inherit;text-align:left}.ai-practice-toggle.active{border-color:#0f7b6c59;background:var(--teal-light)}.ai-practice-toggle span:first-child{min-width:0;line-height:1.35}.upload-form-row input[type=file]{flex:1}.upload-form-row button{flex-shrink:0}.duplicate-checking{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--gray)}.duplicate-checking-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.duplicate-warning{margin-top:12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:14px 16px}.duplicate-warning-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.duplicate-warning-header strong{font-size:14px;color:#92400e}.duplicate-warning-desc{font-size:13px;color:#78350f;margin:0 0 8px}.duplicate-warning-summary{font-size:12px;color:#6b7280;background:#fff9;border-radius:6px;padding:8px 10px;margin:0 0 12px;line-height:1.5}.duplicate-summary-label{font-weight:600;color:var(--teal)}.duplicate-warning-actions{display:flex;gap:8px;flex-wrap:wrap}.materials-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.material-card{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:.7rem 1rem;transition:border-color .15s}.material-card-main{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0}.material-card:hover{border-color:var(--teal)}.material-type-badge{min-width:36px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:5px;border:1px solid #e5e7eb;background:#f3f4f6;color:#374151;font-size:10px;font-weight:800;letter-spacing:0;flex-shrink:0;box-sizing:border-box}.material-type-badge--pdf,.material-type-badge--yt{background:#fee2e2;color:#991b1b;border-color:#fecaca}.material-type-badge--png,.material-type-badge--jpg,.material-type-badge--gif,.material-type-badge--bmp,.material-type-badge--tif{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.material-type-badge--web{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.material-type-badge--spot{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.material-card-left{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0}.material-card-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.material-card-name{font-size:.88rem;color:var(--charcoal);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-summary-btn{background:none;border:none;padding:0;color:var(--teal);font-size:.75rem;cursor:pointer;text-align:left;transition:opacity .15s;font-family:inherit}.material-summary-btn:hover{opacity:.75;text-decoration:underline}.material-summary-expanded{margin-top:10px;padding:10px 12px;background:var(--teal-light, #f0faf8);border-left:3px solid var(--teal);border-radius:0 6px 6px 0;font-size:.83rem;color:var(--charcoal);line-height:1.6;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.material-teacher-prompt-section{margin-top:10px;padding:10px 12px;background:#fafafa;border-left:3px solid var(--color-primary, #0f7b6c);border-radius:0 6px 6px 0}.material-teacher-prompt-label{display:block;font-size:.75rem;font-weight:600;color:var(--charcoal);margin-bottom:4px}.material-teacher-prompt-input{width:100%;box-sizing:border-box;font-size:.82rem;font-family:inherit;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;resize:vertical;color:var(--charcoal);background:#fff}.material-teacher-prompt-input:focus{outline:none;border-color:var(--color-primary, #0f7b6c);box-shadow:0 0 0 2px #0f7b6c1f}.material-status-badge{font-size:.72rem;padding:.15rem .5rem;border-radius:20px;width:fit-content;font-weight:600}.material-status-badge.processing{background:#f0a8301f;color:var(--amber)}.material-status-badge.failed{background:var(--coral-light);color:var(--coral)}.material-card-actions{display:flex;flex-direction:row;align-items:center;gap:.4rem;flex-shrink:0}.material-icon-btn{background:var(--white);border:1px solid var(--border);border-radius:6px;color:var(--gray);width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;transition:all .15s;padding:0}.material-icon-btn:hover{background:var(--cream-dark);color:var(--charcoal);border-color:var(--gray)}.material-icon-btn.danger{color:var(--coral);border-color:#f5c9be}.material-icon-btn.danger:hover{background:var(--coral-light);border-color:var(--coral)}.practice-toggle-wrap{display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:3px 6px;border-radius:8px;transition:background .15s}.practice-toggle-wrap:hover{background:var(--cream-dark)}.practice-toggle-ai-icon{width:16px;height:16px;color:var(--gray);flex-shrink:0}.practice-toggle-label{font-size:11.5px;font-weight:500;color:var(--charcoal);white-space:nowrap}.ios-toggle{width:42px;height:24px;border-radius:12px;position:relative;flex-shrink:0;transition:background .25s}.ios-toggle.on{background:#34c759}.ios-toggle.off{background:#78788047}.ios-toggle-thumb{position:absolute;top:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #00000047;transition:left .25s cubic-bezier(.4,0,.2,1)}.ios-toggle.on .ios-toggle-thumb{left:20px}.ios-toggle.off .ios-toggle-thumb{left:2px}@media(max-width:600px){.upload-form-row{flex-direction:column;align-items:stretch}.material-card{gap:.5rem}.material-card-main{align-items:stretch;flex-direction:column}.material-card-actions{width:100%}.material-icon-btn,.practice-toggle-wrap{width:100%;min-height:34px}.practice-toggle-wrap{justify-content:space-between;padding:5px 8px;background:var(--white);border:1px solid var(--border)}}.workout-toggle-btn{background:transparent;color:#6b7280;border:1.5px solid #d1d5db;border-radius:6px;padding:3px 8px;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.workout-toggle-btn:hover{background:#f5f3ff;border-color:#6366f1}.workout-toggle-btn--active{background:#f0fdf4;border-color:#16a34a}.sp-overlay{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;justify-content:flex-end}.sp-drawer{width:480px;max-width:100vw;height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden;animation:sp-slide-in .22s ease}@keyframes sp-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.sp-header{display:flex;align-items:center;gap:14px;padding:20px 24px;background:var(--color-sidebar-bg, #1e3a5f);flex-shrink:0}.sp-avatar{width:48px;height:48px;border-radius:50%;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0;text-transform:uppercase}.sp-header-info{flex:1;min-width:0}.sp-name{font-size:17px;font-weight:700;color:#fff;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-email{font-size:12px;color:#ffffffa6}.sp-close{background:#ffffff26;border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.sp-close:hover{background:#ffffff4d}.sp-body{flex:1;overflow-y:auto;padding:0 24px 32px}.sp-loading,.sp-error{padding:32px 24px;text-align:center;color:#6b7280;font-size:14px}.sp-error{color:#dc2626}.sp-section{padding:20px 0;border-bottom:1px solid #f0f0f0}.sp-section:last-child{border-bottom:none}.sp-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin:0 0 14px}.sp-info-grid{display:flex;flex-direction:column;gap:8px}.sp-info-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.sp-info-label{color:#6b7280}.sp-info-value{font-weight:600;color:#1f2937}.sp-field{margin-bottom:14px}.sp-label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}.sp-input{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s}.sp-input:focus{border-color:var(--color-primary, #0f7b6c)}.sp-textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;outline:none;box-sizing:border-box;line-height:1.5;transition:border-color .15s}.sp-textarea:focus{border-color:var(--color-primary, #0f7b6c)}.sp-level-selector{display:flex;gap:6px;flex-wrap:wrap}.sp-level-btn{padding:5px 14px;border-radius:20px;border:1.5px solid #e5e7eb;background:#f9fafb;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;color:#374151}.sp-level-btn:hover{border-color:var(--color-primary, #0f7b6c);color:var(--color-primary, #0f7b6c)}.sp-level-btn.active{background:var(--color-primary, #0f7b6c);border-color:var(--color-primary, #0f7b6c);color:#fff}.sp-save-row{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px}.sp-saved-msg{font-size:13px;color:#10b981;font-weight:600}.sp-save-btn{background:var(--color-primary, #0f7b6c);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.sp-save-btn:hover{opacity:.85}.sp-save-btn:disabled{opacity:.5;cursor:not-allowed}.sp-skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sp-skill-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.sp-skill-icon{font-size:20px}.sp-skill-name{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.sp-skill-count{font-size:18px;font-weight:700;color:#1f2937}.sp-skill-count small{font-size:10px;font-weight:400;color:#9ca3af}.sp-lessons-list{display:flex;flex-direction:column;gap:8px}.sp-lesson-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.sp-lesson-title{font-size:13px;font-weight:600;color:#1f2937;margin-bottom:6px}.sp-materials{display:flex;flex-wrap:wrap;gap:6px}.sp-material-tag{font-size:11px;background:#e5e7eb;color:#374151;border-radius:20px;padding:3px 10px 3px 4px;display:inline-flex;align-items:center;gap:6px}.sp-material-badge{min-width:34px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:5px;border:1px solid #d1d5db;background:#f3f4f6;color:#374151;font-size:9px;font-weight:800;letter-spacing:0;box-sizing:border-box}.sp-material-badge--pdf,.sp-material-badge--yt{background:#fee2e2;color:#991b1b;border-color:#fecaca}.sp-material-badge--png,.sp-material-badge--jpg,.sp-material-badge--gif,.sp-material-badge--bmp,.sp-material-badge--tif{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.sp-material-badge--web{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.sp-material-badge--spot{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.sp-events-list{display:flex;flex-direction:column;gap:6px}.sp-event-item{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.sp-event-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;background:#f9fafb;transition:background .15s}.sp-event-row:hover{background:#f3f4f6}.sp-event-left{display:flex;align-items:center;gap:10px}.sp-event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sp-event-dot.occurred{background:#10b981}.sp-event-dot.missed{background:#ef4444}.sp-event-dot.pending{background:#d1d5db}.sp-event-subject{font-size:13px;font-weight:600;color:#1f2937}.sp-event-date{font-size:11px;color:#9ca3af;margin-top:1px}.sp-event-lesson{font-size:11px;color:#6b7280;margin-top:3px}.sp-event-expand{font-size:11px;color:#9ca3af}.sp-event-notes{padding:10px 12px;background:#fff;border-top:1px solid #e5e7eb}.sp-notes-block{margin-bottom:10px}.sp-notes-block:last-child{margin-bottom:0}.sp-notes-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:4px}.sp-notes-block p{font-size:13px;color:#374151;line-height:1.6;margin:0;white-space:pre-wrap}.sp-notes-block--private .sp-notes-label{color:#6366f1}.sp-notes-block--private p{color:#4338ca;background:#eef2ff;border-radius:6px;padding:6px 10px}.lessons-tab-bar{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0}.lessons-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--gray);padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .15s,border-color .15s;margin-bottom:-1px;font-family:inherit}.lessons-tab:hover{color:var(--charcoal)}.lessons-tab.active{color:var(--teal);border-bottom-color:var(--teal)}.tab-count{background:var(--cream-dark);color:var(--gray);font-size:11px;padding:1px 7px;border-radius:10px;font-weight:600}.lessons-tab.active .tab-count{background:var(--teal-light);color:var(--teal)}.lessons-all-list{display:flex;flex-direction:column;gap:8px}.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:14px 16px;transition:all .15s}.lesson-row:hover{border-color:var(--teal);box-shadow:0 2px 8px #0f7b6c14}.lesson-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lesson-row-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lesson-row-title{font-size:15px;color:var(--charcoal);font-weight:600}.lesson-type-badge{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600}.lesson-type-badge.student{background:var(--teal-light);color:var(--teal);border:1px solid rgba(15,123,108,.2)}.lesson-type-badge.group{background:#f0a8301a;color:var(--amber);border:1px solid rgba(240,168,48,.25)}.lesson-row-meta{font-size:12px;color:var(--gray);display:flex;gap:4px;align-items:center;flex-wrap:wrap}.lesson-row-date{font-size:12px;color:var(--gray);opacity:.7}.lesson-row-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.btn-sm{padding:6px 14px;font-size:13px;flex-shrink:0}.lessons-accordion{display:flex;flex-direction:column;gap:8px}.accordion-item{border:1px solid var(--border);border-radius:10px;overflow:hidden}.accordion-header{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;background:var(--white);transition:background .15s;-webkit-user-select:none;user-select:none}.accordion-header:hover{background:var(--cream)}.accordion-header.open{background:var(--teal-light);border-bottom:1px solid rgba(15,123,108,.15)}.accordion-header>span:first-child{flex:1;font-size:14px;font-weight:600;color:var(--charcoal)}.accordion-count{font-size:12px;color:var(--gray);background:var(--cream-dark);padding:2px 8px;border-radius:20px;font-weight:600}.accordion-chevron{font-size:11px;color:var(--gray);transition:color .15s}.accordion-header.open .accordion-chevron{color:var(--teal)}.accordion-body{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--cream)}.accordion-body .lesson-row{background:var(--white)}.empty-msg{color:var(--gray);font-size:14px;padding:24px;text-align:center;opacity:.7}.overview-container{width:100%;max-width:1100px;margin-left:0;margin-right:auto;min-width:0;overflow-x:hidden}.overview-page-title{font-size:22px;font-weight:700;color:var(--charcoal);letter-spacing:-.3px;margin-bottom:4px;line-height:1.2}.overview-page-subtitle{font-size:13px;color:var(--gray);margin-bottom:28px}.overview-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.ov-stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:14px;transition:box-shadow .15s;min-width:0}.ov-stat-card:hover{box-shadow:var(--shadow-md)}.ov-stat-badge--blue{color:#2563eb;background:#dbeafe}.ov-stat-badge--green{color:#059669;background:#d1fae5}.ov-stat-skeleton{display:block;width:60px;height:32px;border-radius:6px;background:linear-gradient(90deg,var(--cream-dark) 25%,#e8e8e8 50%,var(--cream-dark) 75%);background-size:400px 100%;animation:ov-shimmer 1.4s infinite linear;margin-bottom:4px}.ov-stat-info{flex:1;min-width:0}.ov-stat-number{font-size:28px;font-weight:700;color:var(--charcoal);line-height:1;letter-spacing:-.5px}.ov-stat-number--sm{font-size:20px}.ov-stat-label{font-size:11px;color:var(--gray);margin-top:5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ov-stat-badge{margin-top:6px;display:inline-block;font-size:11px;font-weight:600;color:var(--teal);background:var(--teal-light);border-radius:999px;padding:2px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-storage-bar-wrap{margin-top:8px;background:var(--cream-dark);border-radius:999px;height:4px;width:100%}.ov-storage-bar-fill{height:4px;border-radius:999px;background:var(--teal-mid);min-width:2px;transition:width .4s ease}.ov-storage-caption{font-size:11px;color:var(--gray);margin-top:5px}.overview-bottom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.ov-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}.ov-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray);margin-bottom:14px}.ov-card-empty{font-size:13px;color:var(--gray);opacity:.7;text-align:center;padding:12px 0}.ov-card-divider{height:1px;background:var(--cream-dark);margin:14px 0 0}.ov-next-class{padding:12px 14px;background:var(--teal-light);border-radius:var(--radius-sm);border-left:3px solid var(--teal)}.ov-next-class-time{font-size:12px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.ov-next-class-subject{font-size:15px;font-weight:700;color:var(--charcoal);margin-bottom:6px;overflow-wrap:anywhere}.ov-lesson-item{padding:10px 0;border-bottom:1px solid var(--cream-dark)}.ov-lesson-item:last-child{border-bottom:none;padding-bottom:0}.ov-lesson-name{font-size:14px;font-weight:600;color:var(--charcoal);overflow-wrap:anywhere}.ov-lesson-meta{font-size:12px;color:var(--gray);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ov-lesson-tag{background:var(--teal-light);color:var(--teal);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.ov-student-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--cream-dark)}.ov-student-item:last-child{border-bottom:none}.ov-student-avatar{width:32px;height:32px;border-radius:50%;background:var(--cream-dark);color:var(--gray);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ov-student-info{flex:1;min-width:0}.ov-student-name{font-size:13px;font-weight:600;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-student-since{font-size:11px;color:var(--gray);margin-top:1px}.ov-student-badge{margin-left:auto;font-size:11px;font-weight:600;background:var(--amber-light);color:var(--amber);border-radius:999px;padding:2px 8px;flex-shrink:0;max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-student-badge--never{background:var(--coral-light);color:var(--coral)}.ov-streak-badge{font-size:11px;font-weight:600;color:var(--coral);flex-shrink:0}.ov-invoice-alert{background:var(--coral-light);border:1px solid #F5C9BE;border-radius:var(--radius-sm);padding:10px 12px;display:flex;align-items:center;gap:10px}.ov-invoice-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);flex-shrink:0}.ov-invoice-text{font-size:13px;font-weight:600;color:var(--coral)}.ov-tagline-strip{background:var(--teal);border-radius:var(--radius-md);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm)}.ov-tagline-strip p{font-size:13px;color:#ffffffbf;margin-bottom:3px}.ov-tagline-strip h3{font-size:17px;font-weight:700;color:var(--white);letter-spacing:-.2px}@keyframes ov-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ov-skeleton-list{display:flex;flex-direction:column;gap:0}.ov-skeleton-item{padding:10px 0;border-bottom:1px solid var(--cream-dark)}.ov-skeleton-item:last-child{border-bottom:none}.ov-skeleton-item--row{display:flex;align-items:center;gap:10px}.ov-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:6px}.ov-skeleton-line,.ov-skeleton-avatar,.ov-skeleton-badge,.ov-skeleton-invoice{background:linear-gradient(90deg,var(--cream-dark) 25%,#e8e8e8 50%,var(--cream-dark) 75%);background-size:800px 100%;animation:ov-shimmer 1.4s infinite linear;border-radius:4px}.ov-skeleton-line{height:12px}.ov-skeleton-line--wide{width:70%}.ov-skeleton-line--narrow{width:45%;margin-top:4px}.ov-skeleton-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.ov-skeleton-badge{width:36px;height:20px;border-radius:999px;flex-shrink:0}.ov-skeleton-invoice{height:42px;border-radius:var(--radius-sm);width:100%}@media(max-width:1200px){.overview-stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.overview-stats-grid{grid-template-columns:repeat(2,1fr)}.overview-bottom-grid{grid-template-columns:1fr}}@media(max-width:640px){.overview-stats-grid{grid-template-columns:1fr}.overview-page-title,.overview-page-subtitle{display:none}.overview-bottom-grid{gap:12px}.ov-card{padding:16px 14px}.ov-student-item{align-items:flex-start}.ov-student-name,.ov-student-since{white-space:normal;overflow-wrap:anywhere}.ov-student-badge,.ov-streak-badge{display:none}}.fin-container{max-width:1100px;width:100%;min-width:0;overflow-x:hidden}.fin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.fin-page-title{font-size:22px;font-weight:700;color:var(--charcoal);letter-spacing:-.3px;line-height:1.2}.fin-page-sub{font-size:13px;color:var(--gray);margin-top:3px}.fin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.fin-kpi-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-sm);transition:box-shadow .15s;min-width:0;overflow:hidden}.fin-kpi-card:hover{box-shadow:var(--shadow-md)}.fin-kpi-card--teal{background:var(--teal-light);border-color:#0f7b6c33}.fin-kpi-card--teal .fin-kpi-value{color:var(--teal)}.fin-kpi-card--red{background:#fff5f5;border-color:#fca5a5}.fin-kpi-card--red .fin-kpi-value{color:var(--coral)}.fin-kpi-card--amber{background:#fffbeb;border-color:#fcd34d}.fin-kpi-card--amber .fin-kpi-value{color:#d97706}.fin-kpi-value{font-size:24px;font-weight:700;color:var(--charcoal);letter-spacing:-.5px;line-height:1.1;margin-bottom:4px;overflow-wrap:anywhere}.fin-kpi-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray)}.fin-kpi-sub{font-size:11px;color:var(--gray);margin-top:3px;opacity:.8}.fin-kpi-skeleton{display:block;width:80px;height:28px;border-radius:6px;background:linear-gradient(90deg,var(--cream-dark) 25%,#e8e8e8 50%,var(--cream-dark) 75%);background-size:400px 100%;animation:fin-shimmer 1.4s infinite linear;margin-bottom:8px}@keyframes fin-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.fin-chart-collapsible{margin-bottom:20px}.fin-chart-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--charcoal);cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit;text-align:left}.fin-chart-toggle:hover{background:var(--cream);border-color:var(--teal)}.fin-chart-toggle-icon{font-size:16px;color:var(--gray);transition:transform .2s;display:inline-block}.fin-chart-toggle-icon--open{transform:rotate(180deg)}.fin-chart-collapsible--open .fin-chart-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.fin-chart-collapsible--open .fin-chart-wrap{border-top-left-radius:0;border-top-right-radius:0;border-top:none;margin-bottom:0}.fin-chart-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;box-shadow:var(--shadow-sm);margin-bottom:20px}.fin-chart-skeleton{height:260px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--cream-dark) 25%,#e8e8e8 50%,var(--cream-dark) 75%);background-size:800px 100%;animation:fin-shimmer 1.4s infinite linear;margin-bottom:20px}.fin-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray);margin-bottom:16px}.fin-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.fin-chart-nav{display:flex;align-items:center;gap:8px}.fin-chart-nav-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--white);color:var(--charcoal);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1}.fin-chart-nav-btn:hover:not(:disabled){background:var(--cream)}.fin-chart-nav-btn:disabled{opacity:.35;cursor:default}.fin-chart-nav-label{font-size:12px;font-weight:600;color:var(--gray);min-width:120px;text-align:center}.fin-main-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}.fin-main-tab{padding:10px 20px;font-size:14px;font-weight:500;color:var(--gray);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s}.fin-main-tab:hover{color:var(--charcoal)}.fin-main-tab--active{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}.fin-filters{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.fin-filter-select{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--charcoal);background:var(--white);cursor:pointer}.fin-status-tabs{display:flex;gap:4px;background:var(--cream);border-radius:var(--radius-sm);padding:3px}.fin-status-tab{height:30px;padding:0 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;color:var(--gray);background:transparent;cursor:pointer;transition:background .15s,color .15s}.fin-status-tab--active{background:var(--white);color:var(--charcoal);box-shadow:0 1px 3px #0000001a}.fin-status-tab--overdue.fin-status-tab--active{color:var(--coral)}.fin-status-tab--paid.fin-status-tab--active{color:var(--teal)}.fin-search{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--charcoal);background:var(--white);min-width:180px;margin-left:auto}.fin-search:focus{outline:none;border-color:var(--teal)}.fin-table-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;min-width:0}.fin-table-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr 1fr;padding:10px 20px;background:var(--cream);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray)}.fin-table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr 1fr;align-items:center;padding:12px 20px;border-bottom:1px solid var(--cream-dark);transition:background .1s;min-width:0}.fin-table-row:last-child{border-bottom:none}.fin-table-row:hover{background:var(--cream)}.fin-table-row--overdue{background:#fff5f5}.fin-table-row--overdue:hover{background:#fee2e2}.fin-table-row--skeleton{pointer-events:none}.fin-table-student{display:flex;align-items:center;gap:10px;min-width:0}.fin-table-avatar{width:32px;height:32px;border-radius:50%;background:var(--teal-light);color:var(--teal);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fin-table-student-name{font-size:13px;font-weight:600;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-table-teacher{font-size:12px;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-table-amount{font-size:13px;font-weight:600;color:var(--charcoal)}.fin-table-due{font-size:12px;color:var(--gray)}.fin-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s;white-space:nowrap}.fin-th-sort:hover{color:var(--charcoal)}.fin-th-sort--active{color:var(--teal)}.fin-sort-icon{font-size:10px;opacity:.6}.fin-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:999px;padding:2px 10px}.fin-status-icon{font-size:7px;line-height:1}.fin-badge--paid{background:#d1fae5;color:#059669}.fin-badge--pending{background:#fef3c7;color:#d97706}.fin-badge--overdue{background:var(--coral-light);color:var(--coral)}.fin-badge--completed{background:#e5e7eb;color:#6b7280}.fin-detail-btn{font-size:12px;font-weight:600;color:var(--teal);background:none;border:none;cursor:pointer;padding:4px 0;white-space:nowrap}.fin-detail-btn:hover{text-decoration:underline}.fin-skel{display:block;height:12px;border-radius:4px;background:linear-gradient(90deg,var(--cream-dark) 25%,#e8e8e8 50%,var(--cream-dark) 75%);background-size:800px 100%;animation:fin-shimmer 1.4s infinite linear}.fin-skel--name{width:70%}.fin-skel--sm{width:55%}.fin-skel--badge{width:60px;height:20px;border-radius:999px}.fin-skel--btn{width:80px;height:20px;border-radius:6px}.fin-empty-state{padding:40px 20px;text-align:center;font-size:13px;color:var(--gray);opacity:.7}.fin-drawer-overlay{position:fixed;inset:0;background:#00000059;z-index:1200;display:flex;justify-content:flex-end}.fin-drawer{width:440px;max-width:100vw;height:100%;background:var(--white);box-shadow:-4px 0 24px #0000001f;display:flex;flex-direction:column;overflow-y:auto;animation:fin-slide-in .22s ease;max-width:min(440px,100vw)}@keyframes fin-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.fin-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.fin-drawer-title{font-size:17px;font-weight:700;color:var(--charcoal)}.fin-drawer-sub{font-size:12px;color:var(--gray);margin-top:2px}.fin-drawer-close{background:none;border:none;font-size:16px;color:var(--gray);cursor:pointer;padding:4px;line-height:1}.fin-drawer-loading{padding:40px;text-align:center;font-size:13px;color:var(--gray)}.fin-drawer-section{padding:20px 24px;border-bottom:1px solid var(--cream-dark)}.fin-drawer-section:last-child{border-bottom:none}.fin-drawer-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gray);margin-bottom:14px}.fin-config-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.fin-config-field{display:flex;flex-direction:column;gap:5px}.fin-config-field label{font-size:11px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.4px}.fin-config-field input{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--charcoal);width:130px}.fin-config-field input:focus{outline:none;border-color:var(--teal)}.fin-save-btn{height:36px;padding:0 16px;background:var(--teal);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.fin-save-btn:disabled{opacity:.6;cursor:not-allowed}.fin-history-list{display:flex;flex-direction:column;gap:8px}.fin-history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--white)}.fin-history-item--overdue{background:#fff5f5;border-color:#fca5a5}.fin-history-item--paid{background:#f0fdf4;border-color:#a7f3d0}.fin-history-left{display:flex;flex-direction:column;gap:3px}.fin-history-date{font-size:12px;color:var(--gray);margin-top:4px}.fin-history-paid-date{font-size:11px;color:#059669}.fin-history-note{font-size:11px;color:var(--gray);font-style:italic}.fin-history-right{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}.fin-history-amount{font-size:15px;font-weight:700;color:var(--charcoal)}.fin-mark-paid-btn{font-size:11px;font-weight:600;color:var(--teal);background:var(--teal-light);border:none;border-radius:999px;padding:3px 10px;cursor:pointer;transition:opacity .15s}.fin-mark-paid-btn:disabled{opacity:.5;cursor:not-allowed}.fin-unmark-paid-btn{font-size:11px;font-weight:600;color:var(--gray);background:var(--cream-dark);border:1px solid var(--border);border-radius:999px;padding:3px 10px;cursor:pointer;transition:opacity .15s;white-space:nowrap}.fin-unmark-paid-btn:hover{opacity:.75}.fin-unmark-paid-btn:disabled{opacity:.5;cursor:not-allowed}.fin-delete-payment-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;opacity:.55;transition:opacity .15s,background .15s;line-height:1}.fin-delete-payment-btn:hover{opacity:1;background:#fee2e2}.fin-delete-payment-btn:disabled{opacity:.3;cursor:not-allowed}.fin-confirm-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1300}.fin-confirm-box{background:#fff;border-radius:12px;padding:24px 20px 18px;width:300px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;gap:10px}.fin-confirm-title{font-size:15px;font-weight:700;color:#111827}.fin-confirm-desc{font-size:13px;color:#4b5563;line-height:1.5}.fin-confirm-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.fin-confirm-btn{width:100%;padding:9px 12px;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .15s;text-align:center}.fin-confirm-btn:hover{background:#f3f4f6}.fin-confirm-btn--primary{background:#6366f1;color:#fff;border-color:#6366f1}.fin-confirm-btn--primary:hover{background:#4f46e5}.fin-confirm-btn--cancel{color:#9ca3af;border-color:transparent;background:transparent;font-size:12px}.fin-confirm-btn--cancel:hover{background:#f3f4f6;color:#6b7280}.fin-empty{font-size:13px;color:var(--gray);text-align:center;padding:16px 0}.fin-table-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.fin-inline-paid-btn{font-size:13px;color:#22c55e;opacity:.35;background:none;border:none;padding:2px 4px;cursor:pointer;transition:opacity .15s;line-height:1}.fin-inline-paid-btn:hover{opacity:.75}.fin-inline-paid-btn:disabled{opacity:.2;cursor:not-allowed}.fin-quick-actions{display:flex;flex-direction:column;gap:10px}.fin-quick-action-card{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.fin-quick-action-card--danger{background:#fff5f5;border-color:#fecaca}.fin-quick-action-label{font-size:13px;font-weight:700;color:var(--charcoal)}.fin-quick-action-desc{font-size:12px;color:var(--gray);line-height:1.4;margin-bottom:8px}.fin-action-btn{align-self:flex-start;font-size:12px;font-weight:600;color:var(--teal);background:var(--teal-light);border:1px solid rgba(15,123,108,.2);border-radius:8px;padding:5px 12px;cursor:pointer;transition:opacity .15s;font-family:inherit}.fin-action-btn:hover{opacity:.8}.fin-action-btn:disabled{opacity:.5;cursor:not-allowed}.fin-action-btn--danger{color:var(--coral);background:var(--coral-light);border-color:#fecaca}.fin-generate-dates{display:flex;gap:10px;margin-bottom:8px;align-items:flex-end}.fin-generate-dates .fin-config-field{flex:1;min-width:0}.fin-generate-dates .fin-config-field input{width:100%;box-sizing:border-box}.fin-action-msg{font-size:12px;color:var(--teal);background:var(--teal-light);border-radius:6px;padding:6px 10px;margin-bottom:8px;font-weight:500}@media(max-width:1100px){.fin-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.fin-kpi-grid{grid-template-columns:repeat(2,1fr)}.fin-table-header,.fin-table-row{grid-template-columns:2fr 1fr 1fr 1fr}.fin-table-header span:nth-child(2),.fin-table-row>span:nth-child(2){display:none}.fin-table-header span:nth-child(5),.fin-table-row>span:nth-child(5){display:none}}@media(max-width:640px){.fin-kpi-grid{grid-template-columns:1fr;gap:12px}.fin-kpi-card{padding:16px}.fin-kpi-value{font-size:22px}.fin-chart-wrap{padding:16px 12px}.fin-filters{flex-direction:column;align-items:stretch}.fin-search{margin-left:0}.fin-status-tabs{width:100%;overflow-x:auto}.fin-status-tab{flex:1 0 auto}.fin-table-header{display:none}.fin-table-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px}.fin-table-row>span{min-width:0}.fin-table-row>span:nth-child(2),.fin-table-row>span:nth-child(3),.fin-table-row>span:nth-child(5){display:block;grid-column:1 / -1}.fin-table-row>span:nth-child(4){grid-column:2;grid-row:1;align-self:start}.fin-table-actions{grid-column:1 / -1;justify-content:flex-start}.fin-table-teacher,.fin-table-amount,.fin-table-due{white-space:normal;overflow:visible;text-overflow:clip}.fin-drawer-overlay{z-index:1200}.fin-drawer{width:min(92vw,440px);max-width:92vw;padding-bottom:env(safe-area-inset-bottom)}.fin-drawer-section{padding:16px}.fin-history-item{align-items:flex-start;gap:10px}.fin-history-right{align-items:center}}.admin-people-tab{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.admin-people-table-wrap{width:100%;max-width:100%;-webkit-overflow-scrolling:touch}.admin-people-table-wrap table{min-width:760px}.admin-people-drawer-overlay{z-index:1200!important}.admin-people-drawer{max-width:min(860px,100vw)!important}@media(max-width:960px){.admin-people-drawer{max-width:min(480px,100vw)!important}}@media(max-width:768px){.admin-people-drawer-overlay{top:0!important;z-index:1200!important}.admin-people-drawer{width:min(92vw,480px)!important;max-width:92vw!important;padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:560px){.admin-people-tab>div:first-child{align-items:stretch!important}.admin-people-tab>div:first-child>*{width:100%}.admin-people-tab>div:first-child>input{min-width:0!important}.admin-people-table-wrap table{min-width:620px}}.calendar-section{width:100%}.calendar-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.calendar-nav{display:flex;align-items:center;gap:8px}.nav-btn{background:var(--white);border:1px solid var(--border);color:var(--charcoal);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s}.nav-btn:hover{background:var(--cream-dark);border-color:var(--gray)}.week-label{font-size:14px;font-weight:600;color:var(--charcoal);min-width:140px;text-align:center}.today-btn{background:var(--teal-light);border:1px solid rgba(15,123,108,.3);color:var(--teal);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.today-btn:hover{background:var(--teal);color:var(--white)}.calendar-controls{display:flex;align-items:center;gap:10px}.student-filter-select{background:var(--white);border:1px solid var(--border);color:var(--charcoal);padding:6px 10px;border-radius:8px;font-size:13px;cursor:pointer;appearance:none;min-width:160px;font-family:inherit}.student-filter-select option{background:var(--white);color:var(--charcoal)}.view-toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-btn{background:var(--white);border:none;color:var(--gray);padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;line-height:1;font-family:inherit}.view-btn:hover{background:var(--cream);color:var(--charcoal)}.view-btn.active{background:var(--teal-light);color:var(--teal)}.calendar-new-class-btn{min-width:38px;padding:8px 13px;font-size:18px;line-height:1}.calendar-list{margin-top:16px;display:flex;flex-direction:column;gap:20px}.list-empty{text-align:center;padding:48px 20px;color:var(--gray);font-size:14px;opacity:.7}.list-day-group{display:flex;flex-direction:column;gap:6px}.list-day-header{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--teal);padding-bottom:6px;border-bottom:1px solid var(--teal-light)}.list-event{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px 16px;cursor:pointer;transition:all .15s}.list-event:hover{border-color:var(--teal);background:var(--teal-light)}.list-event-time{font-size:12px;color:var(--gray);min-width:110px;font-variant-numeric:tabular-nums;font-weight:500}.list-event-body{flex:1;display:flex;flex-direction:column;gap:3px}.list-event-subject{font-size:14px;color:var(--charcoal);font-weight:600}.list-event-meta{display:flex;gap:12px;font-size:12px;color:var(--gray)}.list-event-arrow{font-size:18px;color:var(--border);font-weight:300}.calendar-wrapper{position:relative;margin-top:8px;overflow-x:auto;max-height:70vh;overflow-y:auto;border:1px solid var(--border);border-radius:12px}.calendar-grid{display:grid;grid-template-columns:80px repeat(7,1fr);background:var(--white)}.day-header{padding:8px 4px;text-align:center;font-weight:600;font-size:12px;border-bottom:1px solid var(--border);background:var(--cream);position:sticky;top:0;z-index:2;color:var(--gray)}.day-header.today{color:var(--teal);background:var(--teal-light)}.day-number{font-size:11px;opacity:.7;margin-top:2px}.time-column-header{border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2;background:var(--cream)}.time-cell{padding:4px 6px;font-size:11px;text-align:right;color:var(--gray);opacity:.6;border-bottom:1px solid var(--cream-dark)}.day-cell{height:28px;border-bottom:1px solid var(--cream-dark);border-left:1px solid var(--cream-dark)}.events-layer{position:absolute;left:80px;right:0;bottom:0;pointer-events:none}.calendar-event{position:absolute;background:var(--teal);color:var(--white);font-size:11px;padding:4px 6px;border-radius:6px;overflow:hidden;cursor:pointer;pointer-events:auto;transition:.15s ease;display:flex;flex-direction:column;gap:2px}.calendar-event:hover{background:var(--teal-mid);transform:scale(1.02)}.event-subject{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.event-student,.event-lesson{font-size:10px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-details h3{margin:0 0 12px;font-size:17px;color:var(--charcoal);font-weight:700}.event-details p{margin:6px 0;font-size:14px;color:var(--gray)}.detail-block{margin-top:12px;background:var(--cream);border-radius:8px;padding:10px 12px;border:1px solid var(--border)}.detail-block strong{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;font-weight:700;display:block;margin-bottom:4px}.detail-block p{margin:0;font-size:14px;line-height:1.5;color:var(--charcoal)}.detail-block.private{border-left:3px solid var(--amber)}.event-actions{display:flex;gap:10px;margin-top:20px}.calendar-event.occurred{background:#16a34a}.calendar-event.occurred:hover{background:#15803d}.calendar-event.not-occurred{background:var(--coral);opacity:.85}.calendar-event.not-occurred:hover{background:#c44d30;opacity:1}.list-event.occurred{border-color:#16a34a4d;background:#16a34a0d}.list-event.not-occurred{border-color:#e05a3a4d;background:#e05a3a0d}.list-event-status{display:flex;align-items:center}.status-badge{font-size:14px;font-weight:700;padding:2px 6px;border-radius:4px}.status-badge.occurred{color:#16a34a}.status-badge.not-occurred{color:var(--coral)}.occurrence-section{margin-top:16px;padding:14px;background:var(--cream);border-radius:10px;border:1px solid var(--border)}.occurrence-label{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:10px}.occurrence-buttons{display:flex;gap:8px}.occurrence-btn{flex:1;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;text-align:center;font-family:inherit}.occurrence-btn.success{background:#16a34a14;border-color:#16a34a40;color:#16a34a}.occurrence-btn.success:hover,.occurrence-btn.success.active{background:#16a34a2e;border-color:#16a34a80}.occurrence-btn.neutral{background:var(--cream);border-color:var(--border);color:var(--gray)}.occurrence-btn.neutral:hover,.occurrence-btn.neutral.active{background:var(--cream-dark);color:var(--charcoal)}.occurrence-btn.warning{background:#f59e0b14;border-color:#f59e0b40;color:#b45309}.occurrence-btn.warning:hover,.occurrence-btn.warning.active{background:#f59e0b2e;border-color:#f59e0b80}.occurrence-btn.danger{background:var(--coral-light);border-color:#f5c9be;color:var(--coral)}.occurrence-btn.danger:hover,.occurrence-btn.danger.active{background:#f8ddd8;border-color:var(--coral)}.occurrence-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.cancellation-info{margin-top:10px;padding:8px 12px;background:var(--coral-light);border-radius:8px;border-left:3px solid var(--coral)}.cancellation-reason-badge{font-size:12px;color:var(--coral);font-weight:700;display:block}.cancellation-status{font-size:12px;color:var(--charcoal);font-weight:700;margin-bottom:4px}.cancellation-notes{margin:6px 0 0;font-size:13px;color:var(--charcoal);line-height:1.4}.danger-button{background:var(--coral-light);border:1px solid #F5C9BE;color:var(--coral);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s;font-family:inherit}.danger-button:hover{background:#f8ddd8;border-color:var(--coral)}.danger-button-sm{background:var(--coral-light);border:1px solid #F5C9BE;color:var(--coral);padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:inherit}.danger-button-sm:hover{background:#f8ddd8;border-color:var(--coral)}.secondary-button{background:var(--cream);border:1px solid var(--border);color:var(--charcoal);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s;font-family:inherit}.secondary-button:hover{background:var(--cream-dark);border-color:var(--gray)}.calendar-form{display:flex;flex-direction:column;gap:16px}.form-row.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;color:var(--gray);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{background:var(--cream);border:1px solid var(--border);padding:8px 10px;border-radius:8px;color:var(--charcoal);font-size:13px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--teal);background:var(--white);box-shadow:0 0 0 3px var(--teal-light)}.form-group textarea{min-height:70px;resize:vertical}.form-group select{appearance:none}.form-group select option{background:var(--white);color:var(--charcoal)}.form-actions{display:flex;justify-content:flex-end;margin-top:10px}.form-error{background:var(--coral-light);border:1px solid #F5C9BE;color:var(--coral);padding:10px 12px;border-radius:8px;font-size:13px;font-weight:500}.next-class-banner{background:var(--teal-light);border:1px solid rgba(15,123,108,.25);border-radius:10px;padding:14px 18px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--charcoal)}.next-class-icon{font-size:20px}.next-class-text{color:var(--charcoal);font-weight:500}.recurrence-toggle{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;color:var(--charcoal)}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--teal)}.list-event-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.quick-btn{width:30px;height:30px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.quick-btn.success{background:#16a34a14;border-color:#16a34a33;color:#16a34a}.quick-btn.success:hover,.quick-btn.success.active{background:#16a34a33;border-color:#16a34a80}.quick-btn.danger{background:var(--coral-light);border-color:#f5c9be;color:var(--coral)}.quick-btn.danger:hover,.quick-btn.danger.active{background:#f8ddd8;border-color:var(--coral)}@media(max-width:640px){.calendar-top-bar{align-items:stretch;flex-direction:column;gap:10px}.calendar-nav{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}.calendar-nav .nav-btn{width:100%;height:34px}.calendar-nav .week-label{min-width:0;align-self:center}.calendar-nav .today-btn{grid-column:1 / -1;min-height:34px}.calendar-controls{align-items:stretch;flex-direction:column;gap:8px}.calendar-controls .view-toggle{width:100%}.calendar-controls .view-btn{flex:1;min-height:34px}.student-filter-select{width:100%;min-width:0}.danger-button-sm,.calendar-new-class-btn{width:100%;min-height:36px}.list-event{align-items:stretch;flex-direction:column;gap:8px}.list-event-time{min-width:0}.list-event-meta{flex-direction:column;gap:3px}.list-event-actions{justify-content:flex-end}.calendar-form{gap:14px}.form-row.three-columns{grid-template-columns:1fr;gap:12px}.calendar-form .form-group,.calendar-form input,.calendar-form select,.calendar-form textarea{width:100%;min-width:0;box-sizing:border-box}.calendar-form .form-actions{justify-content:stretch}.calendar-form .form-actions .primary-button{width:100%}}.tutorials-page{width:100%;background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.tutorials-categories{display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px;border-bottom:1px solid var(--border);background:var(--cream)}.tutorials-category-btn{border:1px solid var(--border);background:var(--white);color:var(--gray);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.tutorials-category-btn.active{background:var(--color-primary, #6366f1);border-color:var(--color-primary, #6366f1);color:var(--white)}.tutorials-readme{max-width:820px;padding:28px 32px 42px}.tutorials-kicker,.tutorials-summary-title{font-size:11px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.08em}.tutorials-title{margin:6px 0 18px;font-size:26px;color:var(--charcoal);letter-spacing:0}.tutorials-summary{display:flex;flex-direction:column;gap:6px;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:14px}.tutorials-summary-title{margin-bottom:4px}.tutorials-summary-link{border:none;background:transparent;color:var(--teal);text-align:left;padding:4px 0;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.tutorials-summary-link:hover{text-decoration:underline}.tutorials-divider{height:1px;background:var(--border);margin:24px 0}.tutorials-article{scroll-margin-top:84px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--border)}.tutorials-article:last-child{margin-bottom:0;border-bottom:none}.tutorials-article-title{margin:0 0 14px;font-size:22px;font-weight:700;color:var(--charcoal);letter-spacing:0}.tutorials-article-heading{margin:22px 0 10px;font-size:17px;font-weight:700;color:var(--charcoal)}.tutorials-article-subheading{margin:18px 0 8px;font-size:15px;font-weight:700;color:var(--gray)}.tutorials-p,.tutorials-list li{font-size:14px;color:var(--charcoal);line-height:1.7}.tutorials-p{margin:0 0 12px}.tutorials-list{margin:0 0 12px;padding-left:20px}.tutorials-list li{margin-bottom:4px}.tutorials-blockquote{margin:12px 0;padding:10px 14px;background:#fffbeb;border-left:3px solid var(--amber, #f59e0b);border-radius:0 6px 6px 0;color:#92400e;font-size:13px;line-height:1.6}@media(max-width:768px){.tutorials-page{border-radius:0;border-left:none;border-right:none}.tutorials-categories{flex-direction:column;padding:12px}.tutorials-category-btn{width:100%;text-align:left}.tutorials-readme{padding:20px 16px 34px}.tutorials-title{font-size:22px}.tutorials-article-title{font-size:19px}}.platform-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:radial-gradient(circle at top left,rgba(99,102,241,.12),transparent 28%),linear-gradient(180deg,#f6f7fb,#eef1f8)}.platform-sidebar{background:linear-gradient(180deg,#0b1734,#111f47);color:#fff;padding:28px 22px;display:flex;flex-direction:column;gap:22px;border-right:1px solid rgba(255,255,255,.08)}.platform-brand{display:flex;align-items:center;gap:14px}.platform-brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#ff8a5b,#f5b335);color:#0b1734;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.04em}.platform-brand-title{font-size:18px;font-weight:800}.platform-brand-subtitle{font-size:12px;color:#ffffffad}.platform-user-card{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#ffffff0d}.platform-user-name{font-weight:700}.platform-user-role{font-size:13px;color:#ffffffb8;margin-top:4px}.platform-nav{display:flex;flex-direction:column;gap:8px}.platform-nav-btn,.platform-primary-btn,.platform-secondary-btn,.platform-ghost-btn,.platform-link-btn{font:inherit}.platform-nav-btn{border:1px solid transparent;border-radius:14px;background:transparent;color:#ffffffbf;padding:12px 14px;text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.platform-nav-btn:hover,.platform-nav-btn.active{background:#ffffff14;color:#fff;border-color:#ffffff1f}.platform-sidebar-footer{margin-top:auto}.platform-main{padding:28px;display:flex;flex-direction:column;gap:24px}.platform-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.platform-header h1{margin:0;color:#162347;font-size:30px}.platform-header p{margin:8px 0 0;color:#5b6787;max-width:640px}.platform-header-actions{display:flex;gap:12px;flex-wrap:wrap}.platform-primary-btn,.platform-secondary-btn,.platform-ghost-btn{border-radius:14px;padding:11px 16px;font-weight:700;cursor:pointer}.platform-primary-btn{background:linear-gradient(135deg,#ff7d53,#f2a230);color:#0b1734;border:none;box-shadow:0 12px 24px #f2a2302e}.platform-secondary-btn{background:#fff;border:1px solid #d8dfef;color:#162347}.platform-ghost-btn{background:transparent;border:1px solid #d8dfef;color:#45516f}.platform-ghost-btn.full{width:100%;color:#fff;border-color:#ffffff2e}.platform-link-btn{background:none;border:none;color:#0f5fd7;padding:0;cursor:pointer;font-weight:700}.platform-section{display:flex;flex-direction:column;gap:20px}.platform-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.platform-kpi-card,.platform-panel{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(216,223,239,.9);border-radius:22px;box-shadow:0 18px 40px #121f4712}.platform-kpi-card{padding:20px}.platform-kpi-label{color:#6f7b99;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.platform-kpi-value{font-size:30px;font-weight:800;color:#162347;margin-top:8px}.platform-kpi-helper{color:#5b6787;margin-top:6px;font-size:13px}.platform-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.platform-panel{padding:18px}.platform-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.platform-panel-head h2{margin:0;font-size:18px;color:#162347}.platform-panel-head span{color:#68748f;font-size:13px;font-weight:700}.platform-list{display:flex;flex-direction:column;gap:12px}.platform-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:16px;background:#f7f9fd;border:1px solid #e7ecf7}.platform-list-item strong{display:block;color:#1b2847}.platform-list-item span{color:#68748f;font-size:13px}.platform-list-meta{text-align:right}.platform-toolbar{display:flex;gap:12px;flex-wrap:wrap}.platform-input{width:100%;border:1px solid #d8dfef;background:#fff;color:#162347;border-radius:14px;padding:11px 14px;font-size:14px}.platform-table-wrap{overflow-x:auto}.platform-table{width:100%;border-collapse:collapse}.platform-table th,.platform-table td{text-align:left;padding:14px 12px;border-bottom:1px solid #e7ecf7;vertical-align:middle;font-size:14px}.platform-table th{color:#6b7691;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.platform-primary-cell{display:flex;flex-direction:column;gap:3px}.platform-primary-cell strong{color:#162347}.platform-primary-cell span{color:#68748f;font-size:13px}.platform-row-actions{display:flex;gap:12px;flex-wrap:wrap}.platform-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.platform-badge.success{background:#dcfce7;color:#166534}.platform-badge.muted{background:#eef2f7;color:#52607d}.platform-empty{padding:28px;border-radius:18px;text-align:center;color:#6b7691;background:#ffffffb8;border:1px dashed #d8dfef}.platform-drawer-overlay{position:fixed;inset:0;background:#0c17346b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end;z-index:1100}.platform-drawer{width:min(640px,100%);height:100%;background:#f9fbff;border-left:1px solid #d8dfef;box-shadow:-18px 0 50px #121f471f;display:flex;flex-direction:column}.platform-drawer-header{padding:22px 24px;border-bottom:1px solid #e7ecf7;display:flex;align-items:center;justify-content:space-between;gap:12px}.platform-drawer-header h3{margin:0;font-size:20px;color:#162347}.platform-drawer-body{overflow-y:auto;padding:24px}.platform-form{display:flex;flex-direction:column;gap:16px}.platform-form label{display:flex;flex-direction:column;gap:8px}.platform-form label>span{font-size:13px;font-weight:700;color:#41506f}.platform-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platform-checkbox{flex-direction:row!important;align-items:center;gap:10px!important;padding-top:28px}.platform-checkbox input[type=checkbox]{width:18px;height:18px}.platform-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.platform-form-error{border:1px solid #fecaca;background:#fff1f2;color:#be123c;border-radius:14px;padding:12px 14px;font-size:14px}.platform-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platform-color-input-wrap{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px}.platform-color-input-wrap input[type=color]{width:50px;height:44px;border-radius:12px;border:1px solid #d8dfef;background:transparent;padding:3px}@media(max-width:1200px){.platform-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.platform-shell{grid-template-columns:1fr}.platform-sidebar{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.platform-kpi-grid,.platform-two-col,.platform-form-row,.platform-color-grid{grid-template-columns:1fr}.platform-header{flex-direction:column}}@media(max-width:768px){.platform-sidebar{display:none}.platform-main{padding:20px 16px calc(104px + env(safe-area-inset-bottom))}.platform-header-actions{width:100%}.platform-header-actions .platform-primary-btn,.platform-header-actions .platform-secondary-btn{flex:1}.platform-header h1{font-size:24px}.billing-subtabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.billing-subtabs::-webkit-scrollbar{display:none}.billing-subtab-btn{flex-shrink:0}.platform-drawer{width:100%}}.platform-badge.warning{background:#fef9c3;color:#854d0e}.platform-badge.danger{background:#fee2e2;color:#991b1b}.billing-subtabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:24px}.billing-subtab-btn{background:none;border:none;padding:8px 20px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap}.billing-subtab-btn:hover{color:#374151}.billing-subtab-btn.active{color:#6366f1;border-bottom-color:#6366f1;font-weight:600}.tut-page{min-height:100vh;background:#f3f4f6;font-family:inherit}.tut-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 28px;box-shadow:0 1px 6px #0000000f}.tut-header-content{display:flex;justify-content:space-between;align-items:center;gap:24px}.tut-header-title h1{font-size:18px;font-weight:700;color:#111827;margin:0}.tut-header-title p{font-size:12px;color:#9ca3af;margin:2px 0 0}.tut-header-right{display:flex;align-items:center;gap:20px}.tut-header-progress-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.tut-header-progress-info>span{font-size:11px;color:#9ca3af;white-space:nowrap}.tut-header-progress-bar{width:140px;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.tut-header-progress-bar div{height:100%;background:var(--color-primary, #6c5ce7);border-radius:2px;transition:width .4s ease}.tut-close-btn{padding:7px 14px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#6b7280;transition:all .15s;white-space:nowrap}.tut-close-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.tut-layout{display:grid;grid-template-columns:248px 1fr;gap:24px;max-width:1180px;margin:0 auto;padding:24px;align-items:start}.tut-sidebar{position:sticky;top:80px;max-height:calc(100vh - 104px);overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent}.tut-sidebar::-webkit-scrollbar{width:4px}.tut-sidebar::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.tut-search input{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box;color:#374151;transition:border-color .15s}.tut-search input:focus{border-color:var(--color-primary, #6c5ce7);box-shadow:0 0 0 3px #6c5ce714}.tut-sidebar-progress{display:flex;align-items:center;gap:8px;margin:12px 0 4px}.tut-sidebar-progress-track{flex:1;height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden}.tut-sidebar-progress-track div{height:100%;background:var(--color-primary, #6c5ce7);border-radius:2px;transition:width .4s ease}.tut-sidebar-progress span{font-size:11px;color:#9ca3af;white-space:nowrap}.tut-nav-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#d1d5db;margin:10px 0 4px 10px}.tut-nav{display:flex;flex-direction:column;gap:1px}.tut-nav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;background:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .12s;width:100%}.tut-nav-item:hover{background:#f3f4f6}.tut-nav-item.read .tut-nav-num{background:var(--color-primary, #6c5ce7);color:#fff}.tut-nav-item.read .tut-nav-title{color:var(--color-primary, #6c5ce7)}.tut-nav-num{width:20px;height:20px;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#9ca3af;flex-shrink:0;transition:all .15s}.tut-nav-title{font-size:13px;color:#4b5563;flex:1;line-height:1.3}.tut-nav-check{font-size:10px;color:var(--color-primary, #6c5ce7);font-weight:700}.tut-main{display:flex;flex-direction:column;gap:14px}.tut-intro-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid var(--color-primary, #6c5ce7);border-radius:10px;padding:22px 24px;scroll-margin-top:100px}.tut-intro-header h2{font-size:15px;font-weight:700;color:#111827;margin:0 0 6px}.tut-intro-header p{font-size:13px;color:#6b7280;margin:0 0 18px;line-height:1.5}.tut-onboarding-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tut-onboarding-list li{display:flex;align-items:center;gap:10px;font-size:13px;color:#374151}.tut-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s;scroll-margin-top:100px}.tut-card.expanded{border-color:var(--color-primary, #6c5ce7);box-shadow:0 2px 12px #6c5ce71a}.tut-card.read{border-left:3px solid var(--color-primary, #6c5ce7)}.tut-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:none;background:none;cursor:pointer;width:100%;text-align:left;gap:12px;transition:background .12s}.tut-card-header:hover{background:#fafafa}.tut-card-title-row{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.tut-card-number{width:34px;height:34px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#9ca3af;flex-shrink:0;transition:all .15s}.tut-card.expanded .tut-card-number{background:var(--color-primary, #6c5ce7);color:#fff}.tut-card-title-text h2{font-size:14px;font-weight:600;color:#111827;margin:0}.tut-card-title-text p{font-size:12px;color:#9ca3af;margin:2px 0 0;line-height:1.4}.tut-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tut-badge-read{font-size:11px;padding:2px 8px;background:#dcfce7;color:#15803d;border-radius:100px;font-weight:600;white-space:nowrap}.tut-chevron{font-size:18px;color:#d1d5db;display:inline-block;transition:transform .2s;line-height:1}.tut-chevron.up{transform:rotate(180deg)}.tut-card-body{padding:4px 20px 20px;border-top:1px solid #f3f4f6}.tut-block{margin-top:18px}.tut-block h3{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.6px;margin:0 0 10px}.tut-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.tut-list li{font-size:13px;color:#4b5563;padding-left:14px;position:relative;line-height:1.5}.tut-list li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:var(--color-primary, #6c5ce7);border-radius:50%}.tut-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.tut-steps li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#4b5563;line-height:1.5}.tut-step-badge{width:24px;height:24px;background:var(--color-primary, #6c5ce7);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.tut-step-badge.sm{width:20px;height:20px;font-size:10px;margin-top:2px}.tut-warning-block{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:14px 16px}.tut-warning-block h3{color:#92400e}.tut-warning-block .tut-list li{color:#78350f}.tut-warning-block .tut-list li:before{background:#d97706}.tut-levels{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tut-level{padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.4}.tut-level strong{display:block;font-weight:600;margin-bottom:2px}.tut-level-0{background:#f0fdf4;color:#166534}.tut-level-1{background:#fefce8;color:#854d0e}.tut-level-2{background:#fff7ed;color:#c2410c}.tut-level-3{background:#fef2f2;color:#b91c1c}.tut-example{padding:10px 14px;border-radius:7px;font-size:13px;line-height:1.5}.tut-example strong{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.tut-example.good{background:#f0fdf4;border-left:3px solid #16a34a;color:#166534}.tut-example.good strong{color:#15803d}.tut-example.bad{background:#fef2f2;border-left:3px solid #dc2626;color:#991b1b}.tut-example.bad strong{color:#b91c1c}.tut-best-practice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:14px 16px;margin-top:18px}.tut-best-practice strong{font-size:11px;color:#1d4ed8;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:5px}.tut-best-practice p{font-size:13px;color:#1e40af;margin:0;line-height:1.5}.tut-mark-read{margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.tut-read-btn{padding:8px 18px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#6b7280;transition:all .15s}.tut-read-btn:hover{border-color:var(--color-primary, #6c5ce7);color:var(--color-primary, #6c5ce7)}.tut-read-btn.active{background:var(--color-primary, #6c5ce7);border-color:var(--color-primary, #6c5ce7);color:#fff}.tut-empty{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:32px;text-align:center;font-size:14px;color:#9ca3af}.tut-faq{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px;scroll-margin-top:100px}.tut-faq>h2{font-size:16px;font-weight:700;color:#111827;margin:0 0 20px}.tut-faq-category{margin-bottom:22px}.tut-faq-category:last-child{margin-bottom:0}.tut-faq-category h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#d1d5db;margin:0 0 8px}.tut-faq-item{border:1px solid #f3f4f6;border-radius:8px;margin-bottom:5px;overflow:hidden;transition:border-color .12s}.tut-faq-item.open{border-color:#e5e7eb}.tut-faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:11px 16px;border:none;background:none;cursor:pointer;text-align:left;font-size:13px;font-weight:500;color:#374151;gap:12px;transition:background .12s}.tut-faq-question:hover{background:#fafafa}.tut-faq-item.open .tut-faq-question{background:#f9fafb;border-bottom:1px solid #f3f4f6}.tut-faq-toggle{font-size:18px;color:var(--color-primary, #6c5ce7);font-weight:400;flex-shrink:0;line-height:1}.tut-faq-answer{padding:12px 16px;font-size:13px;color:#6b7280;line-height:1.6}.tut-checklist-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px;scroll-margin-top:100px}.tut-checklist-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.tut-checklist-header h2{font-size:16px;font-weight:700;color:#111827;margin:0 0 4px}.tut-checklist-header p{font-size:13px;color:#9ca3af;margin:0}.tut-checklist-counter{font-size:22px;font-weight:700;color:var(--color-primary, #6c5ce7);white-space:nowrap}.tut-checklist-progress{height:5px;background:#f3f4f6;border-radius:3px;overflow:hidden;margin-bottom:16px}.tut-checklist-progress div{height:100%;background:var(--color-primary, #6c5ce7);border-radius:3px;transition:width .3s ease}.tut-checklist{display:flex;flex-direction:column;gap:6px}.tut-checklist-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #f3f4f6;border-radius:8px;cursor:pointer;font-size:13px;color:#374151;transition:background .12s,border-color .12s;-webkit-user-select:none;user-select:none}.tut-checklist-item:hover{background:#fafafa}.tut-checklist-item.checked{background:#f0fdf4;border-color:#bbf7d0;color:#166534;text-decoration:line-through;text-decoration-color:#86efac}.tut-checklist-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-primary, #6c5ce7);cursor:pointer;flex-shrink:0}.tut-reset-btn{margin-top:14px;padding:7px 14px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:12px;color:#9ca3af;transition:all .15s}.tut-reset-btn:hover{color:#ef4444;border-color:#fca5a5}@media(max-width:860px){.tut-layout{grid-template-columns:1fr;padding:14px;gap:14px}.tut-sidebar{position:static;max-height:none;overflow:visible}.tut-nav{flex-direction:row;flex-wrap:wrap;gap:4px}.tut-nav-item{width:auto;padding:5px 10px}.tut-nav-title{font-size:12px}.tut-onboarding-list,.tut-levels{grid-template-columns:1fr}.tut-header-right{gap:12px}.tut-header-progress-bar{width:80px}}@media(max-width:480px){.tut-header{padding:12px 16px}.tut-header-title h1{font-size:15px}.tut-close-btn{padding:6px 10px;font-size:12px}.tut-header-progress-info{display:none}}.env-banner{background:#f59e0b;color:#1c1c1c;text-align:center;padding:6px 12px;font-size:13px;font-weight:700;letter-spacing:.05em;position:sticky;top:0;z-index:9999}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--cream);color:var(--charcoal);line-height:1.6}.App{min-height:100vh}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:16px;color:var(--gray);background:var(--cream)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray)}@media(max-width:768px){body{font-size:14px}}
