.message{display:flex;gap:12px;padding:10px 20px;width:100%;color:var(--text-primary);font-size:.9rem;line-height:1.5;animation:fadeIn .3s ease-in}.message-user{flex-direction:row-reverse}.message-assistant{flex-direction:row}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;box-shadow:var(--shadow)}.message-user .message-avatar{background-color:var(--secondary-color);margin-left:8px;color:#fff}.message-assistant .message-avatar{background-color:var(--primary-color);margin-right:8px;color:#fff}.message-content-wrapper{max-width:70%;display:flex;flex-direction:column;gap:4px}.message-user .message-content-wrapper{align-items:flex-end}.message-assistant .message-content-wrapper{align-items:flex-start}.message-content{padding:12px 16px;border-radius:12px;word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--shadow);transition:background-color .3s ease,color .3s ease}.message-user .message-content{background-color:var(--surface-hover);color:var(--text-primary);border-bottom-right-radius:2px;border:1px solid var(--border)}.message-assistant .message-content{background-color:var(--surface);color:var(--text-primary);border-bottom-left-radius:2px;border:1px solid var(--border)}.message-error .message-content{background-color:#fee2e2;color:var(--error);border:1px solid var(--error)}.message-meta{font-size:.7rem;color:var(--text-secondary);padding:0 4px}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background-color:var(--surface);border-radius:12px 12px 12px 2px;width:fit-content;border:1px solid var(--border)}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-6px);opacity:1}}@media (max-width: 768px){.message-content-wrapper{max-width:85%}.message{padding:10px}}.message-list{flex:1;overflow-y:auto;padding:0;background-color:var(--background);scroll-behavior:smooth;transition:background-color .3s ease}.messages-container{display:flex;flex-direction:column;padding-bottom:20px}.message-list::-webkit-scrollbar{width:8px}.message-list::-webkit-scrollbar-track{background:transparent}.message-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.message-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.message-input-container{padding:20px;background-image:linear-gradient(180deg,transparent,var(--background) 58.85%);background-color:var(--background);flex-shrink:0;width:100%;max-width:800px;margin:0 auto;transition:background-color .3s ease}.message-input-form{display:flex;flex-direction:column;background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:var(--shadow);transition:background-color .3s ease,border-color .3s ease}.message-input-form:focus-within{border-color:var(--primary-color)}.message-input{width:100%;padding:0;background-color:transparent;border:none;color:var(--text-primary);font-size:1rem;font-family:inherit;resize:none;max-height:200px;overflow-y:auto;outline:none;line-height:1.5;margin-bottom:8px}.message-input:disabled{opacity:.6;cursor:not-allowed}.message-input::placeholder{color:var(--text-secondary)}.input-footer{display:flex;justify-content:space-between;align-items:center;padding-top:4px}.footer-left{display:flex;align-items:center;flex:1}.footer-right{display:flex;align-items:center;gap:8px}.model-selector-wrapper,.child-selector-wrapper{position:relative;display:inline-flex;align-items:center}.model-select-pill,.child-select-pill{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--background);border:1px solid transparent;border-radius:8px;padding:6px 28px 6px 12px;font-size:.875rem;color:var(--text-primary);cursor:pointer;outline:none;transition:all .2s;font-weight:500;white-space:nowrap}.model-select-pill:hover,.child-select-pill:hover{background-color:var(--surface-hover)}.child-select-pill{background-color:var(--primary-light, #e3f2fd);border:1px solid var(--primary-color);color:var(--primary-color);max-width:180px;overflow:hidden;text-overflow:ellipsis}.child-selector-wrapper .select-arrow{color:var(--primary-color)}.select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary);display:flex;align-items:center}.send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;flex-shrink:0;padding:0}.send-button:hover:not(:disabled){background-color:var(--primary-hover)}.send-button:disabled{background-color:var(--surface-hover);color:var(--text-secondary);cursor:default}@media (max-width: 768px){.message-input-container{padding:10px}}.tutorial-tooltip{position:fixed;z-index:10001;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;padding:16px;max-width:320px;min-width:280px;box-shadow:0 10px 40px #667eea66;opacity:0;transform:scale(.9);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.tutorial-tooltip.visible{opacity:1;transform:scale(1);pointer-events:auto}.tutorial-tooltip-arrow{position:absolute;width:0;height:0;border:10px solid transparent}.tutorial-tooltip-arrow-top{bottom:-20px;left:50%;transform:translate(-50%);border-top-color:#764ba2}.tutorial-tooltip-arrow-bottom{top:-20px;left:50%;transform:translate(-50%);border-bottom-color:#667eea}.tutorial-tooltip-arrow-left{right:-20px;transform:translateY(-50%);border-left-color:#764ba2}.tutorial-tooltip-arrow-right{left:-20px;transform:translateY(-50%);border-right-color:#667eea}.tutorial-tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tutorial-tooltip-icon{font-size:20px;color:#ffffffe6}.tutorial-tooltip-close{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.tutorial-tooltip-close:hover{background:#ffffff4d}.tutorial-tooltip-content{font-size:14px;line-height:1.6;margin-bottom:16px}.tutorial-tooltip-content p{margin:0}.tutorial-tooltip-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.tutorial-tooltip-skip{background:transparent;border:none;color:#ffffffb3;font-size:13px;cursor:pointer;padding:8px 12px;transition:color .2s}.tutorial-tooltip-skip:hover{color:#fff}.tutorial-tooltip-next{background:#fff;color:#667eea;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s}.tutorial-tooltip-next:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.tutorial-tooltip-next svg{font-size:12px}.tutorial-highlight{position:relative;z-index:10000;background:var(--bg-primary, #fff)!important;border-radius:12px;padding:16px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003;pointer-events:auto}.tutorial-highlight *{opacity:1!important;pointer-events:auto}.tutorial-highlight .activity-section,.tutorial-highlight .academic-tab,.tutorial-highlight .goal-tab-content{background:var(--bg-primary, #fff)}.tutorial-target-highlight{background:linear-gradient(135deg,#667eea33,#764ba233)!important;border-radius:8px;animation:tutorial-target-glow 2s ease-in-out infinite;outline:2px solid rgba(102,126,234,.6);outline-offset:2px}@keyframes tutorial-target-glow{0%,to{box-shadow:0 0 8px #667eea66,0 0 16px #667eea33}50%{box-shadow:0 0 16px #667eea99,0 0 32px #667eea4d}}@keyframes tutorial-pulse{0%{box-shadow:0 0 #667eeab3}70%{box-shadow:0 0 0 15px #667eea00}to{box-shadow:0 0 #667eea00}}@keyframes tutorial-glow{0%,to{box-shadow:0 0 5px #667eea80,0 0 10px #667eea4d}50%{box-shadow:0 0 20px #667eeacc,0 0 30px #667eea80}}.tutorial-pulse{position:relative!important;animation:tutorial-glow 1.5s ease-in-out infinite!important;z-index:10000!important;box-shadow:0 0 #667eeab3!important;transform:none!important}.tutorial-pulse:before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border:3px solid rgba(102,126,234,.8);border-radius:inherit;animation:tutorial-pulse 1.5s ease-in-out infinite;pointer-events:none}.tutorial-pulse:after{content:"";position:absolute;top:-12px;left:-12px;right:-12px;bottom:-12px;border:2px solid rgba(102,126,234,.4);border-radius:inherit;animation:tutorial-pulse 1.5s ease-in-out infinite .3s;pointer-events:none}[data-theme=dark] .tutorial-tooltip{background:linear-gradient(135deg,#4c5fd7,#5e3f8c)}[data-theme=dark] .tutorial-tooltip-next{background:#fff;color:#4c5fd7}[data-theme=dark] .tutorial-highlight{background:var(--bg-primary, #1a1a2e)!important}[data-theme=dark] .tutorial-highlight .activity-section,[data-theme=dark] .tutorial-highlight .academic-tab,[data-theme=dark] .tutorial-highlight .goal-tab-content{background:var(--bg-primary, #1a1a2e)}.chat-header{padding:10px 20px;display:flex;justify-content:space-between;align-items:center;background-color:var(--background);color:var(--text-primary);flex-shrink:0;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.chat-interface{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--background);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.chat-container{display:flex;flex-direction:column;height:100%;width:100%;max-width:100%;margin:0 auto;position:relative}.chat-header{padding:10px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background-color:var(--background);color:var(--text-primary);flex-shrink:0;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.chat-header h2{font-size:1rem;font-weight:500;margin:0}.chat-actions{display:flex;gap:10px}.btn-secondary{padding:6px 12px;background-color:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:var(--surface-hover)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.context-input-section{padding:10px 20px;border-bottom:1px solid var(--border);background-color:var(--background);flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}.context-input-section label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:5px}.context-input{width:100%;padding:8px 12px;background-color:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.875rem;font-family:inherit;resize:vertical;outline:none;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.context-input:focus{border-color:var(--primary-color)}.context-input::placeholder{color:var(--text-secondary)}@media (max-width: 768px){.chat-header,.context-input-section{padding:10px}}.chat-title-section{display:flex;align-items:center;gap:15px}.model-selector{display:flex;align-items:center}.model-select{padding:4px 8px;border-radius:4px;border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);font-size:.875rem;outline:none;cursor:pointer;transition:border-color .2s,background-color .2s}.model-select:hover{border-color:var(--text-secondary)}.model-select:focus{border-color:var(--primary-color)}.tutorial-highlight-input{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.tutorial-highlight-input *{pointer-events:none}.tutorial-example-message{margin-top:12px;padding:10px 14px;background:#ffffff26;border-radius:8px;border-left:3px solid rgba(255,255,255,.6)}.tutorial-example-message code{font-family:inherit;font-size:.95em;color:#fff;font-style:italic}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-modal{background-color:var(--surface);color:var(--text-primary);width:90%;max-width:500px;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border);overflow:hidden;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.settings-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.settings-header h2{margin:0;font-size:1.25rem;font-weight:600}.settings-modal .close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.settings-modal .close-btn:hover{background-color:var(--surface-hover);color:var(--text-primary)}.settings-content{padding:20px}.setting-group h3{margin-top:0;margin-bottom:12px;font-size:1rem;color:var(--text-secondary)}.theme-toggle{display:flex;gap:12px;background-color:var(--surface-hover);padding:4px;border-radius:8px}.theme-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-weight:500;transition:all .2s}.theme-btn:hover{color:var(--text-primary)}.theme-btn.active{background-color:var(--background);color:var(--primary-color);box-shadow:var(--shadow)}.theme-icon{font-size:1.1em}.setting-group+.setting-group{margin-top:24px}.language-options{display:flex;flex-direction:column;gap:8px}.language-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);background:transparent;color:var(--text-primary);cursor:pointer;border-radius:8px;font-weight:500;transition:all .2s;text-align:left}.language-btn:hover{background-color:var(--surface-hover);border-color:var(--primary-color)}.language-btn.active{background-color:var(--primary-color);background-color:rgba(var(--primary-rgb, 99, 102, 241),.1);border-color:var(--primary-color);color:var(--primary-color)}.language-btn .lang-flag{font-size:1.25em}.language-btn .lang-name{flex:1}.language-btn .check-icon{color:var(--primary-color);font-size:.9em}.settings-modal-large{max-width:600px;max-height:90vh;overflow-y:auto}.settings-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface-hover)}.settings-tab{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--surface)}.profile-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-secondary)}.profile-form{display:flex;flex-direction:column;gap:16px}.settings-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-modal .form-group{display:flex;flex-direction:column;gap:6px}.settings-modal .form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.settings-modal .form-group input,.settings-modal .form-group select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:var(--surface);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.settings-modal .form-group input:focus,.settings-modal .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 99, 102, 241),.1)}.settings-modal .form-group input.disabled-input{background:var(--surface-hover);color:var(--text-secondary);cursor:not-allowed}.settings-modal .form-group select{cursor:pointer}.section-icon{margin-right:6px;font-size:.9em}.section-hint{margin:-8px 0 12px;font-size:.85rem;color:var(--text-secondary)}.settings-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.save-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-message{font-size:.9rem;padding:6px 12px;border-radius:6px}.save-message.success{color:#059669;background:#0596691a}.save-message.error{color:#dc2626;background:#dc26261a}.tutorial-controls{display:flex;flex-direction:column;gap:16px}.tutorial-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface-hover);border-radius:8px}.tutorial-toggle-label{font-weight:500;color:var(--text-primary)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.tutorial-reset-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.tutorial-reset-btn:hover{background:var(--surface-hover);border-color:var(--primary-color);color:var(--primary-color)}.tutorial-reset-btn svg{font-size:.9em}.legal-links{display:flex;flex-direction:column;gap:8px}.legal-link{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary);text-decoration:none;padding:8px 12px;border-radius:8px;transition:background-color .2s,color .2s}.legal-link:hover{background-color:var(--hover-bg, rgba(99, 102, 241, .08));color:#6366f1}.legal-link svg{font-size:.85rem;flex-shrink:0}.delete-account-link{margin-top:24px;padding-top:16px;border-top:1px solid var(--border);text-align:center}.delete-account-link a{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);text-decoration:none;transition:color .2s}.delete-account-link a:hover{color:#ef4444}.delete-account-link a svg{font-size:.75rem}@media (max-width: 600px){.settings-modal-large{width:95%;max-height:85vh}.form-row{grid-template-columns:1fr}.settings-tabs{padding:0 12px}.settings-tab{padding:10px 12px;font-size:.9rem}}.credit-purchase-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.credit-purchase-modal{background-color:var(--surface);color:var(--text-primary);border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.credit-purchase-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.credit-purchase-title{display:flex;align-items:center;gap:10px}.credit-purchase-title .title-icon{color:#8b5cf6;font-size:20px}.credit-purchase-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.credit-purchase-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.credit-purchase-close:hover{background-color:var(--surface-hover);color:var(--text-primary)}.credit-current-balance{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;background:var(--surface-hover);border-bottom:1px solid var(--border)}.balance-label{color:var(--text-secondary);font-size:14px}.balance-value{display:flex;align-items:center;gap:6px;font-size:18px;font-weight:700;color:var(--text-primary)}.balance-icon{color:#8b5cf6}.credit-packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px}.credit-packages-loading,.credit-packages-empty{grid-column:1 / -1;text-align:center;padding:40px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px}.credit-packages-loading .spinner{animation:spin 1s linear infinite;font-size:24px}.credit-package-card{display:flex;flex-direction:column;align-items:center;padding:20px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);transition:border-color .2s ease;position:relative;gap:8px}.credit-package-card:hover{border-color:var(--primary-color)}.credit-package-card.popular{border-color:#8b5cf6;background:linear-gradient(to bottom,rgba(139,92,246,.05),transparent)}.package-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:3px 12px;border-radius:12px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px;white-space:nowrap}.package-name{font-size:16px;font-weight:600;color:var(--text-primary);margin-top:4px}.package-credits{display:flex;align-items:center;gap:6px;margin:4px 0}.package-credits-icon{color:#8b5cf6;font-size:16px}.package-credits-value{font-size:24px;font-weight:700;color:var(--text-primary)}.package-credits-label{font-size:14px;color:var(--text-secondary)}.package-price{font-size:15px;font-weight:600;color:var(--text-secondary)}.package-savings{font-size:12px;font-weight:600;color:#10b981;background:#10b9811a;padding:2px 8px;border-radius:10px}.package-description{font-size:12px;color:var(--text-secondary);text-align:center;line-height:1.4}.package-buy-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:auto}.package-buy-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)}.package-buy-btn:disabled{opacity:.6;cursor:not-allowed}.package-buy-btn .spinner{animation:spin 1s linear infinite}.credit-purchase-footer{padding:14px 20px;border-top:1px solid var(--border);text-align:center}.credit-purchase-footer p{margin:0;font-size:12px;color:var(--text-secondary)}@media (max-width: 768px){.credit-purchase-modal{width:95%;max-height:95vh}.credit-packages-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.package-credits-value{font-size:18px}.package-price{font-size:16px}}@media (max-width: 480px){.credit-packages-grid{grid-template-columns:1fr}}.credit-balance-container{padding:0}.credit-balance-container.collapsed{padding:0;display:flex;justify-content:center}.credit-balance{display:flex;align-items:center;gap:10px;padding:6px 12px;margin:0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;color:#a1a1aa;background:transparent;border:none}.credit-balance:hover{background-color:#ffffff0d;color:#e4e4e7}.credit-balance.low-balance,.credit-balance.low-balance .credit-icon,.credit-balance.low-balance .credit-amount{color:#ef4444}.credit-icon{color:#8b5cf6;font-size:15px;display:flex;align-items:center;justify-content:center;min-width:20px;opacity:.8;flex-shrink:0}.credit-balance:hover .credit-icon{opacity:1}.credit-amount{font-size:13px;font-weight:500;color:#a1a1aa;white-space:nowrap}.credit-balance:hover .credit-amount{color:#e4e4e7}.credit-label{font-size:12px;color:#52525b}.credit-buy-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;cursor:pointer;font-size:9px;margin-left:auto;transition:all .2s ease;flex-shrink:0;opacity:0}.credit-balance:hover .credit-buy-btn{opacity:1}.credit-buy-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.credit-balance.low-balance .credit-buy-btn{background:linear-gradient(135deg,#ef4444,#dc2626);opacity:1}.credit-balance.low-balance .credit-buy-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.credit-balance-container.collapsed .credit-balance{padding:10px;justify-content:center}.storage-purchase-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.storage-purchase-modal{background-color:var(--surface);color:var(--text-primary);border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.storage-purchase-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.storage-purchase-title{display:flex;align-items:center;gap:10px}.storage-purchase-title .title-icon{color:#3b82f6;font-size:20px}.storage-purchase-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.storage-purchase-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.storage-purchase-close:hover{background-color:var(--surface-hover);color:var(--text-primary)}.storage-current-info{display:flex;align-items:center;justify-content:center;gap:24px;padding:14px 20px;background:var(--surface-hover);border-bottom:1px solid var(--border);flex-wrap:wrap}.storage-usage-row{display:flex;align-items:center;gap:8px;font-size:14px}.info-icon{font-size:14px}.storage-info-icon{color:#3b82f6}.credit-info-icon{color:#8b5cf6}.info-label{color:var(--text-secondary)}.info-value{font-weight:700;color:var(--text-primary)}.storage-purchase-result{padding:10px 20px;text-align:center;font-size:14px;font-weight:500}.storage-purchase-result.success{color:#10b981;background:#10b9811a}.storage-purchase-result.error{color:#ef4444;background:#ef44441a}.storage-packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px}.storage-packages-loading,.storage-packages-empty{grid-column:1 / -1;text-align:center;padding:40px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px}.storage-packages-loading .spinner{animation:storage-spin 1s linear infinite;font-size:24px}@keyframes storage-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.storage-package-card{display:flex;flex-direction:column;align-items:center;padding:20px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);transition:border-color .2s ease;position:relative;gap:4px;height:100%}.storage-package-card:hover{border-color:#3b82f6}.storage-package-card.popular{border-color:#3b82f6;background:linear-gradient(to bottom,rgba(59,130,246,.05),transparent)}.storage-package-card .package-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:3px 12px;border-radius:12px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px;white-space:nowrap}.storage-package-card .package-name{font-size:16px;font-weight:600;color:var(--text-primary);margin-top:4px;text-align:center}.package-details{display:flex;flex-direction:column;align-items:center;gap:2px;margin:4px 0}.package-detail-row{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text-primary)}.detail-icon{color:#3b82f6;font-size:13px;flex-shrink:0}.package-credits-cost{display:flex;align-items:center;gap:5px}.storage-package-card .package-credits-icon{color:#8b5cf6;font-size:13px}.storage-package-card .package-credits-value{font-size:15px;font-weight:600;color:var(--text-secondary)}.package-savings-placeholder{min-height:22px;display:flex;align-items:center;justify-content:center}.storage-package-card .package-savings{font-size:12px;font-weight:600;color:#10b981;background:#10b9811a;padding:2px 8px;border-radius:10px}.storage-package-card .package-description{display:none}.package-buy-area{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:auto}.storage-package-card .package-buy-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.storage-package-card .package-buy-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.storage-package-card .package-buy-btn.popular{background:linear-gradient(135deg,#3b82f6,#2563eb)}.storage-package-card .package-buy-btn:disabled{opacity:.6;cursor:not-allowed}.storage-package-card .package-buy-btn .spinner{animation:storage-spin 1s linear infinite}.package-insufficient{font-size:11px;color:#ef4444;text-align:center;margin-top:4px;min-height:32px;line-height:1.4;display:flex;align-items:flex-start;justify-content:center}.storage-purchase-footer{padding:14px 20px;border-top:1px solid var(--border);text-align:center}.storage-purchase-footer p{margin:0;font-size:12px;color:var(--text-secondary)}@media (max-width: 768px){.storage-purchase-modal{width:95%;max-height:95vh;overflow-y:auto}.storage-packages-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.storage-current-info{flex-direction:column;gap:8px}.storage-package-card .package-credits-value,.package-detail-row{font-size:13px}}@media (max-width: 480px){.storage-packages-grid{grid-template-columns:1fr}}.storage-indicator-container{padding:0}.storage-indicator-container.collapsed{padding:0;display:flex;justify-content:center}.storage-indicator{display:flex;align-items:center;gap:10px;padding:6px 12px;margin:0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;color:#a1a1aa;background:transparent;border:none}.storage-indicator:hover{background-color:#ffffff0d;color:#e4e4e7}.storage-indicator.warning,.storage-indicator.warning .storage-icon{color:#f59e0b}.storage-indicator.full,.storage-indicator.full .storage-icon{color:#ef4444}.storage-icon{color:#3b82f6;font-size:14px;display:flex;align-items:center;justify-content:center;min-width:20px;opacity:.8;flex-shrink:0}.storage-indicator:hover .storage-icon{opacity:1}.storage-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.storage-text{font-size:12px;font-weight:500;color:#a1a1aa;white-space:nowrap}.storage-indicator:hover .storage-text{color:#e4e4e7}.storage-indicator.warning .storage-text{color:#f59e0b}.storage-indicator.full .storage-text{color:#ef4444}.storage-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.storage-bar-fill{height:100%;border-radius:2px;background:#3b82f6;transition:width .3s ease,background .3s ease}.storage-bar-fill.warning{background:#f59e0b}.storage-bar-fill.full{background:#ef4444}.storage-buy-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;cursor:pointer;font-size:9px;margin-left:auto;transition:all .2s ease;flex-shrink:0;opacity:0}.storage-indicator:hover .storage-buy-btn{opacity:1}.storage-buy-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.storage-indicator.warning .storage-buy-btn,.storage-indicator.full .storage-buy-btn{opacity:1}.storage-indicator.warning .storage-buy-btn{background:linear-gradient(135deg,#f59e0b,#d97706)}.storage-indicator.full .storage-buy-btn{background:linear-gradient(135deg,#ef4444,#dc2626)}.storage-indicator-container.collapsed .storage-indicator{padding:10px;justify-content:center}.edit-child-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.edit-child-modal{background-color:var(--surface);border-radius:12px;padding:20px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.edit-child-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.edit-child-modal .modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.edit-child-modal .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.edit-child-modal .close-btn:hover{color:var(--text-primary)}.edit-child-modal .error-message{padding:12px;background-color:#fee2e2;color:var(--error);border-radius:6px;margin-bottom:16px;font-size:.9rem}.edit-child-modal .photo-upload-section{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}.edit-child-modal .photo-preview{width:80px;height:80px;border-radius:50%;overflow:hidden;background-color:var(--background);display:flex;align-items:center;justify-content:center}.edit-child-modal .photo-preview img{width:100%;height:100%;object-fit:cover}.edit-child-modal .photo-placeholder{display:flex;align-items:center;justify-content:center}.edit-child-modal .photo-upload-btn{padding:6px 14px;background-color:var(--primary-color);color:#fff;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.edit-child-modal .photo-upload-btn:hover{opacity:.9}.edit-child-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.edit-child-modal .form-group{display:flex;flex-direction:column}.edit-child-modal .form-group label{font-size:.85rem;font-weight:500;color:var(--text-primary);margin-bottom:4px}.edit-child-modal .form-group input,.edit-child-modal .form-group select{padding:8px 10px;font-size:.9rem;border:1px solid var(--border);border-radius:6px;background-color:var(--background);color:var(--text-primary)}.edit-child-modal .form-group input:focus,.edit-child-modal .form-group select:focus{outline:none;border-color:var(--primary-color)}.edit-child-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.edit-child-modal .btn-cancel,.edit-child-modal .btn-save{padding:8px 18px;font-size:.85rem;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.edit-child-modal .btn-cancel{background-color:var(--background);color:var(--text-primary);border:1px solid var(--border)}.edit-child-modal .btn-cancel:hover:not(:disabled){background-color:var(--surface-hover)}.edit-child-modal .btn-save{background-color:var(--primary-color);color:#fff}.edit-child-modal .btn-save:hover:not(:disabled){opacity:.9}.edit-child-modal .btn-cancel:disabled,.edit-child-modal .btn-save:disabled{opacity:.6;cursor:not-allowed}.edit-child-modal .delete-profile-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.edit-child-modal .btn-delete-profile{width:100%;padding:8px 18px;font-size:.85rem;font-weight:500;border-radius:6px;border:1px solid var(--error);background-color:transparent;color:var(--error);cursor:pointer;transition:all .2s}.edit-child-modal .btn-delete-profile:hover{background-color:#fee2e2}.edit-child-modal .delete-confirm-block{display:flex;flex-direction:column;gap:12px}.edit-child-modal .delete-confirm-text{font-size:.85rem;color:var(--error);margin:0}.edit-child-modal .delete-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.edit-child-modal .btn-delete-confirm{padding:10px 20px;font-size:.9rem;font-weight:500;border-radius:6px;border:none;background-color:var(--error);color:#fff;cursor:pointer;transition:all .2s}.edit-child-modal .btn-delete-confirm:hover{opacity:.9}@media (max-width: 640px){.edit-child-modal .form-row{grid-template-columns:1fr}}.sidebar{width:260px;height:100vh;background-color:#0f1115;color:#a1a1aa;display:flex;flex-direction:column;border-right:1px solid #27272a;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:1000;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.sidebar.collapsed{width:72px}.sidebar-header{padding:0;display:flex;flex-direction:column}.sidebar-header:has(.active-child-header){min-height:70px}.default-header{display:none}.active-child-header{background:linear-gradient(180deg,#ffffff08,#fff0);padding:14px;border-bottom:1px solid #27272a;width:100%}.child-profile-top{display:flex;gap:12px;align-items:center;margin-bottom:10px}.child-header-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1)}.child-photo-wrapper{width:48px;height:48px;flex-shrink:0;position:relative;cursor:pointer;border-radius:50%;overflow:hidden}.photo-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;color:#fff;font-size:14px;border-radius:50%}.child-photo-wrapper:hover .photo-edit-overlay{opacity:1}.child-photo-wrapper .child-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff}.child-info-right{flex:1;min-width:0;display:flex;align-items:center}.child-name{font-size:13px;font-weight:600;color:#f4f4f5;margin:0;line-height:1.4;word-break:break-word}.child-name .child-grade-inline{display:block;font-weight:400;color:#a1a1aa;font-size:12px}.dream-college-card-sidebar{background:#818cf81a;border:1px solid rgba(129,140,248,.2);border-radius:6px;padding:7px 8px;display:flex;gap:8px;align-items:center}.dream-college-card-sidebar.clickable{cursor:pointer;transition:all .2s ease}.dream-college-card-sidebar.clickable:hover{background:#818cf82e;border-color:#818cf866;transform:translateY(-1px);box-shadow:0 2px 8px #818cf826}.dream-college-card-sidebar.clickable:active{transform:translateY(0);box-shadow:none}.dream-icon{width:26px;height:26px;background:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#4f46e5;font-size:13px;flex-shrink:0}.dream-info{flex:1;overflow:hidden}.dream-label{font-size:8px;text-transform:uppercase;color:#818cf8;font-weight:600;letter-spacing:.5px;margin-bottom:1px}.dream-name{font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.dream-stats{font-size:9px;color:#a5b4fc}.sidebar-nav-fixed{padding:0 12px;flex-shrink:0}.sidebar-content{flex:1;overflow-y:auto;padding:0 12px;display:flex;flex-direction:column;gap:4px;min-height:0}.sidebar-nav-row{display:flex;gap:4px;margin-top:8px;margin-bottom:4px}.sidebar-nav-row-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;color:#a1a1aa;flex:1}.sidebar-nav-row-item:hover{background-color:#ffffff0d;color:#e4e4e7}.sidebar-nav-row-item.active{background-color:#4f46e526;color:#818cf8}.sidebar-nav-row-item.active .menu-icon{opacity:1;color:#818cf8}.sidebar-nav-row-item.icon-only{padding:10px 14px;justify-content:center;font-size:16px}.sidebar-nav-row-item.icon-only .menu-icon{font-size:16px}.sidebar-menu-item{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:2px 0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;color:#a1a1aa}.sidebar-menu-item:hover{background-color:#ffffff0d;color:#e4e4e7}.sidebar-menu-item.active{background-color:#4f46e526;color:#818cf8}.sidebar-menu-item.active .menu-icon{opacity:1;color:#818cf8}.menu-icon{font-size:18px;display:flex;align-items:center;justify-content:center;min-width:24px;opacity:.8;transition:opacity .2s}.menu-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.expand-icon{font-size:12px;opacity:.5;margin-left:auto}.sidebar-divider{height:1px;background-color:#27272a;margin:0}.sidebar-section-title{padding:0 12px;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#52525b}.child-sub-menu{overflow:hidden;display:flex;flex-direction:column;margin-top:2px;margin-bottom:8px;position:relative}.child-sub-menu:before{content:"";position:absolute;left:23px;top:0;bottom:10px;width:2px;background-color:#27272a;border-radius:2px}.sidebar-sub-item{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 36px;margin:1px 0;border-radius:8px;cursor:pointer;font-size:13px;color:#a1a1aa;transition:all .2s;position:relative}.sidebar-sub-item:hover{color:#e4e4e7;background-color:#ffffff05}.sidebar-sub-item.active{color:#818cf8;background-color:#4f46e514}.sub-icon{font-size:14px;width:16px;display:flex;justify-content:center;opacity:.7}.sidebar-sub-item:hover .sub-icon{opacity:1}.goal-list,.school-list{display:flex;flex-direction:column}.goal-item,.school-item{padding-left:48px!important;font-size:12px!important}.goal-item .sub-icon,.school-item .sub-icon{font-size:10px!important}.goal-item .sub-label,.school-item .sub-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-goal-item{opacity:.7;border-top:1px solid rgba(255,255,255,.05);margin-top:4px;padding-top:8px!important}.add-goal-item:hover{opacity:1}.add-goal-item .sub-icon{color:#667eea}.sidebar-footer{padding:8px 12px;border-top:1px solid #27272a;display:flex;flex-direction:column;gap:0}.sidebar-footer-icons{display:flex;gap:4px;justify-content:center;margin-top:2px}.sidebar-footer-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:15px;color:#a1a1aa;transition:all .2s ease}.sidebar-footer-icon-btn:hover{background-color:#ffffff0d;color:#e4e4e7}@media (max-width: 768px){.sidebar{width:100%;max-width:360px;height:100vh;height:100dvh;border-right:none;box-shadow:4px 0 20px #0000004d}}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-thumb{background-color:#3f3f46;border-radius:3px}.sidebar-content::-webkit-scrollbar-track{background-color:transparent}.admin-nav-group{width:100%}.sidebar-menu-item.admin-item{color:#f59e0b}.sidebar-menu-item.admin-item:hover{background-color:#f59e0b1a}.sidebar-menu-item.admin-item.active{background-color:#f59e0b26;color:#f59e0b}.admin-sub-menu{padding:4px 0 4px 20px}.admin-sub-menu .sidebar-sub-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:12px;color:#a1a1aa;transition:all .2s}.admin-sub-menu .sidebar-sub-item:hover{background-color:#f59e0b14;color:#f59e0b}.admin-sub-menu .sidebar-sub-item.active{background-color:#f59e0b26;color:#f59e0b}.admin-sub-menu .sub-icon{font-size:12px}.admin-sub-menu .sub-label{flex:1}.language-selector{position:relative;display:inline-block}.language-selector-btn{display:flex;align-items:center;gap:6px;background-color:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 12px;color:#fff;cursor:pointer;font-size:14px;transition:all .2s ease}.language-selector-btn:hover{background-color:#ffffff1a;border-color:#ffffff4d}.globe-icon{font-size:16px}.current-lang{font-size:18px;line-height:1}.language-dropdown{position:absolute;bottom:calc(100% + 8px);right:0;background-color:#2a2a2a;border:1px solid #444;border-radius:8px;box-shadow:0 4px 12px #00000080;min-width:180px;z-index:1000;overflow:hidden}.language-option{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;color:#fff}.language-option:hover{background-color:#ffffff1a}.language-option.active{background-color:#4caf5033}.lang-flag{font-size:20px;line-height:1}.lang-name{flex:1;font-size:14px}.check-icon{color:#4caf50;font-size:14px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f0f4ff,#e0e7ff,#f5f3ff);color:#1e293b;position:relative;overflow:hidden;padding:16px}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(99,102,241,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.08) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-container:after{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);top:-300px;right:-150px;animation:float 8s ease-in-out infinite}.login-background-orb{position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.12) 0%,transparent 70%);bottom:-250px;left:-150px;animation:float2 10s ease-in-out infinite}.login-background-orb:before{content:"";position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(6,182,212,.1) 0%,transparent 70%);top:50%;left:80%;animation:float3 12s ease-in-out infinite}.login-particles{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.login-particles span{position:absolute;width:6px;height:6px;background:linear-gradient(135deg,#6366f199,#8b5cf699);border-radius:50%;animation:rise 10s infinite;box-shadow:0 0 15px #6366f166}.login-particles span:nth-child(1){left:10%;animation-delay:0s;animation-duration:8s}.login-particles span:nth-child(2){left:20%;animation-delay:1s;animation-duration:10s}.login-particles span:nth-child(3){left:30%;animation-delay:2s;animation-duration:12s}.login-particles span:nth-child(4){left:40%;animation-delay:3s;animation-duration:9s}.login-particles span:nth-child(5){left:50%;animation-delay:4s;animation-duration:11s}.login-particles span:nth-child(6){left:60%;animation-delay:5s;animation-duration:8s}.login-particles span:nth-child(7){left:70%;animation-delay:6s;animation-duration:10s}.login-particles span:nth-child(8){left:80%;animation-delay:7s;animation-duration:12s}.login-particles span:nth-child(9){left:90%;animation-delay:8s;animation-duration:9s}@keyframes rise{0%{bottom:-10px;opacity:0;transform:scale(0)}10%{opacity:1;transform:scale(1)}90%{opacity:.8}to{bottom:100%;opacity:0;transform:scale(.5)}}.login-card{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:28px;border-radius:20px;border:1px solid rgba(99,102,241,.15);box-shadow:0 0 50px #6366f114,0 25px 50px -12px #0000001a,inset 0 1px #ffffffe6;text-align:center;width:100%;max-width:400px;max-height:95vh;overflow-y:auto;position:relative;z-index:10;animation:cardAppear .6s ease-out}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-ai-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid rgba(99,102,241,.25);padding:5px 12px;border-radius:16px;font-size:.7em;font-weight:600;letter-spacing:.5px;color:#6366f1;margin-bottom:10px;text-transform:uppercase}.login-ai-badge svg{width:12px;height:12px}.login-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}.login-card h1{margin:0;font-size:1.7em;font-weight:700;letter-spacing:-.5px}.login-logo{display:flex;align-items:baseline;gap:0;flex-wrap:wrap;justify-content:center}.logo-passport{background:linear-gradient(135deg,#4f46e5,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;font-size:1em;letter-spacing:-1px}.logo-future{background:linear-gradient(135deg,#8b5cf6,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;font-size:1em;letter-spacing:-1px;position:relative}.login-card>p{margin:0 0 14px;color:#64748b;font-size:.9em}.login-btn{width:100%;padding:11px 16px;margin-bottom:10px;border:none;border-radius:10px;cursor:pointer;font-size:.95em;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.login-btn:hover:before{left:100%}.login-btn svg{width:16px;height:16px;flex-shrink:0}.google-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 15px #6366f159}.google-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f173}.google-btn:active{transform:translateY(0)}.dev-btn{background:#6366f114;border:1px solid rgba(99,102,241,.2);color:#6366f1}.dev-btn:hover{background:#6366f126;border-color:#6366f14d;transform:translateY(-2px)}.divider{display:flex;align-items:center;margin:12px 0;color:#94a3b8;font-size:.8em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.2),transparent)}.divider:before{margin-right:12px}.divider:after{margin-left:12px}.auth-form{margin-bottom:8px;text-align:left}.auth-form-title{margin:0 0 12px;text-align:center;color:#1e293b;font-size:1.05em;font-weight:600}.auth-form .input-group{position:relative;margin-bottom:10px}.auth-form .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#6366f1;font-size:20px;transition:color .3s ease;pointer-events:none;z-index:2;display:block;stroke-width:2px;opacity:.7}.auth-form input::-webkit-credentials-auto-fill-button,.auth-form input::-webkit-contacts-auto-fill-button,.auth-form input::-ms-reveal{display:none!important;visibility:hidden!important}.auth-form .input-group:focus-within .input-icon{color:#4f46e5;opacity:1}.auth-form .input-group input{width:100%;padding:12px 14px 12px 48px!important;border:1px solid rgba(99,102,241,.2);border-radius:10px;background:#fffc;color:#1e293b;font-size:.95em;transition:all .3s ease;box-sizing:border-box}.auth-form .input-group input:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f126}.auth-form .input-group input:disabled{opacity:.5;cursor:not-allowed}.auth-form .input-group input::placeholder{color:#94a3b8}.auth-form .input-group input:-webkit-autofill,.auth-form .input-group input:-webkit-autofill:hover,.auth-form .input-group input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px rgba(255,255,255,.9) inset!important;-webkit-text-fill-color:#1e293b!important;border-color:#6366f14d!important;padding:12px 14px 12px 48px!important}.primary-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;width:100%;margin-top:4px;box-shadow:0 4px 15px #6366f159}.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #6366f173}.primary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#dc2626;padding:8px 12px;border-radius:10px;margin-bottom:10px;font-size:.85em;text-align:center;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.resend-verification-btn{display:block;width:100%;padding:10px 16px;margin-bottom:10px;background:#7c3aed14;border:1px solid rgba(124,58,237,.25);border-radius:10px;color:#7c3aed;font-size:.85em;font-weight:600;cursor:pointer;transition:all .2s}.resend-verification-btn:hover{background:#7c3aed26;border-color:#7c3aed66}.resend-verification-btn:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;margin-top:8px;color:#64748b;font-size:.85em}.link-btn{background:none;border:none;color:#6366f1;cursor:pointer;font-size:.95em;margin-left:4px;padding:0;text-decoration:none;transition:all .3s ease;font-weight:600}.link-btn:hover:not(:disabled){color:#4f46e5;text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:not-allowed}.login-header .language-dropdown{bottom:auto;top:calc(100% + 8px)}.login-header .language-selector button{background:#6366f114;border:1px solid rgba(99,102,241,.2);color:#6366f1}.login-header .language-selector button:hover{background:#6366f126}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-btn:disabled:before{display:none}@media (max-width: 480px){.login-card{margin:8px;padding:20px 18px}.login-card h1{font-size:1.4em}}@media (max-height: 700px){.login-card{padding:20px 24px}.login-ai-badge{margin-bottom:6px;padding:4px 10px;font-size:.65em}.login-card>p{margin-bottom:8px;font-size:.85em}.auth-form .input-group{margin-bottom:8px}.auth-form .input-group input{padding:9px 12px 9px 46px!important}.login-btn{padding:9px 14px;margin-bottom:8px}.divider{margin:8px 0}.captcha-container{margin:6px 0}.login-footer-links{margin-top:8px;padding-top:8px}}.login-card::-webkit-scrollbar{width:4px}.login-card::-webkit-scrollbar-track{background:transparent}.login-card::-webkit-scrollbar-thumb{background:#6366f140;border-radius:3px}.login-card::-webkit-scrollbar-thumb:hover{background:#6366f166}.login-footer-links{margin-top:12px;padding-top:10px;border-top:1px solid rgba(99,102,241,.1);text-align:center}.login-footer-links a{color:#94a3b8;font-size:.75rem;text-decoration:none;transition:color .2s}.login-footer-links a:hover{color:#6366f1}.captcha-container{display:flex;justify-content:center;align-items:center;margin:10px 0;width:100%;border-radius:10px;overflow:hidden;border:1px solid rgba(99,102,241,.2);transition:border-color .3s ease}.captcha-container:hover{border-color:#6366f1}.captcha-container>div{transform:scale(1.14);transform-origin:center center;margin:-2px 0!important}.captcha-container>div>div{border:none!important;box-shadow:none!important;background:transparent!important}.success-message{background:#22c55e1a;border:1px solid rgba(34,197,94,.25);color:#16a34a;padding:8px 12px;border-radius:10px;margin-bottom:10px;font-size:.85em;text-align:center}.forgot-password-btn{display:block;width:100%;text-align:center;margin-top:4px;font-size:.8em}.verify-email-status{display:flex;flex-direction:column;align-items:center;padding:20px 0;text-align:center}.verify-spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.verify-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;margin-bottom:16px}.verify-success-icon{background:#22c55e26;color:#16a34a;border:2px solid rgba(34,197,94,.3)}.verify-error-icon{background:#ef444426;color:#dc2626;border:2px solid rgba(239,68,68,.3)}.verify-text{color:#64748b;font-size:.9em;margin:0}.landing-container{min-height:100vh;background:linear-gradient(135deg,#f0f4ff,#e0e7ff,#f5f3ff);color:#1e293b;position:relative;overflow-x:hidden}.landing-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(99,102,241,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.05) 1px,transparent 1px);background-size:60px 60px;animation:gridMove 25s linear infinite;pointer-events:none;z-index:0}.landing-bg-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0}.landing-bg-orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 70%);top:-200px;right:-100px;animation:float 8s ease-in-out infinite}.landing-bg-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.1) 0%,transparent 70%);bottom:20%;left:-200px;animation:float2 10s ease-in-out infinite}.landing-bg-orb-3{width:350px;height:350px;background:radial-gradient(circle,rgba(6,182,212,.08) 0%,transparent 70%);top:50%;right:10%;animation:float3 12s ease-in-out infinite}.landing-particles{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.landing-particles span{position:absolute;width:5px;height:5px;background:linear-gradient(135deg,#6366f180,#8b5cf680);border-radius:50%;animation:rise 12s infinite;box-shadow:0 0 10px #6366f14d}.landing-particles span:nth-child(1){left:8%;animation-delay:0s;animation-duration:10s}.landing-particles span:nth-child(2){left:18%;animation-delay:1.5s;animation-duration:12s}.landing-particles span:nth-child(3){left:28%;animation-delay:3s;animation-duration:14s}.landing-particles span:nth-child(4){left:38%;animation-delay:4s;animation-duration:11s}.landing-particles span:nth-child(5){left:52%;animation-delay:2s;animation-duration:13s}.landing-particles span:nth-child(6){left:62%;animation-delay:5s;animation-duration:10s}.landing-particles span:nth-child(7){left:72%;animation-delay:3.5s;animation-duration:12s}.landing-particles span:nth-child(8){left:82%;animation-delay:6s;animation-duration:14s}.landing-particles span:nth-child(9){left:92%;animation-delay:1s;animation-duration:11s}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(60px,60px)}}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,30px) scale(1.1)}}@keyframes float2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-20px) scale(1.15)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-40px,20px) scale(1.2)}}@keyframes rise{0%{bottom:-10px;opacity:0;transform:scale(0)}10%{opacity:1;transform:scale(1)}90%{opacity:.6}to{bottom:100%;opacity:0;transform:scale(.5)}}.landing-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(99,102,241,.1)}.landing-header-inner{max-width:1200px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between}.landing-logo{display:flex;align-items:baseline;font-size:1.5em;font-weight:700}.landing-header-actions{display:flex;align-items:center;gap:16px}.landing-login-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:10px 24px;border-radius:12px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6366f14d}.landing-login-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.landing-hero{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:140px 32px 80px;display:flex;align-items:center;gap:60px;min-height:80vh}.landing-hero-content{flex:1}.landing-ai-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid rgba(99,102,241,.25);padding:8px 16px;border-radius:20px;font-size:.75em;font-weight:600;letter-spacing:.5px;color:#6366f1;margin-bottom:24px;text-transform:uppercase}.landing-ai-badge svg{width:14px;height:14px}.ai-pulse{animation:pulse 2s infinite}.landing-hero-title{font-size:3.2em;font-weight:800;line-height:1.15;margin:0 0 20px;letter-spacing:-1px;background:linear-gradient(135deg,#1e293b,#4f46e5,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-subtitle{font-size:1.2em;color:#64748b;line-height:1.6;margin:0 0 32px;max-width:520px}.landing-hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.hero-tag{display:inline-flex;align-items:center;padding:8px 18px;border-radius:20px;font-size:.85em;font-weight:600;letter-spacing:.3px;transition:transform .2s ease,box-shadow .2s ease}.hero-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.hero-tag-indigo{background:#6366f11a;color:#6366f1;border:1px solid rgba(99,102,241,.2)}.hero-tag-purple{background:#8b5cf61a;color:#8b5cf6;border:1px solid rgba(139,92,246,.2)}.hero-tag-pink{background:#ec48991a;color:#ec4899;border:1px solid rgba(236,72,153,.2)}.hero-tag-cyan{background:#06b6d41a;color:#06b6d4;border:1px solid rgba(6,182,212,.2)}.hero-tag-amber{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.landing-hero-actions{display:flex;gap:16px;flex-wrap:wrap}.landing-cta-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:16px 36px;border-radius:14px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #6366f159;position:relative;overflow:hidden}.landing-cta-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s ease}.landing-cta-btn:hover:before{left:100%}.landing-cta-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px #6366f173}.landing-hero-visual{flex:1;position:relative;min-height:400px;display:flex;align-items:center;justify-content:center}.hero-icons-float{position:relative;width:320px;height:320px}.hero-float-icon{position:absolute;width:72px;height:72px;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 8px 30px #00000014,0 0 0 1px #6366f11a}.hero-float-icon-1{top:0;left:50%;transform:translate(-50%);color:#6366f1;animation:iconFloat1 5s ease-in-out infinite}.hero-float-icon-2{top:50%;right:0;transform:translateY(-50%);color:#f59e0b;animation:iconFloat2 6s ease-in-out infinite}.hero-float-icon-3{bottom:0;left:50%;transform:translate(-50%);color:#ec4899;animation:iconFloat3 5.5s ease-in-out infinite}.hero-float-icon-4{top:50%;left:0;transform:translateY(-50%);color:#06b6d4;animation:iconFloat1 6.5s ease-in-out infinite reverse}@keyframes iconFloat1{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-15px)}}@keyframes iconFloat2{0%,to{transform:translateY(-50%) translate(0)}50%{transform:translateY(-50%) translate(10px)}}@keyframes iconFloat3{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(12px)}}.landing-module{position:relative;z-index:1;padding:80px 0}.landing-module-1{background:linear-gradient(180deg,transparent 0%,rgba(99,102,241,.03) 50%,transparent 100%)}.landing-module-2{background:linear-gradient(180deg,transparent 0%,rgba(139,92,246,.03) 50%,transparent 100%)}.landing-module-3{background:linear-gradient(180deg,transparent 0%,rgba(6,182,212,.03) 50%,transparent 100%)}.landing-module-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:60px}.landing-module-reverse .landing-module-inner{flex-direction:row-reverse}.landing-module-text,.landing-module-visual{flex:1;min-width:0}.module-number{display:inline-block;font-size:.8em;font-weight:800;letter-spacing:1px;padding:4px 14px;border-radius:8px;margin-bottom:16px}.module-number-indigo{background:#6366f11a;color:#6366f1}.module-number-purple{background:#8b5cf61a;color:#8b5cf6}.module-number-cyan{background:#06b6d41a;color:#06b6d4}.module-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:20px}.module-icon-indigo{background:#6366f11f;color:#6366f1}.module-icon-purple{background:#8b5cf61f;color:#8b5cf6}.module-icon-cyan{background:#06b6d41f;color:#06b6d4}.module-title{font-size:2em;font-weight:800;margin:0 0 12px;color:#1e293b;letter-spacing:-.5px;line-height:1.2}.module-subtitle{font-size:1.05em;color:#64748b;line-height:1.6;margin:0 0 28px;max-width:480px}.module-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.module-features li{display:flex;align-items:flex-start;gap:10px;font-size:.95em;color:#475569;line-height:1.5}.module-features li span{flex:1}.module-check{flex-shrink:0;width:22px;height:22px;margin-top:1px}.module-check-indigo{color:#6366f1}.module-check-purple{color:#8b5cf6}.module-check-pink{color:#ec4899}.module-check-cyan{color:#06b6d4}.module-check-amber{color:#f59e0b}.module-feature-highlight{padding:10px 14px;border-radius:12px;font-weight:600}.module-feature-highlight-amber{background:#f59e0b14;border:1px solid rgba(245,158,11,.2)}.module-feature-highlight-purple{background:#8b5cf614;border:1px solid rgba(139,92,246,.2)}.module-screenshots{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center}.module-screenshot{border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #0000001f,0 0 0 1px #0000000d;transition:transform .4s ease,box-shadow .4s ease;background:#fff}.module-screenshot img{width:100%;height:100%;object-fit:cover;display:block}.module-screenshots-stack{padding:20px}.module-screenshots-stack .module-screenshot-1{width:85%;max-width:480px;position:relative;z-index:2;transform:rotate(-1deg)}.module-screenshots-stack .module-screenshot-2{width:75%;max-width:420px;position:absolute;bottom:0;right:0;z-index:1;transform:rotate(2deg) translate(10px,20px);opacity:.9}.module-screenshots-stack .module-screenshot-3{width:65%;max-width:360px;position:absolute;top:10px;right:10px;z-index:0;transform:rotate(3deg) translate(20px,-10px);opacity:.75}.module-screenshot:hover{transform:rotate(0) translateY(-6px) scale(1.02)!important;box-shadow:0 20px 50px #0000002e;z-index:10!important;opacity:1!important}.module-screenshots-fan{gap:16px;padding:20px;flex-wrap:nowrap}.module-screenshots-fan .module-screenshot-1{width:38%;max-width:220px;transform:rotate(-3deg) translateY(10px);z-index:1}.module-screenshots-fan .module-screenshot-2{width:38%;max-width:220px;transform:rotate(1deg) translateY(-8px);z-index:2}.module-screenshots-fan .module-screenshot-3{width:38%;max-width:220px;transform:rotate(3deg) translateY(10px);z-index:1}.landing-mobile-app{position:relative;z-index:1;padding:80px 32px;background:linear-gradient(180deg,transparent 0%,rgba(99,102,241,.04) 50%,transparent 100%)}.landing-mobile-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:60px}.landing-mobile-text{flex:1}.landing-section-title{font-size:2.2em;font-weight:800;text-align:center;margin:0 0 12px;color:#1e293b;letter-spacing:-.5px}.landing-section-subtitle{font-size:1.1em;color:#64748b;text-align:center;max-width:600px;margin:0 auto 48px;line-height:1.6}.landing-mobile-text .landing-section-title{text-align:left}.landing-mobile-text .landing-section-subtitle{text-align:left;margin-left:0;margin-right:0}.landing-mobile-features{list-style:none;padding:0;margin:0 0 32px}.landing-mobile-features li{position:relative;padding:10px 0 10px 28px;color:#475569;font-size:1em;line-height:1.5}.landing-mobile-features li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.landing-store-buttons{display:flex;gap:12px;flex-wrap:wrap}.store-btn{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:12px;border:1px solid rgba(99,102,241,.2);background:#ffffffb3;cursor:default;transition:all .3s ease;opacity:.75}.store-btn svg{font-size:24px;color:#6366f1}.store-btn-text{display:flex;flex-direction:column;align-items:flex-start}.store-btn-small{font-size:.65em;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.store-btn-large{font-size:1em;font-weight:600;color:#1e293b}.landing-mobile-screenshots{flex:1;display:flex;gap:16px;align-items:center;justify-content:center;position:relative;min-height:500px}.mobile-screenshot{border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #00000026;transition:transform .4s ease;border:2px solid rgba(255,255,255,.6)}.mobile-screenshot img{width:100%;height:100%;object-fit:cover;display:block}.mobile-screenshot-1{width:200px;height:420px;transform:rotate(-3deg) translateY(20px);z-index:2}.mobile-screenshot-2{width:200px;height:420px;transform:rotate(2deg) translateY(-10px);z-index:3}.mobile-screenshot-3,.mobile-screenshot-4{display:none}.mobile-screenshot:hover{transform:translateY(-8px) rotate(0) scale(1.02);z-index:10}.landing-cta{position:relative;z-index:1;padding:80px 32px}.landing-cta-content{max-width:700px;margin:0 auto;text-align:center;background:#ffffffbf;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(99,102,241,.15);border-radius:28px;padding:56px 48px;box-shadow:0 0 50px #6366f10f}.landing-cta-content h2{font-size:2em;font-weight:800;margin:0 0 12px;color:#1e293b}.landing-cta-content p{font-size:1.05em;color:#64748b;margin:0 0 28px;line-height:1.6}.landing-cta-btn-large{padding:18px 44px;font-size:1.15em}.landing-footer{position:relative;z-index:1;border-top:1px solid rgba(99,102,241,.1);padding:32px}.landing-footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.landing-footer-logo{display:flex;align-items:baseline;font-size:1.1em;font-weight:700}.landing-footer-links a{color:#94a3b8;text-decoration:none;font-size:.9em;transition:color .2s}.landing-footer-links a:hover{color:#6366f1}.landing-footer-copy{color:#94a3b8;font-size:.85em;margin:0}.logo-passport{background:linear-gradient(135deg,#4f46e5,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:-1px}.logo-to{font-size:.6em;font-weight:400;color:#94a3b8;margin:0 4px;font-style:italic}.logo-future{background:linear-gradient(135deg,#8b5cf6,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:-1px;position:relative}.logo-future:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:3px;background:linear-gradient(90deg,#8b5cf6,#ec4899);border-radius:2px;opacity:.6}.landing-header-actions .language-dropdown{bottom:auto;top:calc(100% + 8px)}.landing-header-actions .language-selector button{background:#6366f114;border:1px solid rgba(99,102,241,.2);color:#6366f1}.landing-header-actions .language-selector button:hover{background:#6366f126}@media (max-width: 1024px){.module-screenshots-fan .module-screenshot-1,.module-screenshots-fan .module-screenshot-2,.module-screenshots-fan .module-screenshot-3{max-width:180px}.module-screenshots-stack .module-screenshot-1{max-width:380px}.module-screenshots-stack .module-screenshot-2{max-width:340px}}@media (max-width: 768px){.landing-hero{flex-direction:column;padding:120px 20px 60px;min-height:auto;text-align:center}.landing-hero-title{font-size:2.2em}.landing-hero-subtitle{max-width:100%}.landing-hero-tags,.landing-hero-actions{justify-content:center}.landing-hero-visual{min-height:250px}.hero-icons-float{width:220px;height:220px}.hero-float-icon{width:56px;height:56px;font-size:24px}.landing-module{padding:48px 0}.landing-module-inner{flex-direction:column;gap:32px;padding:0 20px}.landing-module-reverse .landing-module-inner{flex-direction:column}.landing-module-text{text-align:center}.module-subtitle{max-width:100%}.module-title{font-size:1.6em}.module-features li{text-align:left}.module-screenshots{min-height:260px}.module-screenshots-stack{padding:10px}.module-screenshots-stack .module-screenshot-1{width:90%;max-width:340px}.module-screenshots-stack .module-screenshot-2{width:80%;max-width:300px;transform:rotate(2deg) translate(5px,15px)}.module-screenshots-stack .module-screenshot-3{width:70%;max-width:260px;transform:rotate(3deg) translate(10px,-5px)}.module-screenshots-fan{gap:10px;padding:10px}.module-screenshots-fan .module-screenshot-1,.module-screenshots-fan .module-screenshot-2,.module-screenshots-fan .module-screenshot-3{max-width:140px;width:32%}.landing-mobile-content{flex-direction:column;gap:40px}.landing-mobile-text .landing-section-title,.landing-mobile-text .landing-section-subtitle{text-align:center}.landing-mobile-features{max-width:400px;margin-left:auto;margin-right:auto;margin-bottom:32px}.landing-store-buttons{justify-content:center}.landing-mobile-screenshots{min-height:350px}.mobile-screenshot-1,.mobile-screenshot-2{width:150px;height:320px}.landing-cta-content{padding:40px 24px}.landing-cta-content h2{font-size:1.6em}.landing-section-title{font-size:1.7em}.landing-footer-inner{flex-direction:column;text-align:center}.landing-header-inner{padding:12px 16px}.landing-logo{font-size:1.2em}}@media (max-width: 480px){.landing-hero{padding:100px 16px 40px}.landing-hero-title{font-size:1.8em}.hero-tag{padding:6px 14px;font-size:.78em}.landing-hero-tags{gap:8px}.landing-cta-btn{padding:14px 28px;font-size:1em}.landing-header-inner{gap:8px}.landing-login-btn{padding:8px 16px;font-size:.85em}.landing-module{padding:36px 0}.landing-module-inner{padding:0 16px;gap:24px}.module-title{font-size:1.4em}.module-subtitle{font-size:.95em}.module-features li{font-size:.88em}.module-icon{width:48px;height:48px;font-size:22px}.module-screenshots{min-height:200px}.module-screenshots-stack .module-screenshot-1{max-width:280px}.module-screenshots-stack .module-screenshot-2{max-width:240px}.module-screenshots-stack .module-screenshot-3{max-width:200px}.module-screenshots-fan .module-screenshot-1,.module-screenshots-fan .module-screenshot-2,.module-screenshots-fan .module-screenshot-3{max-width:110px}.landing-mobile-screenshots{min-height:280px}.mobile-screenshot-1,.mobile-screenshot-2{width:130px;height:280px}.landing-cta-content h2{font-size:1.4em}.landing-section-title{font-size:1.5em}}.delete-account-container{height:100%;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;background:linear-gradient(135deg,#eef2ff,#e0e7ff,#c7d2fe);overflow-y:auto;box-sizing:border-box}.delete-account-card{background:#fff;border-radius:20px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d}.delete-account-card.success-card{text-align:center;padding:60px 40px}.success-icon{font-size:64px;color:#10b981;margin-bottom:24px}.success-card h1{color:#1a1a2e;margin-bottom:16px}.success-card p{color:#64748b;font-size:16px;line-height:1.6;margin-bottom:32px}.back-home-btn{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;text-decoration:none;border-radius:12px;font-weight:600;transition:transform .2s,box-shadow .2s}.back-home-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.delete-header{margin-bottom:24px}.delete-logo{font-size:24px;font-weight:700}.delete-logo .logo-passport{color:#6366f1}.delete-logo .logo-to{color:#94a3b8;font-weight:400;margin:0 4px}.delete-logo .logo-future{color:#1a1a2e}.delete-icon-wrapper{display:flex;justify-content:center;margin-bottom:20px}.delete-icon{font-size:48px;color:#ef4444;padding:20px;background:#fef2f2;border-radius:50%}.delete-account-card h2{text-align:center;color:#1a1a2e;font-size:28px;margin-bottom:12px}.delete-subtitle{text-align:center;color:#64748b;font-size:16px;margin-bottom:24px}.current-user-info{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#f0f4ff;border:1px solid #c7d2fe;border-radius:10px;margin-bottom:24px}.current-user-label{color:#64748b;font-size:14px}.current-user-email{color:#4338ca;font-weight:600;font-size:14px}.warning-box{display:flex;gap:16px;padding:16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;margin-bottom:24px}.warning-icon{font-size:24px;color:#f59e0b;flex-shrink:0}.warning-box strong{color:#92400e;display:block;margin-bottom:4px}.warning-box p{color:#a16207;font-size:14px;margin:0}.data-list{background:#f8fafc;border-radius:12px;padding:20px;margin-bottom:24px}.data-list h3{color:#1a1a2e;font-size:16px;margin-bottom:12px}.data-list ul{list-style:none;padding:0;margin:0}.data-list li{padding:8px 0 8px 24px;position:relative;color:#64748b;font-size:14px;border-bottom:1px solid #e2e8f0}.data-list li:last-child{border-bottom:none}.data-list li:before{content:"×";position:absolute;left:0;color:#ef4444;font-weight:700;font-size:16px}.error-message{background:#fef2f2;border:1px solid #ef4444;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.delete-form{margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;color:#374151;font-weight:600;margin-bottom:8px;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group textarea{resize:vertical;min-height:80px}.delete-submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .2s,box-shadow .2s,opacity .2s}.delete-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ef444466}.delete-submit-btn:disabled{opacity:.6;cursor:not-allowed}.retention-info{background:#eff6ff;border:1px solid #3b82f6;border-radius:12px;padding:16px;margin-bottom:20px}.retention-info h4{color:#1e40af;margin:0 0 8px;font-size:14px}.retention-info p{color:#3b82f6;font-size:13px;margin:0;line-height:1.5}.contact-info{text-align:center;color:#64748b;font-size:14px}.contact-info a{color:#6366f1;text-decoration:none}.contact-info a:hover{text-decoration:underline}@media (max-width: 640px){.delete-account-container{padding:20px 16px}.delete-account-card{padding:24px}.delete-account-card h2{font-size:22px}.logo-section{flex-direction:column;gap:12px;align-items:flex-start}.warning-box{flex-direction:column;gap:12px}}.privacy-policy-container{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;background:linear-gradient(135deg,#eef2ff,#e0e7ff,#c7d2fe)}.privacy-policy-card{background:#fff;border-radius:20px;padding:40px 50px;max-width:900px;width:100%;box-shadow:0 20px 60px #0000004d;color:#1a1a2e;line-height:1.7}.privacy-header{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.logo-section{display:flex;justify-content:space-between;align-items:center}.privacy-logo{font-size:24px;font-weight:700;text-decoration:none}.privacy-logo .logo-passport{color:#6366f1}.privacy-logo .logo-to{color:#94a3b8;font-weight:400;margin:0 4px}.privacy-logo .logo-future{color:#1a1a2e}.privacy-policy-card h1{font-size:32px;color:#1a1a2e;margin-bottom:10px;text-align:center}.effective-date{text-align:center;color:#64748b;margin-bottom:30px;font-size:14px}.privacy-policy-card section{margin-bottom:28px}.privacy-policy-card h2{font-size:20px;color:#1a1a2e;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #6366f1;display:inline-block}.privacy-policy-card p{color:#374151;margin-bottom:12px}.privacy-policy-card ul{margin:0;padding-left:24px}.privacy-policy-card li{color:#374151;margin-bottom:8px}.privacy-policy-card li strong{color:#1a1a2e}.privacy-policy-card a{color:#6366f1;text-decoration:none}.privacy-policy-card a:hover{text-decoration:underline}.privacy-footer{margin-top:40px;padding-top:20px;border-top:1px solid #e2e8f0;text-align:center}.back-home-btn{display:inline-block;padding:12px 28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff!important;text-decoration:none!important;border-radius:10px;font-weight:600;transition:transform .2s,box-shadow .2s}.back-home-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166;text-decoration:none!important}@media (max-width: 768px){.privacy-policy-container{padding:20px 16px}.privacy-policy-card{padding:24px 20px}.privacy-policy-card h1{font-size:26px}.privacy-policy-card h2{font-size:18px}.logo-section{flex-direction:column;gap:12px;align-items:flex-start}}.terms-gate-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#eef2ff,#e0e7ff,#c7d2fe);display:flex;justify-content:center;align-items:center;padding:20px;z-index:10000}.terms-gate-card{background:#fff;border-radius:20px;padding:30px 40px;max-width:900px;width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;color:#1a1a2e;line-height:1.7;overflow:hidden}.terms-gate-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.terms-gate-card .logo-section{display:flex;justify-content:space-between;align-items:center}.terms-gate-card .privacy-logo{font-size:24px;font-weight:700;text-decoration:none}.terms-gate-card .logo-passport{color:#6366f1}.terms-gate-card .logo-to{color:#94a3b8;font-weight:400;margin:0 4px}.terms-gate-card .logo-future{color:#1a1a2e}.terms-gate-card h1{font-size:28px;color:#1a1a2e;margin-bottom:6px;text-align:center;flex-shrink:0}.terms-gate-subtitle{text-align:center;color:#64748b;margin-bottom:15px;font-size:15px;flex-shrink:0}.terms-gate-content{flex:1;min-height:0;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;padding:24px;margin-bottom:16px;background:#f8fafc}.terms-gate-content section{margin-bottom:20px}.terms-gate-content h2{font-size:18px;color:#1a1a2e;margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid #6366f1;display:inline-block}.terms-gate-content p{color:#374151;margin-bottom:10px}.terms-gate-content ul{margin:0;padding-left:24px}.terms-gate-content li{color:#374151;margin-bottom:6px}.terms-gate-content a{color:#6366f1;text-decoration:none}.terms-gate-content a:hover{text-decoration:underline}.terms-gate-actions{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0;padding-top:4px}.terms-gate-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;color:#1a1a2e;-webkit-user-select:none;user-select:none;transition:opacity .3s}.terms-gate-checkbox-label.disabled{opacity:.4;cursor:not-allowed}.terms-gate-checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:#6366f1;cursor:pointer}.terms-gate-checkbox-label.disabled input[type=checkbox]{cursor:not-allowed}.terms-gate-accept-btn{padding:14px 40px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.terms-gate-accept-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.terms-gate-accept-btn:disabled{opacity:.5;cursor:not-allowed}.terms-gate-error{color:#ef4444;font-size:14px;margin:0}.terms-gate-card .language-selector-btn{color:#1a1a2e;border-color:#e2e8f0}.terms-gate-card .language-selector-btn:hover{background-color:#f1f5f9;border-color:#cbd5e1}.terms-gate-card .language-dropdown{background-color:#fff;border-color:#e2e8f0;box-shadow:0 4px 12px #00000026;bottom:auto;top:calc(100% + 8px)}.terms-gate-card .language-option{color:#1a1a2e}.terms-gate-card .language-option:hover{background-color:#f1f5f9}.terms-gate-card .language-option.active{background-color:#6366f11a}.terms-gate-card .check-icon{color:#6366f1}@media (max-width: 768px){.terms-gate-overlay{padding:10px}.terms-gate-card{padding:20px 16px;max-height:calc(100vh - 20px)}.terms-gate-card h1{font-size:22px}.terms-gate-content{padding:16px}.terms-gate-content h2{font-size:16px}.terms-gate-card .logo-section{flex-direction:column;gap:12px;align-items:flex-start}}.add-child-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.add-child-modal{background-color:var(--surface);border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.add-child-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.add-child-modal .modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.add-child-modal .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.add-child-modal .close-btn:hover{color:var(--text-primary)}.add-child-modal .error-message{padding:12px;background-color:#fee2e2;color:var(--error);border-radius:6px;margin-bottom:16px;font-size:.9rem}.photo-upload-section{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.photo-preview{width:100px;height:100px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-placeholder{display:flex;align-items:center;justify-content:center}.photo-upload-btn{padding:10px 20px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #8b5cf666}.photo-upload-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680}.add-child-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.add-child-modal .form-group{display:flex;flex-direction:column}.add-child-modal .form-group label{font-size:.9rem;font-weight:500;color:var(--text-primary);margin-bottom:6px}.add-child-modal .form-group input,.add-child-modal .form-group select{padding:10px 12px;font-size:.95rem;border:1px solid var(--border);border-radius:6px;background-color:var(--background);color:var(--text-primary)}.add-child-modal .form-group input:focus,.add-child-modal .form-group select:focus{outline:none;border-color:var(--primary-color)}.add-child-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.add-child-modal .btn-cancel,.add-child-modal .btn-add{padding:10px 20px;font-size:.9rem;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.add-child-modal .btn-cancel{background-color:var(--background);color:var(--text-primary);border:1px solid var(--border)}.add-child-modal .btn-cancel:hover:not(:disabled){background-color:var(--surface-hover)}.add-child-modal .btn-add{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;color:#fff!important;box-shadow:0 4px 14px #8b5cf666!important}.add-child-modal .btn-add:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680!important}.add-child-modal .btn-cancel:disabled,.add-child-modal .btn-add:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.add-child-modal .form-row{grid-template-columns:1fr}}.home-container{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;background-color:var(--background);padding:24px 12px;box-sizing:border-box;transition:background-color .3s ease}.home-content{display:flex;flex-direction:column;align-items:center;max-width:1000px;width:100%}.home-hero{position:relative;width:280px;height:200px;margin-bottom:32px}.hero-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.6}.hero-orb-1{width:120px;height:120px;background:linear-gradient(135deg,#6366f1,#8b5cf6);top:10%;left:10%;animation:float1 6s ease-in-out infinite}.hero-orb-2{width:100px;height:100px;background:linear-gradient(135deg,#ec4899,#f472b6);top:20%;right:5%;animation:float2 8s ease-in-out infinite}.hero-orb-3{width:80px;height:80px;background:linear-gradient(135deg,#06b6d4,#22d3ee);bottom:10%;left:30%;animation:float3 7s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10px,-15px) scale(1.1)}}@keyframes float2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-15px,10px) scale(1.15)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(15px,-10px) scale(1.1)}}.hero-icons{position:absolute;top:0;right:0;bottom:0;left:0}.hero-icon-wrapper{position:absolute;width:48px;height:48px;background:#ffffffe6;border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000001a,0 0 0 1px #6366f11a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-theme=dark] .hero-icon-wrapper{background:#1e293be6;box-shadow:0 4px 20px #0000004d,0 0 0 1px #6366f133}.hero-icon{font-size:24px}.hero-icon-1{top:5%;left:5%;animation:iconFloat1 5s ease-in-out infinite}.hero-icon-1 .hero-icon{color:#6366f1}.hero-icon-2{top:0;right:15%;animation:iconFloat2 6s ease-in-out infinite}.hero-icon-2 .hero-icon{color:#f59e0b}.hero-icon-3{bottom:15%;right:0;animation:iconFloat3 5.5s ease-in-out infinite}.hero-icon-3 .hero-icon{color:#ec4899}@keyframes iconFloat1{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(5deg)}}@keyframes iconFloat2{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-5deg)}}@keyframes iconFloat3{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(3deg)}}.hero-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.hero-ai-badge{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:700;letter-spacing:1px;box-shadow:0 4px 15px #6366f166;animation:badgePulse 3s ease-in-out infinite}.hero-sparkle{font-size:14px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes badgePulse{0%,to{box-shadow:0 4px 15px #6366f166}50%{box-shadow:0 4px 25px #6366f199}}.hero-main-icon{font-size:64px;color:#6366f1;filter:drop-shadow(0 4px 20px rgba(99,102,241,.3));animation:mainIconFloat 4s ease-in-out infinite}[data-theme=dark] .hero-main-icon{color:#818cf8}@keyframes mainIconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.hero-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.hero-particles span{position:absolute;width:6px;height:6px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;opacity:0;animation:particleRise 4s infinite}.hero-particles span:nth-child(1){left:20%;animation-delay:0s}.hero-particles span:nth-child(2){left:40%;animation-delay:.8s}.hero-particles span:nth-child(3){left:60%;animation-delay:1.6s}.hero-particles span:nth-child(4){left:80%;animation-delay:2.4s}.hero-particles span:nth-child(5){left:30%;animation-delay:3.2s}.hero-particles span:nth-child(6){left:70%;animation-delay:.4s}@keyframes particleRise{0%{bottom:0;opacity:0;transform:scale(0)}20%{opacity:.8;transform:scale(1)}80%{opacity:.6}to{bottom:100%;opacity:0;transform:scale(.5)}}.home-logo{display:flex;align-items:baseline;justify-content:center;margin-bottom:12px;font-size:2.2rem}.home-logo .logo-passport{background:linear-gradient(135deg,#4f46e5,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:-1px}.home-logo .logo-to{font-size:.5em;font-weight:400;color:#94a3b8;margin:0 6px;font-style:italic}.home-logo .logo-future{background:linear-gradient(135deg,#8b5cf6,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:-1px;position:relative}.home-logo .logo-future:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:4px;background:linear-gradient(90deg,#8b5cf6,#ec4899);border-radius:2px;opacity:.5}.home-title{font-size:1.25rem;color:var(--text-secondary);text-align:center;margin-bottom:32px;font-weight:500;line-height:1.5;max-width:500px}.home-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:750px}.goal-button{background:var(--surface);border:2px solid var(--border);border-radius:10px;padding:16px 12px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:100px}.goal-button:hover{background:var(--surface-hover);border-color:var(--primary-color);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.goal-button:active{transform:translateY(-2px)}.goal-icon{font-size:2rem;line-height:1}.goal-label{color:var(--text-primary);font-size:.9rem;font-weight:500;text-align:center;line-height:1.3}.home-loading{color:var(--text-secondary);font-size:1rem;padding:20px}.home-children-section,.home-no-children-section{display:flex;flex-direction:column;align-items:center;width:100%;max-width:750px}.home-prompt-text{color:var(--text-secondary);font-size:1rem;text-align:center;margin-bottom:24px;line-height:1.5;max-width:600px}.home-children-buttons{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:16px;width:100%;max-width:750px}.child-dashboard-button{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:16px 20px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:160px;max-width:200px;flex:1 1 160px}.child-dashboard-button:hover{background:var(--surface-hover);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 25px #6366f126}.child-dashboard-button:active{transform:translateY(-1px)}.child-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;flex-shrink:0}.child-photo{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--primary-color)}.child-button-label{color:var(--text-primary);font-size:.9rem;font-weight:500;text-align:center;line-height:1.3}.add-child-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;padding:16px 32px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px #6366f166}.add-child-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f180}.add-child-button:active{transform:translateY(-1px);box-shadow:0 4px 15px #6366f166}.add-child-icon{font-size:1.2rem;line-height:1;color:#fff}.add-child-label{color:#fff;font-size:1rem;font-weight:600}@media (max-width: 480px){.home-children-buttons{gap:12px}.child-dashboard-button{min-width:130px;max-width:160px;flex:1 1 130px;padding:12px 14px}.child-icon,.child-photo{width:44px;height:44px}.child-button-label{font-size:.8rem}}@media (max-width: 768px){.home-hero{width:240px;height:170px;margin-bottom:24px}.hero-icon-wrapper{width:40px;height:40px;border-radius:12px}.hero-icon{font-size:20px}.hero-main-icon{font-size:52px}.home-logo{font-size:1.8rem}.home-title{font-size:1.1rem;margin-bottom:24px}.home-goals{grid-template-columns:1fr;gap:16px}.goal-button{flex-direction:row;min-height:auto;padding:16px;gap:16px}.goal-icon{font-size:2rem}.goal-label{text-align:left;flex:1}}.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.custom-modal{background-color:var(--surface);border-radius:12px;padding:0;min-width:320px;max-width:420px;width:90%;box-shadow:var(--shadow-lg);animation:slideIn .2s ease-out;overflow:hidden}.custom-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.custom-modal-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.custom-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.custom-modal-close:hover{color:var(--text-primary);background-color:var(--surface-hover)}.custom-modal-content{padding:20px}.custom-modal-message{font-size:.95rem;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.custom-modal-message:last-child{margin-bottom:0}.custom-modal-input{width:100%;padding:12px 14px;font-size:.95rem;border:2px solid var(--border);border-radius:8px;background-color:var(--background);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.custom-modal-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.custom-modal-input::placeholder{color:var(--text-muted)}.custom-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;background-color:var(--background);border-top:1px solid var(--border)}.custom-modal-btn{padding:10px 20px;font-size:.9rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s;min-width:80px}.custom-modal-btn.cancel{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.custom-modal-btn.cancel:hover{background-color:var(--surface-hover)}.custom-modal-btn.confirm{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 14px #8b5cf64d}.custom-modal-btn.confirm:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf666}.custom-modal-btn.confirm.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 14px #ef44444d}.custom-modal-btn.confirm.danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444466}.custom-modal.danger .custom-modal-header h3{color:var(--error)}.loading-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-popup-content{background-color:#fff;padding:30px;border-radius:12px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 20px #0000004d;max-width:80%;text-align:center}.loading-spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-message{font-size:1.1rem;color:#333;font-weight:500;margin:0}.add-school-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.add-school-modal{background-color:var(--surface);padding:24px;border-radius:12px;width:90%;max-width:1000px;box-shadow:var(--shadow-lg);border:1px solid var(--border);color:var(--text-primary);max-height:90vh;overflow-y:auto}.add-school-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.add-school-modal .modal-header h2{margin:0;font-size:1.5rem}.add-school-modal .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer}.add-school-modal form{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.add-school-modal .form-group{margin-bottom:0;min-width:0}.add-school-modal .form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.add-school-modal .form-group input,.add-school-modal .form-group select{width:100%;padding:10px;border-radius:6px;border:1px solid var(--border);background-color:var(--background);color:var(--text-primary);font-size:1rem;box-sizing:border-box}.add-school-modal .form-row{display:flex;gap:16px;width:100%;flex-wrap:nowrap}.add-school-modal .form-row .form-group{flex:1}.add-school-modal .error-message{grid-column:1 / -1;color:var(--error);padding:10px;background-color:#ef44441a;border-radius:6px;order:-1}.add-school-modal .modal-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;margin-top:24px;order:100}.add-school-modal .modal-actions button{padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.add-school-modal .modal-actions button[type=button]{background-color:transparent;border:1px solid var(--border);color:var(--text-primary)}.add-school-modal .modal-actions button[type=submit]{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;border:none;color:#fff;box-shadow:0 4px 14px #8b5cf666}.add-school-modal .modal-actions button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680}.add-school-modal .modal-actions button:disabled{opacity:.6;cursor:not-allowed}.add-school-modal form>.form-group:first-child:has(select){grid-column:1 / -1;order:0}.add-school-modal .form-group:has(input[name=name]){grid-column:span 1;order:1}.add-school-modal .form-group:has(select[name=type]){grid-column:span 1;order:2}.add-school-modal .form-group:has(input[name=address]){grid-column:1 / -1;order:3}.add-school-modal .form-row:has(input[name=city]){grid-column:1 / -1;order:4}.add-school-modal .form-row:has(select[name=schoolLevel]){order:5;grid-column:1 / -1;display:flex;gap:16px}.add-school-modal .suggestions-list{position:absolute;top:100%;left:0;right:0;background-color:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;z-index:10000;list-style:none;padding:0;margin:4px 0 0}.add-school-modal .suggestions-list li{padding:10px;cursor:pointer;border-bottom:1px solid var(--border);background-color:var(--surface)}.add-school-modal .suggestions-list li:last-child{border-bottom:none}.add-school-modal .suggestions-list li:hover{background-color:var(--surface-hover)}.add-school-modal .suggestions-list li strong{display:block;color:var(--text-primary)}.add-school-modal .suggestions-list li small{color:var(--text-secondary)}@media (max-width: 768px){.add-school-modal{padding:16px;border-radius:8px}.add-school-modal .modal-header{margin-bottom:12px}.add-school-modal .modal-header h2{font-size:1.2rem}.add-school-modal form{grid-template-columns:1fr;gap:8px}.add-school-modal .form-group label{margin-bottom:4px;font-size:.85rem}.add-school-modal .form-group input,.add-school-modal .form-group select{padding:8px;font-size:.95rem}.add-school-modal .form-row:has(select[name=schoolLevel]){flex-direction:column;gap:8px}.add-school-modal .modal-actions{margin-top:16px;gap:8px}.add-school-modal .modal-actions button{padding:8px 16px;font-size:.9rem}.add-school-modal .form-group:has(input[name=name]),.add-school-modal .form-group:has(select[name=type]),.add-school-modal .form-row{grid-column:1 / -1}.add-school-modal .form-row{flex-direction:column;gap:8px}}.school-overview{background-color:#f8f9fa;padding:16px 24px;border-bottom:1px solid #e0e0e0;position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}.school-overview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top right,#fffffff2 40%,#fff0);z-index:0}.overview-header{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.header-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-title h1{font-size:20px;font-weight:700;color:#1a1a1a;margin:0}.header-actions{display:flex;gap:8px;align-items:center;margin-left:8px}.action-btn{background:none;border:none;padding:4px;display:flex;align-items:center;justify-content:center;color:#999;cursor:pointer;transition:all .2s ease;font-size:16px;border-radius:4px}.action-btn:hover{color:#1976d2;background-color:#1976d20d}.action-btn.delete-btn:hover{color:#d32f2f;background-color:#d32f2f0d}.action-btn:disabled{opacity:.5;cursor:not-allowed}.child-name{font-size:15px;color:#666;font-weight:500}.status-badge{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.status-icon{color:#4caf50}.metrics-container{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;position:relative;z-index:1}.metric-block{display:flex;flex-direction:column;align-items:center;justify-content:center}.rating-block{border-right:1px solid #e0e0e0;padding-right:16px}.rating-circle-container{position:relative;width:70px;height:70px;margin-bottom:4px}.progress-ring__circle{transition:stroke-dashoffset .35s;transform:rotate(-90deg);transform-origin:50% 50%}.rating-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.school-overview .rating-value{font-size:16px;font-weight:700;color:#333}.rating-label{font-size:12px;color:#666;text-align:center}.cards-block{display:flex;flex-direction:row;gap:16px;border-right:1px solid #e0e0e0;padding-right:24px;height:100%;align-items:center}.metric-card{background:#fff;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000d;flex:1;min-width:140px}.card-icon-wrapper{background-color:#e3f2fd;padding:10px;border-radius:50%;display:flex;align-items:center;justify-content:center}.card-icon{color:#1976d2;font-size:18px}.card-info{display:flex;flex-direction:column}.card-title{font-size:12px;color:#666;margin-bottom:4px;white-space:nowrap}.card-value{font-size:14px;font-weight:600;color:#333}.summary-block{align-items:flex-start;padding-left:8px}.summary-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.summary-header h3{font-size:13px;font-weight:600;color:#333;margin:0}.sparkle{font-size:14px}.summary-text{font-size:12px;line-height:1.5;color:#444;margin:0 0 8px}.raw-data-btn{background:none;border:none;color:#666;font-size:12px;display:flex;align-items:center;gap:6px;cursor:pointer;padding:0}.raw-data-btn:hover{color:#333;text-decoration:underline}.raw-data-panel{margin-top:16px;background:#f1f1f1;padding:12px;border-radius:8px;font-size:11px;overflow-x:auto;max-height:200px;width:100%}.parsing-status-container{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;justify-content:center;padding:60px 24px;text-align:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:16px;margin-top:24px}.parsing-status-container.failed{background:linear-gradient(135deg,#fff5f5,#ffe0e0)}.parsing-animation{margin-bottom:24px}.parsing-spinner{font-size:48px;color:#1976d2}.parsing-error-icon{font-size:48px;color:#d32f2f}.parsing-title{font-size:20px;font-weight:600;color:#333;margin:0 0 12px}.parsing-message{font-size:14px;color:#666;margin:0 0 24px;max-width:400px}.parsing-progress-bar{width:100%;max-width:300px;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.parsing-progress-fill{height:100%;background:linear-gradient(90deg,#1976d2,#42a5f5);border-radius:4px;transition:width .3s ease}.parsing-progress-text{font-size:14px;font-weight:600;color:#1976d2}.retry-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background-color:#1976d2;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.retry-button:hover{background-color:#1565c0}.retry-button:disabled{opacity:.7;cursor:not-allowed}.fa-spin{animation:spin 1s linear infinite}.summary-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;width:100%}.summary-refresh-btn{background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;margin-left:auto}.summary-refresh-btn:hover{color:#1976d2;background-color:#1976d21a}.summary-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.summary-loading{display:flex;align-items:center;gap:10px;color:#666;font-size:13px;padding:16px 0}.summary-loading svg{color:#1976d2;font-size:18px}.summary-insufficient-data{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fff8e1,#ffecb3);border-radius:6px;padding:8px 12px;margin-bottom:8px;flex-wrap:wrap}.summary-insufficient-data .info-icon{color:#f57c00;font-size:14px;flex-shrink:0}.summary-insufficient-data .insufficient-text{font-size:12px;color:#5d4037;line-height:1.4}.summary-insufficient-data .insufficient-details{font-size:11px;color:#795548;opacity:.85}.summary-insufficient-data .insufficient-details:before{content:"—";margin-right:4px}.summary-insufficient-data .data-score{font-size:11px;color:#8d6e63;font-weight:600;margin-left:auto;white-space:nowrap}.summary-content{margin-bottom:12px}.summary-content .summary-text{margin-bottom:8px}.summary-timestamp{font-size:11px;color:#999;display:block}.summary-error{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#ffebee;border-radius:8px;margin-bottom:12px}.summary-error svg{color:#d32f2f;font-size:24px}.summary-error p{font-size:13px;color:#c62828;margin:0}.retry-summary-btn{background:#d32f2f;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.retry-summary-btn:hover{background:#b71c1c}.summary-insufficient-credits{background:#fff3e0}.summary-insufficient-credits svg{color:#e65100}.summary-insufficient-credits p{color:#bf360c}@media (max-width: 768px){.school-overview{padding:10px 12px}.overview-header{margin-bottom:6px}.header-title{gap:6px}.header-title h1{font-size:15px;line-height:1.2}.child-name{font-size:12px}.header-actions{margin-left:auto}.action-btn{padding:2px;font-size:13px}.metrics-container{display:flex;flex-direction:row;align-items:center;gap:12px}.rating-block{flex-direction:row;align-items:center;gap:6px;padding:0;border:none;width:auto}.rating-label{font-size:11px}.rating-circle-container{width:30px;height:30px}.rating-circle-container svg{width:30px!important;height:30px!important}.school-overview .rating-value{font-size:10px}.summary-block{display:none!important}.school-info-banner{padding:6px 10px;font-size:11px;margin-bottom:6px}.info-banner-icon{font-size:12px}.parsing-status-container{padding:12px;margin-top:8px}.summary-insufficient-data{padding:6px 10px;gap:6px}}.summary-text-truncated{font-size:12px;line-height:1.5;color:#444;margin:0 0 6px}.read-more-btn{background:none;border:none;color:#1976d2;font-size:11px;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.read-more-btn:hover{color:#1565c0}.summary-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.summary-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.summary-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.summary-modal-title{display:flex;align-items:center;gap:8px}.summary-modal-title h3{margin:0;font-size:16px;font-weight:600;color:#333}.summary-modal-close{background:none;border:none;color:#666;font-size:18px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.summary-modal-close:hover{color:#333;background-color:#f0f0f0}.summary-modal-content{padding:20px;overflow-y:auto;flex:1}.summary-modal-content p{font-size:14px;line-height:1.7;color:#333;margin:0;white-space:pre-wrap}.summary-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #e0e0e0;background:#f8f9fa;border-radius:0 0 12px 12px}.summary-modal-footer .summary-timestamp{font-size:11px;color:#666}.summary-modal-regenerate{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background-color .2s ease}.summary-modal-regenerate:hover{background:#1565c0}.summary-modal-regenerate:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.summary-modal{max-width:100%;margin:0 10px}.summary-modal-content{padding:16px}}.school-info-banner{display:flex;align-items:center;gap:8px;position:relative;z-index:1;padding:8px 14px;background:#f0f4ff;border:1px solid #d0daf0;border-radius:8px;margin-bottom:10px;font-size:12px;color:#555}.info-banner-icon{color:#7a8bb5;flex-shrink:0;font-size:16px}.info-banner-retry{display:flex;align-items:center;gap:4px;margin-left:auto;padding:4px 12px;background:#e8eef8;border:1px solid #c0cde0;border-radius:6px;font-size:12px;color:#555;cursor:pointer;transition:background .2s;white-space:nowrap}.info-banner-retry:hover{background:#d8e2f0}.info-banner-retry:disabled{opacity:.5;cursor:not-allowed}.dev-error-details{width:100%;margin-top:6px;font-size:11px;color:#999}.dev-error-details summary{cursor:pointer;color:#aaa}.dev-error-details pre{margin:4px 0 0;padding:6px;background:#f5f5f5;border-radius:4px;font-size:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}#notification-root{position:fixed!important;top:0!important;right:0!important;left:auto!important;width:0!important;height:0!important;overflow:visible!important;z-index:99999!important;pointer-events:none;transform:none!important}#notification-root>*{pointer-events:auto}.notification-toast{position:fixed!important;top:20px!important;right:20px!important;left:auto!important;bottom:auto!important;background:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 4px 16px #0003;display:flex;align-items:center;gap:12px;z-index:99999!important;min-width:280px;max-width:400px;width:auto!important;animation:notificationSlideDown .3s ease-out;border-left:4px solid #ccc;transform:none;margin:0!important;float:none!important}.notification-toast.success{border-left-color:#10b981}.notification-toast.success .notification-icon{color:#10b981}.notification-toast.error{border-left-color:#ef4444}.notification-toast.error .notification-icon{color:#ef4444}.notification-toast.info{border-left-color:#3b82f6}.notification-toast.info .notification-icon{color:#3b82f6}.notification-message{flex:1;font-size:.95rem;color:#374151}.notification-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.notification-close:hover{color:#4b5563}@keyframes notificationSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.subjects-table-container{padding:16px;background:#fff;margin-bottom:16px}.table-header-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.year-selector{display:flex;align-items:center;gap:8px}.year-nav-btn{background:none;border:1px solid #e0e0e0;border-radius:6px;padding:6px 10px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s}.year-nav-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.year-display{font-size:15px;font-weight:600;color:#333;min-width:90px;text-align:center}.table-header-tabs{display:flex;gap:8px}.tab{padding:8px 16px;border-radius:20px;border:1px solid #e0e0e0;background:#fff;color:#666;font-size:13px;cursor:pointer;transition:all .2s}.tab:hover{background:#f5f5f5;border-color:#ccc}.tab.active{background:#e3f2fd;color:#1976d2;border-color:#e3f2fd;font-weight:600}.quick-year-buttons{display:flex;gap:6px;flex-wrap:wrap}.quick-year-btn{padding:5px 10px;border-radius:14px;border:1px solid #e0e0e0;background:#fff;color:#888;font-size:11px;cursor:pointer;transition:all .2s;white-space:nowrap}.quick-year-btn:hover{background:#f0f7ff;border-color:#90caf9;color:#1976d2}.quick-year-btn.active{background:#1976d2;color:#fff;border-color:#1976d2;font-weight:600}.grade-parsing-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #81c784;border-radius:20px;color:#2e7d32;font-size:12px;font-weight:500;animation:pulse-glow 2s ease-in-out infinite}.grade-parsing-indicator .parsing-icon{font-size:16px;color:#43a047}.grade-parsing-indicator .parsing-icon.pulsing{animation:icon-pulse 1.5s ease-in-out infinite}@keyframes icon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #4caf504d}50%{box-shadow:0 0 15px #4caf5080}}.table-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.export-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid #e0e0e0;background:#fff;color:#4caf50;font-size:15px;cursor:pointer;transition:all .2s}.export-btn:hover{background:#e8f5e9;border-color:#4caf50}.export-btn.pdf{color:#f44336}.export-btn.pdf:hover{background:#ffebee;border-color:#f44336}.add-subject-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#1976d2;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.add-subject-btn:hover{background:#1565c0}.bulk-actions-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;margin-bottom:12px;flex-wrap:wrap}.bulk-count{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#1565c0;margin-right:8px}.bulk-btn{padding:6px 12px;border-radius:6px;border:1px solid #90caf9;background:#fff;color:#1976d2;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.bulk-btn:hover{background:#bbdefb}.bulk-btn.delete{color:#d32f2f;border-color:#ef9a9a}.bulk-btn.delete:hover{background:#ffcdd2}.bulk-btn.cancel{color:#666;border-color:#ccc}.bulk-btn.cancel:hover{background:#f5f5f5}.bulk-actions-toolbar.toolbar-disabled{background:#f5f5f5;border-color:#e0e0e0}.bulk-actions-toolbar.toolbar-disabled .bulk-count{color:#aaa}.bulk-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.table-wrapper{background:#fff;border-radius:10px;border:1px solid #e0e0e0;overflow:visible}.subjects-table{width:100%;border-collapse:collapse;font-size:14px}.subjects-table th{text-align:center;padding:10px 16px;color:#555;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0;background:#fafafa}.subjects-table th:first-child{border-top-left-radius:10px}.subjects-table th:last-child{border-top-right-radius:10px}.subjects-table td{padding:10px 16px;color:#333;border-bottom:1px solid #e8e8e8}.subjects-table tr:last-child td{border-bottom:none}.subjects-table tbody tr.row-striped{background-color:#f8f9fb}.subjects-table tbody tr:hover{background-color:#eef5fd}.subjects-table tbody tr.row-selected{background-color:#e3f2fd}.subjects-table tbody tr.row-selected:hover{background-color:#d0e8fc}.checkbox-col{width:36px;text-align:center!important;padding:10px 6px!important}.checkbox-col input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#1976d2}.subject-name-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left!important;white-space:nowrap}.subject-name-header:hover{color:#1976d2}.sort-icon{margin-left:6px;display:inline-flex;vertical-align:middle;font-size:11px}.subject-name{font-weight:500;color:#1a1a1a;text-align:left}.grade-cell{text-align:center;color:#999}.grade-cell.clickable{cursor:pointer;transition:background .2s}.grade-cell.clickable:hover{background:#f0f4fa}.grade-empty{color:#ccc}.grade-badge{padding:4px 10px;border-radius:12px;font-weight:600;font-size:12px;display:inline-block;min-width:50px;text-align:center}.grade-a{background-color:#e8f5e9;color:#2e7d32}.grade-b{background-color:#f1f8e9;color:#558b2f}.grade-c{background-color:#fff3e0;color:#ef6c00}.grade-d{background-color:#fff8e1;color:#f9a825}.grade-f{background-color:#ffebee;color:#c62828}.action-col{text-align:right;position:relative;z-index:1;width:48px}.subjects-table tr:has(.action-menu){position:relative;z-index:10}.menu-trigger{background:none;border:none;color:#aaa;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s}.menu-trigger:hover{background:#f5f5f5;color:#666}.action-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:160px;z-index:1000;overflow:visible}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:none;color:#333;font-size:14px;cursor:pointer;text-align:left;transition:background .2s}.menu-item:hover{background:#f5f5f5}.menu-item.delete{color:#ef4444}.menu-item.delete:hover{background:#fef2f2}.empty-message{text-align:center;color:#999;padding:32px}.modal-content{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:420px;box-shadow:0 8px 32px #0003}.modal-content h3{margin:0 0 20px;font-size:18px;color:#1a1a1a}.modal-content.delete-confirm p{color:#666;margin-bottom:20px;line-height:1.5}.subjects-table-wrapper .modal-content .form-group{margin-bottom:16px}.subjects-table-wrapper .modal-content .form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#333}.subjects-table-wrapper .modal-content .form-group input,.subjects-table-wrapper .modal-content .form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.subjects-table-wrapper .modal-content .form-group input:focus,.subjects-table-wrapper .modal-content .form-group select:focus{outline:none;border-color:#1976d2}.subjects-table-wrapper .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel,.btn-save,.btn-delete{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-save{background:#1976d2;color:#fff}.btn-save:hover:not(:disabled){background:#1565c0}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover:not(:disabled){background:#dc2626}.btn-cancel:disabled,.btn-save:disabled,.btn-delete:disabled{opacity:.6;cursor:not-allowed}.grade-modal{max-width:360px}.grade-modal-info{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.grade-subject{font-weight:600;color:#333;font-size:15px}.grade-period{color:#666;font-size:13px}.grading-system-hint{font-weight:400;color:#888;font-size:12px;margin-left:8px}@media (max-width: 768px){.subjects-table-container{padding:12px}.table-header-controls{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:12px}.year-selector{gap:6px}.year-nav-btn{padding:4px 8px}.year-display{font-size:13px;min-width:75px}.table-header-tabs{gap:4px}.tab{padding:6px 12px;font-size:12px}.quick-year-buttons{justify-content:center;gap:4px;width:100%}.quick-year-btn{padding:4px 8px;font-size:10px}.table-header-actions{margin-left:0;justify-content:center;width:100%;gap:6px}.add-subject-btn{padding:6px 12px;font-size:12px}.export-btn{width:30px;height:30px;font-size:13px}.bulk-actions-toolbar{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px;padding:8px}.bulk-count{width:100%;justify-content:center;margin-right:0;margin-bottom:4px;font-size:12px}.bulk-btn{padding:6px 8px;font-size:11px;flex:1 1 auto;justify-content:center;text-align:center}.subjects-table th,.subjects-table td{padding:10px 12px;font-size:12px}.grade-badge{padding:4px 8px;min-width:45px;font-size:11px}}.temp-grades-container{padding:24px;background:#fff;margin-bottom:24px;border:2px solid #ff9800;border-radius:12px}.temp-grades-header{margin-bottom:16px}.temp-grades-warning{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff3e0;border-radius:8px;color:#e65100;font-weight:500;font-size:14px}.warning-icon{font-size:18px}.temp-grades-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#666}.temp-grades-loading .spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#1976d2;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.no-temp-grades{text-align:center;padding:32px;color:#666}.temp-grades-session{margin-top:16px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.session-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;gap:12px}.session-info{font-size:14px;color:#666;font-weight:500}.session-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn.approve{background:#4caf50;color:#fff}.action-btn.approve:hover:not(:disabled){background:#43a047}.action-btn.reject{background:#f44336;color:#fff}.action-btn.reject:hover:not(:disabled){background:#e53935}.action-btn.reparse{background:#2196f3;color:#fff}.action-btn.reparse:hover:not(:disabled){background:#1e88e5}.temp-grades-table{width:100%;border-collapse:collapse;font-size:14px}.temp-grades-table th{text-align:left;padding:16px 24px;color:#888;font-weight:500;font-size:12px;border-bottom:1px solid #f0f0f0;background:#fff}.temp-grades-table td{padding:16px 24px;color:#333;border-bottom:1px solid #f9f9f9}.temp-grades-table tr:last-child td{border-bottom:none}.temp-grades-table .subject-name{font-weight:500;color:#1a1a1a;display:flex;align-items:center;gap:8px}.new-subject-badge{font-size:10px;padding:2px 6px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-weight:600;text-transform:uppercase}.temp-grades-table .grade-cell{text-align:center;color:#999}.temp-grades-table .grade-empty{color:#ccc}.temp-grades-table .grade-badge{padding:6px 12px;border-radius:16px;font-weight:600;font-size:12px;display:inline-block;min-width:60px;text-align:center}.temp-grades-table .grade-a{background-color:#e8f5e9;color:#2e7d32}.temp-grades-table .grade-b{background-color:#f1f8e9;color:#558b2f}.temp-grades-table .grade-c{background-color:#fff3e0;color:#ef6c00}.temp-grades-table .grade-d{background-color:#fff8e1;color:#f9a825}.temp-grades-table .grade-f{background-color:#ffebee;color:#c62828}.temp-grades-container .table-header-controls{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.temp-grades-container .year-selector{display:flex;align-items:center;gap:8px}.temp-grades-container .year-nav-btn{background:none;border:1px solid #e0e0e0;border-radius:6px;padding:6px 10px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s}.temp-grades-container .year-nav-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.temp-grades-container .year-display{font-size:15px;font-weight:600;color:#333;min-width:90px;text-align:center}.temp-grades-container .table-header-tabs{display:flex;gap:8px}.temp-grades-container .tab{padding:8px 16px;border-radius:20px;border:1px solid #e0e0e0;background:#fff;color:#666;font-size:13px;cursor:pointer;transition:all .2s}.temp-grades-container .tab:hover{background:#f5f5f5;border-color:#ccc}.temp-grades-container .tab.active{background:#fff3e0;color:#e65100;border-color:#fff3e0;font-weight:600}.temp-grades-container .table-wrapper{background:#fff;border-radius:0;overflow:visible}.temp-grades-session{position:relative}.temp-grades-session.processing .table-wrapper{opacity:.4;pointer-events:none;transition:opacity .3s ease}.temp-grades-session.processing .session-actions{pointer-events:none}.session-processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.session-processing-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001f}.session-processing-spinner{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#4caf50;border-radius:50%;animation:spin .8s linear infinite}.session-processing-text{font-size:14px;font-weight:500;color:#333}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@media (max-width: 768px){.session-header{flex-direction:column;align-items:stretch}.session-actions{justify-content:center}.temp-grades-container .table-header-controls{flex-direction:column;align-items:stretch}.temp-grades-container .year-selector,.temp-grades-container .table-header-tabs{justify-content:center}}.performance-charts-container{padding:20px;display:flex;flex-direction:column;gap:24px}.performance-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.performance-loading .spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.performance-loading p{color:#666;font-size:14px}.performance-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:linear-gradient(135deg,#f8f9ff,#f0f4ff);border-radius:16px;border:2px dashed #e0e0e0}.performance-empty .empty-icon{font-size:48px;color:#6366f1;opacity:.5;margin-bottom:16px}.performance-empty h3{font-size:18px;color:#333;margin:0 0 8px}.performance-empty p{font-size:14px;color:#666;max-width:300px}.performance-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:16px;border:1px solid #f0f0f0;box-shadow:0 2px 8px #0000000a;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.stat-card.gpa-card .stat-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.stat-card.avg-card .stat-icon{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.stat-card.honor-card .stat-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.stat-card.rank-card .stat-icon{background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff}.stat-content{display:flex;flex-direction:column;gap:4px;min-width:0}.stat-label{font-size:12px;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:28px;font-weight:700;line-height:1.2}.stat-value.honor{font-size:16px;color:#f59e0b}.stat-trend{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:2px 8px;border-radius:12px;width:fit-content}.stat-trend.improving{color:#10b981;background:#d1fae5}.stat-trend.declining{color:#ef4444;background:#fee2e2}.stat-trend.stable{color:#6b7280;background:#f3f4f6}.stat-trend svg{font-size:10px}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.chart-widget{background:#fff;padding:24px;border-radius:16px;border:1px solid #f0f0f0;box-shadow:0 2px 12px #0000000a}.widget-title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 20px;display:flex;flex-direction:column;gap:4px}.widget-subtitle{font-size:12px;font-weight:400;color:#888}.chart-container{width:100%;min-height:250px}.performance-tooltip{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;box-shadow:0 4px 12px #00000026}.tooltip-label{font-size:12px;color:#666;margin:0 0 4px}.tooltip-value{font-size:16px;font-weight:600;color:#333;margin:0}.tooltip-target{font-size:12px;color:#888;margin:4px 0 0}.gpa-tracker .trend-insight{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:500}.trend-insight.improving{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.trend-insight.declining{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.trend-insight.stable{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151}.radar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-name{color:#666}.legend-score{font-weight:600}.distribution-legend{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.legend-note{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}.target-line{width:24px;height:2px;background:#4caf50;background-image:repeating-linear-gradient(90deg,#4caf50,#4caf50 4px,transparent 4px,transparent 8px)}.milestones-timeline{grid-column:span 2}.timeline-container{display:flex;flex-direction:column;gap:12px;position:relative;padding-left:24px}.timeline-container:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#6366f1,#ec4899);border-radius:1px}.timeline-item{display:flex;align-items:flex-start;gap:16px;position:relative}.timeline-marker{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;position:absolute;left:-24px;background:#fff;border:2px solid;z-index:1}.timeline-item.current .timeline-marker{background:#6366f1;border-color:#6366f1;color:#fff}.timeline-item.achievement .timeline-marker{background:#f59e0b;border-color:#f59e0b;color:#fff}.timeline-item.upcoming .timeline-marker{background:#fff;border-color:#ec4899;color:#ec4899}.timeline-content{display:flex;flex-direction:column;gap:2px;padding:8px 16px;background:#f8f9fa;border-radius:8px;flex:1;margin-left:8px}.timeline-item.current .timeline-content{background:linear-gradient(135deg,#ede9fe,#e0e7ff)}.timeline-item.achievement .timeline-content{background:linear-gradient(135deg,#fef3c7,#fde68a)}.timeline-title{font-size:14px;font-weight:500;color:#333}.timeline-date{font-size:12px;color:#888}@media (max-width: 1024px){.charts-grid{grid-template-columns:1fr}.milestones-timeline{grid-column:span 1}}@media (max-width: 768px){.performance-charts-container{padding:16px;gap:16px}.performance-stats-row{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px;flex-direction:column;gap:12px}.stat-icon{width:36px;height:36px;font-size:16px}.stat-value{font-size:24px}.chart-widget{padding:16px}.widget-title{font-size:14px}.chart-container{min-height:200px}.radar-legend{flex-direction:column;gap:8px}.timeline-container{padding-left:32px}.timeline-marker{left:-32px}}@media (max-width: 480px){.performance-stats-row{grid-template-columns:1fr}.stat-card{flex-direction:row}}.doc-process-status-indicator{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:8px;padding:12px;margin:8px 0}.doc-process-status-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.doc-process-status-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 2px 6px #0000001a}.doc-process-status-indicator .pulse-loader{width:16px;height:16px;border:2px solid #bbf7d0;border-top-color:#22c55e;border-radius:50%;animation:doc-spin 1s linear infinite}.doc-process-status-indicator .check-icon{font-size:16px;color:#22c55e;font-weight:700}.doc-process-status-indicator .error-icon{font-size:16px;color:#ef4444;font-weight:700}.doc-process-status-indicator .error-icon.clickable{cursor:pointer;transition:transform .15s ease}.doc-process-status-indicator .error-icon.clickable:hover{transform:scale(1.3);color:#dc2626}@keyframes doc-spin{to{transform:rotate(360deg)}}.doc-process-status-info{flex:1;min-width:0}.doc-process-status-title{margin:0 0 2px;font-size:13px;font-weight:600;color:#166534;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-process-status-message{margin:0;font-size:11px;color:#16a34a;animation:doc-fadeInUp .3s ease}@keyframes doc-fadeInUp{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.doc-process-progress-bar{height:4px;background:#dcfce7;border-radius:2px;overflow:hidden;margin-bottom:8px}.doc-process-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:2px;transition:width .5s ease}.doc-process-steps{display:flex;justify-content:space-between;gap:3px}.doc-process-step-dot{width:6px;height:6px;border-radius:50%;background:#dcfce7;transition:all .3s ease}.doc-process-step-dot.completed{background:#22c55e}.doc-process-step-dot.active{background:#16a34a;box-shadow:0 0 0 2px #22c55e33;animation:doc-pulse 1.5s ease infinite}@keyframes doc-pulse{0%,to{box-shadow:0 0 0 2px #22c55e33}50%{box-shadow:0 0 0 4px #22c55e1a}}.doc-process-status-indicator.compact{padding:8px 10px;margin:4px 0}.doc-process-status-indicator.compact .doc-process-status-header{margin-bottom:6px;gap:8px}.doc-process-status-indicator.compact .doc-process-status-icon{width:24px;height:24px}.doc-process-status-indicator.compact .pulse-loader{width:12px;height:12px;border-width:2px}.doc-process-status-indicator.compact .check-icon,.doc-process-status-indicator.compact .error-icon{font-size:12px}.doc-process-status-indicator.compact .doc-process-status-title{font-size:11px}.doc-process-status-indicator.compact .doc-process-status-message{font-size:10px}.doc-process-status-indicator.compact .doc-process-progress-bar{height:3px;margin-bottom:0}.doc-process-status-indicator.failed{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#fca5a5}.doc-process-status-indicator.failed .doc-process-status-title{color:#991b1b}.doc-process-status-indicator.failed .doc-process-status-message{color:#dc2626}.doc-process-status-indicator.failed .doc-process-progress-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.documents-tab-container{position:relative;padding:20px;background:#f8f9fa;border-radius:8px;min-height:400px}.drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#007bff14;border:2px dashed #007bff;border-radius:8px;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:none}.drag-overlay-content{text-align:center;color:#007bff}.drag-overlay-content .drag-icon{font-size:2.5rem;margin-bottom:8px;opacity:.7}.drag-overlay-content p{font-size:1rem;font-weight:500;margin:0}.docs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.breadcrumbs{display:flex;align-items:center;font-size:1.1rem;color:#495057}.back-folder-btn{background:none;border:none;color:#007bff;cursor:pointer;display:flex;align-items:center;gap:5px;margin-right:10px;font-size:.9rem}.crumb-root{cursor:pointer;font-weight:600}.crumb-root:hover{text-decoration:underline}.crumb-separator{margin:0 8px;color:#adb5bd}.crumb-folder{color:#212529}.docs-actions{display:flex;align-items:center;gap:15px}.view-toggle{display:flex;background:#e9ecef;border-radius:6px;padding:2px}.view-btn{background:none;border:none;padding:6px 10px;cursor:pointer;color:#6c757d;border-radius:4px;display:flex;align-items:center}.view-btn.active{background:#fff;color:#007bff;box-shadow:0 1px 3px #0000001a}.add-menu-wrapper{position:relative}.add-btn{background:#fff;color:#667eea;border:1.5px solid #d0d5f5;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:20px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s,transform .15s;line-height:1}.add-btn:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea;transform:scale(1.05)}.add-btn:disabled,.add-btn.disabled{opacity:.5;cursor:not-allowed}.add-btn .spin{font-size:14px;animation:spin .8s linear infinite}.add-menu-dropdown{position:absolute;top:100%;right:0;margin-top:5px;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:150px;display:flex;flex-direction:column}.add-menu-dropdown button{background:none;border:none;padding:10px 15px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;color:#212529}.add-menu-dropdown button:hover{background:#f8f9fa}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.document-card{background:#fff;border:1px solid #dadce0;border-radius:8px;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:box-shadow .2s;overflow:visible}.document-card:hover{box-shadow:0 1px 6px #2021242e}.document-card.is-folder{background:#f8f9fa}.document-card.dragging,.document-list-item.dragging{opacity:.4}.document-card.drag-over-folder{border:2px dashed #1a73e8;background:#e8f0fe;box-shadow:0 2px 8px #1a73e840}.document-list-item.drag-over-folder{background:#e8f0fe;box-shadow:inset 0 0 0 2px #1a73e8}.document-card:not(.is-folder){cursor:grab}.document-card:not(.is-folder):active{cursor:grabbing}.card-header-bar{display:flex;align-items:center;gap:8px;padding:8px 6px 8px 12px;border-bottom:1px solid #f0f0f0;position:relative;min-height:40px;border-radius:8px 8px 0 0}.card-header-icon{font-size:1.1rem;flex-shrink:0;display:flex;align-items:center}.card-header-icon .doc-icon{color:#5f6368}.card-header-icon .doc-icon.folder{color:#ffc107}.card-header-icon .doc-icon.pdf{color:#dc3545}.card-header-icon .doc-icon.image{color:#28a745}.card-header-name{flex:1;min-width:0;font-size:.82rem;font-weight:500;color:#202124;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.card-btn-icon{background:none;border:none;cursor:pointer;color:#5f6368;padding:4px;border-radius:50%;font-size:.8rem;display:flex;align-items:center;justify-content:center;width:26px;height:26px;transition:background .15s}.card-btn-icon:hover{background:#e8eaed}.card-btn-icon.disabled{color:#bdc1c6;cursor:default}.card-preview-body{position:relative;display:flex;align-items:center;justify-content:center;height:140px;background:#f8f9fa;overflow:hidden;border-radius:0 0 8px 8px}.card-preview-img{width:100%;height:100%;object-fit:cover;object-position:top center}.card-preview-icon{font-size:3rem;color:#80868b;display:flex;align-items:center;justify-content:center}.card-preview-icon.folder{font-size:3.5rem;color:#ffc107}.card-preview-icon .doc-icon{font-size:3rem}.card-preview-icon .doc-icon.pdf{color:#dc3545}.card-preview-icon .doc-icon.image{color:#28a745}.folder-context-badges{position:absolute;bottom:6px;left:6px;right:6px;display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.folder-badge{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:500;padding:2px 6px;border-radius:10px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.folder-badge svg{font-size:.6rem;flex-shrink:0}.folder-badge.child-badge{background:#e8f5e9;color:#2e7d32}.folder-badge.school-badge{background:#e3f2fd;color:#1565c0}.folder-badge.activity-badge{background:#fff3e0;color:#e65100}.card-preview-fallback{font-size:3rem;color:#80868b;display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0}.pdf-thumbnail.loaded+.card-preview-fallback{display:none}.pdf-thumbnail{display:block;width:100%;height:100%}.doc-icon-wrapper{position:relative;display:inline-block;font-size:1.2rem;color:#6c757d}.doc-icon.folder{color:#ffc107}.doc-icon.pdf{color:#dc3545}.doc-icon.image{color:#28a745}.doc-info{width:100%}.doc-title{font-size:.95rem;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{font-size:.8rem;color:#adb5bd;display:flex;flex-direction:column;gap:2px}.card-ai-btn{position:absolute;top:10px;left:10px;background:#ffffffe6;border:1px solid #e9ecef;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#6f42c1;cursor:pointer;opacity:1;transition:background-color .2s;z-index:2}.card-ai-btn:hover{background:#f3f0ff}.card-ai-btn.disabled{color:#adb5bd;cursor:not-allowed;opacity:1}.card-ai-btn.processing{color:#007bff;opacity:1;cursor:wait}.card-menu-container{position:absolute;top:10px;right:10px;z-index:2}.card-menu-btn{background:#ffffffe6;border:1px solid #e9ecef;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#495057;cursor:pointer;opacity:1;transition:background-color .2s}.card-menu-btn:hover{background:#f8f9fa}.doc-context-menu.card-menu{top:100%;right:0;margin-top:5px;min-width:120px}.documents-list{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:visible}.list-header{display:flex;padding:12px 15px;background:#f8f9fa;border-bottom:1px solid #dee2e6;font-weight:600;color:#495057;font-size:.9rem;border-top-left-radius:8px;border-top-right-radius:8px}.document-list-item{display:flex;padding:12px 15px;border-bottom:1px solid #f1f3f5;align-items:center;cursor:pointer}.document-list-item:last-child{border-bottom:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.document-list-item:hover{background:#f8f9fa}.col-icon{width:40px;font-size:1.2rem;display:flex;justify-content:center}.col-name{flex:2;padding-right:15px;font-weight:500}.col-subject,.col-teacher{flex:1;color:#6c757d}.col-date{width:100px;color:#adb5bd;font-size:.85rem}.col-ai{width:50px;display:flex;justify-content:center}.col-action{width:50px;display:flex;justify-content:center;position:relative}.ai-action-btn{background:none;border:none;color:#6f42c1;cursor:pointer;font-size:1.1rem;padding:5px;border-radius:4px}.ai-action-btn:hover{background:#f3f0ff}.ai-action-btn.disabled{color:#adb5bd!important;cursor:not-allowed;opacity:.6!important}.ai-action-btn.disabled:hover{background:none}.ai-action-btn.processing{color:#007bff!important;opacity:1!important;cursor:wait}.doc-menu-container{position:relative}.menu-trigger-btn{background:none;border:none;color:#adb5bd;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center;justify-content:center}.menu-trigger-btn:hover{background:#e9ecef;color:#495057}.doc-context-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:140px;display:flex;flex-direction:column;padding:4px 0}.menu-item{padding:8px 12px;display:flex;align-items:center;gap:8px;color:#212529;text-decoration:none;font-size:.9rem;background:none;border:none;cursor:pointer;width:100%;text-align:left}.menu-item:hover{background:#f8f9fa}.menu-item.delete{color:#dc3545}.menu-item.delete:hover{background:#fff5f5}.document-list-item:last-child .doc-context-menu{top:auto;bottom:100%;margin-bottom:5px;margin-top:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;width:100%;max-width:400px;box-shadow:0 4px 20px #00000026}.modal-content.upload-modal{max-width:440px;padding:16px 20px}.modal-content h3{margin-top:0;margin-bottom:14px;font-size:1.05rem}.modal-content.upload-modal h3{margin-bottom:10px;font-size:1rem}.modal-content input,.modal-content select{width:100%;padding:7px 10px;border:1px solid #ced4da;border-radius:4px;margin-bottom:0;font-size:.88rem}.upload-modal input,.upload-modal select{padding:6px 8px;font-size:.84rem}.modal-content input[type=file]{padding:5px;font-size:.85rem}.file-selected-info{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #ced4da;border-radius:4px;background:#f8f9fa;font-size:.84rem}.file-selected-name{font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.file-selected-size{color:#6c757d;font-size:.78rem;white-space:nowrap}.file-change-btn{background:none;border:none;color:#007bff;cursor:pointer;font-size:.82rem;padding:0 4px;white-space:nowrap;font-weight:500}.file-change-btn:hover{text-decoration:underline}.upload-form-compact .form-group{margin-bottom:8px}.upload-form-compact .form-group label{margin-bottom:2px;font-size:.78rem;color:#5f6368;font-weight:500}.form-row{display:flex;gap:8px}.form-row .form-group.flex-1{flex:1;min-width:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid #f0f0f0}.modal-actions button{padding:7px 16px;border-radius:4px;font-weight:500;font-size:.88rem;border:none;cursor:pointer}.modal-actions button:first-child{background:#e9ecef;color:#495057}.modal-actions button:last-child{background:#007bff;color:#fff}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.info-modal{max-width:440px;padding:0!important;border-radius:12px;overflow:hidden}.info-modal-header{display:flex;align-items:center;gap:12px;padding:20px 24px 16px;background:linear-gradient(135deg,#f8f9fa,#e8eaed);border-bottom:1px solid #dadce0}.info-modal-header h3{margin:0!important;padding:0!important;font-size:1rem;font-weight:600;color:#1a1a1a;word-break:break-word;line-height:1.3}.info-modal-icon{font-size:1.6rem;flex-shrink:0;display:flex;width:40px;height:40px;align-items:center;justify-content:center;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a}.info-modal-rows{display:flex;flex-direction:column;gap:0;padding:8px 0}.info-row{display:flex;align-items:center;gap:12px;padding:10px 24px;transition:background .15s}.info-row:hover{background:#f8f9fa}.info-label{font-size:.8rem;color:#70757a;min-width:120px;flex-shrink:0;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.info-value{font-size:.88rem;color:#202124;font-weight:500;word-break:break-word}.info-row-location{align-items:flex-start}.info-row-location .info-label{padding-top:4px}.info-location-badges{display:flex;flex-wrap:wrap;gap:6px}.info-location-badge{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:6px;background:#f0f0f0;border:1px solid #e0e0e0}.info-location-badge svg{font-size:.7rem}.info-location-general{font-size:.85rem;color:#9e9e9e;font-style:italic}.info-status-badge{display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:6px}.info-status-success{background:#e8f5e9;color:#2e7d32}.info-status-pending{background:#fff3e0;color:#e65100}.info-status-error{background:#ffebee;color:#c62828}.info-status-none{background:#f5f5f5;color:#757575}.info-modal .modal-actions{justify-content:flex-end;padding:12px 24px 16px;border-top:1px solid #eeeeee;margin-top:4px}.info-modal .modal-actions button:last-child{background:#3c4043;border-radius:8px;padding:8px 24px;font-weight:600;font-size:.85rem}.documents-tab .form-group{margin-bottom:10px}.documents-tab .form-group label{display:block;margin-bottom:3px;font-weight:500;font-size:.85rem}@media (max-width: 520px){.modal-content{max-width:calc(100vw - 30px);padding:16px;margin:10px}.modal-content.upload-modal{max-width:calc(100vw - 30px)}.modal-content h3{font-size:1rem;margin-bottom:10px}.form-row{flex-direction:column;gap:0}.upload-form-compact .form-group{margin-bottom:8px}.upload-form-compact .form-group label{font-size:.8rem}.modal-content input,.modal-content select{padding:8px 10px;font-size:.88rem}.modal-actions{margin-top:10px}.modal-actions button{padding:8px 14px;font-size:.85rem}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.card-preview-body{height:100px}.card-header-bar{padding:6px 4px 6px 8px;gap:4px}.card-header-name{font-size:.75rem}}.checkbox-group{margin-top:2px;margin-bottom:0!important;padding:6px 10px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checkbox-label{display:flex!important;align-items:center;gap:6px;cursor:pointer;font-weight:500;font-size:.82rem;margin:0}.checkbox-label input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:#007bff;margin:0}.checkbox-hint{font-size:.72rem;color:#9e9e9e;margin:0}.checkbox-group-disabled{opacity:.7;border-color:#e0e0e0}.checkbox-group-disabled .checkbox-label{cursor:not-allowed;color:#9e9e9e}.checkbox-group-disabled input[type=checkbox]{cursor:not-allowed}.checkbox-hint-busy{color:#e65100;font-weight:500;flex-basis:100%}.uploading-indicator{text-align:center;padding:20px;color:#007bff;font-weight:500}.no-docs-message{text-align:center;padding:40px;color:#adb5bd}.document-card.processing{opacity:.85;border:2px dashed #22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.document-list-item.processing{background:linear-gradient(90deg,#f0fdf4,#dcfce7);border-left:3px solid #22c55e}.doc-processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffeb;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:10px;z-index:10}.processing-badge{position:absolute;bottom:-5px;right:-5px;background:#22c55e;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;animation:pulse-badge 1.5s ease infinite}.processing-badge-small{position:relative;margin-left:6px;background:#22c55e;color:#fff;border-radius:50%;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;font-size:7px;animation:pulse-badge 1.5s ease infinite;flex-shrink:0}@keyframes pulse-badge{0%,to{transform:scale(1);box-shadow:0 0 #22c55e66}50%{transform:scale(1.1);box-shadow:0 0 0 6px #22c55e00}}.processing-text{color:#16a34a!important;font-style:italic;animation:fade-pulse 1.5s ease infinite}.processing-text-inline{display:block;color:#16a34a;font-size:.75rem;font-style:italic;animation:fade-pulse 1.5s ease infinite;margin-top:2px}@keyframes fade-pulse{0%,to{opacity:1}50%{opacity:.6}}.failed-badge{position:absolute;bottom:-5px;right:-5px;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px}.failed-badge-small{position:relative;margin-left:6px;background:#ef4444;color:#fff;border-radius:50%;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;font-size:7px;flex-shrink:0}.failed-text{color:#ef4444!important;font-style:italic}.failed-text-inline{display:block;color:#ef4444;font-size:.75rem;font-style:italic;margin-top:2px}.info-badge{position:absolute;bottom:-5px;right:-5px;background:#94a3b8;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px}.info-badge-small{position:relative;margin-left:6px;background:#94a3b8;color:#fff;border-radius:50%;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;font-size:7px;flex-shrink:0}.info-text{color:#64748b!important;font-style:italic;font-size:.75rem}.info-text-inline{display:block;color:#64748b;font-size:.75rem;font-style:italic;margin-top:2px}.processing-spinner{color:#22c55e;font-size:14px;animation:spin-icon 1s linear infinite}.ai-processing-icon{color:#22c55e;font-size:16px;animation:pulse-ai 1.5s ease-in-out infinite}@keyframes pulse-ai{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}@keyframes spin-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.col-icon{position:relative;display:flex;align-items:center}.doc-icon-wrapper{position:relative}.move-modal{max-width:380px;width:90%}.move-modal h3{margin:0 0 16px;font-size:16px;color:#333;font-weight:600}.move-folder-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;margin-bottom:16px}.move-folder-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;color:#333;transition:all .15s ease;text-align:left;width:100%}.move-folder-item:hover:not(:disabled){background:#f0f9ff;border-color:#93c5fd}.move-folder-item.root{border-style:dashed;color:#666}.move-folder-item.current{background:#f5f5f5;color:#999;cursor:default}.move-folder-icon{color:#fbbf24;font-size:16px;flex-shrink:0}.current-badge{margin-left:auto;font-size:11px;color:#999;background:#f0f0f0;padding:2px 8px;border-radius:10px}.move-no-folders{text-align:center;color:#999;font-size:13px;padding:20px 0}.move-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;color:#666;font-size:13px}.move-loading .spin{animation:spin .8s linear infinite}.move-cancel-btn{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#666;font-size:14px;cursor:pointer;transition:all .15s ease}.move-cancel-btn:hover{background:#f5f5f5;border-color:#ccc}.move-context-modal{max-width:420px;width:90%}.move-context-modal h3{margin:0 0 16px;font-size:16px;color:#333;font-weight:600}.move-nav-container{margin-bottom:16px;overflow:hidden}.move-nav-panel{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto;animation:moveNavSlideIn .2s ease}@keyframes moveNavSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.move-nav-back{display:flex;align-items:center;gap:8px;padding:8px 4px;background:none;border:none;cursor:pointer;font-size:13px;color:#6366f1;font-weight:500;margin-bottom:4px;transition:color .15s}.move-nav-back:hover{color:#4338ca}.move-nav-title{display:flex;align-items:center;gap:8px;padding:6px 4px 10px;font-size:14px;font-weight:600;color:#333;border-bottom:1px solid #e5e7eb;margin-bottom:4px}.move-nav-empty{padding:16px 12px;text-align:center;color:#9ca3af;font-size:13px}.move-context-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;color:#333;transition:all .15s ease;text-align:left;width:100%}.move-context-item:hover:not(:disabled){background:#f0f9ff;border-color:#93c5fd}.move-context-item.current{background:#f5f5f5;color:#999;cursor:default}.move-context-item.general{border-style:dashed;color:#666}.move-context-item.general .move-ctx-icon{color:#6b7280}.move-context-item.child .move-ctx-icon{color:#3b82f6}.move-context-item.school .move-ctx-icon{color:#f59e0b}.move-ctx-icon{font-size:15px;flex-shrink:0}.move-nav-arrow{margin-left:auto;font-size:11px;color:#9ca3af;flex-shrink:0}.move-context-item.activity{font-size:13px;color:#555}.move-activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.move-context-item.activity.create-new{border-style:dashed;color:#6b7280;border-color:#d1d5db}.move-context-item.activity.create-new:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#374151}.create-new-icon{font-size:11px;color:#9ca3af}.docs-filter-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px}.docs-filter-bar .filter-icon{color:#9ca3af;font-size:13px;flex-shrink:0}.docs-filter-bar .filter-select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;color:#374151;min-width:160px;cursor:pointer;transition:border-color .15s ease}.docs-filter-bar .filter-select:hover{border-color:#9ca3af}.docs-filter-bar .filter-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.col-child,.col-school{flex:1;min-width:100px;font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-header .col-child,.list-header .col-school{font-weight:600;color:#374151}.school-info-tab{padding:24px;max-width:1000px;margin:0 auto}.school-info-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.school-info-empty .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.info-section{background:var(--surface);border-radius:12px;padding:24px;margin-bottom:20px;border:1px solid var(--border)}.section-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--border)}.section-icon{color:var(--primary-color);font-size:20px}.external-link{margin-left:auto;color:var(--primary-color);font-size:14px;opacity:.7;transition:opacity .2s}.external-link:hover{opacity:1}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.info-item.full-width{grid-column:1 / -1}.info-item span{font-size:15px;color:var(--text-primary)}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500;width:fit-content}.badge-type{background:#42a5f526;color:#1976d2}.badge-level{background:#66bb6a26;color:#388e3c}.ratings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.rating-card{background:var(--background);border-radius:10px;padding:16px;border:1px solid var(--border)}.rating-card.overall{background:linear-gradient(135deg,#42a5f51a,#66bb6a1a);border-color:var(--primary-color)}.rating-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:500;color:var(--text-secondary)}.rating-icon{color:var(--primary-color);font-size:16px}.rating-display{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.rating-value{font-size:28px;font-weight:700}.rating-max{font-size:16px;color:var(--text-secondary)}.rating-bar{width:100%;height:6px;background:var(--border);border-radius:3px;margin-top:8px;overflow:hidden}.rating-fill{height:100%;border-radius:3px;transition:width .3s ease}.rating-high{color:#43a047}.rating-fill.rating-high{background:linear-gradient(90deg,#43a047,#66bb6a)}.rating-medium{color:#fb8c00}.rating-fill.rating-medium{background:linear-gradient(90deg,#fb8c00,#ffa726)}.rating-low{color:#e53935}.rating-fill.rating-low{background:linear-gradient(90deg,#e53935,#ef5350)}.rating-na{font-size:16px;color:var(--text-secondary);font-style:italic}.reviews-content{display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap}.reviews-summary{flex-shrink:0}.average-rating{display:flex;align-items:center;gap:8px}.average-value{font-size:48px;font-weight:700;color:var(--text-primary)}.average-star{font-size:32px;color:#ffc107}.total-reviews{font-size:14px;color:var(--text-secondary)}.star-distribution{flex:1;min-width:250px}.star-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.star-label{display:flex;align-items:center;gap:2px;font-size:13px;font-weight:500;color:var(--text-secondary);width:30px}.star-icon{font-size:12px;color:#ffc107}.star-bar-container{flex:1;height:10px;background:var(--border);border-radius:5px;overflow:hidden}.star-bar-fill{height:100%;background:linear-gradient(90deg,#ffc107,#ffca28);border-radius:5px;transition:width .3s ease}.star-percent{font-size:12px;color:var(--text-secondary);width:40px;text-align:right}.programs-list{display:flex;flex-wrap:wrap;gap:10px}.program-tag{display:inline-block;padding:8px 16px;background:#9c27b01a;color:#7b1fa2;border-radius:20px;font-size:13px;font-weight:500;border:1px solid rgba(156,39,176,.2)}.school-description{font-size:15px;line-height:1.7;color:var(--text-primary);margin:0}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.status-success{background:#66bb6a26;color:#388e3c}.status-failed{background:#ef535026;color:#d32f2f}.status-in_progress,.status-pending{background:#42a5f526;color:#1976d2}.status-not_applicable{background:var(--border);color:var(--text-secondary)}.no-data-message{display:flex;align-items:center;gap:12px;padding:20px;background:var(--background);border-radius:8px;color:var(--text-secondary);font-size:14px}.no-data-icon{font-size:20px;opacity:.5}.no-data-message p{margin:0}@media (prefers-color-scheme: dark){.badge-type{background:#42a5f533}.badge-level{background:#66bb6a33}.program-tag{background:#9c27b033}}@media (max-width: 768px){.school-info-tab,.info-section{padding:12px}.section-title{font-size:16px}.average-value{font-size:36px}.reviews-content{flex-direction:column;gap:20px}.star-distribution{width:100%}.ratings-grid{grid-template-columns:1fr}}.school-dashboard-container{display:flex;flex-direction:column;height:100vh;background-color:var(--background);overflow-y:auto}.dashboard-nav{padding:10px 24px;background-color:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.back-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:0}.back-btn:hover{color:var(--text-primary)}.dashboard-main{flex:1;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;width:100%;background:transparent;padding-bottom:24px}.dashboard-tabs{display:flex;gap:4px;padding:0 16px;margin-bottom:12px;border-bottom:1px solid var(--border)}.dashboard-tab{padding:10px 16px;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dashboard-tab:hover{color:var(--primary-color)}.dashboard-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.dashboard-content-wrapper{padding:0 16px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--text-secondary);background-color:var(--background)}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.dashboard-error{padding:24px;color:var(--error);text-align:center;font-size:18px;background-color:var(--background);height:100vh}.dashboard-tab.temp-grades-tab{display:flex;align-items:center;gap:8px;background:#fff3e0;border-radius:8px 8px 0 0;border:1px solid #ff9800;border-bottom:3px solid #ff9800;color:#e65100}.dashboard-tab.temp-grades-tab:hover{background:#ffe0b2}.dashboard-tab.temp-grades-tab.active{background:#ff9800;color:#fff;border-bottom-color:#ff9800}.tab-warning-icon{font-size:14px}.pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#e65100;color:#fff;border-radius:10px;font-size:11px;font-weight:600}.dashboard-tab.temp-grades-tab.active .pending-badge{background:#fff;color:#ff9800}.temp-grades-delete-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:8px;background:#ffffff4d;border-radius:4px;color:inherit;cursor:pointer;transition:all .2s}.temp-grades-delete-icon:hover{background:#c62828;color:#fff}.temp-grades-delete-icon svg{font-size:11px}.dashboard-tab.temp-grades-tab.active .temp-grades-delete-icon{background:#ffffff4d}.dashboard-tab.temp-grades-tab.active .temp-grades-delete-icon:hover{background:#c62828;color:#fff}.dashboard-tab.parsing{display:flex;align-items:center;gap:8px}.tab-parsing-icon{color:#43a047;font-size:14px;animation:tab-icon-pulse 1.5s ease-in-out infinite}@keyframes tab-icon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}.school-overview-wrapper{width:100%}.school-overview-wrapper.tutorial-highlight-school{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.school-overview-wrapper.tutorial-highlight-school *{pointer-events:none}.dashboard-tab.tutorial-highlight-tab{position:relative;z-index:10001;background:var(--primary-color)!important;color:#fff!important;border-bottom-color:var(--primary-color)!important;box-shadow:0 0 0 3px #667eea80,0 4px 16px #0003;animation:tab-pulse 1.5s ease-in-out infinite}@keyframes tab-pulse{0%,to{box-shadow:0 0 0 3px #667eea80,0 4px 16px #0003}50%{box-shadow:0 0 0 6px #667eea4d,0 4px 20px #0000004d}}.dashboard-content-wrapper.tutorial-content-highlight{position:relative;z-index:10000;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003;pointer-events:none}.dashboard-content-wrapper.tutorial-content-highlight *{pointer-events:none}.admin-page{padding:20px;height:100%;display:flex;flex-direction:column;background:var(--bg-primary, #f5f7fa);overflow:hidden}.admin-header{margin-bottom:16px;flex-shrink:0}.admin-header h1{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:22px;color:var(--text-primary, #1a1a2e)}.admin-loading,.admin-denied{display:flex;align-items:center;justify-content:center;gap:10px;height:200px;font-size:18px;color:var(--text-secondary, #666)}.admin-denied{color:#dc3545}.admin-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff5f5;border:1px solid #dc3545;border-radius:8px;color:#dc3545;margin-bottom:16px;flex-shrink:0}.admin-error button{margin-left:auto;padding:4px 12px;border:1px solid #dc3545;border-radius:4px;background:transparent;color:#dc3545;cursor:pointer}.admin-filter-bar{display:flex;align-items:flex-end;gap:16px;padding:16px;background:#fff;border-radius:10px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0;box-shadow:0 2px 6px #0000000f}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:200px;background:#fff;cursor:pointer}.filter-group select:disabled{background:#f5f5f5;cursor:not-allowed}.add-year-inline{display:flex;gap:4px;margin-top:4px}.add-year-inline input{width:80px;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.add-year-inline button{padding:6px 10px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.add-year-inline button:hover{background:#1565c0}.delete-test-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffebee;color:#dc3545;border:1px solid #dc3545;border-radius:6px;cursor:pointer;font-size:13px;margin-left:auto;transition:all .2s}.delete-test-btn:hover{background:#dc3545;color:#fff}.admin-upload-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:10px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0;box-shadow:0 2px 6px #0000000f}.upload-group{display:flex;gap:2px}.upload-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f5f7fa;border:1px dashed #ccc;border-radius:6px 0 0 6px;cursor:pointer;font-size:13px;transition:all .2s}.upload-btn:hover{background:#e8ecf1;border-color:#1976d2}.reparse-btn{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff3e0;border:1px solid #ff9800;border-radius:0 6px 6px 0;cursor:pointer;font-size:12px;color:#e65100;transition:all .2s}.reparse-btn:hover:not(:disabled){background:#ffe0b2}.reparse-btn:disabled{opacity:.5;cursor:not-allowed}.upload-spacer{flex:1}.verify-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#e3f2fd;color:#1976d2;border:1px solid #1976d2;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.verify-btn:hover:not(:disabled){background:#bbdefb}.verify-btn:disabled{opacity:.5;cursor:not-allowed}.save-all-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.save-all-btn:hover:not(:disabled){background:#43a047}.save-all-btn:disabled{background:#ccc;cursor:not-allowed}.edit-mode-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff3e0;color:#e65100;border:1px solid #ff9800;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.edit-mode-btn:hover{background:#ffe0b2}.save-edits-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.save-edits-btn:hover:not(:disabled){background:#43a047}.save-edits-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-edit-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.cancel-edit-btn:hover:not(:disabled){background:#ffebee;border-color:#dc3545;color:#dc3545}.cancel-edit-btn:disabled{opacity:.5;cursor:not-allowed}.admin-questions-content{flex:1;overflow-y:auto;padding-right:4px}.questions-section{background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 6px #0000000f}.section-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:16px;color:var(--text-primary, #1a1a2e)}.section-subtitle{font-size:12px;font-weight:400;color:#888;margin-left:8px}.section-subtitle.editing{color:#e65100;font-weight:500}.questions-list-new{display:flex;flex-direction:column;gap:8px}.question-card-new{border:1px solid #e5e8ec;border-radius:8px;overflow:hidden;transition:border-color .2s}.question-card-new:hover{border-color:#1976d2}.question-card-new.verified-ok{border-color:#4caf50;background:#f1f8e9}.question-card-new.verified-fix{border-color:#ff9800;background:#fff8e1}.question-card-new.editing{border-color:#ff9800}.question-card-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fafbfc;cursor:pointer;transition:background .2s}.question-card-header:hover{background:#f0f4f8}.q-number{font-weight:700;font-size:14px;color:#1976d2;min-width:40px}.q-preview{flex:1;font-size:13px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.q-answers{display:flex;gap:6px;flex-wrap:nowrap}.q-answer-chip{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f0f0f0;border-radius:4px;font-size:11px;color:#666;max-width:120px;overflow:hidden}.q-answer-chip.correct{background:#4caf50;color:#fff}.chip-letter{font-weight:700;min-width:12px}.chip-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-status{display:flex;align-items:center;font-size:18px}.q-status.ok{color:#4caf50}.q-status.fix{color:#ff9800}.expand-arrow{color:#aaa;font-size:12px}.delete-q-btn{padding:6px 10px;background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;color:#dc3545;cursor:pointer;font-size:12px;transition:all .2s}.delete-q-btn:hover{background:#dc3545;color:#fff}.question-card-body{padding:16px;border-top:1px solid #eee;background:#fff}.verification-section{background:#f8f9fa;border-radius:8px;padding:16px;border-left:4px solid #1976d2}.verification-header{margin-bottom:12px}.v-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600}.v-badge.ok{background:#e8f5e9;color:#2e7d32}.v-badge.fix{background:#fff3e0;color:#e65100}.v-explanation{margin:10px 0 0;padding:10px;background:#fff;border-radius:4px;font-size:13px;color:#555;line-height:1.5}.v-editable{margin-top:12px}.v-editable label{display:block;font-size:11px;font-weight:600;color:#1976d2;margin-bottom:4px;margin-top:12px;text-transform:uppercase}.v-editable label:first-child{margin-top:0}.v-editable textarea{width:100%;padding:10px;border:1px solid #bbdefb;border-radius:6px;font-size:13px;resize:vertical;background:#fff;line-height:1.5}.v-editable textarea:focus{outline:none;border-color:#1976d2}.v-options-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.v-option-row{display:flex;flex-direction:column;gap:4px}.v-opt-label{font-size:12px;font-weight:700;color:#666;text-align:center;padding:2px 0}.v-opt-label.correct{color:#fff;background:#4caf50;border-radius:4px}.v-option-row input{width:100%;padding:8px;border:1px solid #bbdefb;border-radius:4px;font-size:12px;background:#fff}.v-option-row input:focus{outline:none;border-color:#1976d2}.v-answer-btns{display:flex;gap:8px}.v-answer-btns button{padding:6px 16px;border:1px solid #bbdefb;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.v-answer-btns button:hover{border-color:#1976d2}.v-answer-btns button.selected{background:#1976d2;color:#fff;border-color:#1976d2}.v-actions{display:flex;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid #eee}.approve-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.approve-btn:hover:not(:disabled){background:#43a047}.approve-btn:disabled{background:#ccc;cursor:not-allowed}.decline-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.decline-btn:hover{background:#ffebee;border-color:#f44336;color:#f44336}.edit-section{padding:8px 0}.edit-section label{display:block;font-size:11px;font-weight:600;color:#666;margin-bottom:4px;margin-top:12px;text-transform:uppercase}.edit-section label:first-child{margin-top:0}.edit-section textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:13px;resize:vertical;line-height:1.5}.edit-section textarea:focus{outline:none;border-color:#1976d2}.edit-options-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.edit-option-row{display:flex;flex-direction:column;gap:4px}.edit-opt-label{font-size:12px;font-weight:700;color:#666;text-align:center;padding:2px 0}.edit-opt-label.correct{color:#fff;background:#4caf50;border-radius:4px}.edit-option-row input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:12px}.edit-option-row input:focus{outline:none;border-color:#1976d2}.edit-answer-btns{display:flex;gap:8px}.edit-answer-btns button{padding:6px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.edit-answer-btns button:hover{border-color:#1976d2}.edit-answer-btns button.selected{background:#1976d2;color:#fff;border-color:#1976d2}.view-section{padding:8px 0}.full-question-text{font-size:14px;color:#333;line-height:1.6;margin-bottom:16px;white-space:pre-wrap}.full-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.full-option.correct{background:#e8f5e9;border:1px solid #4caf50}.opt-letter{font-weight:700;color:#666;min-width:20px}.full-option.correct .opt-letter{color:#2e7d32}.opt-text{flex:1;color:#333}.opt-content{display:flex;gap:8px;flex:1;align-items:flex-start}.opt-image-section{margin-left:auto;flex-shrink:0}.opt-image-thumb{position:relative;width:60px;height:60px;border-radius:6px;overflow:hidden;border:1px solid #ddd}.opt-image-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer}.opt-image-thumb img:hover{opacity:.9}.delete-opt-image-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:8px;opacity:0;transition:opacity .2s}.opt-image-thumb:hover .delete-opt-image-btn{opacity:1}.upload-opt-image-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f5f7fa;border:1px dashed #ccc;border-radius:6px;cursor:pointer;color:#888;font-size:14px;transition:all .2s}.upload-opt-image-btn:hover{background:#e8ecf1;border-color:#1976d2;color:#1976d2}.full-option{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f8f9fa;border-radius:6px;font-size:13px}.question-explanation{margin:16px 0;padding:12px 16px;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:8px;border-left:4px solid #7c4dff}.explanation-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#7c4dff;text-transform:uppercase;margin-bottom:8px}.explanation-text{font-size:13px;color:#333;line-height:1.6;white-space:pre-wrap}.question-images{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.image-thumb{position:relative;width:100px;height:100px;border-radius:8px;overflow:hidden;border:1px solid #ddd}.image-thumb img{width:100%;height:100%;object-fit:cover}.delete-image-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px}.upload-image-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#f0f4f8;border:1px dashed #ccc;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s}.upload-image-btn:hover{background:#e8ecf1;border-color:#1976d2}.inline-question-image{display:inline-block;max-width:200px;max-height:150px;vertical-align:middle;margin:4px 8px;border-radius:6px;border:1px solid #ddd;box-shadow:0 2px 4px #0000001a}.question-images-inline-info{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px;background:#f8f9fa;border-radius:8px;border:1px dashed #ddd}.images-info-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#666;font-weight:500}.images-thumbs-small{display:flex;gap:8px;flex-wrap:wrap}.image-thumb-small{position:relative;width:60px;height:60px;border-radius:6px;overflow:hidden;border:1px solid #ddd}.image-thumb-small img{width:100%;height:100%;object-fit:cover}.delete-image-btn-small{position:absolute;top:2px;right:2px;width:16px;height:16px;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:8px;opacity:0;transition:opacity .2s}.image-thumb-small:hover .delete-image-btn-small{opacity:1}.image-tag-label{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:9px;text-align:center;padding:2px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#888;font-size:14px;background:#fff;border-radius:10px;box-shadow:0 2px 6px #0000000f}.empty-icon{font-size:48px;color:#ddd;margin-bottom:16px}.admin-questions-content::-webkit-scrollbar{width:6px}.admin-questions-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.admin-questions-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.admin-questions-content::-webkit-scrollbar-thumb:hover{background:#999}.edit-images-section{margin:12px 0;padding:12px;background:#f8f9fa;border-radius:8px;border:1px dashed #ddd}.edit-images-section label{margin-top:0!important}.edit-images-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.edit-image-thumb{position:relative;width:70px;height:70px;border-radius:6px;overflow:hidden;border:2px solid #1976d2;box-shadow:0 2px 6px #0000001a}.edit-image-thumb img{width:100%;height:100%;object-fit:cover}.edit-image-tag{position:absolute;bottom:0;left:0;right:0;background:#1976d2e6;color:#fff;font-size:9px;text-align:center;padding:2px 4px;font-weight:600}.delete-image-btn-edit{position:absolute;top:2px;right:2px;width:18px;height:18px;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:8px;opacity:0;transition:opacity .2s}.edit-image-thumb:hover .delete-image-btn-edit{opacity:1}.no-images-text{font-size:12px;color:#999;font-style:italic}.add-image-btn-edit{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:#e3f2fd;border:2px dashed #1976d2;border-radius:6px;cursor:pointer;color:#1976d2;font-size:18px;transition:all .2s}.add-image-btn-edit:hover{background:#bbdefb}.edit-option-row-with-image{display:flex;align-items:center;gap:8px;padding:8px;background:#f8f9fa;border-radius:6px;margin-bottom:8px}.edit-option-row-with-image .edit-opt-label{font-size:12px;font-weight:700;color:#666;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#e0e0e0;border-radius:4px;padding:0;margin:0}.edit-option-row-with-image .edit-opt-label.correct{color:#fff;background:#4caf50}.edit-option-row-with-image .edit-opt-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px}.edit-option-row-with-image .edit-opt-input:focus{outline:none;border-color:#1976d2}.edit-opt-image{flex-shrink:0}.edit-opt-image-thumb{position:relative;width:50px;height:50px;border-radius:6px;overflow:hidden;border:1px solid #ddd}.edit-opt-image-thumb img{width:100%;height:100%;object-fit:cover}.delete-opt-img-btn{position:absolute;top:2px;right:2px;width:16px;height:16px;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:8px;opacity:0;transition:opacity .2s}.edit-opt-image-thumb:hover .delete-opt-img-btn{opacity:1}.add-opt-img-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f0f4f8;border:1px dashed #ccc;border-radius:6px;cursor:pointer;color:#888;font-size:14px;transition:all .2s}.add-opt-img-btn:hover{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.edit-section .edit-options-grid{display:flex;flex-direction:column;gap:0}@media (max-width: 1200px){.q-answers{display:none}.q-preview{max-width:none;flex:1}.v-options-grid,.edit-options-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.admin-filter-bar{flex-direction:column;align-items:stretch}.filter-group{width:100%}.filter-group select{width:100%;min-width:auto}.delete-test-btn{margin-left:0}.admin-upload-bar{flex-direction:column;align-items:stretch}.upload-spacer{display:none}.v-options-grid,.edit-options-grid{grid-template-columns:repeat(2,1fr)}}.admin-users-page{padding:20px;height:100%;display:flex;flex-direction:column;background:var(--bg-primary, #f5f7fa);overflow:hidden}.admin-users-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-shrink:0}.admin-users-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;color:var(--text-primary, #1a1a2e)}.admin-users-header .back-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);cursor:pointer;font-size:13px;transition:background .2s}.admin-users-header .back-btn:hover{background:var(--bg-hover, #e8e8e8)}.admin-users-header .user-count{font-size:13px;color:var(--text-secondary, #888);background:var(--bg-secondary, #eee);padding:3px 10px;border-radius:12px}.admin-loading .spinner{animation:spin 1s linear infinite}.admin-users-table-wrapper{flex:1;overflow:auto;border:1px solid var(--border-color, #ddd);border-radius:8px;background:var(--bg-secondary, #fff)}.admin-users-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.admin-users-table thead th{background:var(--bg-tertiary, #f0f2f5);color:var(--text-primary, #333);padding:8px 6px;text-align:center;font-size:11px;font-weight:600;border-bottom:2px solid var(--border-color, #ddd);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:10}.admin-users-table thead th:hover{background:var(--bg-hover, #e4e6e9)}.admin-users-table thead th .col-sub{font-size:9px;font-weight:400;color:var(--text-secondary, #888);margin-top:2px}.sort-icon{font-size:10px;margin-left:2px;color:var(--text-secondary, #aaa)}.sticky-col{position:sticky;z-index:5}.sticky-col.col-num{left:0;width:30px;min-width:30px}.sticky-col.col-name{left:30px;min-width:160px;max-width:200px;border-right:2px solid var(--border-color, #ccc)!important}tbody .sticky-col{background:var(--bg-secondary, #fff);z-index:5}tbody tr:hover .sticky-col{background:var(--bg-hover, #f8f9fa)}.admin-users-table thead th.sticky-col{z-index:20;background:var(--bg-tertiary, #f0f2f5)}.admin-users-table thead th.sticky-col.col-num{left:0}.admin-users-table thead th.sticky-col.col-name{left:30px}tfoot .sticky-col{bottom:0;z-index:12;background:var(--bg-tertiary, #f0f2f5)}.admin-users-table td,.admin-users-table th{border-right:1px solid var(--border-color, #eee)}.admin-users-table tbody tr{border-bottom:1px solid var(--border-color, #eee)}.admin-users-table tbody tr:hover{background:var(--bg-hover, #f8f9fa)}.admin-users-table tbody tr.has-usage{background:var(--bg-secondary, #fff)}.admin-users-table td{padding:6px;text-align:center;color:var(--text-primary, #333)}.col-name{text-align:left!important}.col-name .user-name{font-weight:500;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-num{text-align:center!important;color:var(--text-secondary, #aaa);font-size:11px}.col-date{white-space:nowrap;font-size:11px;color:var(--text-secondary, #666)}.col-usage{font-variant-numeric:tabular-nums;color:var(--text-primary, #333)}.col-cost{font-variant-numeric:tabular-nums;color:#2e7d32;font-size:11px}.col-total{font-weight:600;color:#d32f2f;font-variant-numeric:tabular-nums;background:#fff9f9!important;border-left:2px solid #d32f2f!important}.totals-row{background:var(--bg-tertiary, #f0f2f5)!important;border-top:2px solid var(--border-color, #ccc)}.totals-row td{padding:8px 6px;font-weight:600;background:var(--bg-tertiary, #f0f2f5);position:sticky;bottom:0;z-index:6}.totals-row .col-total{background:#ffebee!important;font-size:13px}.admin-users-table thead th.col-cost{background:var(--bg-tertiary, #e8eaed)}.pricing-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);cursor:pointer;font-size:13px;transition:all .2s;margin-left:auto}.pricing-toggle-btn:hover{background:var(--bg-hover, #e8e8e8)}.pricing-toggle-btn.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.pricing-panel{flex-shrink:0;background:var(--bg-secondary, #fff);border:1px solid var(--border-color, #ddd);border-radius:8px;padding:16px;margin-bottom:12px;animation:slideDown .2s ease-out}.pricing-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pricing-panel-header h3{margin:0;font-size:15px;color:var(--text-primary, #333);display:flex;align-items:center;gap:8px}.pricing-hint{font-size:11px;font-weight:400;color:var(--text-secondary, #888)}.pricing-actions{display:flex;align-items:center;gap:8px}.save-all-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:6px;background:#4caf50;color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:background .2s}.save-all-btn:hover:not(:disabled){background:#388e3c}.save-all-btn:disabled{opacity:.6;cursor:not-allowed}.save-all-btn .spinner{animation:spin 1s linear infinite}.close-pricing-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, #fff);color:var(--text-secondary, #888);cursor:pointer;font-size:14px;transition:all .2s}.close-pricing-btn:hover{background:#ffebee;color:#d32f2f;border-color:#d32f2f}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.pricing-card{background:var(--bg-primary, #f5f7fa);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:10px 12px}.pricing-card-label{font-size:12px;font-weight:600;color:var(--text-primary, #333);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-color, #e0e0e0)}.pricing-fields{display:flex;flex-direction:column;gap:6px}.pricing-fields label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-secondary, #666)}.pricing-fields input{width:90px;padding:4px 6px;border:1px solid var(--border-color, #ccc);border-radius:4px;font-size:12px;text-align:right;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);font-variant-numeric:tabular-nums}.pricing-fields input:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926}@media (max-width: 1200px){.admin-users-table{font-size:11px}.admin-users-table thead th{padding:6px 4px;font-size:10px}.admin-users-table td{padding:4px}}.admin-settings-page{padding:20px;height:100%;display:flex;flex-direction:column;background:var(--bg-primary, #f5f7fa);overflow-y:auto}.admin-settings-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-shrink:0}.admin-settings-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;color:var(--text-primary, #1a1a2e)}.settings-section{background:var(--bg-secondary, #fff);border:1px solid var(--border-color, #ddd);border-radius:8px;padding:20px;margin-bottom:16px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-color, #eee)}.settings-section-header h3{margin:0;font-size:16px;color:var(--text-primary, #333);display:flex;align-items:center;gap:8px}.settings-section-hint{font-size:11px;color:var(--text-secondary, #888)}.markup-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.markup-input-group{display:flex;align-items:center;gap:8px}.markup-input-group label{font-size:13px;font-weight:500;color:var(--text-primary, #333)}.markup-input-group input{width:80px;padding:8px 10px;border:1px solid var(--border-color, #ccc);border-radius:6px;font-size:16px;font-weight:600;text-align:center;background:var(--bg-primary, #f5f7fa);color:var(--text-primary, #333)}.markup-input-group input:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926}.markup-preview{font-size:12px;color:var(--text-secondary, #666);background:var(--bg-primary, #f5f7fa);padding:6px 12px;border-radius:6px;border:1px solid var(--border-color, #eee)}.markup-preview strong{color:#4a90d9}.overrides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.override-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary, #f5f7fa);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:8px 12px}.override-card-label{font-size:12px;font-weight:500;color:var(--text-primary, #333)}.override-card input{width:70px;padding:4px 6px;border:1px solid var(--border-color, #ccc);border-radius:4px;font-size:12px;text-align:right;background:var(--bg-secondary, #fff);color:var(--text-primary, #333)}.override-card input:focus{outline:none;border-color:#4a90d9}.override-card input::placeholder{color:var(--text-secondary, #aaa);font-style:italic}.packages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.package-card{background:var(--bg-primary, #f5f7fa);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;position:relative;transition:border-color .2s}.package-card.inactive{opacity:.5}.package-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.package-card-name{font-size:16px;font-weight:600;color:var(--text-primary, #333)}.package-card-toggle{cursor:pointer}.package-field{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:var(--text-secondary, #666)}.package-field input{width:100px;padding:4px 8px;border:1px solid var(--border-color, #ccc);border-radius:4px;font-size:13px;text-align:right;background:var(--bg-secondary, #fff);color:var(--text-primary, #333)}.package-field input:focus{outline:none;border-color:#4a90d9}.bonus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.bonus-card{display:flex;flex-direction:column;gap:6px;background:var(--bg-primary, #f5f7fa);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:12px}.bonus-card-label{font-size:13px;font-weight:500;color:var(--text-primary, #333)}.bonus-card input{padding:6px 8px;border:1px solid var(--border-color, #ccc);border-radius:4px;font-size:14px;text-align:center;background:var(--bg-secondary, #fff);color:var(--text-primary, #333)}.bonus-card input:focus{outline:none;border-color:#4a90d9}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.metric-card{background:var(--bg-primary, #f5f7fa);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;text-align:center}.metric-card-value{font-size:24px;font-weight:700;color:var(--text-primary, #333);margin-bottom:4px}.metric-card-value.positive{color:#4caf50}.metric-card-value.negative{color:#d32f2f}.metric-card-label{font-size:12px;color:var(--text-secondary, #888)}.settings-save-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;border:none;border-radius:6px;background:#4caf50;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.settings-save-btn:hover:not(:disabled){background:#388e3c}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-add-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px dashed var(--border-color, #ccc);border-radius:6px;background:transparent;color:var(--text-secondary, #666);cursor:pointer;font-size:12px;transition:all .2s}.settings-add-btn:hover{border-color:#4a90d9;color:#4a90d9;background:#4a90d90d}.settings-delete-btn{padding:4px 8px;border:1px solid #ffcdd2;border-radius:4px;background:transparent;color:#d32f2f;cursor:pointer;font-size:11px;transition:all .2s}.settings-delete-btn:hover{background:#ffebee}.admin-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:200px;font-size:16px;color:var(--text-secondary, #666)}.admin-loading .spinner,.settings-save-btn .spinner{animation:spin 1s linear infinite}.admin-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#dc3545}@media (max-width: 768px){.admin-settings-page{padding:12px}.settings-section{padding:14px}.packages-grid,.metrics-grid{grid-template-columns:1fr}}.admin-user-credits-page{padding:20px;height:100%;display:flex;flex-direction:column;background:var(--bg-primary, #f5f7fa);overflow:hidden}.admin-credits-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-shrink:0;flex-wrap:wrap}.admin-credits-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;color:var(--text-primary, #1a1a2e)}.admin-credits-header .user-count{font-size:13px;color:var(--text-secondary, #888);background:var(--bg-secondary, #eee);padding:3px 10px;border-radius:12px}.admin-credits-search{display:flex;align-items:center;gap:6px;margin-left:auto;background:var(--bg-secondary, #fff);border:1px solid var(--border-color, #ddd);border-radius:6px;padding:4px 10px}.admin-credits-search .search-icon{color:var(--text-secondary, #888);font-size:13px}.admin-credits-search input{border:none;outline:none;background:transparent;font-size:13px;color:var(--text-primary, #333);width:180px}.admin-credits-table-wrapper{flex:1;overflow:auto;border:1px solid var(--border-color, #ddd);border-radius:8px;background:var(--bg-secondary, #fff)}.admin-credits-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.admin-credits-table thead th{background:var(--bg-tertiary, #f0f2f5);color:var(--text-primary, #333);padding:10px 8px;text-align:center;font-size:12px;font-weight:600;border-bottom:2px solid var(--border-color, #ddd);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:10}.admin-credits-table thead th:hover{background:var(--bg-hover, #e4e6e9)}.admin-credits-table td,.admin-credits-table th{border-right:1px solid var(--border-color, #eee)}.admin-credits-table tbody tr.user-row{border-bottom:1px solid var(--border-color, #eee);cursor:pointer}.admin-credits-table tbody tr.user-row:hover{background:var(--bg-hover, #f8f9fa)}.admin-credits-table tbody tr.user-row.expanded{background:var(--bg-hover, #f0f4ff)}.admin-credits-table tbody tr.user-row.has-balance{background:var(--bg-secondary, #fff)}.admin-credits-table td{padding:8px;text-align:center;color:var(--text-primary, #333)}.col-expand{width:30px;min-width:30px;text-align:center!important;color:var(--text-secondary, #888);font-size:11px;cursor:pointer}.col-num{width:30px;min-width:30px;text-align:center!important;color:var(--text-secondary, #aaa);font-size:12px}.col-name{text-align:left!important;min-width:160px;max-width:220px}.col-name .user-info{display:flex;flex-direction:column;gap:1px}.col-name .user-name{font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-name .user-email{font-size:10px;color:var(--text-secondary, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-balance{font-weight:600;font-variant-numeric:tabular-nums;color:#2e7d32}.col-balance.zero{color:var(--text-secondary, #aaa)}.col-earned{font-variant-numeric:tabular-nums;color:#1565c0}.col-spent{font-variant-numeric:tabular-nums;color:#d32f2f}.col-usd{font-variant-numeric:tabular-nums;color:#2e7d32}.col-count{font-variant-numeric:tabular-nums}.col-date{white-space:nowrap;font-size:12px;color:var(--text-secondary, #666)}.col-actions{width:60px;min-width:60px;cursor:default!important}.col-actions .action-buttons{display:flex;gap:4px;justify-content:center}.col-actions .add-credits-btn,.col-actions .remove-credits-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:none;color:#fff;cursor:pointer;font-size:10px;transition:all .2s}.col-actions .add-credits-btn{background:linear-gradient(135deg,#4caf50,#388e3c)}.col-actions .add-credits-btn:hover{background:linear-gradient(135deg,#388e3c,#2e7d32);transform:scale(1.1)}.col-actions .remove-credits-btn{background:linear-gradient(135deg,#ef5350,#d32f2f)}.col-actions .remove-credits-btn:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#b71c1c);transform:scale(1.1)}.col-actions .remove-credits-btn:disabled{opacity:.3;cursor:not-allowed}.admin-credits-table .totals-row{background:var(--bg-tertiary, #f0f2f5)!important;border-top:2px solid var(--border-color, #ccc)}.admin-credits-table .totals-row td{padding:10px 8px;font-weight:600;background:var(--bg-tertiary, #f0f2f5);position:sticky;bottom:0;z-index:6}.transactions-row td{padding:0!important;border-right:none!important}.transactions-panel{background:var(--bg-primary, #f9fafc);border-top:1px solid var(--border-color, #ddd);border-bottom:2px solid var(--border-color, #ccc);padding:16px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.transactions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.transactions-header h4{margin:0;font-size:14px;color:var(--text-primary, #333)}.transaction-filters{display:flex;gap:4px;flex-wrap:wrap}.filter-btn{padding:3px 10px;border:1px solid var(--border-color, #ddd);border-radius:14px;background:var(--bg-secondary, #fff);color:var(--text-secondary, #666);cursor:pointer;font-size:11px;transition:all .15s}.filter-btn:hover{background:var(--bg-hover, #e8e8e8)}.filter-btn.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.transactions-loading{display:flex;align-items:center;justify-content:center;padding:30px}.transactions-empty{text-align:center;padding:20px;color:var(--text-secondary, #888);font-size:13px}.transactions-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--bg-secondary, #fff);border-radius:6px;overflow:hidden;border:1px solid var(--border-color, #ddd)}.transactions-table thead th{background:var(--bg-tertiary, #e8eaed);padding:8px 6px;font-size:11px;font-weight:600;color:var(--text-primary, #333);text-align:left;border-bottom:1px solid var(--border-color, #ddd)}.transactions-table tbody tr{border-bottom:1px solid var(--border-color, #eee)}.transactions-table tbody tr:hover{background:var(--bg-hover, #f8f9fa)}.transactions-table td{padding:6px;color:var(--text-primary, #333)}.tx-date{white-space:nowrap;font-size:11px;color:var(--text-secondary, #666)}.tx-type{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:500;white-space:nowrap}.tx-type.type-purchase{background:#e8f5e9;color:#2e7d32}.tx-type.type-deduction{background:#ffebee;color:#c62828}.tx-type.type-bonus{background:#e3f2fd;color:#1565c0}.tx-type.type-admin{background:#f3e5f5;color:#7b1fa2}.tx-type.type-refund{background:#fff3e0;color:#e65100}.tx-change{font-weight:600;font-variant-numeric:tabular-nums}.tx-change.positive{color:#2e7d32}.tx-change.negative{color:#d32f2f}.tx-desc{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--text-secondary, #666)}.transactions-pagination{display:flex;gap:4px;justify-content:center;padding:10px 0}.page-btn{width:28px;height:28px;border:1px solid var(--border-color, #ddd);border-radius:4px;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);cursor:pointer;font-size:12px;transition:all .15s}.page-btn:hover{background:var(--bg-hover, #e8e8e8)}.page-btn.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.add-credits-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.add-credits-modal{background:var(--bg-secondary, #fff);border-radius:12px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0000004d}.add-credits-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #eee)}.add-credits-modal .modal-header h3{margin:0;font-size:16px;color:var(--text-primary, #333)}.add-credits-modal .modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-secondary, #888);cursor:pointer;font-size:14px}.add-credits-modal .modal-close:hover{background:var(--bg-hover, #f0f0f0);color:#d32f2f}.add-credits-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.add-credits-modal .modal-body label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-primary, #333)}.add-credits-modal .modal-body input{padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:14px;background:var(--bg-primary, #f5f7fa);color:var(--text-primary, #333)}.add-credits-modal .modal-body input:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926}.add-credits-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-color, #eee)}.add-credits-modal .cancel-btn{padding:8px 16px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);cursor:pointer;font-size:13px;transition:background .2s}.add-credits-modal .cancel-btn:hover{background:var(--bg-hover, #e8e8e8)}.add-credits-modal .modal-balance-info{padding:8px 12px;background:#fff3e0;border:1px solid #ffe0b2;border-radius:6px;font-size:13px;color:#e65100}.add-credits-modal .confirm-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:#4caf50;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.add-credits-modal .confirm-btn:hover:not(:disabled){background:#388e3c}.add-credits-modal .confirm-btn.remove{background:#ef5350}.add-credits-modal .confirm-btn.remove:hover:not(:disabled){background:#d32f2f}.add-credits-modal .confirm-btn:disabled{opacity:.5;cursor:not-allowed}.add-credits-modal .confirm-btn .spinner{animation:spin 1s linear infinite}.admin-user-credits-page .admin-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:200px;font-size:16px;color:var(--text-secondary, #666)}.admin-user-credits-page .admin-loading .spinner{animation:spin 1s linear infinite}.admin-user-credits-page .admin-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#dc3545}.admin-user-credits-page .sort-icon{font-size:10px;margin-left:2px;color:var(--text-secondary, #aaa)}.admin-user-credits-page .sort-icon.active{color:var(--accent-color, #4a90d9)}@media (max-width: 1200px){.admin-credits-table{font-size:12px}.admin-credits-table thead th{padding:6px 4px;font-size:11px}.admin-credits-table td{padding:6px 4px}}.admin-logs-page{padding:20px;height:100%;display:flex;flex-direction:column;background:var(--bg-primary, #f5f7fa);overflow-y:auto}.admin-logs-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-shrink:0;flex-wrap:wrap}.admin-logs-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;color:var(--text-primary, #1a1a2e)}.logs-header-actions{display:flex;align-items:center;gap:12px}.logs-filter{display:flex;gap:4px;background:var(--bg-secondary, #fff);border:1px solid var(--border-color, #ddd);border-radius:6px;padding:2px}.filter-btn{padding:5px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #666);font-size:12px;cursor:pointer;transition:all .15s}.filter-btn:hover{background:#f0f0f0}.filter-btn.active{background:#4a90d9;color:#fff}.refresh-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);font-size:13px;cursor:pointer;transition:all .15s}.refresh-btn:hover{background:#f5f5f5}.logs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-secondary, #888)}.logs-table-wrapper{background:var(--bg-secondary, #fff);border:1px solid var(--border-color, #ddd);border-radius:8px;overflow:hidden}.logs-table{width:100%;border-collapse:collapse;font-size:13px}.logs-table thead th{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;color:var(--text-secondary, #888);background:#fafafa;border-bottom:1px solid var(--border-color, #ddd)}.logs-table tbody tr.log-row{border-bottom:1px solid #f0f0f0;transition:background .1s}.logs-table tbody tr.log-row.clickable{cursor:pointer}.logs-table tbody tr.log-row:hover{background:#f9f9ff}.logs-table tbody tr.log-row.expanded{background:#f0f4ff}.logs-table td{padding:10px 12px;vertical-align:middle}.log-date{font-family:monospace;font-size:12px;white-space:nowrap}.log-type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.log-type-badge.scrape-all{background:#e3f2fd;color:#1565c0}.log-type-badge.discover{background:#f3e5f5;color:#7b1fa2}.log-type-badge.scrape-single{background:#e8f5e9;color:#2e7d32}.log-status{display:flex;align-items:center;gap:4px;font-weight:600;font-size:12px}.log-trigger{font-size:11px;color:var(--text-secondary, #888);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-success{color:#4caf50;font-weight:600}.text-error{color:#d32f2f;font-weight:600}.text-muted{color:#999}.log-details-row td{padding:0!important}.log-details{padding:12px 20px 16px;background:#fafbff;border-top:1px solid #e0e4f0}.log-error-msg{background:#ffeaea;color:#d32f2f;padding:8px 12px;border-radius:6px;margin-bottom:12px;font-size:12px}.details-table{width:100%;border-collapse:collapse;font-size:12px}.details-table thead th{padding:6px 10px;text-align:left;font-weight:600;font-size:10px;text-transform:uppercase;color:#888;background:#f0f2f8;border-bottom:1px solid #ddd}.details-table tbody tr{border-bottom:1px solid #f0f0f0}.details-table td{padding:5px 10px}.detail-code{font-family:monospace;font-weight:600;font-size:11px}.detail-status{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600}.detail-status.success{background:#e8f5e9;color:#2e7d32}.detail-status.failed{background:#ffeaea;color:#d32f2f}.detail-status.skipped{background:#fff3e0;color:#e65100}.detail-error{color:#d32f2f;font-size:11px;max-width:250px;overflow:hidden;text-overflow:ellipsis}.logs-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;font-size:13px;color:var(--text-secondary, #666)}.logs-pagination button{padding:6px 14px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, #fff);cursor:pointer;font-size:12px}.logs-pagination button:hover:not(:disabled){background:#f0f0f0}.logs-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-logs-page .admin-loading,.admin-logs-page .admin-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-secondary, #888)}.spinner{animation:spin 1s linear infinite}.admin-users-mgmt-page{padding:20px;height:100%;display:flex;flex-direction:column;background:var(--bg-primary, #f5f7fa);overflow:hidden}.admin-users-mgmt-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-shrink:0}.admin-users-mgmt-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;color:var(--text-primary, #1a1a2e)}.admin-users-mgmt-header .user-count{font-size:13px;color:var(--text-secondary, #888);background:var(--bg-secondary, #eee);padding:3px 10px;border-radius:12px}.search-box{margin-left:auto;position:relative;display:flex;align-items:center}.search-box .search-icon{position:absolute;left:10px;color:var(--text-secondary, #aaa);font-size:13px}.search-box input{padding:7px 12px 7px 32px;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:13px;background:var(--bg-secondary, #fff);color:var(--text-primary, #333);width:220px;transition:border-color .2s,box-shadow .2s}.search-box input:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926}.admin-users-mgmt-page .admin-loading{display:flex;align-items:center;justify-content:center;gap:10px;height:200px;font-size:16px;color:var(--text-secondary, #666)}.admin-users-mgmt-page .admin-loading .spinner{animation:umSpin 1s linear infinite}@keyframes umSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-users-mgmt-page .admin-access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#dc3545}.admin-users-mgmt-table-wrapper{flex:1;overflow:auto;border:1px solid var(--border-color, #ddd);border-radius:8px;background:var(--bg-secondary, #fff)}.admin-users-mgmt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.admin-users-mgmt-table thead th{background:var(--bg-tertiary, #f0f2f5);color:var(--text-primary, #333);padding:10px 12px;text-align:left;font-size:12px;font-weight:600;border-bottom:2px solid var(--border-color, #ddd);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:10}.admin-users-mgmt-table thead th:hover{background:var(--bg-hover, #e4e6e9)}.sort-icon{font-size:10px;margin-left:4px;color:var(--text-secondary, #aaa)}.sort-icon.active{color:var(--accent-color, #4a90d9)}.admin-users-mgmt-table td{padding:10px 12px;border-bottom:1px solid var(--border-color, #eee);color:var(--text-primary, #333)}.admin-users-mgmt-table tbody tr:hover{background:var(--bg-hover, #f8f9fa)}.col-num{text-align:center;color:var(--text-secondary, #aaa);font-size:12px;width:40px}.admin-users-mgmt-table .col-name{min-width:200px}.admin-users-mgmt-table .col-name .user-info{display:flex;flex-direction:column;gap:1px}.admin-users-mgmt-table .col-name .user-name{font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-users-mgmt-table .col-name .user-email{font-size:11px;color:var(--text-secondary, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-users-mgmt-table .col-date{white-space:nowrap;font-size:12px;color:var(--text-secondary, #666);width:110px}.col-status{text-align:center;width:100px;cursor:default}.col-email-verified{text-align:center;width:120px;cursor:default}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.3px}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.banned{background:#ffebee;color:#c62828}.status-badge.deleted{background:#f3f4f6;color:#6b7280}.col-deletion{text-align:center;width:160px;cursor:default}.admin-users-mgmt-table thead th.col-deletion{cursor:default}.deletion-info{display:flex;flex-direction:column;align-items:center;gap:2px}.deletion-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.deletion-date{font-size:10px;color:var(--text-secondary, #888)}.deletion-reason{font-size:10px;color:var(--text-secondary, #999);font-style:italic;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-deletion{color:var(--text-secondary, #ccc)}.col-actions{text-align:center;width:200px;cursor:default}.col-actions{display:flex;gap:8px;justify-content:center;align-items:center}.admin-users-mgmt-table thead th.col-actions{display:table-cell;text-align:center}.action-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.action-btn .btn-label{font-size:11px}.action-btn .spinner{animation:umSpin 1s linear infinite;font-size:12px}.action-btn:disabled{opacity:.6;cursor:not-allowed}.ban-btn{background:#fff8e1;border-color:#f9a825;color:#e65100}.ban-btn:hover:not(:disabled){background:#fff3c4;border-color:#f57f17}.ban-btn.unban{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.ban-btn.unban:hover:not(:disabled){background:#c8e6c9;border-color:#43a047}.delete-btn{background:#fff;border-color:#e0e0e0;color:#757575}.delete-btn:hover:not(:disabled){background:#ffebee;border-color:#ef5350;color:#c62828}.delete-btn.confirm{background:#ffebee;border-color:#ef5350;color:#c62828;animation:umPulse 1s ease-in-out infinite}@keyframes umPulse{0%,to{box-shadow:0 0 #ef53504d}50%{box-shadow:0 0 0 4px #ef53501a}}.banned-row{background:#fff8f8!important}.banned-row:hover{background:#fff0f0!important}.deleted-row{opacity:.6;background:#f9fafb!important}.deleted-row:hover{opacity:.8;background:#f3f4f6!important}.restore-btn{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.restore-btn:hover:not(:disabled){background:#c8e6c9;border-color:#81c784;color:#1b5e20}@media (max-width: 768px){.admin-users-mgmt-header{flex-wrap:wrap}.search-box{width:100%;margin-left:0}.search-box input{width:100%}.action-btn .btn-label{display:none}.action-btn{padding:6px 8px}.col-actions{width:auto}}.insufficient-credits-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.insufficient-credits-modal{background-color:var(--surface);color:var(--text-primary);border-radius:12px;width:90%;max-width:420px;padding:32px;text-align:center;box-shadow:var(--shadow-lg);border:1px solid var(--border);position:relative}.insufficient-credits-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.insufficient-credits-close:hover{color:var(--text-primary);background-color:var(--surface-hover)}.insufficient-credits-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#ef44441a;color:#ef4444;font-size:28px;margin:0 auto 16px}.insufficient-credits-modal h3{margin:0 0 8px;font-size:20px;color:var(--text-primary)}.insufficient-credits-message{margin:0 0 20px;color:var(--text-secondary);font-size:14px;line-height:1.5}.insufficient-credits-details{background:var(--surface-hover);border-radius:10px;padding:16px;margin-bottom:24px;border:1px solid var(--border)}.credit-detail-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.credit-detail-row+.credit-detail-row{border-top:1px solid var(--border)}.credit-detail-row.need-more{margin-top:4px;padding-top:10px}.detail-label{font-size:13px;color:var(--text-secondary)}.detail-value{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--text-primary)}.detail-value.estimated{color:#8b5cf6}.credit-detail-row.need-more .detail-value{color:#ef4444}.detail-coin{color:#8b5cf6;font-size:12px}.insufficient-credits-actions{display:flex;flex-direction:column;gap:8px}.buy-credits-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.buy-credits-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.cancel-btn{width:100%;padding:10px 20px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background-color:var(--surface-hover);color:var(--text-primary)}.child-profile-page{padding:0;background-color:var(--background);height:100%;display:flex;flex-direction:column;overflow:hidden;font-family:Inter,sans-serif}.profile-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.child-identity{display:flex;align-items:center;gap:16px}.child-photo-large{width:72px;height:72px;border-radius:50%;overflow:hidden;border:3px solid var(--surface);box-shadow:0 4px 12px #0000001a}.child-photo-large img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.child-info-block h1{margin:0;font-size:22px;color:var(--text-primary)}.grade-level{color:var(--text-secondary);font-size:14px;margin:2px 0 8px}.edit-btn{background:none;border:1px solid var(--border);padding:4px 10px;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;transition:all .2s}.edit-btn:hover{background:var(--surface-hover);border-color:var(--border)}.strategic-goal-card{background:var(--surface);padding:16px;border-radius:12px;box-shadow:0 2px 8px #0000000d;min-width:260px;border-left:4px solid #8b5cf6}.goal-header{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;margin-bottom:4px}.goal-icon{color:#8b5cf6}.edit-goal-btn{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer}.edit-goal-btn:hover{color:var(--text-secondary)}.dream-school-name{margin:0 0 8px;font-size:16px;color:var(--text-primary)}.ai-strategy-status{display:inline-flex;align-items:center;gap:6px;background:#f5f3ff;color:#7c3aed;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-dot{width:6px;height:6px;background:#7c3aed;border-radius:50%}.performance-summary-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:var(--surface);padding:20px;border-radius:12px;box-shadow:0 2px 4px #0000000a}.summary-card h3{margin:0 0 12px;font-size:14px;color:var(--text-secondary);font-weight:500}.metric-value{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.metric-status.good{color:var(--success);font-size:13px;font-weight:500}.metric-sub{color:var(--text-muted);font-size:13px}.strengths-list{display:flex;flex-direction:column;gap:6px}.strength-item{font-size:13px;color:var(--text-primary)}.next-step-card{background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff}.next-step-card h3{color:#fffc}.next-step-content{font-size:16px;font-weight:600;margin-bottom:16px;line-height:1.4}.action-btn{background:#fff;color:#4f46e5;border:none;padding:8px 16px;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:transform .2s}.action-btn:hover{transform:translateY(-1px)}.profile-tabs-wrapper{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.tabs-expand-toggle{position:absolute;top:-16px;left:50%;transform:translate(-50%);width:80px;height:16px;background-color:var(--surface, #fff);border:1px solid var(--border, #ddd);border-bottom:none;border-radius:10px 10px 0 0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted, #888);transition:all .2s ease;z-index:10;box-shadow:0 -2px 4px #00000014}.tabs-expand-toggle:hover{background-color:var(--surface-hover);color:var(--primary-color, #10b981)}.profile-tabs-section{background:var(--surface);overflow:hidden;height:100%;display:flex;flex-direction:column}.tabs-header{display:flex;border-bottom:1px solid var(--border);padding:0 20px}.tab-btn{background:none;border:none;padding:16px 20px;font-size:14px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;gap:8px;transition:all .2s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:500}.tab-content{padding:0;height:100%;overflow-y:auto;display:flex;flex-direction:column}.academic-tab-wrapper{height:100%;overflow:hidden;display:flex;flex-direction:column}.academic-tab{padding:20px;height:100%;overflow-y:auto}.schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:24px;max-width:100%;overflow:hidden}.school-card{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .25s ease;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;min-width:0}.school-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-2px)}.school-card-visual{position:relative;height:120px;overflow:hidden;background-color:#e8ecf4}.school-card-img{display:block;width:100%;height:100%;object-fit:cover}.school-card-visual-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000 50%,#00000026);pointer-events:none}.school-card-rating{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px;padding:4px 10px;background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;font-size:12px;font-weight:600;color:#f59e0b;z-index:3}.school-card-rating svg{font-size:11px}.school-card-body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;min-width:0;width:100%;box-sizing:border-box}.school-card-name{margin:0;font-size:.95rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;box-sizing:border-box;padding-right:20px}.school-card-meta{display:flex;align-items:center;gap:10px;font-size:.82rem;color:#6b7280}.school-card-grade{display:flex;align-items:center;gap:4px;color:#5c6bc0;font-weight:500}.school-card-grade svg{font-size:12px}.school-card-year{color:#9ca3af}.school-card-location{margin:0;display:flex;align-items:center;gap:4px;font-size:.78rem;color:#9ca3af}.school-card-location svg{font-size:10px;flex-shrink:0}.school-card-arrow{position:absolute;top:12px;right:12px;color:#d1d5db;font-size:14px;transition:all .2s}.school-card:hover .school-card-arrow{color:#667eea;transform:translate(2px)}@media (max-width: 600px){.schools-grid{grid-template-columns:1fr}}.charts-placeholder{height:200px;background:var(--background);border:2px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.activities-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.add-btn{background:#4f46e5;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.activities-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.activity-card{border:1px solid var(--border);padding:16px;border-radius:8px;background:var(--surface)}.activity-card h4{margin:0 0 8px;color:var(--text-primary)}.activity-card p{margin:0 0 12px;color:var(--text-secondary);font-size:13px;line-height:1.4}.ai-value-tag{display:inline-block;background:#ecfdf5;color:#059669;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--surface);padding:24px;border-radius:12px;width:400px}.modal-content h3{margin-top:0;color:var(--text-primary)}.modal-content input{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;margin:16px 0;font-size:14px;background:var(--background);color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.modal-actions button{padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer}.modal-actions .primary-btn{background:#4f46e5;color:#fff;border-color:#4f46e5}.child-profile-page.tabs-expanded{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:0}.child-profile-page.tabs-expanded .profile-header-section{display:none}.child-profile-page.tabs-expanded .profile-tabs-wrapper{flex:1;display:flex;flex-direction:column;margin:0;min-height:0;overflow:hidden}.child-profile-page.tabs-expanded .profile-tabs-section{flex:1;display:flex;flex-direction:column;border-radius:0;min-height:0;overflow:hidden}.child-profile-page.tabs-expanded .tab-content{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;padding-bottom:60px}.child-profile-page.tabs-expanded .tab-content>*{min-height:0}.child-profile-page.tabs-expanded .tabs-expand-toggle{position:absolute;top:53px;left:50%;transform:translate(-50%);z-index:100;width:80px;height:16px;color:var(--text-muted, #888);background-color:var(--surface, #fff);border:1px solid var(--border, #ddd);border-top:none;border-radius:0 0 10px 10px;box-shadow:0 2px 4px #00000014;font-size:10px}.goal-tab-wrapper{width:100%;height:100%;flex:1;min-height:0;display:flex;flex-direction:column}.goal-tab-wrapper.tutorial-highlight-goal{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.goal-tab-wrapper.tutorial-highlight-goal *{pointer-events:none}.academic-tab-wrapper.tutorial-highlight-academic{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003;padding:16px;margin:-16px;width:calc(100% + 32px)}.academic-tab-wrapper.tutorial-highlight-academic *{pointer-events:none}.sport-tab-wrapper.tutorial-highlight-sport{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.sport-tab-wrapper.tutorial-highlight-sport *{pointer-events:none}.music-tab-wrapper.tutorial-highlight-music{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.music-tab-wrapper.tutorial-highlight-music *{pointer-events:none}.hobbies-tab-wrapper.tutorial-highlight-hobbies{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.hobbies-tab-wrapper.tutorial-highlight-hobbies *{pointer-events:none}.projects-tab-wrapper.tutorial-highlight-projects{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.projects-tab-wrapper.tutorial-highlight-projects *{pointer-events:none}.volunteering-tab-wrapper.tutorial-highlight-volunteering{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.volunteering-tab-wrapper.tutorial-highlight-volunteering *{pointer-events:none}.ai-consultant-tab-wrapper{width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.ai-consultant-tab-wrapper .chat-interface{flex:1;min-height:0}.ai-consultant-tab-wrapper.tutorial-highlight-ai-consultant{position:relative;z-index:10000;pointer-events:none;background:var(--surface, #fff);border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.ai-consultant-tab-wrapper.tutorial-highlight-ai-consultant *{pointer-events:none}.major-finder-tab-wrapper{width:100%;height:100%;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.major-finder-tab-wrapper .major-finder-tab{flex:1;min-height:0;overflow-y:auto}.section-header-with-add{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header-with-add h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.add-school-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s;font-size:12px}.add-school-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #6366f166}@media (max-width: 768px){.profile-header-section{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:12px}.child-photo-large{width:56px;height:56px}.child-info-block h1{font-size:18px}.strategic-goal-card{min-width:100%;padding:12px}.summary-card{padding:16px}.metric-value{font-size:24px}.tab-btn{padding:12px;font-size:13px}.academic-tab{padding:12px}.student-modules-grid{grid-template-columns:repeat(2,1fr)!important}}.dashboard-tab-wrapper{padding:16px 24px;overflow-y:auto;height:100%}.student-modules-section{padding:0}.student-modules-heading{font-size:13px;font-weight:600;letter-spacing:1px;color:var(--text-secondary, #6B7280);margin-bottom:16px}.student-modules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.module-card{background:var(--surface, #fff);border:1px solid var(--border, #E5E7EB);border-radius:10px;padding:16px 14px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:8px}.module-card:hover{border-color:var(--primary, #6366f1);box-shadow:0 3px 12px #6366f11a;transform:translateY(-1px)}.module-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}.module-card-title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #1F2937)}.module-card-description{margin:0;font-size:12px;color:var(--text-secondary, #6B7280);line-height:1.4;flex:1}.module-card-link{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:1px;color:var(--primary, #6366f1);text-transform:uppercase;margin-top:2px}.module-card-link svg{font-size:9px;transition:transform .2s}.module-card:hover .module-card-link svg{transform:translate(3px)}@media (max-width: 1100px){.student-modules-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.student-modules-grid{grid-template-columns:repeat(2,1fr)}}.wx-content.wx-pqc08MHU{width:100%;white-space:nowrap;display:flex;align-items:center}.wx-toggle-icon.wx-pqc08MHU{width:var(--wx-icon-size);min-width:12px;height:16px;line-height:16px;margin:0 5px;font-size:var(--wx-icon-size);color:var(--wx-gantt-icon-color);cursor:pointer}.wx-toggle-placeholder.wx-pqc08MHU{width:var(--wx-icon-size);height:16px;line-height:16px;margin:0 5px;flex:0 0 var(--wx-icon-size)}.wx-text.wx-pqc08MHU{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.wx-action-icon.wx-9DAESAHW{cursor:pointer;font-size:var(--wx-icon-size);height:16px;line-height:16px;display:block;color:var(--wx-gantt-icon-color)}.wx-action-icon.wx-9DAESAHW:hover{color:var(--wx-color-link)}.wx-table-container.wx-rHj6070p{display:flex;flex-direction:column;border-right:var(--wx-gantt-border);overflow-x:auto;overflow-y:hidden;height:100%;box-sizing:content-box}.wx-table.wx-rHj6070p{--wx-table-select-background: var(--wx-gantt-select-color);--wx-table-select-focus-background: var(--wx-gantt-select-color);--wx-table-select-border: none;--wx-table-cell-border: var(--wx-grid-body-row-border);--wx-table-header-background: var(--wx-background);--wx-table-header-border: var(--wx-gantt-border);--wx-table-header-cell-border: var(--wx-gantt-border)}.wx-table .wx-grid .wx-table-box{border:none}.wx-table .wx-grid .wx-scroll{overflow:visible!important}.wx-table .wx-grid .wx-scroll .wx-body,.wx-table .wx-grid .wx-scroll .wx-header{width:100%!important}.wx-table .wx-grid{font:var(--wx-grid-body-font);color:var(--wx-grid-body-font-color)}.wx-table .wx-grid .wx-cell{padding:0 5px;height:100%;display:flex;align-items:center}.wx-table .wx-grid .wx-row{display:flex;align-items:center}.wx-table .wx-grid .wx-cell.wx-text-center{justify-content:center}.wx-table .wx-grid .wx-cell.wx-text-right{justify-content:end}.wx-table .wx-grid .wx-body .wx-cell{border-right:var(--wx-grid-body-cell-border)}.wx-table .wx-grid .wx-cell:has(input,.wx-value){height:100%;padding:0}.wx-table .wx-grid .wx-header{box-shadow:var(--wx-grid-header-shadow);z-index:1}.wx-table .wx-grid .wx-header .wx-cell{font:var(--wx-grid-header-font);text-transform:var(--wx-grid-header-text-transform);color:var(--wx-grid-header-font-color);padding:0 5px}.wx-table .wx-grid .wx-header .wx-cell:first-child{padding-left:14px}.wx-table .wx-grid .wx-header .wx-cell .wx-text{width:100%}.wx-table .wx-grid .wx-header .wx-cell:has(.wx-sort) .wx-text{width:calc(100% - 15px)}.wx-table .wx-grid .wx-header .wx-cell.wx-text-right{text-align:right}.wx-table .wx-grid .wx-header .wx-cell.wx-text-center{text-align:center;padding-left:5px}.wx-table .wx-grid .wx-header .wx-cell.wx-text-center.wx-action{justify-content:center}.wx-table .wx-grid .wx-header .wx-cell.wx-text-right.wx-action{justify-content:right}.wx-table .wx-grid .wx-header .wx-action i{font-size:var(--wx-icon-size);color:var(--wx-gantt-icon-color)}.wx-table .wx-grid .wx-header .wx-action .wx-text{display:none}.wx-table .wx-grid .wx-header .wx-action i:hover{color:var(--wx-color-link)}.wx-table .wx-grid .wx-reorder-task.wx-row{width:100%;background:var(--wx-background-alt);border-top:var(--wx-grid-body-row-border)}.wx-table .wx-grid .wx-reorder-task.wx-selected{background:var(--wx-gantt-select-color);border-top:transparent;border-bottom:transparent}.wx-baseline.wx-GKbcLEGA{position:absolute;background-color:#a883e4;border-radius:var(--wx-gantt-baseline-border-radius);z-index:1}.wx-baseline.wx-milestone.wx-GKbcLEGA{transform:rotate(45deg) scale(.75);border-radius:var(--wx-gantt-milestone-border-radius)}.wx-bars.wx-GKbcLEGA{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.wx-bar.wx-GKbcLEGA{box-sizing:border-box;position:absolute;border-radius:var(--wx-gantt-bar-border-radius);font:var(--wx-gantt-bar-font);white-space:nowrap;line-height:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.wx-bar.wx-touch.wx-GKbcLEGA{opacity:.5}.wx-bar.wx-reorder-task.wx-GKbcLEGA{z-index:3}.wx-content.wx-GKbcLEGA{overflow:hidden;text-overflow:ellipsis}.wx-task.wx-GKbcLEGA{color:var(--wx-gantt-task-font-color);background-color:var(--wx-gantt-task-color);border:var(--wx-gantt-task-border)}.wx-task.wx-selected.wx-GKbcLEGA{border:1px solid var(--wx-gantt-task-border-color);box-shadow:var(--wx-gantt-bar-shadow)}.wx-task:hover.wx-GKbcLEGA{box-shadow:var(--wx-gantt-bar-shadow)}.wx-summary.wx-GKbcLEGA{color:var(--wx-gantt-summary-font-color);background-color:var(--wx-gantt-summary-color);border:var(--wx-gantt-summary-border)}.wx-summary.wx-selected.wx-GKbcLEGA{border:1px solid var(--wx-gantt-summary-border-color);box-shadow:var(--wx-gantt-bar-shadow)}.wx-summary:hover.wx-GKbcLEGA{box-shadow:var(--wx-gantt-bar-shadow)}.wx-milestone .wx-content.wx-GKbcLEGA{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.wx-bar:not(.wx-milestone) .wx-content.wx-GKbcLEGA{position:relative;z-index:2}.wx-bar.wx-GKbcLEGA .wx-text-out{position:absolute;line-height:normal;display:block;color:var(--wx-color-font);pointer-events:none}.wx-milestone.wx-GKbcLEGA{border-color:var(--wx-gantt-milestone-color)}.wx-milestone .wx-text-out.wx-GKbcLEGA{padding:0 2px;left:100%}.wx-milestone .wx-content.wx-GKbcLEGA{height:100%;background-color:var(--wx-gantt-milestone-color);transform:rotate(45deg) scale(.75);border-radius:var(--wx-gantt-milestone-border-radius)}.wx-progress-wrapper.wx-GKbcLEGA{position:absolute;width:100%;height:100%;background-color:transparent;border-radius:var(--wx-gantt-bar-border-radius);overflow:hidden}.wx-progress-percent.wx-GKbcLEGA{height:100%}.wx-progress-marker.wx-GKbcLEGA{opacity:0;position:absolute;top:80%;width:var(--wx-icon-size);height:var(--wx-gantt-progress-marker-height);background:var(--wx-gantt-progress-border-color);clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%);color:var(--wx-color-font);z-index:3;font-size:calc(var(--wx-font-size-sm) - 2px);border-radius:4px;cursor:ew-resize;text-align:center;line-height:3}.wx-progress-marker.wx-GKbcLEGA:before{content:"";display:block;position:absolute;width:calc(var(--wx-icon-size) - 2px);height:calc(var(--wx-gantt-progress-marker-height) - 2px);clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%);top:1px;left:1px;background:var(--wx-gantt-link-marker-background);z-index:-1;border-radius:4px}.wx-bar:hover .wx-progress-marker.wx-GKbcLEGA,.wx-progress-marker.wx-progress-in-drag.wx-GKbcLEGA{opacity:1}.wx-task .wx-progress-percent.wx-GKbcLEGA{background-color:var(--wx-gantt-task-fill-color)}.wx-summary .wx-progress-percent.wx-GKbcLEGA{background-color:var(--wx-gantt-summary-fill-color)}.wx-link.wx-GKbcLEGA{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;border:1px solid var(--wx-gantt-link-marker-color);background-color:var(--wx-gantt-link-marker-background);opacity:0;cursor:default}.wx-link .wx-inner.wx-GKbcLEGA{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;border:4px solid var(--wx-gantt-link-marker-color);pointer-events:none}.wx-link.wx-left.wx-GKbcLEGA{left:-16px}.wx-link.wx-right.wx-GKbcLEGA{right:-16px}.wx-link.wx-target:hover.wx-GKbcLEGA,.wx-link.wx-selected.wx-GKbcLEGA,.wx-bar:hover .wx-link.wx-target.wx-GKbcLEGA,.wx-link.wx-visible.wx-target.wx-GKbcLEGA{opacity:1;cursor:pointer}.wx-link.wx-selected.wx-GKbcLEGA,.wx-link.wx-selected .wx-inner.wx-GKbcLEGA{border-color:inherit}.wx-milestone .wx-link.wx-left.wx-GKbcLEGA{left:-16px}.wx-milestone .wx-link.wx-right.wx-GKbcLEGA{right:-16px}.wx-cut.wx-GKbcLEGA{opacity:50%}.wx-bar:not(.wx-milestone):focus.wx-GKbcLEGA{outline:1px solid var(--wx-color-primary);outline-offset:1px}.wx-milestone:focus.wx-GKbcLEGA{outline:none}.wx-milestone:focus .wx-content.wx-GKbcLEGA{outline:1px solid var(--wx-color-primary);outline-offset:1.6px}.wx-links.wx-dkx3NwEn{position:absolute;top:0;left:0;width:100%;height:100%}.wx-line.wx-dkx3NwEn{-webkit-user-select:auto;user-select:auto;pointer-events:stroke;position:relative;cursor:pointer;stroke:var(--wx-gantt-link-color);stroke-width:2;z-index:0;fill:transparent}.wx-chart.wx-mR7v2Xag{position:relative;flex:1 1 auto;overflow-x:auto;overflow-y:hidden}.wx-markers.wx-mR7v2Xag{position:absolute}.wx-marker.wx-mR7v2Xag{position:absolute;z-index:4;width:2px;height:100%;text-align:center;-webkit-user-select:none;user-select:none;transform:scaleX(-1)}.wx-default.wx-mR7v2Xag{background:var(--wx-gantt-marker-color)}.wx-content.wx-mR7v2Xag{position:absolute;min-width:50px;padding:4px 8px;border-top-left-radius:4px;border-bottom-left-radius:4px;font:var(--wx-gantt-marker-font);color:var(--wx-gantt-marker-font-color);background-color:inherit;white-space:nowrap;transform:scaleX(-1)}.wx-area.wx-mR7v2Xag{position:relative;overflow-y:hidden}.wx-selected.wx-mR7v2Xag{position:absolute;box-sizing:border-box;left:0;width:100%;background:var(--wx-gantt-select-color)}.wx-cut.wx-mR7v2Xag{opacity:50%}.wx-gantt-holidays.wx-mR7v2Xag{height:100%;width:100%;position:absolute}.wx-weekend.wx-mR7v2Xag{height:100%;background:var(--wx-gantt-holiday-background);color:var(--wx-gantt-holiday-color);position:absolute}.wx-scale.wx-ZkvhDKir{position:sticky;top:0;background-color:var(--wx-background);box-shadow:var(--wx-timescale-shadow);z-index:5}.wx-row.wx-ZkvhDKir,.wx-cell.wx-ZkvhDKir{display:flex;box-sizing:border-box}.wx-row.wx-ZkvhDKir{border-bottom:var(--wx-gantt-border)}.wx-cell.wx-ZkvhDKir{justify-content:center;align-items:center;border-right:var(--wx-timescale-border);font:var(--wx-timescale-font);text-transform:var(--wx-timescale-text-transform);color:var(--wx-timescale-font-color)}.wx-cell.wx-weekend.wx-ZkvhDKir{background:var(--wx-gantt-holiday-background);color:var(--wx-gantt-holiday-color)}.wx-resizer.wx-resizer-display-all.wx-pFykzMlT:hover:before,.wx-resizer.wx-resizer-display-all.wx-pFykzMlT:hover:after,.wx-button-expand-content.wx-pFykzMlT:before,.wx-button-expand-content.wx-pFykzMlT:after{content:"";position:absolute;background-color:var(--wx-gantt-border-color)}.wx-resizer.wx-pFykzMlT{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;background-color:var(--wx-gantt-border-color)}.wx-resizer.wx-pFykzMlT:hover .wx-button-expand-content.wx-pFykzMlT{opacity:1}.wx-resizer.wx-resizer-display-all.wx-pFykzMlT:hover:before,.wx-resizer.wx-resizer-display-all.wx-pFykzMlT:hover:after{top:0;width:2px;height:100%}.wx-resizer.wx-resizer-display-all.wx-pFykzMlT:hover:before{left:-3px}.wx-resizer.wx-resizer-display-all.wx-pFykzMlT:hover:after{right:-2px}.wx-resizer-display-chart.wx-pFykzMlT .wx-button-expand-left.wx-pFykzMlT,.wx-resizer-display-grid.wx-pFykzMlT .wx-button-expand-right.wx-pFykzMlT{display:none}.wx-resizer-display-all.wx-pFykzMlT .wx-button-expand-content.wx-pFykzMlT{opacity:0}.wx-resizer-display-all.wx-pFykzMlT .wx-button-expand-box.wx-pFykzMlT,.wx-resizer-display-chart.wx-pFykzMlT .wx-button-expand-box.wx-pFykzMlT{left:12px}.wx-resizer-display-grid.wx-pFykzMlT .wx-button-expand-left.wx-pFykzMlT{right:-6px}.wx-resizer-display-chart.wx-pFykzMlT .wx-button-expand-left.wx-pFykzMlT,.wx-resizer-display-all.wx-pFykzMlT .wx-button-expand-left.wx-pFykzMlT{right:5px}.wx-button-expand-box.wx-pFykzMlT{position:relative;width:20px}.wx-button-expand-content.wx-pFykzMlT{position:absolute;transform:translate(-50%,-50%);width:20px}.wx-button-expand-content.wx-pFykzMlT i.wx-pFykzMlT{display:flex;justify-content:center;background-color:var(--wx-gantt-border-color);cursor:pointer;font-size:20px;line-height:24px}.wx-button-expand-content.wx-pFykzMlT i.wx-pFykzMlT:hover{color:var(--wx-color-primary)}.wx-button-expand-content.wx-pFykzMlT i.wx-pFykzMlT:active{color:var(--wx-gantt-task-fill-color)}.wx-button-expand-right.wx-pFykzMlT{top:4px;left:1px}.wx-button-expand-right.wx-pFykzMlT:before{top:-3.6px;width:17px;height:4px;clip-path:polygon(100% 100%,0 0,0 100%)}.wx-button-expand-right.wx-pFykzMlT:after{width:17px;height:4px;clip-path:polygon(100% 0,0 100%,0 0)}.wx-button-expand-right.wx-pFykzMlT i.wx-pFykzMlT{border-top-right-radius:4px;border-bottom-right-radius:4px}.wx-button-expand-left.wx-pFykzMlT{top:4px}.wx-button-expand-left.wx-pFykzMlT i.wx-pFykzMlT{border-top-left-radius:4px;border-bottom-left-radius:4px}.wx-button-expand-left.wx-pFykzMlT:before{top:-3.6px;left:3px;width:17px;height:4px;clip-path:polygon(100% 0,100% 100%,0% 100%)}.wx-button-expand-left.wx-pFykzMlT:after{left:3px;width:17px;height:4px;clip-path:polygon(0 0,100% 100%,100% 0)}.wx-gantt.wx-jlbQoHOz{height:100%;width:100%;overflow-y:auto}.wx-pseudo-rows.wx-jlbQoHOz{width:100%;height:auto;min-height:100%}.wx-stuck.wx-jlbQoHOz{position:sticky;top:0;height:100%;width:100%;max-height:100%}.wx-layout.wx-jlbQoHOz{position:relative;display:flex;max-height:100%;max-width:100%;background-color:var(--wx-background);overflow:hidden;outline:none;height:100%}.wx-content.wx-jlbQoHOz{position:relative;display:flex;flex-direction:column;overflow:hidden}.wx-button.wx-TyZ1fHBj{width:40px;height:40px;border:none;outline:none;border-radius:50%;cursor:pointer;padding-top:7px}.wx-primary.wx-TyZ1fHBj{color:var(--wx-color-primary-font);background-color:var(--wx-color-primary)}.wx-primary.wx-TyZ1fHBj:hover{background-color:#0b9db1}.wx-transparent.wx-TyZ1fHBj{width:40px;height:40px;color:var(--wx-color-primary-font);background-color:#63636373}.wx-transparent.wx-TyZ1fHBj:hover{background-color:#45454573}.wx-button-icon.wx-TyZ1fHBj{font-size:20px;padding-top:2px}.wx-fullscreen.wx-KG2RkQhB{position:relative;height:100%;width:100%;outline:none}.wx-fullscreen-icon.wx-KG2RkQhB{position:absolute;right:25px;bottom:35px;z-index:4}.wx-menu .wx-option.wx-disabled.wx-LU2cdPQ2{pointer-events:none}.wx-menu .wx-option.wx-disabled.wx-LU2cdPQ2 .wx-value,.wx-menu .wx-option.wx-disabled.wx-LU2cdPQ2 .wx-icon{color:var(--wx-color-font-disabled)}.wx-links.wx-j93aYGQf{margin-bottom:10px}.wx-cell.wx-j93aYGQf{text-align:center}.wx-task-name.wx-j93aYGQf{font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);font-weight:var(--wx-input-font-weigth);color:var(--wx-input-font-color);width:170px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wx-wrapper.wx-j93aYGQf{position:relative;display:flex}.wx-delete-icon.wx-j93aYGQf{margin-left:12px;position:relative;top:2px;font-size:var(--wx-icon-size);cursor:pointer;color:var(--wx-gantt-icon-color)}.wx-delete-icon.wx-j93aYGQf:hover{color:var(--wx-color-primary)}.date-time-controll.wx-hFsbgDln{display:flex;gap:12px}.wx-sidearea .wx-gantt-editor.wx-XkvqDXuw{width:400px}.wx-sidearea .wx-gantt-editor.wx-full-screen.wx-XkvqDXuw{width:100%}.wx-tooltip-area.wx-KG0Lwsqo{position:relative;height:100%;width:100%}.wx-gantt-tooltip{pointer-events:none;position:absolute;z-index:10;box-shadow:var(--wx-box-shadow);border-radius:2px;overflow:hidden}.wx-gantt-tooltip-text.wx-KG0Lwsqo{padding:6px 10px;background-color:var(--wx-tooltip-background);font:var(--wx-tooltip-font);color:var(--wx-tooltip-font-color)}.wx-QSwitwNQ,.wx-material-theme{--wx-gantt-border-color: #e6e6e6;--wx-gantt-border: var(--wx-border);--wx-gantt-form-header-border: var(--wx-border);--wx-gantt-icon-color: var(--wx-icon-color);--wx-gantt-bar-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-gantt-bar-border-radius: 50px;--wx-gantt-milestone-border-radius: 3px;--wx-gantt-task-color: #448aff;--wx-gantt-task-font-color: #fff;--wx-gantt-task-fill-color: #246cd9;--wx-gantt-task-border-color: #448aff;--wx-gantt-task-border: 1px solid #246cd9;--wx-gantt-summary-color: #1de9b6;--wx-gantt-summary-font-color: #5f5f5f;--wx-gantt-summary-fill-color: #00d19a;--wx-gantt-summary-border-color: #1de9b6;--wx-gantt-summary-border: 1px solid #00d19a;--wx-gantt-milestone-color: #d33daf;--wx-gantt-select-color: rgb(201, 244, 240);--wx-gantt-link-color: #87a4bc;--wx-gantt-link-marker-background: #f0f0f0;--wx-gantt-link-marker-color: #87a4bc;--wx-gantt-bar-shadow: 0px 1px 2px rgba(44, 47, 60, .06), 0px 3px 10px rgba(44, 47, 60, .12);--wx-gantt-progress-marker-height: 22px;--wx-gantt-progress-border-color: #dfdfdf;--wx-gantt-baseline-border-radius: 4px;--wx-grid-header-font: 500 14px Roboto;--wx-grid-header-font-color: #a6a6a6;--wx-grid-header-text-transform: uppercase;--wx-grid-header-shadow: 0px 3px 5px rgba(0, 0, 0, .1), 0px 1px 2px rgba(0, 0, 0, .1);--wx-grid-body-font: 400 14px Roboto;--wx-grid-body-font-color: #5f5f5f;--wx-grid-body-row-border: 1px solid transparent;--wx-grid-body-cell-border: 1px solid transparent;--wx-timescale-font: 500 12px Roboto;--wx-timescale-font-color: #a6a6a6;--wx-timescale-text-transform: uppercase;--wx-timescale-shadow: 0px 3px 5px rgba(0, 0, 0, .1), 0px 1px 2px rgba(0, 0, 0, .1);--wx-timescale-border: 1px solid transparent;--wx-gantt-holiday-background: #f3f7fc;--wx-gantt-holiday-color: #9fa1ae;--wx-gantt-marker-font: 500 12px Roboto;--wx-gantt-marker-font-color: #fff;--wx-gantt-marker-color: rgba(6, 189, 248, .77);--wx-tooltip-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-tooltip-font-color: #e6e6e6;--wx-tooltip-background: rgba(0, 0, 0, .7);--wx-sidebar-close-icon: var(--wx-color-secondary-font)}.wx-willow-theme{--wx-gantt-border-color: #e6e6e6;--wx-gantt-border: 1px solid #1d1e261a;--wx-gantt-form-header-border: none;--wx-gantt-icon-color: #9fa1ae;--wx-gantt-bar-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-gantt-bar-border-radius: 3px;--wx-gantt-milestone-border-radius: 3px;--wx-gantt-task-color: #3983eb;--wx-gantt-task-font-color: #fff;--wx-gantt-task-fill-color: #1f6bd9;--wx-gantt-task-border-color: #1f6bd9;--wx-gantt-task-border: 1px solid transparent;--wx-gantt-summary-color: #00ba94;--wx-gantt-summary-font-color: #ffffff;--wx-gantt-summary-fill-color: #099f81;--wx-gantt-summary-border-color: #099f81;--wx-gantt-summary-border: 1px solid transparent;--wx-gantt-milestone-color: #ad44ab;--wx-gantt-select-color: #eaedf5;--wx-gantt-link-color: #9fa1ae;--wx-gantt-link-marker-background: #eaedf5;--wx-gantt-link-marker-color: #9fa1ae;--wx-gantt-bar-shadow: 0px 1px 2px rgba(44, 47, 60, .06), 0px 3px 10px rgba(44, 47, 60, .12);--wx-gantt-progress-marker-height: 26px;--wx-gantt-progress-border-color: #c0c3ce;--wx-gantt-baseline-border-radius: 2px;--wx-grid-header-font: var(--wx-font-weight-md) var(--wx-font-size) var(--wx-font-family);--wx-grid-header-font-color: var(--wx-color-font);--wx-grid-header-text-transform: capitalize;--wx-grid-header-shadow: none;--wx-grid-body-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-grid-body-font-color: var(--wx-color-font);--wx-grid-body-row-border: var(--wx-gantt-border);--wx-grid-body-cell-border: 1px solid transparent;--wx-timescale-font: var(--wx-font-weight-md) var(--wx-font-size-sm) var(--wx-font-family);--wx-timescale-font-color: var(--wx-color-font);--wx-timescale-text-transform: uppercase;--wx-timescale-shadow: none;--wx-timescale-border: var(--wx-gantt-border);--wx-gantt-holiday-background: #f0f6fa;--wx-gantt-holiday-color: #9fa1ae;--wx-gantt-marker-font: var(--wx-font-weight-md) var(--wx-font-size-sm) var(--wx-font-family);--wx-gantt-marker-font-color: #fff;--wx-gantt-marker-color: rgba(6, 189, 248, .77);--wx-tooltip-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-tooltip-font-color: #e6e6e6;--wx-tooltip-background: #4f525a;--wx-sidebar-close-icon: #c0c3ce}.wx-willow-dark-theme{color-scheme:dark;--wx-gantt-border-color: #384047;--wx-gantt-border: var(--wx-border);--wx-gantt-form-header-border: none;--wx-gantt-icon-color: #9fa1ae;--wx-gantt-bar-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-gantt-bar-border-radius: 3px;--wx-gantt-milestone-border-radius: 3px;--wx-gantt-task-color: #37a9ef;--wx-gantt-task-font-color: #ffffffe5;--wx-gantt-task-fill-color: #098cdc;--wx-gantt-task-border-color: #098cdc;--wx-gantt-task-border: 1px solid transparent;--wx-gantt-summary-color: #00ba94;--wx-gantt-summary-font-color: #ffffffe5;--wx-gantt-summary-fill-color: #099f81;--wx-gantt-summary-border-color: #099f81;--wx-gantt-summary-border: 1px solid transparent;--wx-gantt-progress-marker-height: 26px;--wx-gantt-progress-border-color: #4b5359;--wx-gantt-baseline-border-radius: 2px;--wx-gantt-bar-shadow: 0px 1px 2px rgba(44, 47, 60, .06), 0px 3px 10px rgba(44, 47, 60, .12);--wx-gantt-milestone-color: #ad44ab;--wx-gantt-select-color: #384047;--wx-gantt-link-color: #9fa1ae;--wx-gantt-link-marker-background: #384047;--wx-gantt-link-marker-color: #9fa1ae;--wx-grid-header-font: var(--wx-font-weight-md) var(--wx-font-size) var(--wx-font-family);--wx-grid-header-font-color: var(--wx-color-font);--wx-grid-header-text-transform: capitalize;--wx-grid-header-shadow: none;--wx-grid-body-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-grid-body-font-color: var(--wx-color-font);--wx-grid-body-row-border: var(--wx-border);--wx-grid-body-cell-border: 1px solid transparent;--wx-timescale-font: var(--wx-font-weight-md) var(--wx-font-size-sm) var(--wx-font-family);--wx-timescale-font-color: var(--wx-color-font);--wx-timescale-text-transform: uppercase;--wx-timescale-shadow: none;--wx-timescale-border: var(--wx-border);--wx-gantt-holiday-background: #303539;--wx-gantt-holiday-color: #878994;--wx-gantt-marker-font: var(--wx-font-weight-md) var(--wx-font-size-sm) var(--wx-font-family);--wx-gantt-marker-font-color: #fff;--wx-gantt-marker-color: rgba(6, 189, 248, .77);--wx-tooltip-font: var(--wx-font-weight) var(--wx-font-size) var(--wx-font-family);--wx-tooltip-font-color: #e6e6e6;--wx-tooltip-background: #4f525a;--wx-sidebar-close-icon: #384047}.kanban-board{width:100%;height:100%;overflow-x:auto;padding:16px;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border-radius:12px}.kanban-columns{display:flex;gap:16px;width:100%;height:100%}.kanban-column{flex:1;min-width:280px;max-width:320px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;transition:box-shadow .2s ease;height:100%;max-height:100%}.kanban-column.drop-target{box-shadow:0 4px 16px #6366f133}.kanban-column-header{padding:16px;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0}.column-header-todo{border-bottom-color:#6366f1;background:linear-gradient(180deg,rgba(99,102,241,.1) 0%,transparent 100%)}.column-header-in-progress{border-bottom-color:#f59e0b;background:linear-gradient(180deg,rgba(245,158,11,.1) 0%,transparent 100%)}.column-header-done{border-bottom-color:#10b981;background:linear-gradient(180deg,rgba(16,185,129,.1) 0%,transparent 100%)}.column-title-wrapper{display:flex;align-items:center;gap:8px}.column-title{font-size:16px;font-weight:600;color:#1f2937;margin:0}.task-count{background:#e5e7eb;color:#6b7280;font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.add-card-btn{width:28px;height:28px;border-radius:8px;border:none;background:#6366f1;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.add-card-btn:hover{background:#4f46e5;transform:scale(1.05)}.kanban-cards-container{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0}.empty-column-placeholder{padding:32px 16px;text-align:center;color:#9ca3af;font-size:14px;border:2px dashed #e5e7eb;border-radius:8px;margin:8px}.kanban-card{background:#fff;border-radius:10px;padding:12px;cursor:pointer;border-left:4px solid #e5e7eb;box-shadow:0 1px 3px #00000014;transition:all .2s ease;display:flex;flex-direction:column}.kanban-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.kanban-card.dragging{opacity:.5;transform:rotate(3deg);box-shadow:0 8px 24px #0003}.kanban-card.static-card{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.kanban-card .card-header{display:flex;align-items:flex-start;gap:6px;margin-bottom:10px}.kanban-card .card-category-icon{font-size:14px;margin-top:3px;flex-shrink:0}.kanban-card .card-title-wrapper{flex:1;min-width:0}.kanban-card .card-title{font-size:13px;font-weight:500;color:#1f2937;margin:0;line-height:1.5;max-height:3em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;word-wrap:break-word;white-space:normal!important}.kanban-card .card-lock-icon{font-size:12px;color:#f59e0b;flex-shrink:0;margin-top:3px}.kanban-card .card-labels{display:flex;flex-wrap:wrap;gap:4px}.kanban-card .card-label{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;color:#fff;display:flex;align-items:center;gap:3px}.kanban-card .source-label{font-size:9px}.kanban-card .source-label.user-source{background:#3b82f6}.kanban-card .source-label.ai-source{background:#8b5cf6}.kanban-card .source-icon{font-size:8px}.kanban-card .card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:8px}.kanban-card .card-meta{display:flex;gap:6px;align-items:center}.kanban-card .meta-icon{font-size:12px;color:#9ca3af}.kanban-card .meta-icon.has-analysis{color:#10b981}.kanban-card .meta-icon.analyzing{color:#f59e0b;animation:pulse 1.5s infinite}.kanban-card .card-duration{font-size:11px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.kanban-card .card-progress{height:3px;background:#e5e7eb;border-radius:2px;margin-top:8px;overflow:hidden}.kanban-card .card-progress-bar{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px;transition:width .3s ease}.kanban-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.kanban-modal{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;overflow:hidden}.kanban-modal.fullscreen{max-width:100%;max-height:100%;border-radius:0;height:100vh;width:100vw}.kanban-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fafafa,#fff)}.kanban-modal .modal-header h2{font-size:18px;font-weight:600;color:#1f2937;margin:0}.kanban-modal .modal-header-actions{display:flex;gap:8px}.modal-action-btn,.modal-close-btn{width:36px;height:36px;border-radius:8px;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-action-btn:hover,.modal-close-btn:hover{background:#e5e7eb;color:#374151}.kanban-modal .modal-body{display:flex;flex:1;overflow:hidden}.kanban-modal .modal-main-content{flex:2;padding:24px;overflow-y:auto;border-right:1px solid #e5e7eb}.kanban-modal .modal-sidebar{flex:1;padding:24px;overflow-y:auto;background:#fafafa;min-width:280px}.kanban-modal .form-group{margin-bottom:20px}.kanban-modal .form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.kanban-modal .form-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.kanban-modal .form-group-header label{margin-bottom:0}.kanban-modal .preview-toggle-btn{font-size:12px;padding:4px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease}.kanban-modal .preview-toggle-btn:hover{background:#f3f4f6}.kanban-modal .form-group input,.kanban-modal .form-group textarea,.kanban-modal .form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1f2937;transition:all .2s ease;background:#fff}.kanban-modal .form-group input:focus,.kanban-modal .form-group textarea:focus,.kanban-modal .form-group select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.kanban-modal .form-group textarea{resize:vertical;min-height:100px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.description-preview{padding:12px;border:1px solid #d1d5db;border-radius:8px;min-height:150px;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:#1f2937}.description-preview p{margin:0 0 12px}.description-preview p:last-child{margin-bottom:0}.label-buttons{display:flex;flex-wrap:wrap;gap:6px}.label-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:2px solid;transition:all .2s ease}.label-btn:hover{transform:scale(1.02)}.protection-btn{width:100%;padding:10px;border-radius:8px;border:2px solid #e5e7eb;background:#fff;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.protection-btn:hover{border-color:#d1d5db;background:#f9fafb}.protection-btn.protected{border-color:#f59e0b;background:#fffbeb;color:#d97706}.protection-hint{display:block;margin-top:8px;font-size:11px;color:#9ca3af;line-height:1.4}.step-analysis-section{padding:16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.analysis-buttons{display:flex;gap:8px;flex-wrap:wrap}.analysis-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;border:none;transition:all .2s ease}.analysis-btn.start-analysis{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.analysis-btn.start-analysis:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.analysis-btn.analyzing{background:#f59e0b;color:#fff;cursor:wait}.analysis-btn.view-analysis{background:#10b981;color:#fff}.analysis-btn.view-analysis:hover{background:#059669}.analysis-btn.re-research{background:#e5e7eb;color:#4b5563}.analysis-btn.re-research:hover{background:#d1d5db}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fafafa}.footer-actions{display:flex;gap:12px}.delete-btn{padding:10px 16px;border-radius:8px;border:none;background:#fee2e2;color:#dc2626;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.delete-btn:hover{background:#fecaca}.delete-btn.confirm{background:#dc2626;color:#fff}.cancel-btn{padding:10px 20px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#f3f4f6}.save-btn{padding:10px 24px;border-radius:8px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.save-btn:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}@media (max-width: 768px){.kanban-board{padding:8px}.kanban-columns{flex-direction:row;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}.kanban-columns::-webkit-scrollbar{display:none}.kanban-column{min-width:280px;max-width:280px;scroll-snap-align:start;flex-shrink:0}.kanban-cards-container{max-height:calc(100vh - 240px);flex:1}.kanban-modal .modal-body{flex-direction:column}.kanban-modal .modal-main-content{border-right:none;border-bottom:1px solid #e5e7eb}.kanban-modal .modal-sidebar{min-width:auto}.kanban-modal .modal-footer{flex-direction:column;gap:12px}.footer-actions{width:100%;justify-content:flex-end}}.parsing-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.parsing-popup-content{background:#fff;border-radius:16px;padding:24px 28px;width:90%;max-width:480px;box-shadow:0 20px 60px #0000004d;animation:popupSlideIn .3s ease-out}.parsing-popup-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.parsing-popup-header .parsing-icon{font-size:1.8rem;color:#6366f1}.parsing-popup-header h3{margin:0;font-size:1.2rem;color:#1e293b;font-weight:600}.parsing-progress-container{display:flex;align-items:center;gap:12px;margin-bottom:20px}.parsing-progress-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.parsing-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .5s ease-out}.parsing-progress-text{font-size:.85rem;font-weight:600;color:#6366f1;min-width:40px;text-align:right}.parsing-messages{background:#f8fafc;border-radius:12px;padding:16px;max-height:200px;overflow-y:auto;margin-bottom:16px}.parsing-message{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.95rem;line-height:1.4}.parsing-message.completed{color:#64748b}.parsing-message.current{color:#1e293b;font-weight:500}.message-icon{flex-shrink:0;margin-top:3px;font-size:.9rem}.message-icon.completed{color:#22c55e}.message-icon.active{color:#6366f1;animation:searchCircle 1.5s ease-in-out infinite}@keyframes searchCircle{0%{transform:translate(0)}25%{transform:translate(3px,-3px)}50%{transform:translate(6px)}75%{transform:translate(3px,3px)}to{transform:translate(0)}}.message-icon.spinning{color:#6366f1;animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.typing-cursor{display:inline-block;animation:blink .8s step-end infinite;font-weight:300;margin-left:2px}.parsing-stages{display:flex;justify-content:center;gap:8px;padding-top:8px}.stage-dot{width:8px;height:8px;border-radius:50%;transition:all .3s ease}.stage-dot.pending{background:#e2e8f0}.stage-dot.active{background:#6366f1;transform:scale(1.3);box-shadow:0 0 8px #6366f180}.stage-dot.completed{background:#22c55e}.parsing-messages::-webkit-scrollbar{width:6px}.parsing-messages::-webkit-scrollbar-track{background:transparent}.parsing-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.parsing-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.university-selection-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px}.university-selection-popup{background-color:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden}.university-selection-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid #eee;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.university-selection-header .header-content{display:flex;align-items:center;gap:16px}.university-selection-header .header-icon{font-size:2rem;opacity:.9}.university-selection-header h2{margin:0;font-size:1.4rem;font-weight:600}.university-selection-header .subtitle{margin:4px 0 0;font-size:.9rem;opacity:.9}.university-selection-header .close-btn{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.university-selection-header .close-btn:hover{background:#ffffff4d}.university-selection-body{flex:1;overflow-y:auto;padding:20px}.search-filter{position:relative;margin-bottom:16px}.search-filter .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#888}.search-filter input{width:100%;padding:12px 12px 12px 40px;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s}.search-filter input:focus{outline:none;border-color:#667eea}.universities-list{display:flex;flex-direction:column;gap:12px}.university-card{display:flex;align-items:flex-start;gap:16px;padding:16px;border:2px solid #eee;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.university-card:hover{border-color:#667eea;background-color:#f8f9ff}.university-card.selected{border-color:#667eea;background-color:#f0f3ff}.university-card .university-icon{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;flex-shrink:0}.university-card .university-info{flex:1;min-width:0}.university-card .university-name{margin:0 0 6px;font-size:1.1rem;font-weight:600;color:#333}.university-card .university-location,.university-card .university-program,.university-card .university-ranking{margin:4px 0;font-size:.85rem;color:#666;display:flex;align-items:center;gap:6px}.university-card .university-location svg,.university-card .university-program svg,.university-card .university-ranking svg{color:#888;font-size:.8rem}.university-card .university-ranking{color:#f39c12}.university-card .university-ranking svg{color:#f39c12}.university-card .university-notes{margin:8px 0 0;font-size:.85rem;color:#888;font-style:italic}.university-card .selected-indicator{position:absolute;top:12px;right:12px;width:28px;height:28px;background:#667eea;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.loading-state .loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-state p{color:#666;font-size:1rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.error-state .error-message{color:#e74c3c;margin-bottom:16px}.error-state .retry-btn{padding:10px 24px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem}.no-results{text-align:center;padding:40px 20px;color:#888}.university-selection-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#f9f9f9}.university-selection-footer .cancel-btn{padding:12px 24px;background:#fff;color:#666;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s}.university-selection-footer .cancel-btn:hover{background:#f5f5f5}.university-selection-footer .confirm-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.university-selection-footer .confirm-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.university-selection-footer .confirm-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.university-selection-popup{max-height:100vh;border-radius:0}.university-selection-header{padding:16px}.university-selection-header h2{font-size:1.2rem}.university-selection-body{padding:16px}.university-card{padding:12px}.university-card .university-icon{width:40px;height:40px;font-size:1.1rem}.university-selection-footer{flex-direction:column}.university-selection-footer button{width:100%}}.region-input-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px}.region-input-popup{background-color:#fff;border-radius:16px;width:100%;max-width:500px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden}.region-input-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #eee;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.region-input-header .header-content{display:flex;align-items:center;gap:14px}.region-input-header .header-icon{font-size:1.8rem;opacity:.9}.region-input-header h2{margin:0;font-size:1.3rem;font-weight:600}.region-input-header .subtitle{margin:4px 0 0;font-size:.85rem;opacity:.9}.region-input-header .close-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.region-input-header .close-btn:hover{background:#ffffff4d}.region-input-body{padding:24px}.user-location-option{background:linear-gradient(135deg,#f8fff8,#e8f5e9);border:2px solid #a5d6a7;border-radius:12px;padding:16px;margin-bottom:20px}.user-location-option .option-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;color:#2e7d32}.user-location-option .option-icon{font-size:1rem}.user-location-option .saved-location{margin:0 0 12px;color:#555;font-size:.95rem}.user-location-option .use-location-btn{width:100%;padding:12px 16px;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.user-location-option .use-location-btn:hover{opacity:.9;transform:translateY(-1px)}.divider{display:flex;align-items:center;margin:20px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ddd}.divider span{padding:0 16px;color:#888;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.location-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-row .input-group{flex:1}.input-group label{display:block;margin-bottom:6px;font-size:.85rem;font-weight:500;color:#555}.input-group input,.input-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:border-color .2s}.input-group input:focus,.input-group select:focus{outline:none;border-color:#11998e}.input-group input:disabled,.input-group select:disabled{background:#f5f5f5;color:#999}.nationwide-option{margin-top:8px}.nationwide-option .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:#555}.nationwide-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.nationwide-option .globe-icon{color:#1976d2}.region-input-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#f9f9f9}.region-input-footer .cancel-btn{padding:12px 24px;background:#fff;color:#666;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s}.region-input-footer .cancel-btn:hover{background:#f5f5f5}.region-input-footer .search-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.region-input-footer .search-btn:hover{opacity:.9;transform:translateY(-1px)}@media (max-width: 500px){.region-input-popup{border-radius:0;max-height:100vh}.form-row,.region-input-footer{flex-direction:column}.region-input-footer button{width:100%;justify-content:center}}.roadmap-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.roadmap-popup-content{background:#fff;border-radius:16px;padding:24px 28px;width:90%;max-width:480px;box-shadow:0 20px 60px #0000004d;animation:popupSlideIn .3s ease-out}.roadmap-popup-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.roadmap-popup-header .roadmap-icon{font-size:1.8rem;color:#8b5cf6}.roadmap-popup-header h3{margin:0;font-size:1.2rem;color:#1e293b;font-weight:600}.roadmap-progress-container{display:flex;align-items:center;gap:12px;margin-bottom:20px}.roadmap-progress-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.roadmap-progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:4px;transition:width .5s ease-out}.roadmap-progress-text{font-size:.85rem;font-weight:600;color:#8b5cf6;min-width:40px;text-align:right}.roadmap-messages{background:#f8fafc;border-radius:12px;padding:16px;max-height:200px;overflow-y:auto;margin-bottom:16px}.roadmap-message{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.95rem;line-height:1.4}.roadmap-message.completed{color:#64748b}.roadmap-message.current{color:#1e293b;font-weight:500}.roadmap-messages .message-icon{flex-shrink:0;margin-top:3px;font-size:.9rem}.roadmap-messages .message-icon.completed{color:#22c55e}.roadmap-messages .message-icon.thinking{color:#8b5cf6;animation:thinking 1.5s ease-in-out infinite}@keyframes thinking{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}.roadmap-messages .typing-cursor{display:inline-block;animation:blink .8s step-end infinite;font-weight:300;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.roadmap-stages{display:flex;justify-content:center;align-items:center;gap:8px;padding-top:8px}.roadmap-stages .stage-label{font-size:.85rem;color:#8b5cf6;font-weight:500;animation:pulseText 2s ease-in-out infinite}@keyframes pulseText{0%,to{opacity:1}50%{opacity:.6}}.roadmap-stages .stage-dot{width:8px;height:8px;border-radius:50%;transition:all .3s ease}.roadmap-stages .stage-dot.pending{background:#e2e8f0}.roadmap-stages .stage-dot.active{background:#8b5cf6;transform:scale(1.3);box-shadow:0 0 8px #8b5cf680}.roadmap-stages .stage-dot.completed{background:#22c55e}.roadmap-messages::-webkit-scrollbar{width:6px}.roadmap-messages::-webkit-scrollbar-track{background:transparent}.roadmap-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.roadmap-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.process-status-indicator{background:linear-gradient(135deg,#f8f9ff,#e8f0ff);border:1px solid #d0deff;border-radius:12px;padding:20px;margin:16px 0}.process-status-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.process-status-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a}.pulse-loader{width:24px;height:24px;border:3px solid #e0e7ff;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite}.check-icon{font-size:24px;color:#10b981;font-weight:700}.error-icon{font-size:24px;color:#ef4444;font-weight:700}.process-status-info{flex:1}.process-status-title{margin:0 0 4px;font-size:16px;font-weight:600;color:#1e293b}.process-status-message{margin:0;font-size:14px;color:#64748b;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.process-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:12px}.process-progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:3px;transition:width .5s ease}.process-steps{display:flex;justify-content:space-between;gap:4px}.process-step-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f0;transition:all .3s ease}.process-step-dot.completed{background:#10b981}.process-step-dot.active{background:#4f46e5;box-shadow:0 0 0 3px #4f46e533;animation:pulse 1.5s ease infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #4f46e533}50%{box-shadow:0 0 0 6px #4f46e51a}}.process-status-indicator.compact{padding:12px 16px}.process-status-indicator.compact .process-status-header{margin-bottom:8px}.process-status-indicator.compact .process-status-icon{width:36px;height:36px}.process-status-indicator.compact .pulse-loader{width:18px;height:18px;border-width:2px}.process-status-indicator.compact .check-icon,.process-status-indicator.compact .error-icon{font-size:18px}.process-status-indicator.compact .process-status-title{font-size:14px}.process-status-indicator.compact .process-status-message{font-size:12px}.roadmap-process-status-indicator{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;padding:20px;margin:16px 0}.roadmap-process-status-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.roadmap-process-status-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a}.roadmap-process-status-indicator .pulse-loader{width:24px;height:24px;border:3px solid #bbf7d0;border-top-color:#22c55e;border-radius:50%;animation:roadmap-spin 1s linear infinite}.roadmap-process-status-indicator .check-icon{font-size:24px;color:#10b981;font-weight:700}.roadmap-process-status-indicator .error-icon{font-size:24px;color:#ef4444;font-weight:700}@keyframes roadmap-spin{to{transform:rotate(360deg)}}.roadmap-process-status-info{flex:1}.roadmap-process-status-title{margin:0 0 4px;font-size:16px;font-weight:600;color:#166534}.roadmap-process-status-message{margin:0;font-size:14px;color:#4d7c0f;animation:roadmap-fadeInUp .3s ease}@keyframes roadmap-fadeInUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.roadmap-process-progress-bar{height:6px;background:#d1fae5;border-radius:3px;overflow:hidden;margin-bottom:12px}.roadmap-process-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:3px;transition:width .5s ease}.roadmap-process-steps{display:flex;justify-content:space-between;gap:4px}.roadmap-process-step-dot{width:8px;height:8px;border-radius:50%;background:#d1fae5;transition:all .3s ease}.roadmap-process-step-dot.completed{background:#10b981}.roadmap-process-step-dot.active{background:#22c55e;box-shadow:0 0 0 3px #22c55e33;animation:roadmap-pulse 1.5s ease infinite}@keyframes roadmap-pulse{0%,to{box-shadow:0 0 0 3px #22c55e33}50%{box-shadow:0 0 0 6px #22c55e1a}}.roadmap-process-status-indicator.compact{padding:12px 16px}.roadmap-process-status-indicator.compact .roadmap-process-status-header{margin-bottom:8px}.roadmap-process-status-indicator.compact .roadmap-process-status-icon{width:36px;height:36px}.roadmap-process-status-indicator.compact .pulse-loader{width:18px;height:18px;border-width:2px}.roadmap-process-status-indicator.compact .check-icon,.roadmap-process-status-indicator.compact .error-icon{font-size:18px}.roadmap-process-status-indicator.compact .roadmap-process-status-title{font-size:14px}.roadmap-process-status-indicator.compact .roadmap-process-status-message{font-size:12px}.college-info-panel{padding:20px 20px 60px;width:100%;max-width:100%;flex:1;overflow-y:auto;min-height:0;box-sizing:border-box}.college-info-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary)}.college-info-loading .loading-spinner{font-size:32px;animation:spin 1s linear infinite;margin-bottom:16px;color:var(--primary-color)}.college-info-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center}.college-info-empty .empty-icon{font-size:64px;margin-bottom:20px;opacity:.4;color:var(--primary-color)}.college-info-empty h3{font-size:24px;color:var(--text-primary);margin-bottom:8px}.college-info-empty p{font-size:14px;margin-bottom:20px}.college-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.back-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--hover);border-color:var(--primary-color);color:var(--primary-color)}.header-actions{display:flex;align-items:center;gap:10px}.external-link-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;text-decoration:none;transition:all .2s ease}.external-link-btn:hover{background:var(--hover);border-color:var(--primary-color);color:var(--primary-color)}.refresh-btn,.refresh-btn-small{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--primary-color);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-btn-small{padding:8px;width:36px;height:36px}.refresh-btn:hover:not(:disabled),.refresh-btn-small:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.refresh-btn:disabled,.refresh-btn-small:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .spinning,.refresh-btn-small .spinning{animation:spin 1s linear infinite}.university-title-section{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark, #1565c0) 100%);border-radius:16px;margin-bottom:20px;color:#fff}.university-icon{font-size:48px;opacity:.9}.university-title-info{flex:1}.university-title-info h1{font-size:28px;font-weight:700;margin:0 0 8px}.university-location{display:flex;align-items:center;gap:6px;font-size:14px;opacity:.9;margin:0}.rank-highlight{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:#ffffff26;border-radius:12px}.rank-number{font-size:32px;font-weight:700}.rank-label{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.college-info-tabs{display:flex;gap:4px;padding:6px;background:var(--surface);border-radius:12px;margin-bottom:20px;overflow-x:auto;border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.college-info-tabs::-webkit-scrollbar{height:4px}.college-info-tabs::-webkit-scrollbar-track{background:transparent}.college-info-tabs::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.tab-btn{display:flex;align-items:center;gap:6px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.tab-btn:hover{background:var(--hover);color:var(--text-primary)}.tab-btn.active{background:var(--primary-color);color:#fff}.college-info-content{min-height:400px;width:100%}.tab-content{animation:fadeIn .3s ease;width:100%;max-width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:16px;width:100%;box-sizing:border-box}.info-card h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.summary-card{background:linear-gradient(135deg,var(--surface) 0%,var(--hover) 100%)}.ai-summary{font-size:15px;line-height:1.7;color:var(--text-primary);margin:0}.summary-text{font-size:14px;line-height:1.7;color:var(--text-secondary);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;width:100%}@media (max-width: 600px){.stats-grid{grid-template-columns:1fr}}.stat-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:20px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:all .2s ease}.stat-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:32px;color:var(--primary-color);opacity:.9}.stat-info{display:flex;flex-direction:column;align-items:center;gap:6px}.stat-label{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.stat-info .value,.stat-info .value-na{font-size:22px;font-weight:700;color:var(--text-primary)}.stat-info .value-na{font-size:16px;color:var(--text-secondary);opacity:.6}.stat-info .rank-badge{font-size:20px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%}@media (max-width: 900px){.info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.info-grid{grid-template-columns:1fr}}.info-item{display:flex;flex-direction:column;gap:6px}.info-item label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item .value{font-size:16px;font-weight:600;color:var(--text-primary)}.info-item .value-na{font-size:14px;color:var(--text-secondary);opacity:.6}.rank-badge{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,gold,#ffb800);color:#333;font-size:18px;font-weight:700;border-radius:8px}.majors-list{display:flex;flex-wrap:wrap;gap:10px}.major-tag{display:inline-block;padding:8px 16px;background:var(--hover);border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--text-primary);transition:all .2s ease}.major-tag:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pros-card h3 .pros-icon{color:#4caf50}.cons-card h3 .cons-icon{color:#f44336}.pros-card{border-left:4px solid #4caf50}.cons-card{border-left:4px solid #f44336}.college-info-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.metadata{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:var(--text-secondary)}.metadata span{display:flex;align-items:center;gap:6px}@media (max-width: 768px){.college-info-panel{padding:12px 12px 40px}.university-title-section{flex-direction:column;text-align:center;padding:20px}.university-icon{font-size:36px}.university-title-info h1{font-size:22px}.rank-highlight{margin-top:16px}.college-info-tabs{padding:6px}.tab-btn{padding:10px 14px;font-size:13px}.tab-btn span{display:none}.stats-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.college-info-header{flex-direction:column;gap:12px;align-items:stretch}.header-actions{justify-content:flex-end}}.goal-tab-container{padding:12px 24px 30px;background:#fff;height:100%;display:flex;flex-direction:column;overflow-y:hidden}.goal-tab-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;gap:16px}.goal-tab-loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:goal-tab-spin 1s linear infinite}.goal-tab-loading p{color:#666;font-size:14px;margin:0}@keyframes goal-tab-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.goals-tabs-container{margin-bottom:20px;border-bottom:2px solid #eee}.goals-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:0;scrollbar-width:thin}.goals-tabs::-webkit-scrollbar{height:4px}.goals-tabs::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.goals-tabs::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.goal-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f8f9fa;border:none;border-radius:8px 8px 0 0;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;transition:all .2s;white-space:nowrap;min-width:0;border-bottom:2px solid transparent;margin-bottom:-2px}.goal-tab:hover{background:#eef2f7;color:#333}.goal-tab.active{background:#fff;color:#667eea;border-bottom-color:#667eea;font-weight:600}.goal-tab-title{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-tab.add-goal-tab{background:transparent;color:#667eea;border:1px dashed #667eea;border-bottom:1px dashed #667eea;margin-bottom:-2px}.goal-tab.add-goal-tab:hover{background:#667eea14;border-style:solid}.goal-tab.add-goal-tab.active{background:#667eea1f;border-style:solid;border-bottom-color:#667eea}.goal-creation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.goal-creation-header h3{margin:0}.close-form-btn{background:none;border:none;cursor:pointer;color:#888;font-size:1.2rem;padding:5px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-form-btn:hover{color:#333}.goal-header-info{margin-bottom:12px;border-bottom:1px solid #eee;padding-bottom:10px}.goal-header-info h2{margin:0 0 4px;color:#2c3e50;font-size:1.25rem}.goal-header-info p{margin:0 0 6px;font-size:.85rem;color:#666}.goal-status-badge{display:inline-block;padding:4px 12px;background:#e0f7fa;color:#006064;border-radius:20px;font-size:.85rem;font-weight:600;margin-top:10px}.goal-empty-state{display:flex;justify-content:center;align-items:center;min-height:400px;height:100%;flex:1}.goal-creation-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 4px 20px #00000014;width:100%;max-width:500px;text-align:center}.goal-creation-card h3{margin-top:0;color:#333;display:flex;align-items:center;justify-content:center;gap:10px}.goal-type-selector{display:flex;gap:12px;margin-bottom:20px}.goal-type-option{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s ease;background:#fafafa;text-align:left}.goal-type-option:hover{border-color:#b0b0b0;background:#f0f0f0}.goal-type-option.active{border-color:#4a90e2;background:linear-gradient(135deg,#f0f4ff,#e8f4f8);box-shadow:0 2px 8px #4a90e226}.goal-type-option input[type=radio]{display:none}.goal-type-icon{font-size:20px;color:#888;flex-shrink:0}.goal-type-option.active .goal-type-icon{color:#4a90e2}.goal-type-text{display:flex;flex-direction:column;gap:2px}.goal-type-label{font-weight:600;font-size:13px;color:#333}.goal-type-desc{font-size:11px;color:#888}.goal-type-option.active .goal-type-label{color:#2a6bc0}.goal-type-option.active .goal-type-desc{color:#5a8fd4}.input-group{margin-bottom:20px;text-align:left}.input-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.input-group input,.input-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s}.input-group input:focus,.input-group textarea:focus{border-color:#4a90e2;outline:none}.riasec-hint-box{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#f0f4ff,#e8f4f8);border:1px solid #d0e3f0;border-radius:10px;padding:14px 16px;margin-bottom:16px}.riasec-hint-box .hint-icon{color:#f5a623;font-size:20px;flex-shrink:0;margin-top:2px}.riasec-hint-box .hint-content{display:flex;flex-direction:column;gap:10px}.riasec-hint-box .hint-content p{margin:0;font-size:13px;color:#4a5568;line-height:1.5}.riasec-link-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;width:fit-content;transition:transform .2s,box-shadow .2s}.riasec-link-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #48bb784d}.create-goal-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;width:100%;transition:transform .2s,box-shadow .2s}.create-goal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #764ba24d}.create-goal-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.gantt-chart-container{border:1px solid #eee;border-radius:8px;position:relative;overflow:hidden}.gantt-chart-container [class*=wx-gantt]{height:100%!important;max-height:100%!important;overflow-y:auto!important}.gantt-chart-container [class*=wx-bars] [class*=wx-content]{visibility:hidden!important}.gantt-chart-container{--wx-gantt-task-color: #4ecdc4;--wx-gantt-task-fill-color: #45b7aa;--wx-gantt-task-border: 1px solid #3aa99e;--wx-gantt-summary-color: #96ceb4;--wx-gantt-summary-fill-color: #7ab89a;--wx-gantt-bar-border-radius: 3px;--wx-timescale-font: 500 11px var(--wx-font-family, sans-serif)}.gantt-chart-container [class*=wx-scale] [class*=wx-cell]{font-size:11px!important;padding:0 2px!important;text-align:center!important}.gantt-chart-container [class*=wx-scale] [class*=wx-row]:first-child [class*=wx-cell]{font-weight:600!important;font-size:13px!important}.research-btn{background:linear-gradient(135deg,#0ea5e9,#06b6d4);border:none;color:#fff;padding:5px 10px;border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;font-weight:500;font-size:12px;box-shadow:0 1px 3px #0ea5e940;white-space:nowrap}.research-btn:hover{background:linear-gradient(135deg,#0284c7,#0891b2);box-shadow:0 4px 8px #0ea5e966;transform:translateY(-1px)}.research-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.inline-parsing-status{display:flex;align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:5px;padding:4px 10px;margin-right:6px}.inline-parsing-indicator{display:flex;align-items:center;gap:6px}.pulse-loader-small{width:12px;height:12px;border:2px solid #bae6fd;border-top-color:#0ea5e9;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.inline-parsing-text{font-size:11px;font-weight:500;color:#0369a1;white-space:nowrap}.inline-generation-status{display:flex;align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:5px;padding:4px 10px;margin-right:6px}.inline-generation-indicator{display:flex;align-items:center;gap:6px}.pulse-loader-small.generation{border:2px solid #86efac;border-top-color:#22c55e}.inline-generation-text{font-size:11px;font-weight:500;color:#15803d;white-space:nowrap}.regenerate-btn{background:#f8f9fa;border:1px solid #ddd;color:#555;padding:5px 10px;border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;font-weight:500;font-size:12px}.regenerate-btn:hover{background:#e9ecef;border-color:#ccc;color:#333}.regenerate-btn:disabled{opacity:.6;cursor:not-allowed}.generate-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;padding:5px 10px;border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;font-weight:500;font-size:12px;box-shadow:0 1px 3px #6366f140}.generate-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 8px #6366f166;transform:translateY(-1px)}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-btn{background:#fff0f0;border:1px solid #ffcccc;color:#d32f2f;padding:5px 10px;border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;font-weight:500;font-size:12px}.delete-btn:hover{background:#ffe0e0;border-color:#ffb3b3;color:#b71c1c}.delete-btn:disabled{opacity:.6;cursor:not-allowed}.generate-btn:has(.fa-spin),.regenerate-btn:has(.fa-spin){animation:btn-generating-pulse 1.5s ease-in-out infinite}@keyframes btn-generating-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(.98)}}.regenerate-btn .fa-spin{animation:fa-spin 1s infinite linear}.generate-btn .fa-spin{animation:none}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-tasks{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#888;gap:15px;padding:40px}.no-tasks p{font-size:1.1rem;color:#666;margin:0}.no-tasks .no-tasks-hint{font-size:.9rem;color:#888;margin-top:-5px}.no-tasks .create-goal-btn,.no-tasks .generate-btn{width:auto;min-width:200px;margin-top:10px}.data-status-message{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:10px;margin-bottom:20px;max-width:600px;text-align:left;font-size:.95rem;line-height:1.5}.data-status-message.success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#065f46}.data-status-message.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;color:#92400e}.data-status-message .status-icon{flex-shrink:0;font-size:1.3rem;margin-top:2px}.data-status-message.success .status-icon{color:#10b981}.data-status-message.warning .status-icon{color:#f59e0b}.data-status-message span{flex:1}.data-status-message strong{font-weight:600}.parsing-status-badge{display:flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500}.parsing-status-badge.success{background-color:#e6fffa;color:#047857;border:1px solid #a7f3d0}.parsing-status-badge.failed{background-color:#fff5f5;color:#c53030;border:1px solid #feb2b2}.success-text,.error-text{display:flex;align-items:center;gap:6px}.retry-parse-btn{background-color:#fff;border:1px solid #c53030;color:#c53030;padding:2px 8px;border-radius:4px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s;margin-left:8px}.retry-parse-btn:hover:not(:disabled){background-color:#c53030;color:#fff}.retry-parse-btn:disabled{opacity:.6;cursor:not-allowed}.roadmap-metadata{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#666;background:#f5f5f5;padding:4px 12px;border-radius:20px}.gap-analysis-section{margin-bottom:20px;background:#fff8e1;border-radius:8px;overflow:hidden;border:1px solid #ffe082}.gap-analysis-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;font-weight:500;color:#f57c00;transition:background .2s}.gap-analysis-header:hover{background:#fff3cd}.gap-analysis-list{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px}.gap-item{background:#fff;padding:12px;border-radius:6px;border-left:3px solid #ffa726}.gap-item.priority-high{border-left-color:#f44336}.gap-item.priority-medium{border-left-color:#ff9800}.gap-item.priority-low{border-left-color:#4caf50}.gap-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.priority-badge{font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:600;color:#fff}.priority-badge.high{background:#f44336}.priority-badge.medium{background:#ff9800}.priority-badge.low{background:#4caf50}.gap-area{font-weight:500;color:#333}.gap-recommendation{font-size:.9rem;color:#555}.gap-subjects{font-size:.85rem;color:#777;margin-top:8px;font-style:italic}.category-filter-section{margin-bottom:10px}.category-legend{display:flex;flex-wrap:wrap;gap:5px}.category-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #ddd;border-radius:14px;background:#fff;font-size:11px;cursor:pointer;transition:all .2s;color:#555}.category-btn:hover{background:#f5f5f5;border-color:#ccc}.category-btn.active{background:var(--category-color, #667eea);color:#fff;border-color:var(--category-color, #667eea)}.category-btn.empty-category{opacity:.5;border-style:dashed}.category-btn.empty-category:hover{opacity:.7}.category-btn.custom-category{border-style:solid}.add-category-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px dashed #bbb;border-radius:14px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s;color:#888}.add-category-btn:hover{background:#f0f0f0;border-color:#999;color:#666}.no-tasks-list{display:flex;justify-content:center;align-items:center;min-height:300px;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6}.empty-list-message{text-align:center;color:#6c757d}.empty-list-message .empty-icon{font-size:48px;color:#adb5bd;margin-bottom:16px}.empty-list-message p{font-size:16px;margin:0}.parsing-progress-wrapper{max-width:600px;margin:0 auto 20px}.roadmap-generation-progress-wrapper{max-width:700px;margin:20px auto;padding:0 20px}.roadmap-content{display:flex;gap:20px;flex:1;min-height:0;height:100%;overflow:hidden}.task-list-container{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.enhanced-task-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:10px}.task-card{background:#fff;border-radius:8px;padding:14px;border-left:4px solid #888;box-shadow:0 1px 4px #00000014;cursor:pointer;transition:all .2s}.task-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.task-card.selected{box-shadow:0 0 0 2px #667eea}.task-card-header{display:flex;align-items:flex-start;gap:12px}.task-category-icon{font-size:1.2rem;margin-top:2px}.task-info{flex:1;min-width:0}.task-title{font-weight:500;color:#333;font-size:.95rem;line-height:1.4}.task-title-ru{font-size:.85rem;color:#777;margin-top:4px}.task-priority-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.task-card-meta{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:.8rem;color:#888}.task-category-badge{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500}.task-progress-bar{height:4px;background:#eee;border-radius:2px;margin-top:10px;overflow:hidden}.task-progress-fill{height:100%;border-radius:2px;transition:width .3s}.task-details-panel{width:350px;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden;position:sticky;top:20px;max-height:600px;overflow-y:auto}.task-details-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eee;background:#f8f9fa}.task-details-header h3{margin:0;font-size:1rem;color:#333}.close-details-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#888;padding:0;line-height:1}.close-details-btn:hover{color:#333}.task-details-content{padding:16px}.task-details-content h4{margin:0 0 8px;font-size:1.1rem;color:#333}.task-details-ru{font-size:.9rem;color:#666;margin-bottom:16px}.task-details-badges{display:flex;gap:8px;margin-bottom:16px}.detail-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;color:#fff}.task-details-section{margin-bottom:16px}.task-details-section label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#666;margin-bottom:6px}.task-details-section p{margin:0;font-size:.95rem;color:#333;line-height:1.5}.action-details{background:#f8f9fa;padding:12px;border-radius:6px;border-left:3px solid #2196f3}.why-details{background:#fff8e1;padding:12px;border-radius:6px;border-left:3px solid #ff9800}.add-step-btn-inline{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50%;font-size:11px;cursor:pointer;transition:transform .2s,box-shadow .2s}.add-step-btn-inline:hover{transform:translateY(-1px);box-shadow:0 3px 8px #667eea4d}.source-indicator{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;font-size:.75rem;padding:2px 4px;border-radius:4px;vertical-align:middle}.source-indicator.user{color:#2196f3}.source-indicator.ai{color:#9c27b0}.static-toggle-btn{background:none;border:1px solid #ddd;border-radius:6px;padding:6px 8px;cursor:pointer;font-size:.9rem;transition:all .2s;display:flex;align-items:center;margin-left:auto;margin-right:8px}.static-toggle-btn.locked{color:#f57c00;border-color:#ffb74d;background:#fff8e1}.static-toggle-btn.unlocked{color:#888;border-color:#ddd}.static-toggle-btn:hover:not(:disabled){transform:scale(1.1)}.static-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.static-badge{display:flex;align-items:center;gap:4px;padding:2px 8px;background:#fff3e0;color:#e65100;border-radius:10px;font-size:.7rem;font-weight:600}.task-card.static-step{background:linear-gradient(to right,#fff8e1,#fff 10%)}.task-status-info{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.source-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.source-badge.user{background:#e3f2fd;color:#1565c0}.source-badge.ai{background:#f3e5f5;color:#7b1fa2}.static-status-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.static-status-badge.locked{background:#fff3e0;color:#e65100}.static-status-badge.unlocked{background:#e8f5e9;color:#2e7d32}.task-actions-panel{display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #eee;flex-wrap:wrap}.task-action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.task-action-btn.edit{background:#e3f2fd;color:#1565c0;border-color:#90caf9}.task-action-btn.edit:hover{background:#bbdefb}.task-action-btn.toggle-static.lock{background:#fff3e0;color:#e65100;border-color:#ffb74d}.task-action-btn.toggle-static.lock:hover{background:#ffe0b2}.task-action-btn.toggle-static.unlock{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.task-action-btn.toggle-static.unlock:hover{background:#c8e6c9}.task-action-btn.delete{background:#ffebee;color:#c62828;border-color:#ef9a9a}.task-action-btn.delete:hover{background:#ffcdd2}.task-action-btn:disabled{opacity:.6;cursor:not-allowed}.step-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.step-modal{background:#fff;border-radius:16px;width:100%;max-width:550px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.step-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;background:#f8f9fa}.step-modal-header h3{margin:0;font-size:1.2rem;color:#333}.close-modal-btn{background:none;border:none;font-size:1.2rem;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-modal-btn:hover{color:#333}.step-modal-content{padding:24px;overflow-y:auto;flex:1}.step-form-group{margin-bottom:16px}.step-form-group label{display:block;margin-bottom:6px;font-weight:500;color:#555;font-size:.9rem}.step-form-group input,.step-form-group select,.step-form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.step-form-group input:focus,.step-form-group select:focus,.step-form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.step-form-group textarea{resize:vertical;min-height:60px}.step-form-row{display:flex;gap:16px}.step-form-row .step-form-group{flex:1}.step-form-note{display:flex;align-items:center;gap:8px;padding:12px;background:#e3f2fd;border-radius:8px;color:#1565c0;font-size:.85rem}.step-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#f8f9fa}.cancel-btn{padding:10px 20px;border:1px solid #ddd;background:#fff;color:#666;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#f5f5f5;border-color:#ccc}.save-step-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.save-step-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.save-step-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 900px){.roadmap-content{flex-direction:column}.task-details-panel{width:100%;position:relative;top:0}}@media (max-width: 600px){.step-form-row{flex-direction:column;gap:0}.task-actions-panel{flex-direction:column}.task-action-btn{width:100%;justify-content:center}}.step-analysis-row{margin-top:10px;padding-top:10px;border-top:1px dashed #e0e0e0}.step-analysis-progress{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#667eea;padding:8px 12px;background:#667eea14;border-radius:6px}.step-analysis-progress .progress-percent{color:#999;font-size:.8rem}.start-analysis-btn,.view-analysis-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.start-analysis-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.start-analysis-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.start-analysis-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.view-analysis-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.view-analysis-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f093fb4d}.view-analysis-btn .resource-count{opacity:.85;font-size:.8rem}.step-analysis-buttons{display:flex;align-items:center;gap:8px}.re-research-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;transition:all .2s;font-size:.85rem}.re-research-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.re-research-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.step-analysis-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px}.step-analysis-view{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.step-analysis-header{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:16px;padding:20px 24px 20px 12px;border-bottom:1px solid #eee;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.step-analysis-header h3{margin:0;margin-left:auto!important;display:flex;align-items:center;gap:10px;font-size:1.2rem}.step-analysis-header .back-btn{display:flex!important;align-items:center;gap:6px;padding:8px 14px;flex-shrink:0;margin:0!important;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s}.step-analysis-header .back-btn:hover{background:#ffffff4d}.step-analysis-content{padding:24px;overflow-y:auto;flex:1}.step-analysis-step-info{margin-bottom:24px}.step-analysis-step-info h4{margin:0 0 10px;font-size:1.3rem;color:#333}.step-context{display:flex;flex-wrap:wrap;gap:12px}.step-context span{font-size:.85rem;color:#666;background:#f5f5f5;padding:4px 10px;border-radius:4px}.step-analysis-summary{background:linear-gradient(135deg,#f5f7fa,#e4e9f2);padding:20px;border-radius:12px;margin-bottom:24px}.step-analysis-summary h5{margin:0 0 12px;display:flex;align-items:center;gap:8px;color:#333;font-size:1rem}.step-analysis-summary p{margin:0;line-height:1.6;color:#555}.step-analysis-recommendations{background:linear-gradient(135deg,#fff9e6,#fff3cd);padding:20px;border-radius:12px;margin-bottom:24px;border-left:4px solid #ffc107}.step-analysis-recommendations h5{margin:0 0 12px;display:flex;align-items:center;gap:8px;color:#856404;font-size:1rem}.step-analysis-recommendations ul{margin:0;padding-left:20px}.step-analysis-recommendations li{margin-bottom:8px;line-height:1.5;color:#555}.step-analysis-resources{margin-bottom:24px}.step-analysis-resources h5{margin:0 0 16px;display:flex;align-items:center;gap:8px;color:#333;font-size:1rem}.resources-list{display:flex;flex-direction:column;gap:12px}.resource-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:16px;transition:all .2s}.resource-card:hover{box-shadow:0 4px 12px #00000014;border-color:#d0d0d0}.resource-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:12px}.resource-title{font-weight:600;color:#667eea;text-decoration:none;display:flex;align-items:center;gap:6px;flex:1}.resource-title:hover{text-decoration:underline}.external-link-icon{font-size:.75rem;opacity:.7}.resource-domain{font-size:.8rem;color:#888;background:#f5f5f5;padding:2px 8px;border-radius:4px;flex-shrink:0}.resource-summary{margin:0 0 12px;font-size:.9rem;line-height:1.5;color:#555}.resource-meta{display:flex;gap:10px;align-items:center}.resource-type{font-size:.75rem;text-transform:uppercase;color:#888;background:#f0f0f0;padding:3px 8px;border-radius:4px;font-weight:500}.relevance-score{font-size:.8rem;font-weight:600;color:#4caf50;background:#4caf501a;padding:3px 8px;border-radius:4px}.ai-research-report{margin-top:28px;padding-top:24px;border-top:2px solid #e8e8e8}.ai-research-report>h5{margin:0 0 16px;display:flex;align-items:center;gap:8px;color:#333;font-size:1.05rem;font-weight:600}.ai-research-report>h5 svg{color:#667eea}.ai-research-report-content{background:linear-gradient(135deg,#fafbff,#f5f7ff);border:1px solid #e0e4f0;border-radius:12px;padding:24px 28px;font-size:.92rem;line-height:1.7;color:#333}.ai-research-report-content h1,.ai-research-report-content h2,.ai-research-report-content h3,.ai-research-report-content h4,.ai-research-report-content h5{color:#2d3748;margin-top:20px;margin-bottom:10px;font-weight:600;line-height:1.3}.ai-research-report-content h1{font-size:1.3rem;border-bottom:2px solid #e2e8f0;padding-bottom:8px;margin-top:0}.ai-research-report-content h2{font-size:1.15rem;border-bottom:1px solid #e8ecf4;padding-bottom:6px}.ai-research-report-content h3{font-size:1.05rem;color:#4a5568}.ai-research-report-content h4,.ai-research-report-content h5{font-size:.95rem;color:#4a5568}.ai-research-report-content p{margin:0 0 12px;color:#4a5568}.ai-research-report-content ul,.ai-research-report-content ol{margin:8px 0 16px;padding-left:24px}.ai-research-report-content li{margin-bottom:6px;color:#4a5568}.ai-research-report-content li::marker{color:#667eea}.ai-research-report-content strong{color:#2d3748;font-weight:600}.ai-research-report-content em{color:#555}.ai-research-report-content a{color:#667eea;text-decoration:none;border-bottom:1px dashed #667eea;transition:border-color .2s}.ai-research-report-content a:hover{border-bottom-style:solid}.ai-research-report-content blockquote{border-left:3px solid #667eea;margin:12px 0;padding:8px 16px;background:#667eea0d;border-radius:0 8px 8px 0;color:#4a5568;font-style:italic}.ai-research-report-content code{background:#edf2f7;padding:2px 6px;border-radius:4px;font-size:.88em;color:#e53e3e}.ai-research-report-content pre{background:#2d3748;color:#e2e8f0;padding:16px;border-radius:8px;overflow-x:auto;margin:12px 0}.ai-research-report-content pre code{background:none;color:inherit;padding:0}.ai-research-report-content hr{border:none;border-top:1px solid #e2e8f0;margin:20px 0}.ai-research-report-content>*:first-child{margin-top:0}.ai-research-report-content>*:last-child{margin-bottom:0}.step-analysis-queries{margin-top:24px;padding-top:20px;border-top:1px solid #eee}.step-analysis-queries h5{margin:0 0 12px;color:#666;font-size:.9rem;font-weight:500}.queries-list{display:flex;flex-wrap:wrap;gap:8px}.query-tag{font-size:.8rem;color:#667eea;background:#667eea1a;padding:4px 10px;border-radius:4px}@media (max-width: 768px){.step-analysis-overlay{padding:10px}.step-analysis-view{max-height:95vh;border-radius:12px}.step-analysis-header{flex-direction:column;align-items:flex-start;gap:10px}.resource-header{flex-direction:column;gap:8px}.resource-domain{align-self:flex-start}}.goal-creation-card.tutorial-highlight-card{position:relative;z-index:10001;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003;animation:card-pulse 1.5s ease-in-out infinite}@keyframes card-pulse{0%,to{box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}50%{box-shadow:0 0 0 8px #667eea4d,0 8px 32px #0003}}.parsing-progress-wrapper.tutorial-target-data-gathering,.roadmap-generation-progress-wrapper.tutorial-target-roadmap-generating{position:relative;z-index:10001}.generate-btn.tutorial-highlight-btn{position:relative;z-index:10001;box-shadow:0 0 0 4px #667eea80,0 4px 16px #0003;animation:btn-pulse 1.5s ease-in-out infinite}@keyframes btn-pulse{0%,to{box-shadow:0 0 0 4px #667eea80,0 4px 16px #0003}50%{box-shadow:0 0 0 8px #667eea4d,0 4px 16px #0003}}.task-list-container.tutorial-highlight-tasks{position:relative;z-index:10001;border-radius:12px;box-shadow:0 0 0 4px #667eea80,0 8px 32px #0003}.view-toggle-container{display:flex;gap:1px;background:#e5e7eb;padding:2px;border-radius:6px;margin-left:8px;margin-right:8px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:26px;height:22px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:4px;transition:all .2s ease;font-size:11px}.view-toggle-btn:hover{color:#374151;background:#ffffff80}.view-toggle-btn.active{background:#fff;color:#6366f1;box-shadow:0 1px 2px #0000001a}.kanban-status-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.kanban-status-badge.status-todo{background:#6366f126;color:#6366f1}.kanban-status-badge.status-in_progress{background:#f59e0b26;color:#d97706}.kanban-status-badge.status-done{background:#10b98126;color:#059669}.gap-analysis-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:14px;border:1px solid #f59e0b;background:#f59e0b1a;color:#d97706;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.gap-analysis-btn:hover{background:#f59e0b33;transform:translateY(-1px)}.gap-analysis-btn svg{font-size:11px}.college-info-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:14px;border:1px solid #2196f3;background:#2196f31a;color:#1976d2;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.college-info-btn:hover{background:#2196f333;transform:translateY(-1px)}.college-info-btn.active{background:#2196f3;color:#fff;border-color:#2196f3}.college-info-btn svg{font-size:11px}.gap-analysis-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.gap-analysis-popup{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;overflow:hidden}.gap-analysis-popup-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fffbeb,#fff)}.gap-analysis-popup-header h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#d97706;margin:0}.gap-analysis-popup-header h3 svg{font-size:20px}.close-popup-btn{width:36px;height:36px;border-radius:8px;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-popup-btn:hover{background:#e5e7eb;color:#374151}.gap-analysis-popup-content{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.gap-analysis-popup-content .gap-item{padding:16px;border-radius:10px;border-left:4px solid #e5e7eb;background:#f9fafb}.gap-analysis-popup-content .gap-item.priority-high{border-left-color:#ef4444;background:#ef44440d}.gap-analysis-popup-content .gap-item.priority-medium{border-left-color:#f59e0b;background:#f59e0b0d}.gap-analysis-popup-content .gap-item.priority-low{border-left-color:#10b981;background:#10b9810d}.gap-analysis-popup-content .gap-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.gap-analysis-popup-content .priority-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.gap-analysis-popup-content .priority-badge.high{background:#fee2e2;color:#dc2626}.gap-analysis-popup-content .priority-badge.medium{background:#fef3c7;color:#d97706}.gap-analysis-popup-content .priority-badge.low{background:#d1fae5;color:#059669}.gap-analysis-popup-content .gap-area{font-size:15px;font-weight:600;color:#1f2937}.gap-analysis-popup-content .gap-recommendation{font-size:14px;color:#4b5563;line-height:1.5;margin-bottom:8px}.gap-analysis-popup-content .gap-subjects{font-size:13px;color:#6b7280;font-style:italic}.add-category-popup{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:400px;max-height:90vh;overflow:hidden}.add-category-popup-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2)}.add-category-popup-header h3{margin:0;font-size:16px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.add-category-popup-content{padding:20px}.add-category-popup-content .form-group{margin-bottom:16px}.add-category-popup-content .form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.add-category-popup-content .form-group input[type=text]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.add-category-popup-content .form-group input[type=text]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.color-picker-row{display:flex;gap:8px;flex-wrap:wrap}.color-option{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#1f2937;box-shadow:0 0 0 2px #fff,0 0 0 4px #1f2937}.add-category-popup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.add-category-popup-actions .cancel-btn{padding:8px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:13px;cursor:pointer;transition:background .2s}.add-category-popup-actions .cancel-btn:hover{background:#f3f4f6}.add-category-popup-actions .save-btn{padding:8px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s}.add-category-popup-actions .save-btn:hover{opacity:.9}.add-category-popup-actions .save-btn:disabled{opacity:.5;cursor:not-allowed}.inline-category-create{margin-top:8px;padding:10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.inline-category-create input[type=text]{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;margin-bottom:8px;box-sizing:border-box}.inline-category-create input[type=text]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.color-picker-row.compact{gap:5px;margin-bottom:8px}.color-picker-row.compact .color-option{width:22px;height:22px}.inline-category-actions{display:flex;justify-content:flex-end;gap:6px}.inline-cat-cancel,.inline-cat-save{padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer;border:1px solid #d1d5db}.inline-cat-cancel{background:#fff;color:#374151}.inline-cat-cancel:hover{background:#f3f4f6}.inline-cat-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.inline-cat-save:hover{opacity:.9}.inline-cat-save:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.goal-tab-container{padding:6px 8px 10px}.goal-header-info{margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #e0e0e0}.goal-header-info>div:first-child{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.goal-actions{width:100%;overflow-x:auto;flex-wrap:nowrap!important}.goal-header-info h2{font-size:1rem;margin:0!important}.goal-header-info p:empty{display:none!important}.goal-header-info p{margin-bottom:2px!important}.roadmap-metadata,.goal-info-badges{gap:4px!important;margin-bottom:0!important;margin-top:0!important;flex-wrap:wrap}.metadata-pill,.project-badge,.career-badge,.university-badge{padding:2px 6px!important;font-size:10px!important;margin:0!important}.generate-btn,.regenerate-btn,.delete-btn,.research-btn{padding:4px 8px;font-size:10px;white-space:nowrap}.goal-creation-header{margin-bottom:2px;flex-direction:column;align-items:flex-start;gap:4px}.goal-creation-header>div:last-child{justify-content:flex-start!important;width:100%}.category-filter-section{margin-bottom:6px}.category-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;gap:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-legend::-webkit-scrollbar{display:none}.category-btn,.gap-analysis-btn,.college-info-btn{flex-shrink:0;white-space:nowrap;padding:2px 6px;font-size:10px}.view-toggle-container{flex-shrink:0;padding:1px;margin-left:0;margin-right:2px}.view-toggle-btn{width:20px;height:18px;font-size:10px}.add-category-btn{flex-shrink:0;width:20px;height:20px;font-size:10px}}.activity-section{padding:12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;font-size:1.25rem;color:#333}.add-btn-small{display:flex;align-items:center;gap:6px;background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background .2s}.add-btn-small:hover{background:#5a6fd6}.activities-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:0 4px}.activity-folder-card{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .25s ease;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column}.activity-folder-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-2px)}.folder-card-visual{position:relative;height:120px;background:linear-gradient(135deg,#f0f4ff,#e8ecfb);display:flex;align-items:center;justify-content:center;overflow:hidden}.folder-card-thumbnail{width:100%;height:100%;object-fit:cover}.folder-card-icon{font-size:2.5rem;color:#667eea;transition:all .25s ease}.activity-folder-card:hover .folder-card-icon{color:#5a6fd6;transform:scale(1.1)}.folder-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;transition:background .2s}.activity-folder-card:hover .folder-card-play{background:#667eead9}.folder-card-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:10px}.folder-card-info{flex:1;min-width:0}.folder-card-info .activity-card-inline h4{margin:0 0 2px;color:#1f2937;font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card-info .activity-card-inline p{margin:0;color:#6b7280;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card-info .activity-card-inline .activity-detail{color:#9ca3af;font-size:.78rem}.folder-card-info .activity-card-inline .school-name{color:#5c6bc0;font-size:.82rem;font-weight:500}.folder-card-info .activity-card-inline .activity-dates{color:#9ca3af;font-size:.75rem;font-style:italic}.folder-card-info .activity-card-inline .outcome-tag{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:1px 6px;border-radius:10px;font-size:.72rem;margin-top:2px}.folder-card-info .activity-card-inline .impact-text{color:#5c6bc0;font-size:.78rem}.folder-card-counts{display:flex;gap:8px;flex-wrap:wrap}.folder-count{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600}.folder-count svg{font-size:.7rem}.folder-count.notes{background:#fff8e1;color:#f0ad4e}.folder-count.docs{background:#e3f2fd;color:#1976d2}.folder-count.links{background:#e8f5e9;color:#43a047}.folder-count.videos{background:#ffebee;color:red}.folder-card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.activity-folder-card:hover .folder-card-actions{opacity:1}.folder-action-btn{width:30px;height:30px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:all .2s;background:#ffffffe6;color:#6b7280;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 3px #0000001a}.folder-action-btn.edit:hover{background:#e3f2fd;color:#1976d2}.folder-action-btn.delete:hover{background:#ffebee;color:#d32f2f}.folder-card-arrow{position:absolute;bottom:12px;right:12px;color:#d1d5db;font-size:.8rem;transition:all .2s}.activity-folder-card:hover .folder-card-arrow{color:#667eea;transform:translate(3px)}.empty-state{display:flex;align-items:center;justify-content:center;min-height:200px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:16px;padding:40px 20px}.empty-state-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.empty-state-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;box-shadow:0 8px 24px #667eea4d}.empty-state-text{margin:0;font-size:1rem;color:#6c757d;max-width:250px;line-height:1.5}.empty-state-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.empty-state-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.empty-state-btn svg{font-size:.9rem}@media (max-width: 768px){.activities-folder-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.folder-card-visual{height:90px}.folder-card-body{padding:10px 12px}.folder-card-info .activity-card-inline h4{font-size:.88rem}.section-header h3{font-size:1.1rem}.empty-state{min-height:150px;padding:24px 16px;border-radius:12px}.empty-state-icon{width:48px;height:48px;font-size:1.25rem}.empty-state-text{font-size:.9rem;max-width:200px}.empty-state-btn{padding:10px 20px;font-size:.9rem}}@media (max-width: 480px){.activities-folder-grid{grid-template-columns:1fr}.activity-folder-card{flex-direction:row;height:auto}.folder-card-visual{width:100px;height:auto;min-height:90px}.folder-card-arrow{bottom:auto;top:50%;transform:translateY(-50%)}.activity-folder-card:hover .folder-card-arrow{transform:translateY(-50%) translate(3px)}}.add-activity-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.add-activity-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.add-activity-modal .modal-header h3{margin:0;font-size:1.25rem;color:#333}.add-activity-modal .close-btn{background:none;border:none;font-size:1.2rem;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.add-activity-modal .close-btn:hover{background:#f0f0f0;color:#333}.add-activity-modal .modal-body{padding:24px}.add-activity-modal .form-group{margin-bottom:16px}.add-activity-modal .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#555;font-size:.9rem}.add-activity-modal .form-group input,.add-activity-modal .form-group textarea,.add-activity-modal .form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.add-activity-modal .form-group input:focus,.add-activity-modal .form-group textarea:focus,.add-activity-modal .form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.add-activity-modal .form-group textarea{resize:vertical;min-height:80px}.add-activity-modal .form-group select{cursor:pointer;background:#fff}.add-activity-modal .form-row{display:flex;gap:16px}.add-activity-modal .form-row .form-group{flex:1}.add-activity-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee;background:#fafbfc;border-radius:0 0 12px 12px}.add-activity-modal .modal-footer .cancel-btn{padding:10px 20px;background:#f1f1f1;color:#666;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s}.add-activity-modal .modal-footer .cancel-btn:hover{background:#e0e0e0}.add-activity-modal .modal-footer .submit-btn{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.add-activity-modal .modal-footer .submit-btn:hover{background:#5a6fd6}.add-activity-modal .modal-footer .submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.add-activity-modal{width:98%;margin:60px auto 10px;border-radius:8px}.add-activity-modal .modal-header{padding:8px 12px}.add-activity-modal .modal-header h3{font-size:1.1rem}.add-activity-modal .modal-body{padding:10px 12px}.add-activity-modal .form-group{margin-bottom:8px}.add-activity-modal .form-group label{font-size:.8rem;margin-bottom:2px}.add-activity-modal .form-group input,.add-activity-modal .form-group textarea,.add-activity-modal .form-group select{padding:6px 8px;font-size:.9rem}.add-activity-modal .form-group textarea{min-height:50px}.add-activity-modal .form-row{flex-direction:column;gap:6px}.add-activity-modal .form-row .form-group{margin-bottom:0}.add-activity-modal .modal-footer{padding:8px 12px;gap:6px}.add-activity-modal .modal-footer .cancel-btn,.add-activity-modal .modal-footer .submit-btn{padding:6px 12px;font-size:.85rem}}.age-confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.age-confirmation-popup{background:var(--surface);border-radius:16px;padding:32px;max-width:500px;width:100%;box-shadow:var(--shadow-lg);animation:popupSlideIn .3s ease-out;border:1px solid var(--border)}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.age-confirmation-popup h2{margin:0 0 16px;font-size:1.5rem;color:var(--text-primary);text-align:center}.detected-age{text-align:center;color:var(--primary-color);font-size:.95rem;margin-bottom:8px;padding:8px 16px;background:#2563eb1a;border-radius:8px;border:1px solid var(--primary-color)}.age-explanation{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:24px}.age-group-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.age-group-option{display:flex;align-items:center;gap:16px;padding:16px;background:var(--surface-hover);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.age-group-option:hover{background:var(--surface-hover);border-color:var(--text-muted)}.age-group-option.selected{border-color:var(--primary-color);background:#2563eb1a}.age-group-option.detected{position:relative}.age-group-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--background);border-radius:12px;font-size:1.5rem;color:var(--primary-color);flex-shrink:0;border:1px solid var(--border)}.age-group-option.selected .age-group-icon{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.age-group-info{flex:1}.age-group-info h3{margin:0 0 4px;font-size:1rem;color:var(--text-primary);font-weight:600}.age-group-info .age-range{font-weight:400;color:var(--text-secondary);font-size:.9rem}.age-group-info p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.age-group-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-color);border-radius:50%;color:#fff;font-size:.75rem;flex-shrink:0}.detected-badge{position:absolute;top:-8px;right:12px;background:var(--success);color:#fff;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.age-confirmation-actions{display:flex;gap:12px;justify-content:flex-end}.age-confirmation-actions button{padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.age-confirmation-actions .cancel-btn{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border)}.age-confirmation-actions .cancel-btn:hover{background:var(--border);color:var(--text-primary)}.age-confirmation-actions .confirm-btn{background:var(--primary-color);color:#fff}.age-confirmation-actions .confirm-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}@media (max-width: 480px){.age-confirmation-popup{padding:24px;margin:16px}.age-confirmation-popup h2{font-size:1.25rem}.age-group-option{padding:12px;gap:12px}.age-group-icon{width:40px;height:40px;font-size:1.25rem}.age-group-info h3{font-size:.9rem}.age-group-info p{font-size:.8rem}.age-confirmation-actions{flex-direction:column-reverse}.age-confirmation-actions button{width:100%}}.major-finder-tab{padding:14px 16px;height:100%;overflow-y:auto;background-color:var(--background)}.major-finder-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.major-finder-intro{max-width:460px;margin:30px auto;text-align:center;background:var(--surface);padding:28px 24px;border-radius:12px;box-shadow:0 3px 14px #00000014}.intro-icon{width:56px;height:56px;background:linear-gradient(135deg,#4f46e5,#8b5cf6);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:#fff;font-size:24px}.major-finder-intro h2{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.intro-description{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.start-quiz-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#4f46e5,#8b5cf6);color:#fff;border:none;padding:10px 24px;font-size:14px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.start-quiz-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4f46e566}.test-type-selection{max-width:900px;margin:20px auto}.selection-header{text-align:center;margin-bottom:20px}.selection-header h2{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.selection-description{font-size:13px;color:var(--text-secondary);max-width:500px;margin:0 auto}.test-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.test-type-card{background:var(--surface);border:2px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.test-type-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 8px 24px #4f46e526}.test-type-card.quick{border-left:4px solid #22c55e}.test-type-card.standard{border-left:4px solid #3b82f6}.test-type-card.detailed{border-left:4px solid #8b5cf6}.test-type-card.comprehensive{border-left:4px solid #f59e0b}.test-type-badge{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.test-type-card.quick .test-type-badge{background:#22c55e}.test-type-card.standard .test-type-badge{background:#3b82f6}.test-type-card.detailed .test-type-badge{background:#8b5cf6}.test-type-card.comprehensive .test-type-badge{background:#f59e0b}.test-type-name{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px;padding-right:44px}.test-type-description{font-size:12px;color:var(--text-secondary);line-height:1.4;margin-bottom:8px}.test-type-meta{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.test-type-time,.test-type-questions{display:flex;align-items:center;gap:4px}.back-btn{display:block;margin:0 auto;padding:8px 18px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.riasec-quiz{max-width:680px;margin:16px auto;background:var(--surface);border-radius:12px;padding:20px 24px;box-shadow:0 3px 14px #00000014}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;color:var(--text-secondary)}.quiz-percent{font-weight:500}.quiz-progress{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:20px}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#8b5cf6);border-radius:3px;transition:width .3s ease}.quiz-question{text-align:center;padding:16px 0;min-height:70px;display:flex;align-items:center;justify-content:center}.question-text{font-size:17px;font-weight:600;color:var(--text-primary);line-height:1.4}.response-options{display:flex;flex-direction:column;gap:8px}.response-option{padding:10px 14px;border:2px solid var(--border);border-radius:8px;background:var(--background);cursor:pointer;transition:all .2s;font-size:13px;color:var(--text-secondary);text-align:left}.response-option:hover{border-color:var(--primary-color);color:var(--primary-color);background:#4f46e50d}.response-option.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.response-option:disabled{opacity:.7;cursor:not-allowed}.cancel-quiz-btn{display:block;margin:14px auto 0;padding:6px 14px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .2s}.cancel-quiz-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.results-container{max-width:1000px;margin:0 auto}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.results-header-content{display:flex;align-items:center;gap:10px}.results-icon{width:40px;height:40px;background:linear-gradient(135deg,#4f46e5,#8b5cf6);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.results-header h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 2px}.results-header p{font-size:12px;color:var(--text-secondary);margin:0}.retake-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;background:linear-gradient(135deg,#4f46e5,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;line-height:1}.retake-btn svg{flex-shrink:0}.retake-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4f46e566}.results-overview{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.top-interests-card,.ai-summary-card{background:var(--surface);border-radius:10px;padding:14px 16px;box-shadow:0 2px 8px #0000000d}.top-interests-card h3,.professions-section h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.card-icon,.section-icon{font-size:16px}.interests-list{display:flex;flex-direction:column;gap:12px}.interest-item{display:flex;flex-direction:column;gap:5px}.interest-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.interest-rank-badge{width:22px;height:22px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.interest-item:nth-child(1) .interest-rank-badge{background:#f59e0b}.interest-item:nth-child(2) .interest-rank-badge{background:#94a3b8}.interest-item:nth-child(3) .interest-rank-badge{background:#cd7f32}.interest-item:nth-child(n+4) .interest-rank-badge{background:var(--border);color:var(--text-muted)}.interest-item.top-interest{padding-bottom:10px;border-bottom:1px solid var(--border)}.all-interests .interests-list{gap:10px}.interest-badge{display:inline-block;padding:2px 8px;border-radius:16px;font-size:11px;font-weight:600;color:#fff}.interest-score{font-size:12px;color:var(--text-muted)}.interest-bar-container{height:6px;background:var(--border);border-radius:4px;overflow:hidden}.interest-bar{height:100%;border-radius:4px;transition:width .5s ease}.interest-bar.type-R,.interest-badge.type-R{background-color:#ef4444}.interest-bar.type-I,.interest-badge.type-I{background-color:#3b82f6}.interest-bar.type-A,.interest-badge.type-A{background-color:#8b5cf6}.interest-bar.type-S,.interest-badge.type-S{background-color:#22c55e}.interest-bar.type-E,.interest-badge.type-E{background-color:#f59e0b}.interest-bar.type-C,.interest-badge.type-C{background-color:#06b6d4}.interest-description{font-size:11px;color:var(--text-secondary);margin:0}.ai-summary-card{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff}.ai-summary-badge{display:inline-flex;align-items:center;gap:5px;background:#fff3;padding:4px 10px;border-radius:16px;font-size:11px;font-weight:500;margin-bottom:10px}.ai-icon{font-size:12px}.ai-summary-card h3{color:#fff;font-size:15px;margin-bottom:8px}.ai-summary-text{font-size:12px;line-height:1.5;opacity:.9;margin-bottom:12px}.ai-summary-section{margin-bottom:10px}.ai-summary-section h4{font-size:12px;font-weight:600;margin:0 0 10px;display:flex;align-items:center;gap:6px;opacity:.95}.ai-summary-section .section-icon{font-size:14px}.tags-row{display:flex;flex-wrap:wrap;gap:5px}.tag{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500;background:#ffffff26;color:#fff;transition:background .2s}.tag:hover{background:#ffffff40}.strength-tag{background:#fff3}.major-tag{background:#ffffff26;border:1px solid rgba(255,255,255,.3)}.activity-tag{background:#ffffff1f;font-style:italic}.summary-stats{display:flex;gap:16px}.stat-item{display:flex;flex-direction:column;gap:2px}.ai-summary-card .stat-label{font-size:10px;color:#fff!important;text-transform:uppercase;letter-spacing:.5px}.ai-summary-card .stat-value{font-size:15px;font-weight:700;color:#fff!important}.professions-section{margin-bottom:16px}.professions-grid{display:flex;flex-direction:column;gap:8px}.profession-card{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:8px;padding:10px 12px;border:1px solid var(--border);transition:all .2s}.profession-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #00000014}.profession-card.featured{border-left:4px solid #f59e0b}.profession-icon{width:34px;height:34px;background:var(--background);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.profession-content{flex:1;min-width:0}.profession-title{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profession-meta{display:flex;gap:10px;font-size:11px;color:var(--text-secondary)}.profession-category,.profession-salary{display:flex;align-items:center;gap:4px}.profession-salary{color:#22c55e;font-weight:500}.meta-icon{font-size:12px}.save-profession-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:15px;padding:4px;transition:all .2s;flex-shrink:0}.save-profession-btn:hover{color:#ef4444;transform:scale(1.1)}.save-profession-btn.saved{color:#ef4444}.profession-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.generate-roadmap-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:linear-gradient(135deg,#4f46e5,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.generate-roadmap-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.generate-roadmap-btn svg{font-size:14px}.save-results-prompt{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-radius:8px;padding:12px 16px;border:1px solid var(--border);margin-top:12px}.prompt-content h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 2px}.prompt-content p{font-size:12px;color:var(--text-secondary);margin:0}.save-results-btn{display:flex;align-items:center;gap:6px;background:#22c55e;color:#fff;border:none;padding:8px 16px;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.save-results-btn:hover{background:#16a34a}.about-test-section{margin-top:16px;padding:14px 16px;background:var(--surface);border-radius:10px;box-shadow:0 2px 8px #0000000d;border:1px solid var(--border)}.about-test-section h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.about-test-description{font-size:12px;line-height:1.5;color:var(--text-secondary);margin-bottom:12px}.useful-resources{background:var(--background);border-radius:8px;padding:12px}.useful-resources h4{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.resources-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.resources-list li{font-size:12px;color:var(--text-secondary);line-height:1.5}.resources-list a{color:var(--primary-color);text-decoration:none;transition:color .2s}.resources-list a:hover{color:#6366f1;text-decoration:underline}.resources-list strong{font-weight:600}@media (max-width: 768px){.major-finder-tab{padding:10px 12px}.major-finder-intro{margin:16px auto;padding:20px 16px}.intro-icon{width:44px;height:44px;font-size:20px}.major-finder-intro h2{font-size:18px}.riasec-quiz{margin:10px auto;padding:14px 16px}.question-text{font-size:15px}.results-header{flex-direction:column;gap:10px}.results-overview{grid-template-columns:1fr}.professions-grid{gap:6px}.profession-card{flex-wrap:wrap;gap:8px;padding:8px 10px;border-radius:8px}.profession-icon{width:30px;height:30px;font-size:14px;border-radius:6px}.profession-content{flex:1;min-width:calc(100% - 44px)}.profession-title{font-size:12px;margin:0 0 2px;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.3}.profession-meta{gap:8px;font-size:10px;flex-wrap:wrap}.meta-icon{font-size:9px}.profession-actions{width:100%;justify-content:flex-start;gap:6px}.generate-roadmap-btn{padding:5px 8px;font-size:10px;border-radius:6px;gap:4px}.generate-roadmap-btn svg{font-size:11px}.save-profession-btn{font-size:14px;padding:4px}.save-results-prompt{flex-direction:column;gap:10px;text-align:center}.test-types-grid{grid-template-columns:1fr}.test-type-card{padding:12px}.test-type-badge{width:32px;height:32px;font-size:12px}.test-type-name{font-size:14px;padding-right:40px}.selection-header h2{font-size:18px}}.create-portfolio-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.create-portfolio-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.create-portfolio-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0;z-index:1}.create-portfolio-modal-header h2{margin:0;font-size:1.2rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px}.create-portfolio-close-btn{background:none;border:none;color:#9ca3af;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.create-portfolio-close-btn:hover{background:#f3f4f6;color:#374151}.create-portfolio-form{padding:20px 24px}.create-portfolio-field{margin-bottom:20px}.create-portfolio-field label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:6px}.create-portfolio-field input[type=text]{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;box-sizing:border-box;transition:border-color .2s}.create-portfolio-field input[type=text]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.create-portfolio-sections{margin-bottom:20px}.create-portfolio-sections-label{display:block;font-size:.9rem;font-weight:600;color:#374151;margin-bottom:12px}.create-portfolio-section-group{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px;margin-bottom:12px}.create-portfolio-section-group.simple{display:flex;flex-direction:column;gap:8px}.section-group-header{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:#374151;margin-bottom:10px}.create-portfolio-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 4px;border-radius:6px;transition:background .2s;font-size:.9rem;color:#374151}.create-portfolio-checkbox:hover{background:#f0f4ff}.create-portfolio-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#667eea;cursor:pointer}.create-portfolio-checkbox.sub{font-size:.82rem;color:#6b7280;padding:3px 4px}.section-icon{color:#667eea;font-size:.85rem;flex-shrink:0}.school-checkbox-group{margin-bottom:6px}.school-sub-options{margin-left:28px;padding-left:10px;border-left:2px solid #e5e7eb}.create-portfolio-error{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px;border:1px solid #fecaca}.create-portfolio-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid #e5e7eb}.create-portfolio-cancel{padding:10px 20px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:.9rem;cursor:pointer;transition:all .2s}.create-portfolio-cancel:hover{background:#f3f4f6}.create-portfolio-submit{padding:10px 24px;border:none;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.create-portfolio-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.create-portfolio-submit:disabled{opacity:.5;cursor:not-allowed}.create-portfolio-submit.ai-generate{background:linear-gradient(135deg,#f59e0b,#ef4444);font-size:13px}.portfolio-contact-input{margin-left:28px;margin-top:-2px;margin-bottom:4px}.portfolio-contact-input input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.85rem;box-sizing:border-box;transition:border-color .2s}.portfolio-contact-input input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width: 540px){.create-portfolio-modal{max-height:95vh}.create-portfolio-overlay{padding:10px}}.portfolio-tab{padding:20px}.portfolio-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:60px 20px;color:#6b7280;font-size:1rem}.portfolio-empty-state{display:flex;align-items:center;justify-content:center;min-height:200px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:16px;padding:40px 20px}.portfolio-empty-state-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.portfolio-empty-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;box-shadow:0 8px 24px #667eea4d}.portfolio-empty-text{margin:0;font-size:1rem;color:#6c757d;max-width:250px;line-height:1.5}.portfolio-empty-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.portfolio-empty-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.portfolio-empty-btn svg{font-size:.9rem}.portfolio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.portfolio-header-text{display:flex;flex-direction:column;gap:4px}.portfolio-header h3{margin:0;font-size:1.25rem;color:#333}.portfolio-tip{margin:0;font-size:.78rem;font-style:italic;color:#94a3b8;font-weight:400}.portfolio-add-btn{display:flex;align-items:center;gap:6px;background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.portfolio-add-btn:hover{background:#5a6fd6}.portfolio-list{display:flex;flex-direction:column;gap:16px}.portfolio-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.portfolio-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.portfolio-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.portfolio-card-header h4{margin:0;font-size:1.05rem;font-weight:600;color:#1f2937}.portfolio-status-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.portfolio-status-badge.generating{background:#fef3c7;color:#92400e}.portfolio-status-badge.success{background:#d1fae5;color:#065f46}.portfolio-status-badge.failed{background:#fee2e2;color:#991b1b}.portfolio-progress-bar{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-bottom:12px}.portfolio-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;transition:width .5s ease}.portfolio-card-meta{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}.portfolio-views,.portfolio-visibility,.portfolio-date{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#6b7280}.portfolio-visibility.public{color:#059669}.portfolio-visibility.private{color:#d97706}.portfolio-ai-badge{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:#b45309;background:#fef3c7;padding:2px 8px;border-radius:9999px}.portfolio-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portfolio-action-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .2s ease;background:#fff;color:#374151}.portfolio-action-btn:hover{border-color:#667eea;color:#667eea}.portfolio-action-btn:disabled{opacity:.5;cursor:not-allowed}.portfolio-action-btn.copy-link{background:#f0f4ff;border-color:#667eea;color:#667eea}.portfolio-action-btn.view{background:#f0fdf4;border-color:#10b981;color:#059669}.portfolio-action-btn.download-pdf{background:#fff7ed;border-color:#f97316;color:#ea580c}.portfolio-action-btn.download-pdf:hover{background:#fed7aa}.portfolio-action-btn.regenerate{color:#6b7280}.portfolio-action-btn.delete{color:#ef4444;border-color:transparent}.portfolio-action-btn.delete:hover{background:#fef2f2;border-color:#ef4444}.portfolio-action-btn.visibility{color:#6b7280;border-color:transparent;padding:6px 8px}@media (max-width: 768px){.portfolio-tab{padding:12px}.portfolio-empty-state{min-height:150px;padding:24px 16px;border-radius:12px}.portfolio-empty-icon{width:48px;height:48px;font-size:1.25rem}.portfolio-empty-text{font-size:.9rem;max-width:200px}.portfolio-empty-btn{padding:10px 20px;font-size:.9rem}.portfolio-card{padding:16px}.portfolio-card-actions{flex-direction:column;align-items:stretch}.portfolio-action-btn{justify-content:center}.portfolio-card-header{flex-direction:column;align-items:flex-start;gap:8px}}.olympiad-dashboard{padding:16px 20px;height:100%;overflow-y:auto;background:var(--bg-primary, #f5f7fa)}.olympiad-header{margin-bottom:14px}.olympiad-title{display:flex;align-items:center;gap:10px;margin-bottom:4px}.olympiad-title h1{margin:0;font-size:22px;color:var(--text-primary, #1a1a2e)}.olympiad-title .title-icon{font-size:24px;color:#f59e0b}.olympiad-subtitle{margin:0;color:var(--text-secondary, #666);font-size:13px}.olympiad-loading,.olympiad-error{display:flex;align-items:center;justify-content:center;gap:12px;height:300px;font-size:16px;color:var(--text-secondary, #666)}.olympiad-error{color:#dc3545}.olympiad-content{display:grid;grid-template-columns:340px 1fr;gap:16px}@media (max-width: 1200px){.olympiad-content{grid-template-columns:1fr}}.contests-panel{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;position:sticky;top:16px;align-self:start}.panel-title{margin:0 0 10px;font-size:15px;color:var(--text-primary, #1a1a2e);flex-shrink:0}.contests-panel-scroll{overflow-y:auto;max-height:calc(100vh - 180px);min-height:0;scrollbar-width:none;-ms-overflow-style:none}.contests-panel-scroll::-webkit-scrollbar{display:none}.contest-category{margin-bottom:14px}.category-title{margin:0 0 8px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.contest-cards{display:flex;flex-direction:column;gap:6px}.contest-card{padding:10px 12px;background:#fafbfc;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.contest-card:hover{background:#f0f4f8;border-color:#e2e8f0}.contest-card.selected{background:#eff6ff;border-color:#3b82f6}.contest-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.contest-code{font-size:11px;font-weight:700;color:#3b82f6;background:#dbeafe;padding:2px 8px;border-radius:20px}.contest-badge{display:flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:12px}.contest-badge.practiced{background:#dcfce7;color:#16a34a}.contest-name{margin:0 0 4px;font-size:13px;color:var(--text-primary, #1a1a2e);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.contest-grade-level{font-size:11px;font-weight:500;color:#7c3aed;background:#ede9fe;padding:2px 8px;border-radius:10px}.contest-meta{display:flex;gap:10px;margin-bottom:0}.meta-item{display:flex;align-items:center;gap:3px;font-size:11px;color:#666}.contest-questions-count{font-size:12px}.contest-questions-count .available{color:#16a34a}.contest-questions-count .unavailable{color:#dc3545}.contest-best-score{display:flex;align-items:center;gap:5px;margin-top:6px;padding-top:6px;border-top:1px solid #e5e7eb;font-size:11px;color:#f59e0b}.details-panel{display:flex;flex-direction:column;gap:14px}.contest-details-card{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 2px 8px #0000000f}.details-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.details-header h2{margin:0;font-size:18px;color:var(--text-primary, #1a1a2e)}.contest-code-large{font-size:12px;font-weight:700;color:#3b82f6;background:#dbeafe;padding:4px 12px;border-radius:20px}.contest-description{margin:0 0 14px;color:var(--text-secondary, #666);line-height:1.5;font-size:13px}.contest-info-grid{display:flex;gap:10px;margin-bottom:16px}@media (max-width: 768px){.contest-info-grid{flex-wrap:wrap}.contest-info-grid .info-item{flex:1 1 calc(50% - 6px)}}.info-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a;transition:all .2s ease}.info-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.info-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;text-align:center}.info-value{font-size:17px;font-weight:700;color:#3b82f6}.stats-summary{padding:14px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:10px;margin-bottom:16px}.stats-summary h3{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;color:#0369a1}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-item{text-align:center}.stat-value{display:block;font-size:22px;font-weight:700;color:#0369a1}.stat-label{font-size:11px;color:#0369a1;opacity:.8}.start-test-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.start-test-section h3{margin:0 0 10px;font-size:14px;color:var(--text-primary, #1a1a2e)}.mode-buttons{display:flex;flex-direction:column;gap:8px}.mode-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-btn.simulation{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.mode-btn.simulation:hover:not(:disabled){transform:translate(4px);box-shadow:0 4px 12px #f59e0b4d}.mode-btn.practice{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.mode-btn.practice:hover:not(:disabled){transform:translate(4px);box-shadow:0 4px 12px #3b82f64d}.mode-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:16px}.mode-btn.simulation .mode-icon{background:#f59e0b;color:#fff}.mode-btn.practice .mode-icon{background:#3b82f6;color:#fff}.mode-info{flex:1;display:flex;flex-direction:column;gap:4px}.mode-name{font-size:14px;font-weight:600;color:var(--text-primary, #1a1a2e)}.mode-desc{font-size:12px;color:var(--text-secondary, #666)}.mode-btn .arrow{color:#888;font-size:16px}.history-card{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000f}.history-card h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;color:var(--text-primary, #1a1a2e)}.history-loading{display:flex;justify-content:center;padding:24px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fafbfc;border-radius:10px;cursor:pointer;transition:background .2s}.history-item:hover{background:#f0f4f8}.history-item.abandoned{opacity:.6}.history-left{display:flex;flex-direction:column;gap:4px}.history-mode{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.history-mode.simulation{color:#f59e0b}.history-mode.practice{color:#3b82f6}.history-date{font-size:12px;color:#888}.history-right{display:flex;align-items:center;gap:16px}.history-score{font-size:16px;font-weight:700;padding:4px 12px;border-radius:8px}.history-score.excellent{background:#dcfce7;color:#16a34a}.history-score.good{background:#dbeafe;color:#2563eb}.history-score.average{background:#fef3c7;color:#d97706}.history-score.needs-work{background:#fee2e2;color:#dc2626}.history-time{font-size:13px;color:#666}.history-status{font-size:12px;color:#888;font-style:italic}.history-status.in-progress{display:flex;align-items:center;gap:6px;color:#f59e0b;font-style:normal;font-weight:500}.history-center{display:flex;align-items:center;gap:12px;flex:1;justify-content:center}.remaining-time{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#16a34a;background:#dcfce7;padding:4px 10px;border-radius:8px}.remaining-time.warning{color:#d97706;background:#fef3c7}.remaining-time.danger{color:#dc2626;background:#fee2e2;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.history-action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.history-action-btn.view{background:#dbeafe;color:#2563eb}.history-action-btn.view:hover{background:#bfdbfe}.history-action-btn.resume{background:#dcfce7;color:#16a34a}.history-action-btn.resume:hover{background:#bbf7d0}.history-action-btn.delete{background:transparent;color:#9ca3af;padding:8px 10px}.history-action-btn.delete:hover{background:#fee2e2;color:#dc2626}.history-action-btn.delete.confirm{background:#dc2626;color:#fff;padding:8px 14px}.history-action-btn.delete:disabled{opacity:.5;cursor:not-allowed}.history-item.in_progress{background:linear-gradient(135deg,#fef3c7,#fde68a 20%,#fafbfc 20%);border-left:3px solid #f59e0b}.history-empty{text-align:center;padding:40px;color:#888}.no-contest-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000000f;text-align:center}.no-contest-selected .empty-icon{font-size:48px;color:#ddd;margin-bottom:14px}.no-contest-selected h3{margin:0 0 8px;font-size:18px;color:var(--text-primary, #1a1a2e)}.no-contest-selected p{margin:0;color:#888}.recent-activity{margin-top:16px;background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000f}.recent-activity h2{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;color:var(--text-primary, #1a1a2e)}.recent-activity h2 svg{color:#f59e0b}.activity-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.activity-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:#fafbfc;border-radius:12px;cursor:pointer;transition:all .2s}.activity-item:hover{background:#f0f4f8;transform:translateY(-2px)}.activity-contest{display:flex;align-items:center;gap:10px}.activity-code{font-size:11px;font-weight:700;color:#3b82f6;background:#dbeafe;padding:3px 8px;border-radius:12px}.activity-name{font-size:14px;font-weight:500;color:var(--text-primary, #1a1a2e)}.activity-meta{display:flex;align-items:center;gap:12px}.activity-mode{font-size:12px;font-weight:500}.activity-mode.simulation{color:#f59e0b}.activity-mode.practice{color:#3b82f6}.activity-date{font-size:12px;color:#888}.activity-score{font-size:14px;font-weight:700;padding:4px 10px;border-radius:8px}.activity-status-area{display:flex;align-items:center;gap:12px;margin-top:4px}.activity-action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.activity-action-btn.view{background:#dbeafe;color:#2563eb}.activity-action-btn.view:hover{background:#bfdbfe}.activity-action-btn.resume{background:#dcfce7;color:#16a34a}.activity-action-btn.resume:hover{background:#bbf7d0}.activity-action-btn.delete{background:transparent;color:#9ca3af;padding:6px 8px}.activity-action-btn.delete:hover{background:#fee2e2;color:#dc2626}.activity-action-btn.delete.confirm{background:#dc2626;color:#fff;padding:6px 10px;font-size:11px}.activity-action-btn.delete:disabled{opacity:.5;cursor:not-allowed}.activity-status{font-size:12px;color:#888;font-style:italic}.activity-item.in_progress{background:linear-gradient(135deg,#fef3c7,#fde68a 15%,#fafbfc 15%);border-left:3px solid #f59e0b}.olympiad-dashboard::-webkit-scrollbar{width:8px}.olympiad-dashboard::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.olympiad-dashboard::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.olympiad-dashboard::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width: 768px){.olympiad-dashboard{padding:12px}.olympiad-header{margin-bottom:16px}.olympiad-title{gap:8px;margin-bottom:4px}.olympiad-title h1{font-size:20px}.olympiad-title .title-icon{font-size:24px}.olympiad-subtitle{font-size:13px}.olympiad-content{gap:16px}.contests-panel{padding:12px}.panel-title{font-size:16px;margin-bottom:12px}.category-title{font-size:11px;margin-bottom:8px}.contest-cards{gap:8px}.contest-card{padding:12px}.contest-name{font-size:14px;margin-bottom:6px}.contest-meta{flex-wrap:wrap;gap:8px;margin-bottom:4px}.meta-item{font-size:11px}.contest-badge,.contest-grade-level{padding:2px 6px;font-size:10px}.contest-best-score{margin-top:8px;padding-top:8px;font-size:12px}}.existing-session-modal{width:90%;max-width:460px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 20px 60px #0003}.existing-session-modal h3{margin:0 0 12px;font-size:20px;color:var(--text-primary, #1a1a2e)}.existing-session-modal p{margin:0 0 16px;color:var(--text-secondary, #666);line-height:1.5}.existing-session-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary, #f5f6fa);border-radius:10px;margin-bottom:20px}.session-mode-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.session-mode-badge.simulation{background:#3b82f61a;color:#3b82f6}.session-mode-badge.practice{background:#22c55e1a;color:#22c55e}.session-date{color:var(--text-secondary, #999);font-size:13px}.existing-session-modal .modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.existing-session-modal .cancel-btn{padding:10px 18px;border:1px solid var(--border-color, #e0e0e0);background:#fff;border-radius:10px;cursor:pointer;font-size:14px;color:var(--text-secondary, #666)}.existing-session-modal .cancel-btn:hover{background:var(--bg-secondary, #f5f6fa)}.existing-session-modal .resume-btn{padding:10px 18px;background:#3b82f6;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.existing-session-modal .resume-btn:hover{background:#2563eb}.existing-session-modal .new-test-btn{padding:10px 18px;background:#ef4444;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.existing-session-modal .new-test-btn:hover{background:#dc2626}.test-session{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary, #f5f7fa)}.test-loading,.test-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;font-size:18px;color:var(--text-secondary, #666)}.test-error{color:#dc3545}.test-error svg{font-size:48px}.test-error button{padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.test-session.no-header{height:100vh}.nav-header{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #e5e7eb}.nav-header-top{display:flex;align-items:center;gap:10px}.exit-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border:none;border-radius:6px;color:#666;cursor:pointer;transition:all .2s;font-size:12px;flex-shrink:0}.exit-btn:hover{background:#fee2e2;color:#dc2626}.contest-code{font-size:12px;font-weight:600;color:var(--text-primary, #1a1a2e)}.mode-badge{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;border-radius:16px;font-size:11px;font-weight:500;width:fit-content}.mode-badge.simulation{background:#fef3c7;color:#d97706}.mode-badge.practice{background:#dbeafe;color:#2563eb}.question-progress{font-size:12px;font-weight:600;color:var(--text-primary, #1a1a2e)}.timer{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;font-size:16px;font-weight:700;color:#16a34a;font-family:monospace}.timer.warning{background:#fffbeb;border-color:#fcd34d;color:#d97706}.timer.danger{background:#fef2f2;border-color:#fca5a5;color:#dc2626;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.nav-header .finish-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s;width:100%}.nav-header .finish-btn:hover{background:#2563eb}.question-actions .finish-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.question-actions .finish-btn:hover{background:#2563eb}.test-content{display:flex;flex:1;overflow:hidden;height:100%}.question-navigator{width:220px;min-width:220px;padding:12px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:8px;overflow-y:auto;height:100%}.nav-title{font-size:14px;font-weight:600;color:var(--text-primary, #1a1a2e);padding-left:15px}.nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;justify-content:center}.nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:2px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:#666}.nav-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.nav-btn.current{background:#3b82f6;border-color:#3b82f6;color:#fff}.nav-btn.answered{background:#dcfce7;border-color:#86efac;color:#16a34a}.nav-btn.unanswered{background:#f5f5f5}.nav-legend{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:8px;font-size:11px;color:#666}.legend-item .dot{width:12px;height:12px;border-radius:3px;border:2px solid #e5e7eb}.legend-item.current .dot{background:#3b82f6;border-color:#3b82f6}.legend-item.answered .dot{background:#dcfce7;border-color:#86efac}.legend-item.unanswered .dot{background:#f5f5f5}.question-area{flex:1;padding:10px;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start}.question-card{width:100%;max-width:700px;background:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 2px 8px #0000000f;margin-bottom:8px;display:flex;flex-direction:column}.question-header{display:none}.question-number{font-size:14px;font-weight:700;color:#3b82f6}.question-year{font-size:13px;color:#888}.question-text{font-size:14px;line-height:1.5;color:var(--text-primary, #1a1a2e);margin-bottom:10px;white-space:pre-wrap}.question-text .question-number-inline{font-weight:700;color:#3b82f6;margin-right:6px}.question-images{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.question-images img{max-width:180px;max-height:120px;border-radius:6px;border:1px solid #e5e7eb}.options-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.option-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fafbfc;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.option-btn:hover:not(:disabled){background:#f0f4f8;border-color:#3b82f6}.option-btn:disabled{cursor:default}.option-btn.selected{background:#eff6ff;border-color:#3b82f6}.option-btn.correct{background:#dcfce7;border-color:#16a34a}.option-btn.incorrect{background:#fef2f2;border-color:#dc2626}.option-letter{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;font-size:11px;font-weight:700;color:#666;flex-shrink:0}.option-btn.selected .option-letter{background:#3b82f6;border-color:#3b82f6;color:#fff}.option-btn.correct .option-letter{background:#16a34a;border-color:#16a34a;color:#fff}.option-btn.incorrect .option-letter{background:#dc2626;border-color:#dc2626;color:#fff}.option-content{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}.option-text{font-size:14px;color:var(--text-primary, #1a1a2e);line-height:1.4}.option-image{max-width:55px;max-height:55px;width:auto;height:auto;object-fit:contain;border-radius:4px;border:1px solid #e5e7eb;background:#fff}.option-btn.has-image{align-items:center;padding:4px 10px}.option-btn.has-image .option-letter{margin-top:0}.inline-question-image{display:inline-block;max-width:180px;max-height:120px;vertical-align:middle;margin:4px 8px;border-radius:6px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.option-icon{font-size:20px;flex-shrink:0}.option-icon.correct{color:#16a34a}.option-icon.incorrect{color:#dc2626}.practice-result{padding:10px;border-radius:10px;margin-bottom:10px}.practice-result.correct{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac}.practice-result.incorrect{background:linear-gradient(135deg,#fef2f2,#fecaca);border:1px solid #fca5a5}.result-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:6px}.practice-result.correct .result-header{color:#16a34a}.practice-result.incorrect .result-header{color:#dc2626}.result-explanation{display:flex;gap:12px;padding:16px;background:#fff;border-radius:8px}.result-explanation svg{color:#f59e0b;font-size:20px;flex-shrink:0;margin-top:2px}.result-explanation p{margin:0;font-size:14px;line-height:1.6;color:var(--text-primary, #1a1a2e)}.result-explanation.markdown-content{flex-direction:column;gap:0}.result-explanation.markdown-content h2{font-size:16px;font-weight:700;color:#3b82f6;margin:16px 0 8px;padding-bottom:4px;border-bottom:2px solid #e5e7eb}.result-explanation.markdown-content h2:first-child{margin-top:0}.result-explanation.markdown-content p{margin:8px 0;font-size:14px;line-height:1.7;color:var(--text-primary, #1a1a2e)}.result-explanation.markdown-content strong{color:#1e40af;font-weight:600}.result-explanation.markdown-content hr{display:none}.practice-result .explain-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.practice-result .explain-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.practice-result .explain-btn:disabled{opacity:.7;cursor:not-allowed}.practice-result .explain-btn svg{font-size:16px}.practice-result .explain-btn .spin{animation:spin 1s linear infinite}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;margin-top:auto;border-top:1px solid #e5e7eb}.nav-action{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.nav-action:hover:not(:disabled){background:#f5f5f5;border-color:#3b82f6;color:#3b82f6}.nav-action:disabled{opacity:.4;cursor:not-allowed}.submit-btn{display:flex;align-items:center;gap:6px;padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.submit-btn:disabled{background:#cbd5e1;cursor:not-allowed}.submit-btn.continue{background:#16a34a}.submit-btn.continue:hover:not(:disabled){background:#15803d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.confirm-modal{width:90%;max-width:420px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 20px 60px #0003}.confirm-modal h3{margin:0 0 12px;font-size:20px;color:var(--text-primary, #1a1a2e)}.confirm-modal p{margin:0 0 20px;color:var(--text-secondary, #666);line-height:1.5}.finish-summary{display:flex;gap:20px;padding:16px;background:#f8fafc;border-radius:10px;margin-bottom:20px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:12px;color:#888}.summary-value{font-size:24px;font-weight:700;color:var(--text-primary, #1a1a2e)}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.cancel-btn{padding:12px 24px;background:#f5f5f5;border:none;border-radius:8px;font-size:14px;color:#666;cursor:pointer;transition:background .2s}.cancel-btn:hover{background:#e5e7eb}.danger-btn{padding:12px 24px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.danger-btn:hover{background:#b91c1c}.primary-btn{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.primary-btn:hover:not(:disabled){background:#2563eb}.primary-btn:disabled{background:#cbd5e1;cursor:not-allowed}@media (max-width: 900px){.question-navigator{display:none}.header-center{position:static;transform:none}.test-header{flex-wrap:wrap;gap:12px}}@media (max-width: 600px){.question-card{padding:20px}.question-actions{flex-direction:column}.nav-action,.submit-btn{width:100%;justify-content:center}}.olympiad-results{padding:16px;position:absolute;top:0;left:0;right:0;bottom:0;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary, #f5f7fa);box-sizing:border-box}.results-loading,.results-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:16px;font-size:16px;color:var(--text-secondary, #666)}.results-error button{padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer}.results-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.back-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#666;cursor:pointer;transition:all .2s;font-size:13px}.back-btn:hover{background:#f5f5f5;border-color:#3b82f6;color:#3b82f6}.results-header h1{margin:0;font-size:18px;color:var(--text-primary, #1a1a2e)}.score-card{display:flex;gap:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000f;margin-bottom:16px}@media (max-width: 900px){.score-card{flex-direction:column;align-items:center;text-align:center}}.score-visual{display:flex;flex-direction:column;align-items:center;gap:8px}.score-circle{width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:4px solid #3b82f6}.score-circle.excellent{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#16a34a}.score-circle.good{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6}.score-circle.average{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.score-circle.needs-work{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#dc2626}.score-number{font-size:36px;font-weight:800;line-height:1}.score-circle.excellent .score-number{color:#16a34a}.score-circle.good .score-number{color:#3b82f6}.score-circle.average .score-number{color:#f59e0b}.score-circle.needs-work .score-number{color:#dc2626}.score-total{font-size:14px;color:#888;font-weight:500}.score-percentage{font-size:18px;font-weight:700;color:var(--text-primary, #1a1a2e)}.score-details{flex:1;display:flex;flex-direction:column;gap:12px}.contest-info{display:flex;flex-direction:column;gap:4px}.contest-code{font-size:11px;font-weight:700;color:#3b82f6;background:#dbeafe;padding:2px 8px;border-radius:12px;align-self:flex-start}.contest-info h2{margin:0;font-size:16px;color:var(--text-primary, #1a1a2e)}.mode-tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;align-self:flex-start}.mode-tag.simulation{background:#fef3c7;color:#d97706}.mode-tag.practice{background:#dbeafe;color:#2563eb}.achievement-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;align-self:flex-start}.achievement-badge.gold{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;border:1px solid #f59e0b}.achievement-badge.gold svg{color:#f59e0b;font-size:16px}.achievement-badge.silver{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;border:1px solid #94a3b8}.achievement-badge.silver svg{color:#64748b;font-size:16px}.achievement-badge.bronze{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #d97706}.achievement-badge.bronze svg{color:#d97706;font-size:16px}.stats-row{display:flex;gap:12px;flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;background:#f8fafc;border-radius:8px;min-width:70px}.stat svg{font-size:14px}.stat.correct{color:#16a34a;background:#f0fdf4}.stat.incorrect{color:#dc2626;background:#fef2f2}.stat.skipped{color:#888;background:#f5f5f5}.stat.time{color:#3b82f6;background:#eff6ff}.stat-value{font-size:18px;font-weight:700}.stat-label{font-size:10px;opacity:.8}.action-buttons{display:flex;gap:8px;margin-top:auto}.retry-btn,.dashboard-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.retry-btn{background:#3b82f6;color:#fff;border:none}.retry-btn:hover{background:#2563eb}.dashboard-btn{background:#fff;color:#666;border:1px solid #e5e7eb}.dashboard-btn:hover{background:#f5f5f5;border-color:#3b82f6;color:#3b82f6}.time-analysis{background:#fff;border-radius:10px;padding:14px;margin-bottom:16px;box-shadow:0 1px 4px #0000000a}.time-analysis h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;color:var(--text-primary, #1a1a2e)}.time-analysis h3 svg{color:#3b82f6;font-size:12px}.time-stats{display:flex;gap:12px;flex-wrap:wrap}.time-stat{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:#f8fafc;border-radius:8px;min-width:120px}.time-stat.correct{background:#f0fdf4;border-left:3px solid #16a34a}.time-stat.incorrect{background:#fef2f2;border-left:3px solid #dc2626}.time-label{font-size:11px;color:#666}.time-value{font-size:18px;font-weight:700;color:var(--text-primary, #1a1a2e);font-family:monospace}.questions-review{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 4px #0000000a}.questions-review h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;color:var(--text-primary, #1a1a2e)}.questions-review h3 svg{color:#3b82f6;font-size:12px}.questions-list{display:flex;flex-direction:column;gap:6px}.question-item{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:border-color .2s}.question-item:hover{border-color:#cbd5e1}.question-item.correct{border-left:3px solid #16a34a}.question-item.incorrect{border-left:3px solid #dc2626}.question-item.skipped{border-left:3px solid #888}.question-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .2s}.question-header:hover{background:#f8fafc}.question-status{flex-shrink:0}.status-icon{font-size:14px}.status-icon.correct{color:#16a34a}.status-icon.incorrect{color:#dc2626}.status-icon.skipped{color:#888}.question-num{font-size:12px;font-weight:700;color:#3b82f6;min-width:28px}.question-preview{flex:1;font-size:12px;color:var(--text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.question-meta{display:flex;align-items:center;gap:8px}.year-tag{font-size:10px;color:#888;background:#f5f5f5;padding:2px 6px;border-radius:4px}.time-tag{display:flex;align-items:center;gap:3px;font-size:10px;color:#888}.expand-icon{color:#aaa;font-size:12px}.question-details{padding:14px;background:#fafbfc;border-top:1px solid #e5e7eb}.full-question .question-text{font-size:13px;line-height:1.6;color:var(--text-primary, #1a1a2e);margin-bottom:14px;white-space:pre-wrap}.question-images{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.question-images img{max-width:200px;max-height:150px;border-radius:6px;border:1px solid #e5e7eb}.options-review{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.option-review{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.option-review.correct{background:#f0fdf4;border-color:#86efac}.option-review.wrong{background:#fef2f2;border-color:#fca5a5}.option-review.selected-correct{background:#f0fdf4;border:2px solid #16a34a}.option-review .option-letter{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%;font-size:11px;font-weight:700;color:#666;flex-shrink:0}.option-review.correct .option-letter{background:#16a34a;color:#fff}.option-review.wrong .option-letter{background:#dc2626;color:#fff}.option-review .option-text{flex:1;font-size:12px;color:var(--text-primary, #1a1a2e)}.option-mark{font-size:14px;flex-shrink:0}.option-mark.correct{color:#16a34a}.option-mark.wrong{color:#dc2626}.answer-summary{display:flex;gap:16px;padding:10px 12px;background:#fff;border-radius:6px;margin-bottom:12px}.answer-info{display:flex;flex-direction:column;gap:2px}.answer-info .label{font-size:10px;color:#888}.answer-info .value{font-size:14px;font-weight:700}.answer-info .value.correct{color:#16a34a}.answer-info .value.incorrect{color:#dc2626}.explanation{position:relative;padding:12px;background:linear-gradient(135deg,#fefce8,#fef9c3);border-radius:8px;border-left:3px solid #f59e0b;overflow:hidden}.explanation.collapsed .markdown-content{max-height:120px;overflow:hidden}.explanation.expanded .markdown-content{max-height:none}.explanation-fade{position:absolute;bottom:40px;left:0;right:0;height:50px;background:linear-gradient(to bottom,transparent,#fef9c3);pointer-events:none}.read-more-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;margin-top:8px;background:#f59e0b26;border:1px solid #f59e0b;border-radius:6px;color:#b45309;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.read-more-btn:hover{background:#f59e0b40}.read-more-btn svg{font-size:10px}.explanation-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#b45309;margin-bottom:8px}.explanation-header svg{color:#f59e0b;font-size:12px}.explanation p{margin:0;font-size:12px;line-height:1.5;color:#78350f;white-space:pre-wrap}.explanation .markdown-content{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.explanation .markdown-content h2{font-size:14px;font-weight:700;color:#b45309;margin:12px 0 6px;padding-bottom:4px;border-bottom:1px solid #fde68a}.explanation .markdown-content h2:first-child{margin-top:0}.explanation .markdown-content p{margin:6px 0;font-size:13px;line-height:1.6;color:#78350f}.explanation .markdown-content strong{color:#92400e;font-weight:600}.explanation .markdown-content ul,.explanation .markdown-content ol{margin:6px 0;padding-left:20px}.explanation .markdown-content li{font-size:13px;line-height:1.6;color:#78350f;margin:4px 0}.explanation .markdown-content hr{display:none}.explanation-section{margin-top:12px}.no-explanation{display:flex;align-items:center;gap:10px}.explain-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:6px;font-size:12px;font-weight:500;color:#b45309;cursor:pointer;transition:all .2s}.explain-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #f59e0b40}.explain-btn.retry{background:#fee2e2;border-color:#f87171;color:#dc2626;padding:5px 10px;font-size:11px}.explain-btn.retry:hover{box-shadow:0 3px 8px #dc262626}.explanation-loading{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f0f9ff;border-radius:6px;color:#0369a1;font-size:12px}.explanation-error{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fef2f2;border-radius:6px;color:#dc2626;font-size:12px}.spin{animation:spin 1s linear infinite}@media (max-width: 768px){.olympiad-results{padding:12px}.score-card{padding:14px;gap:14px}.score-circle{width:100px;height:100px}.score-number{font-size:28px}.score-total{font-size:12px}.stats-row{gap:8px}.stat{min-width:60px;padding:6px 10px}.stat-value{font-size:14px}.stat-label{font-size:9px}.action-buttons{flex-direction:column}.time-stats{flex-direction:column;gap:8px}.time-stat{min-width:auto}.question-preview{display:none}}.olympiad-info-page{padding:14px 16px;height:100%;overflow-y:auto;background:var(--bg-primary, #f5f7fa)}.olympiad-info-header{margin-bottom:12px}.olympiad-info-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.olympiad-info-title h1{margin:0;font-size:20px;color:var(--text-primary, #1a1a2e)}.olympiad-info-title .title-icon{font-size:22px;color:#3b82f6}.olympiad-info-subtitle{margin:0;color:var(--text-secondary, #666);font-size:13px}.olympiad-info-loading{display:flex;align-items:center;justify-content:center;gap:12px;height:300px;font-size:16px;color:var(--text-secondary, #666)}.olympiad-info-page .oi-spin{animation:oi-spin 1s linear infinite}@keyframes oi-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.olympiad-info-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:2px solid var(--border-color, #e5e7eb);padding-bottom:0}.olympiad-info-tabs .oi-tab-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary, #666);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;border-radius:0}.olympiad-info-tabs .oi-tab-btn:hover{color:var(--text-primary, #333);background:none}.olympiad-info-tabs .oi-tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;background:none;font-weight:600}.olympiad-info-tabs .oi-tab-badge{background:#3b82f6;color:#fff;font-size:11px;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.olympiad-info-filters{margin-bottom:10px}.olympiad-info-page .oi-search-box{display:flex;align-items:center;gap:8px;background:var(--bg-secondary, white);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:6px 12px;margin-bottom:8px}.olympiad-info-page .oi-search-box svg{color:var(--text-secondary, #999)}.olympiad-info-page .oi-search-box input{border:none;outline:none;flex:1;font-size:14px;background:transparent;color:var(--text-primary, #333)}.olympiad-info-page .oi-category-filters{display:flex;gap:8px;flex-wrap:wrap}.olympiad-info-page .oi-category-btn{padding:4px 10px;border:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, white);border-radius:20px;cursor:pointer;font-size:12px;color:var(--text-secondary, #666);transition:all .2s}.olympiad-info-page .oi-category-btn:hover{border-color:#3b82f6;color:#3b82f6}.olympiad-info-page .oi-category-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.olympiad-info-grid{display:flex;flex-direction:column;gap:8px}.olympiad-info-page .oi-no-results{text-align:center;padding:24px;color:var(--text-secondary, #666);font-size:13px}.olympiad-info-page .resource-card{background:var(--bg-secondary, white);border-radius:8px;box-shadow:0 1px 3px #0000000f;overflow:hidden;transition:box-shadow .2s}.olympiad-info-page .resource-card:hover{box-shadow:0 4px 12px #0000001a}.olympiad-info-page .resource-card.expanded{box-shadow:0 4px 16px #0000001f}.olympiad-info-page .resource-card-header{padding:10px 14px;cursor:pointer}.olympiad-info-page .resource-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.olympiad-info-page .resource-name-row{display:flex;align-items:center;gap:8px;flex:1}.olympiad-info-page .resource-code{background:var(--bg-primary, #f0f4f8);color:#3b82f6;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.olympiad-info-page .resource-name{margin:0;font-size:14px;color:var(--text-primary, #1a1a2e);font-weight:600}.olympiad-info-page .expand-toggle{color:var(--text-secondary, #999);font-size:14px;padding:4px}.olympiad-info-page .resource-meta{display:flex;gap:6px;flex-wrap:wrap}.olympiad-info-page .meta-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:500}.olympiad-info-page .category-badge{background:#eff6ff;color:#3b82f6}.olympiad-info-page .grade-badge{background:#f0fdf4;color:#16a34a}.olympiad-info-page .type-badge{background:#faf5ff;color:#9333ea}.olympiad-info-page .prestige-badge{background:#fffbeb}.olympiad-info-page .status-badge{font-size:11px;padding:2px 8px}.olympiad-info-page .resource-card-details{padding:10px 14px;border-top:1px solid var(--border-color, #f0f0f0)}.olympiad-info-page .resource-description{margin:0 0 8px;color:var(--text-primary, #333);font-size:13px;line-height:1.4}.olympiad-info-page .resource-subject{margin-bottom:8px;font-size:12px;color:var(--text-secondary, #666)}.olympiad-info-page .resource-link{display:inline-flex;align-items:center;gap:5px;color:#3b82f6;text-decoration:none;font-size:12px;margin-bottom:8px}.olympiad-info-page .resource-link:hover{text-decoration:underline}.olympiad-info-page .registration-link{color:#10b981;font-weight:500}.olympiad-info-page .resource-dates-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:8px 10px;background:var(--bg-tertiary, #f8fafc);border-radius:6px;border:1px solid var(--border-color, #e2e8f0)}.olympiad-info-page .date-row{display:flex;align-items:center;gap:6px;font-size:12px}.olympiad-info-page .date-icon{color:#3b82f6;width:14px;flex-shrink:0}.olympiad-info-page .date-icon.deadline{color:#ef4444}.olympiad-info-page .date-icon.competition{color:#f59e0b}.olympiad-info-page .date-icon.cost{color:#10b981}.olympiad-info-page .date-label{color:var(--text-secondary, #64748b);min-width:140px;flex-shrink:0}.olympiad-info-page .date-value{color:var(--text-primary, #334155);font-weight:500}.olympiad-info-page .date-value.deadline{color:#ef4444;font-weight:600}.olympiad-info-page .resource-actions{margin-top:8px}.olympiad-info-page .track-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;transition:background .2s}.olympiad-info-page .track-btn:hover{background:#2563eb}.olympiad-info-page .track-btn:disabled{opacity:.7;cursor:not-allowed}.olympiad-info-page .progress-inline{display:flex;align-items:center;gap:8px}.olympiad-info-page .status-select{padding:4px 8px;border:2px solid;border-radius:6px;font-size:12px;cursor:pointer;background:var(--bg-secondary, white);color:var(--text-primary, #333)}.olympiad-info-page .remove-track-btn{padding:4px 8px;background:none;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;cursor:pointer;color:var(--text-secondary, #999);transition:all .2s}.olympiad-info-page .remove-track-btn:hover{color:#dc2626;border-color:#dc2626}.olympiad-info-page .my-progress-section{margin-top:4px}.olympiad-info-page .oi-no-progress{text-align:center;padding:24px;color:var(--text-secondary, #666);font-size:13px}.olympiad-info-page .progress-list{display:flex;flex-direction:column;gap:8px}.olympiad-info-page .progress-card{background:var(--bg-secondary, white);border-radius:8px;padding:10px 14px;box-shadow:0 1px 3px #0000000f}.olympiad-info-page .progress-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.olympiad-info-page .progress-resource-name{margin:2px 0 0;font-size:14px;color:var(--text-primary, #1a1a2e);font-weight:600}.olympiad-info-page .progress-card-actions{display:flex;gap:8px;align-items:center}.olympiad-info-page .progress-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.olympiad-info-page .resource-link-small{display:inline-flex;align-items:center;gap:4px;color:#3b82f6;text-decoration:none;font-size:12px}.olympiad-info-page .resource-link-small:hover{text-decoration:underline}.olympiad-info-page .progress-notes{padding:6px 10px;background:var(--bg-primary, #f5f7fa);border-radius:6px;font-size:12px;color:var(--text-secondary, #999);cursor:pointer;min-height:16px;transition:background .2s}.olympiad-info-page .progress-notes:hover{background:var(--bg-hover, #eef2f7)}.olympiad-info-page .progress-edit-form{margin-top:8px}.olympiad-info-page .notes-textarea{width:100%;min-height:48px;padding:6px 8px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:13px;resize:vertical;font-family:inherit;background:var(--bg-secondary, white);color:var(--text-primary, #333);box-sizing:border-box}.olympiad-info-page .edit-actions{display:flex;gap:8px;margin-top:8px}.olympiad-info-page .save-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.olympiad-info-page .save-btn:hover{background:#059669}.olympiad-info-page .cancel-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:none;border:1px solid var(--border-color, #e5e7eb);color:var(--text-secondary, #666);border-radius:6px;cursor:pointer;font-size:13px}.olympiad-info-page .cancel-btn:hover{border-color:#999}.olympiad-info-page .progress-card-top-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.olympiad-info-page .progress-actions-row{display:flex;gap:6px;margin-top:8px}.olympiad-info-page .create-project-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.olympiad-info-page .create-project-btn:hover{background:linear-gradient(135deg,#7c3aed,#5b21b6);box-shadow:0 2px 8px #6d28d94d}.olympiad-info-page .create-project-btn:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.olympiad-info-page{padding:10px 12px}.olympiad-info-title h1{font-size:18px}.olympiad-info-page .resource-card-header{padding:8px 10px}.olympiad-info-page .resource-card-details{padding:0 10px 8px}.olympiad-info-page .progress-card-header{flex-direction:column}.olympiad-info-page .progress-card-actions{width:100%}}.public-portfolio-wrapper{min-height:100vh;background:#fdfcfb}.public-portfolio-iframe{width:100%;min-height:100vh;border:none;display:block}.public-portfolio-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;gap:20px}.public-portfolio-loading p{font-size:1.1rem;opacity:.9}.public-portfolio-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:portfolio-spin 1s linear infinite}@keyframes portfolio-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.public-portfolio-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f9fafb;text-align:center;padding:40px}.public-portfolio-error h2{font-size:1.8rem;color:#1f2937;margin-bottom:12px}.public-portfolio-error p{font-size:1.1rem;color:#6b7280}.user-documents-page{padding:0;width:100%;height:100%;overflow-y:auto;box-sizing:border-box}.user-documents-title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 16px}.user-documents-page .loading-text{text-align:center;padding:40px;color:#6b7280;font-size:14px}.activity-notes-tab{padding:0}.activity-notes-loading{text-align:center;padding:40px;color:var(--text-secondary)}.notes-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.notes-tab-header h3{margin:0;font-size:1.15rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.notes-tab-header h3 svg{color:#f0ad4e}.add-note-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary-color, #667eea);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.add-note-btn:hover{background:#5a6fd6;transform:translateY(-1px)}.note-form-card{background:#fff;border:2px solid var(--primary-color, #667eea);border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #667eea26}.note-title-input{width:100%;padding:10px 12px;border:1px solid var(--border, #e0e0e0);border-radius:8px;font-size:1rem;font-weight:600;margin-bottom:10px;box-sizing:border-box;font-family:inherit}.note-title-input:focus{outline:none;border-color:var(--primary-color, #667eea);box-shadow:0 0 0 2px #667eea33}.note-content-input{width:100%;padding:10px 12px;border:1px solid var(--border, #e0e0e0);border-radius:8px;font-size:.95rem;resize:vertical;font-family:inherit;box-sizing:border-box;min-height:100px}.note-content-input:focus{outline:none;border-color:var(--primary-color, #667eea);box-shadow:0 0 0 2px #667eea33}.note-form-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.note-save-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary-color, #667eea);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.note-save-btn:hover{background:#5a6fd6}.note-cancel-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f1f1f1;color:#666;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.note-cancel-btn:hover{background:#e0e0e0}.notes-list{display:flex;flex-direction:column;gap:12px}.note-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:all .2s;border:1px solid var(--border, #e8e8e8)}.note-card:hover{box-shadow:0 4px 12px #0000001a}.note-card.expanded{border-color:var(--primary-color, #667eea);box-shadow:0 4px 16px #667eea26}.note-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;transition:background .2s}.note-card-header:hover{background:#f8f9fa}.note-card-title-row{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.note-icon{color:#f0ad4e;font-size:1rem;flex-shrink:0}.note-card-title-row h4{margin:0;font-size:.95rem;color:var(--text-primary, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-card-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.note-date{font-size:.8rem;color:var(--text-secondary, #999);white-space:nowrap}.note-card-actions{display:flex;gap:4px}.note-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;color:#888;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.note-action-btn:hover{transform:scale(1.05)}.note-action-btn.edit:hover{background:#e3f2fd;color:#1976d2}.note-action-btn.delete:hover{background:#ffebee;color:#d32f2f}.note-expand-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:#999;cursor:pointer;border-radius:6px}.note-expand-btn:hover{background:#e0e0e0}.note-card-body{border-top:1px solid var(--border, #eee);padding:16px;background:#fafbfc}.note-content-display p{margin:0;color:var(--text-primary, #333);white-space:pre-wrap;line-height:1.6;font-size:.95rem}.note-empty-content{color:#aaa!important;font-style:italic}.note-edit-form{display:flex;flex-direction:column;gap:10px}.note-card-preview{padding:0 16px 12px;cursor:pointer}.note-card-preview p{margin:0;color:var(--text-secondary, #888);font-size:.85rem;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notes-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:16px}.notes-empty-state .empty-icon{font-size:2.5rem;color:#f0ad4e;opacity:.5;margin-bottom:12px}.notes-empty-state p{margin:0;font-size:1rem;color:#6c757d}.notes-empty-state .hint{font-size:.85rem;color:#aaa;margin-top:8px;margin-bottom:16px;max-width:300px}@media (max-width: 768px){.notes-tab-header{flex-direction:column;gap:12px;align-items:stretch}.add-note-btn{justify-content:center}.note-card-header{flex-wrap:wrap;gap:8px}.note-card-meta{width:100%;justify-content:space-between}.note-date{font-size:.75rem}}.links-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-top:16px}.links-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#555;font-weight:600}.links-header svg{color:#667eea}.add-link-btn{margin-left:auto;display:flex;align-items:center;gap:8px;padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.add-link-btn:hover{background:#5a6fd6;transform:translateY(-1px)}.link-form{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:16px}.link-form .form-group{margin-bottom:12px}.link-form .form-group label{display:block;font-size:.85rem;color:#555;margin-bottom:4px;font-weight:500}.link-form .form-group input,.link-form .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;box-sizing:border-box;font-family:inherit}.link-form .form-group input:focus,.link-form .form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.link-form .form-group textarea{resize:vertical;min-height:60px}.link-form .form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.link-form .form-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:.9rem;transition:all .2s}.link-form .save-btn{background:#667eea;color:#fff}.link-form .save-btn:hover:not(:disabled){background:#5a6fd6}.link-form .save-btn:disabled{opacity:.6;cursor:not-allowed}.link-form .cancel-btn{background:#f1f1f1;color:#666}.link-form .cancel-btn:hover{background:#e0e0e0}.links-list{display:flex;flex-direction:column;gap:12px}.link-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;transition:background .2s}.link-item:hover{background:#e9ecef}.link-item.video-link{align-items:flex-start}.link-icon-wrapper{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#e3f2fd;border-radius:8px;flex-shrink:0}.link-type-icon{font-size:1.4rem;color:#1976d2}.link-type-icon.youtube{color:red}.link-type-icon.video{color:#667eea}.link-type-icon.website{color:#43a047}.video-preview{position:relative;width:160px;height:90px;border-radius:8px;overflow:hidden;cursor:pointer;flex-shrink:0}.video-preview img{width:100%;height:100%;object-fit:cover}.video-preview .play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;transition:background .2s}.video-preview:hover .play-overlay{background:#0009}.video-preview .play-overlay svg{color:#fff;font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.link-content{flex:1;min-width:0}.link-title{font-weight:500;color:#333;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-description{color:#666;font-size:.85rem;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-channel{color:#888;font-size:.8rem;margin-top:4px}.link-actions{display:flex;gap:4px;flex-shrink:0}.link-action-btn{background:none;border:none;padding:8px;cursor:pointer;color:#888;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center;text-decoration:none}.link-action-btn:hover{background:#ddd;color:#333}.link-action-btn.play{color:#667eea}.link-action-btn.play:hover{background:#667eea1a;color:#5a6fd6}.link-action-btn.external{color:#43a047}.link-action-btn.external:hover{background:#43a0471a;color:#2e7d32}.link-action-btn.edit:hover{background:#e3f2fd;color:#1976d2}.link-action-btn.delete:hover{background:#ffebee;color:#d32f2f}.no-links-message{text-align:center;padding:30px 20px;color:#888}.no-links-message .empty-icon{font-size:2.5rem;color:#ddd;margin-bottom:12px}.no-links-message p{margin:0;font-size:.95rem}.no-links-message .hint{font-size:.85rem;color:#aaa;margin-top:8px}.video-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.video-modal{background:#1a1a1a;border-radius:12px;width:100%;max-width:900px;overflow:hidden;box-shadow:0 20px 60px #00000080}.video-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#222;color:#fff}.video-modal-header span{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-modal-btn{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-modal-btn:hover{background:#ffffff1a}.video-modal-content{position:relative;padding-bottom:56.25%;height:0}.video-modal-content iframe{position:absolute;top:0;left:0;width:100%;height:100%}@media (max-width: 768px){.video-preview{width:120px;height:68px}.link-item{flex-wrap:wrap}.link-item.video-link .video-preview{width:100%;height:180px}.link-content{width:100%}.link-actions{margin-left:auto}.add-link-btn{padding:8px 12px;font-size:.85rem}}.activity-dashboard-container{display:flex;flex-direction:column;height:100vh;background-color:var(--background);overflow-y:auto}.activity-dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--text-secondary);background-color:var(--background)}.activity-dashboard-loading .spinner{width:40px;height:40px;border:4px solid var(--border);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.activity-dashboard-error{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary)}.activity-dashboard-header{display:flex;align-items:flex-start;gap:20px;padding:24px 24px 0;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.activity-header-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:1.4rem}.activity-header-info{flex:1;min-width:0}.activity-header-top{display:flex;align-items:center;gap:12px;margin-bottom:4px}.activity-type-badge{padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize}.activity-dates{font-size:.8rem;color:var(--text-secondary);font-style:italic}.activity-header-info h1{margin:0;font-size:1.5rem;color:var(--text-primary);font-weight:700;line-height:1.3}.activity-subtitle{margin:4px 0 0;font-size:.95rem;color:var(--text-secondary);line-height:1.4}.activity-dashboard-container .dashboard-main{flex:1;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;width:100%;background:transparent;padding-bottom:40px}.activity-dashboard-container .dashboard-tabs{display:flex;gap:8px;padding:0 24px;margin-top:20px;margin-bottom:24px;border-bottom:1px solid var(--border)}.activity-dashboard-container .dashboard-tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.activity-dashboard-container .dashboard-tab:hover{color:var(--primary-color)}.activity-dashboard-container .dashboard-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.activity-dashboard-container .dashboard-tab .tab-icon{font-size:.9rem}.activity-dashboard-container .dashboard-content-wrapper{padding:0 24px}.activity-dashboard-container .dashboard-nav{padding:16px 24px;background-color:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.activity-dashboard-container .back-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:0}.activity-dashboard-container .back-btn:hover{color:var(--text-primary)}.activity-links-wrapper{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000f}@media (max-width: 768px){.activity-dashboard-header{padding:16px;gap:14px}.activity-header-icon{width:44px;height:44px;font-size:1.1rem;border-radius:12px}.activity-header-info h1{font-size:1.2rem}.activity-dashboard-container .dashboard-tabs{padding:0 16px;overflow-x:auto;gap:4px}.activity-dashboard-container .dashboard-tab{padding:10px 16px;font-size:14px;white-space:nowrap}.activity-dashboard-container .dashboard-content-wrapper{padding:0 16px}}.info-panel{width:300px;background-color:var(--infopanel-bg);border-left:1px solid var(--infopanel-border);padding:24px;overflow-y:auto;flex-shrink:0;color:var(--infopanel-text);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.section-header-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-main h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0;font-weight:600}.children-list{display:flex;flex-direction:column;gap:16px}.child-section{display:flex;flex-direction:column;gap:12px;padding-bottom:20px;margin-bottom:16px;border-bottom:1px solid var(--border)}.child-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.child-card-main{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--surface);border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .2s ease}.child-card-main:hover{background-color:var(--surface-hover);border-color:var(--primary-color);transform:translateY(-1px)}.child-card-main.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px #10b98133}.child-card-main.selected .child-avatar{box-shadow:0 0 0 2px var(--primary-color)}.child-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background-color:var(--background);flex-shrink:0}.child-avatar img,.child-avatar .child-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}.child-avatar .child-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:600;color:var(--text-secondary)}.child-info{flex:1;min-width:0}.child-info h3{font-size:.95rem;font-weight:600;margin:0 0 2px;color:var(--infopanel-text)}.child-grade{font-size:.75rem;color:var(--text-secondary)}.child-menu-container{position:relative;flex-shrink:0}.child-section.menu-open{z-index:10;position:relative}.child-card-main.menu-open{z-index:10;position:relative;transform:none!important}.child-dropdown-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg);min-width:120px;z-index:100;overflow:hidden}.child-details{display:flex;flex-direction:column;gap:12px;padding-left:8px}.detail-section{margin-bottom:12px}.detail-section:last-child{margin-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.detail-section h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0;font-weight:600}.add-btn{background:none;border:none;color:var(--primary-color);font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1}.add-btn:hover{color:var(--primary-hover)}.schools-list{display:flex;flex-direction:column;gap:8px}.school-card{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--background);border-radius:8px;border:1px solid var(--border);transition:all .2s ease;position:relative;z-index:1}.school-card:hover{background-color:var(--surface-hover);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm);z-index:2}.school-card.selected{border-color:var(--primary-color);background-color:var(--surface-hover);box-shadow:0 0 0 2px #10b98133}.school-card.menu-open{z-index:1000!important;transform:none!important}.school-icon{font-size:1.5rem;flex-shrink:0}.school-info{flex:1;min-width:0}.school-name{font-size:.85rem;font-weight:600;color:var(--infopanel-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.rating-circle{width:32px;height:32px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.school-menu-container{position:relative}.menu-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 6px;font-size:1.2rem;transition:color .2s;line-height:1;font-weight:700}.menu-button:hover{color:var(--primary-color)}.school-dropdown-menu{position:absolute;right:0;top:100%;margin-top:4px;background-color:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg);min-width:140px;z-index:100;overflow:hidden}.menu-item{width:100%;padding:10px 12px;background:none;border:none;text-align:left;font-size:.85rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s;line-height:1.2}.menu-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;line-height:1}.menu-item:hover:not(:disabled){background-color:var(--surface-hover)}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item.delete{color:var(--error)}.menu-item.delete:hover{background-color:#fee2e2}.grades-list{list-style:none;padding:0;margin:0}.grade-item{display:flex;justify-content:space-between;padding:8px 12px;background-color:var(--background);border-radius:6px;margin-bottom:8px}.grade-item:last-child{margin-bottom:0}.subject-name{font-size:.8rem;color:var(--infopanel-text)}.grade-value{font-size:.8rem;font-weight:600;color:var(--primary-color)}.empty-text{font-size:.8rem;color:var(--text-secondary);font-style:italic;margin:0}.loading,.error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.error{color:var(--error)}.info-panel.collapsed{width:72px;padding:16px 12px;display:flex;flex-direction:column;align-items:center}.collapsed-children-list{display:flex;flex-direction:column;gap:12px;width:100%;align-items:center}.collapsed-child-section{display:flex;flex-direction:column;align-items:center;gap:8px}.collapsed-child-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background-color:var(--background);cursor:pointer;border:2px solid transparent;transition:all .2s ease;flex-shrink:0}.collapsed-child-avatar:hover{border-color:var(--primary-color);transform:scale(1.05)}.collapsed-child-avatar.expanded{border-color:var(--text-secondary)}.collapsed-child-avatar.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #10b9814d}.collapsed-child-avatar.selected.expanded{border-color:var(--primary-color)}.collapsed-child-avatar img,.collapsed-child-avatar .child-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}.collapsed-child-avatar .child-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff}.collapsed-schools-list{display:flex;flex-direction:column;gap:6px;align-items:center}.collapsed-school-icon{width:36px;height:36px;border-radius:8px;background-color:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:all .2s ease;position:relative}.collapsed-school-icon:hover{border-color:var(--primary-color);background-color:var(--surface-hover);transform:scale(1.05)}.collapsed-school-icon.selected{border-color:var(--primary-color);background-color:var(--surface-hover);box-shadow:0 0 0 2px #10b9814d}.collapsed-rating{position:absolute;bottom:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background-color:var(--primary-color);color:#fff;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center}.chat-list-container{display:flex;flex-direction:column;height:100%}.chat-list-header{padding:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:10px}.chat-list-content{flex:1;overflow-y:auto;padding:16px 10px}.new-chat-btn{flex:1;background-color:var(--primary-color);color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;transition:all .2s ease}.new-chat-btn:hover{background-color:var(--primary-hover)}.icon-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-btn:hover{background-color:var(--surface-hover);color:var(--text-primary);border-color:var(--primary-color)}.folder-item{margin-bottom:5px}.folder-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:6px;color:var(--text-secondary);font-size:14px;transition:background-color .2s}.folder-header:hover{background-color:var(--surface-hover);color:var(--text-primary)}.folder-title{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer}.folder-actions{display:flex;align-items:center;opacity:0;transition:opacity .2s}.folder-header:hover .folder-actions{opacity:1}.folder-content{margin-left:12px;padding-left:12px;border-left:1px solid var(--border);margin-top:5px}.chat-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;border-radius:6px;color:var(--text-secondary);font-size:14px;margin-bottom:2px;transition:all .2s ease;position:relative}.chat-item:hover{background-color:var(--surface-hover);color:var(--text-primary)}.chat-item.active{background-color:var(--primary-light-bg, rgba(79, 70, 229, .1));color:var(--primary-color);font-weight:500}.chat-link{display:flex;align-items:center;gap:10px;flex:1;overflow:hidden}.chat-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item .icon{font-size:14px;opacity:.7}.chat-actions{display:flex;align-items:center;opacity:0;transition:opacity .2s}.chat-item:hover .chat-actions,.chat-item.active .chat-actions{opacity:1}.menu-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.menu-option{padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background-color .2s}.menu-option:hover{background-color:var(--surface-hover)}.submenu{position:absolute;right:100%;left:auto;top:0;margin-right:0;background-color:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1002;min-width:150px}.submenu-option{padding:8px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submenu-option:hover{background-color:var(--surface-hover)}.context-menu{background-color:var(--surface)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-lg)!important}.empty-folder{padding:8px 12px;color:var(--text-muted);font-size:12px;font-style:italic}.chat-list-content::-webkit-scrollbar{width:6px}.chat-list-content::-webkit-scrollbar-track{background:transparent}.chat-list-content::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3px}.chat-list-content::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.dragging{background-color:var(--surface-hover);opacity:.8;box-shadow:var(--shadow-lg)}.dragging-over{background-color:var(--surface-hover);border-radius:6px}.welcome-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10002;padding:40px 20px}.welcome-popup{background:var(--bg-primary, #ffffff);border-radius:20px;max-width:520px;width:100%;max-height:calc(100vh - 80px);overflow:hidden;position:relative;animation:welcomePopupSlideIn .4s ease-out}@keyframes welcomePopupSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-popup-close{position:absolute;top:16px;right:16px;background:var(--bg-secondary, #f5f5f5);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary, #666);transition:background .2s,color .2s;z-index:1}.welcome-popup-close:hover{background:var(--bg-tertiary, #e0e0e0);color:var(--text-primary, #333)}.welcome-popup-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:28px 24px 24px;text-align:center;color:#fff}.welcome-popup-logo{width:56px;height:56px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:26px}.welcome-popup-title{margin:0;font-size:22px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.welcome-language-switcher{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px}.welcome-lang-icon{font-size:14px;opacity:.7;margin-right:2px}.welcome-lang-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fffc;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.5px}.welcome-lang-btn:hover{background:#ffffff40;color:#fff}.welcome-lang-btn.active{background:#ffffff59;border-color:#ffffff80;color:#fff}.welcome-popup-content{padding:20px 24px}.welcome-popup-description{font-size:14px;line-height:1.6;color:var(--text-secondary, #666);margin:0 0 16px;text-align:center}.welcome-popup-features{display:flex;flex-direction:column;gap:10px}.welcome-feature{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary, #f9f9f9);border-radius:10px;transition:transform .2s,box-shadow .2s}.welcome-feature:hover{transform:translate(5px);box-shadow:0 4px 12px #00000014}.welcome-feature-icon{width:38px;height:38px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex-shrink:0}.welcome-feature-text h3{margin:0 0 2px;font-size:13px;font-weight:600;color:var(--text-primary, #333)}.welcome-feature-text p{margin:0;font-size:12px;color:var(--text-secondary, #666);line-height:1.4}.welcome-popup-footer{padding:16px 24px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color, #eee)}.welcome-popup-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--text-secondary, #666)}.welcome-popup-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#667eea;cursor:pointer}.welcome-popup-start{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 28px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;transition:transform .2s,box-shadow .2s}.welcome-popup-start:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.welcome-popup-start svg{font-size:14px}@media (max-width: 600px){.welcome-popup{max-width:100%;border-radius:16px}.welcome-popup-header{padding:30px 20px 25px}.welcome-popup-title{font-size:22px}.welcome-popup-content{padding:20px}.welcome-popup-footer{padding:16px 20px 24px;flex-direction:column;gap:16px}.welcome-popup-start{width:100%;justify-content:center}}[data-theme=dark] .welcome-popup{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .welcome-popup-close{background:var(--bg-secondary, #2d2d2d);color:var(--text-secondary, #aaa)}[data-theme=dark] .welcome-popup-close:hover{background:var(--bg-tertiary, #3d3d3d);color:var(--text-primary, #fff)}[data-theme=dark] .welcome-feature{background:var(--bg-secondary, #2d2d2d)}[data-theme=dark] .welcome-popup-footer{border-top-color:var(--border-color, #3d3d3d)}.welcome-popup-compact{max-width:420px}.welcome-popup-compact .welcome-popup-content{padding:24px 24px 16px}.welcome-popup-compact .welcome-popup-description{font-size:15px;margin-bottom:0}.welcome-popup-logo.welcome-back{background:#ffffff40;animation:waveHand 1.5s ease-in-out infinite}@keyframes waveHand{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-10deg)}}.fab-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0003;z-index:4999;animation:fab-fade-in .15s ease}.fab-container{position:fixed;bottom:24px;right:24px;z-index:5000}.fab-container.hidden{display:none}.fab-button{width:56px;height:56px;border-radius:50%;background:var(--primary-color, #2563eb);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #00000040;transition:transform .25s ease,background .2s ease,box-shadow .2s ease}.fab-button:hover{box-shadow:0 6px 16px #0000004d;transform:scale(1.05)}.fab-button.open{transform:rotate(45deg)}.fab-button.open:hover{transform:rotate(45deg) scale(1.05)}.fab-menu{position:absolute;bottom:68px;right:0;display:flex;flex-direction:column;gap:10px;align-items:flex-end;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.fab-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.fab-menu-item{display:flex;align-items:center;gap:10px;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:28px;padding:8px 16px 8px 8px;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px #0000001a;transition:background .15s ease,box-shadow .15s ease;font-size:14px;color:var(--text-primary, #1e293b);font-family:inherit}.fab-menu-item:hover{background:var(--surface-hover, #f3f4f6);box-shadow:0 4px 12px #00000026}.fab-menu-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0}.fab-menu-icon.goal{background:#9c27b0}.fab-menu-icon.child{background:#4caf50}.fab-menu-icon.chat{background:#2196f3}.fab-menu-icon.school{background:#ff9800}.fab-menu-icon.documents{background:#607d8b}.fab-menu-label{font-weight:500}.fab-child-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fab-fade-in .15s ease}.fab-child-selector-modal{background:var(--surface, #ffffff);border-radius:16px;padding:24px;max-width:400px;width:90%;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1))}.fab-child-selector-title{font-size:18px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 16px;text-align:center}.fab-child-list{display:flex;flex-direction:column;gap:8px}.fab-child-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:var(--surface, #ffffff);cursor:pointer;transition:background .15s ease,border-color .15s ease;width:100%;text-align:left;font-family:inherit;font-size:14px;color:var(--text-primary, #1e293b)}.fab-child-item:hover{background:var(--surface-hover, #f3f4f6);border-color:var(--primary-color, #2563eb)}.fab-child-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--surface-hover, #f3f4f6);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-secondary, #64748b);flex-shrink:0}.fab-child-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.fab-child-name{font-weight:500}.fab-child-cancel{display:block;width:100%;margin-top:16px;padding:10px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;font-size:14px;font-family:inherit;transition:background .15s ease}.fab-child-cancel:hover{background:var(--surface-hover, #f3f4f6)}@keyframes fab-fade-in{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.fab-container{bottom:16px;right:16px}.fab-button{width:50px;height:50px;font-size:22px}.fab-menu{bottom:60px}.fab-menu-item{font-size:13px;padding:6px 14px 6px 6px;gap:8px}.fab-menu-icon{width:32px;height:32px;font-size:14px}.fab-child-selector-modal{padding:20px;margin:16px}}@media (max-width: 480px){.fab-container{bottom:12px;right:12px}.fab-button{width:46px;height:46px;font-size:20px}.fab-menu{bottom:56px;right:-4px}.fab-menu-item{font-size:12px;padding:5px 12px 5px 5px}.fab-menu-icon{width:28px;height:28px;font-size:12px}}@supports (padding: env(safe-area-inset-bottom)){@media (max-width: 768px){.fab-container{bottom:calc(16px + env(safe-area-inset-bottom))}}}.app#root{width:100%;height:100vh;margin:0;padding:0}.app-container{display:flex;width:100%;height:100vh;background-color:var(--background, #ffffff)}.main-content{flex:1;height:100vh;overflow:hidden;position:relative}.loading-screen{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background-color:var(--background, #ffffff)}.loading-screen-spinner{width:40px;height:40px;border:4px solid var(--border, #e5e7eb);border-top:4px solid var(--primary-color, #10b981);border-radius:50%;animation:loadingScreenSpin .8s linear infinite}@keyframes loadingScreenSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-loading{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;flex:1}.page-loading-spinner{width:36px;height:36px;border:3px solid var(--border, #e5e7eb);border-top:3px solid var(--primary-color, #10b981);border-radius:50%;animation:loadingScreenSpin .8s linear infinite}.info-panel-wrapper{position:relative;display:flex;flex-shrink:0}.info-panel-wrapper .info-panel{transition:width .3s ease,padding .3s ease}.info-panel-toggle{position:absolute;left:0;top:80px;width:20px;height:48px;background-color:var(--surface, #ffffff);border:1px solid var(--border, #e5e7eb);border-left:none;border-radius:0 8px 8px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-secondary, #6b7280);transition:all .2s ease;z-index:10;box-shadow:2px 0 8px #0000000d}.info-panel-toggle.panel-collapsed{left:-20px;border-left:1px solid var(--border, #e5e7eb);border-right:none;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px #0000000d}.info-panel-toggle:hover{background-color:var(--surface-hover, #f3f4f6);color:var(--primary-color, #10b981)}.sidebar-wrapper{position:relative;display:flex;flex-shrink:0}.sidebar-wrapper .sidebar{transition:width .3s ease,padding .3s ease}.mobile-warning-banner{display:none}@media (max-width: 768px){.mobile-warning-banner{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.mobile-warning-content{background:var(--surface, #ffffff);border-radius:16px;padding:32px 24px;max-width:320px;text-align:center;box-shadow:0 20px 60px #0000004d}.mobile-warning-text{font-size:18px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 12px;line-height:1.4}.mobile-warning-apps{font-size:14px;color:var(--text-secondary, #64748b);margin:0 0 24px;line-height:1.5}.mobile-warning-dismiss{background:var(--primary-color, #10b981);color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.mobile-warning-dismiss:hover,.mobile-warning-dismiss:active{background:var(--primary-hover, #059669);transform:scale(1.02)}}.mobile-nav-bar,.mobile-close-btn{display:none}@media (max-width: 768px){.mobile-nav-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--sidebar-bg, #111111);border-bottom:1px solid var(--sidebar-border, #333333);position:sticky;top:0;z-index:999;width:100%}.mobile-nav-btn{background:none;border:1px solid var(--sidebar-border, #333333);border-radius:8px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mobile-menu-btn,.mobile-info-btn{color:var(--sidebar-text, #e0e0e0)}.mobile-nav-btn:hover,.mobile-nav-btn:active{background-color:var(--sidebar-hover, #2a2a2a)}.hamburger-icon{font-size:20px;line-height:1}.info-icon{font-size:18px;line-height:1}.mobile-nav-title{color:var(--sidebar-text, #e0e0e0);font-size:16px;font-weight:600}.mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;animation:fadeIn .2s ease;-webkit-tap-highlight-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-container{flex-direction:column;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden;background-color:var(--background, #ffffff)}.main-content{flex:1;height:auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-wrapper{position:fixed;top:0;left:0;height:100%;z-index:1001;pointer-events:none}.sidebar-wrapper.mobile-open{pointer-events:auto}.sidebar-wrapper .sidebar{transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-wrapper.mobile-open .sidebar{transform:translate(0)}.info-panel-wrapper{position:fixed;top:0;right:0;height:100%;z-index:1001;pointer-events:none}.info-panel-wrapper.mobile-open{pointer-events:auto}.info-panel-wrapper .info-panel{transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.info-panel-wrapper.mobile-open .info-panel{transform:translate(0)}.sidebar-toggle,.info-panel-toggle{display:none}.mobile-close-btn{display:flex;position:absolute;top:12px;right:12px;width:36px;height:36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#e0e0e0;font-size:18px;cursor:pointer;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.mobile-close-btn:hover,.mobile-close-btn:active{background:#fff3;color:#fff}.info-panel .mobile-close-btn{top:16px;right:16px;left:auto;background:transparent;border:none;color:var(--text-secondary, #64748b);font-size:22px;border-radius:6px}.info-panel .mobile-close-btn:hover,.info-panel .mobile-close-btn:active{background:var(--surface-hover, #f3f4f6);color:var(--text-primary, #1e293b)}.sidebar .mobile-close-btn{top:12px;right:12px;left:auto}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--background: #ffffff;--surface: #ffffff;--surface-hover: #f3f4f6;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #9ca3af;--border: #e2e8f0;--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--border-color: #e2e8f0;--accent-color: #2563eb;--accent-hover: #1d4ed8;--sidebar-bg: #111111;--sidebar-text: #e0e0e0;--sidebar-border: #333333;--sidebar-hover: #2a2a2a;--sidebar-active: #333333;--sidebar-icon: #aaaaaa;--infopanel-bg: #f9f9f9;--infopanel-text: #1e293b;--infopanel-border: #e2e8f0;--success: #10b981;--error: #ef4444;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--menu-shadow: 0 4px 12px rgba(0, 0, 0, .15)}[data-theme=dark]{--background: #0f172a;--surface: #1e293b;--surface-hover: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border: #334155;--bg-primary: #1e293b;--bg-secondary: #0f172a;--border-color: #334155;--accent-color: #3b82f6;--accent-hover: #2563eb;--sidebar-bg: #1a1a1a;--sidebar-text: #e0e0e0;--sidebar-border: #333333;--sidebar-hover: #2a2a2a;--sidebar-active: #333333;--sidebar-icon: #aaaaaa;--infopanel-bg: #202123;--infopanel-text: #ececf1;--infopanel-border: #4d4d4f;--menu-shadow: 0 4px 12px rgba(0, 0, 0, .5)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width: 768px){.app-container{flex-direction:column;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;position:relative;overflow:hidden}.main-content{flex:1;width:100%;height:auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-toggle,.info-panel-toggle{display:none}}@media (max-width: 480px){.app-container{overflow-x:hidden}body{font-size:14px}}@media (max-width: 768px){.login-container{padding:16px;align-items:center;min-height:100vh;height:auto}.login-card{padding:24px 20px;max-width:100%;width:100%;border-radius:12px;max-height:none}.login-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.login-card h1{font-size:1.5em}.login-card p{font-size:.9rem;margin-bottom:24px}.login-btn{padding:14px;font-size:1em}.input-group input{padding:14px 15px 14px 45px;font-size:16px}.auth-form h3{font-size:1.1em}.divider{margin:16px 0}.error-message{font-size:.85rem;padding:10px}.auth-switch{font-size:.85rem}}@media (max-width: 480px){.login-container{padding:12px}.login-card{padding:20px 16px}.login-card h1{font-size:1.3em}.login-btn{padding:12px;font-size:.95em}}@media (max-width: 768px){.sidebar.mobile-open{padding-top:40px}.sidebar-header{padding:0;min-height:auto}.active-child-header{padding:10px 12px}.child-profile-top{gap:8px;margin-bottom:8px}.child-photo-wrapper,.child-header-photo,.child-photo-wrapper .child-icon{width:36px;height:36px}.child-photo-wrapper .child-icon svg{width:18px;height:18px}.child-name{font-size:12px;line-height:1.3}.child-name .child-grade-inline{font-size:10px}.dream-college-card-sidebar{padding:6px 8px;gap:8px;border-radius:6px}.dream-icon{width:26px;height:26px;font-size:12px;border-radius:5px}.dream-label{font-size:8px;margin-bottom:1px}.dream-name{font-size:11px;margin-bottom:1px}.dream-stats{font-size:9px}.sidebar-nav-fixed{padding:0 8px}.sidebar-nav-row{gap:2px;margin-top:4px;margin-bottom:2px}.sidebar-nav-row-item{padding:7px 8px;font-size:12px;gap:6px;border-radius:6px}.sidebar-nav-row-item .menu-icon{font-size:14px;min-width:18px}.sidebar-content{padding:4px 8px;gap:2px}.sidebar-menu-item{padding:8px;font-size:12px;gap:8px;margin:1px 0;border-radius:6px}.sidebar-menu-item .menu-icon{font-size:14px;min-width:20px}.expand-icon{font-size:10px}.sidebar-sub-item{padding:6px 8px 6px 28px;font-size:11px;gap:8px;margin:0;border-radius:5px}.sub-icon{font-size:12px;width:14px}.child-sub-menu{margin-top:1px;margin-bottom:4px}.child-sub-menu:before{left:18px}.goal-item,.school-item{padding-left:38px!important;font-size:10px!important}.goal-item .sub-icon,.school-item .sub-icon{font-size:9px!important}.add-goal-item{margin-top:2px;padding-top:6px!important}.sidebar-divider{margin:2px 0}.admin-sub-menu{padding:2px 0 2px 16px}.admin-sub-menu .sidebar-sub-item{padding:6px 8px;font-size:11px;gap:8px}.admin-sub-menu .sub-icon{font-size:11px}.sidebar-footer{padding:6px 8px;gap:0}.sidebar-footer-icons{gap:4px}.sidebar-footer-icon-btn{width:28px;height:28px;font-size:13px;border-radius:6px}.storage-indicator{padding:5px 8px;gap:8px;font-size:11px;margin:0;border-radius:6px}.storage-icon{font-size:13px;min-width:18px}.storage-info{gap:2px}.storage-text{font-size:11px}.storage-bar{height:3px}.storage-buy-btn{width:18px;height:18px;font-size:7px;opacity:1}.credit-balance{padding:5px 8px;gap:8px;font-size:11px;margin:0;border-radius:6px}.credit-icon{font-size:14px;min-width:18px}.credit-amount{font-size:11px}.credit-buy-btn{width:18px;height:18px;font-size:7px;opacity:1}.sidebar .mobile-close-btn{top:8px;right:8px;width:30px;height:30px;font-size:14px}.submenu{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;min-width:200px}.menu-option,.submenu-option{padding:12px 14px;font-size:13px}.chat-actions,.folder-actions{opacity:1}.chat-item,.folder-header{padding:8px;font-size:12px}.new-chat-btn{padding:8px;font-size:13px}.icon-btn{width:32px;height:32px}.language-selector-wrapper .language-selector-btn{padding:8px 12px}}@media (max-width: 480px){.sidebar{width:100%;max-width:none}}@media (max-width: 768px){.info-panel{position:fixed;top:0;right:0;width:85%;max-width:320px;height:100vh;z-index:1001;border-left:none;box-shadow:-4px 0 20px #0000004d;padding:60px 16px 20px}.info-panel-wrapper.mobile-open .info-panel{transform:translate(0)!important}.info-panel.collapsed{transform:translate(100%);width:85%;max-width:320px;padding:20px 16px}.info-panel.collapsed.mobile-open{transform:translate(0)}.section-header-main{margin-bottom:16px;margin-top:0;display:flex;justify-content:flex-start;align-items:center;gap:8px;padding:0}.section-header-main h4{font-size:.8rem}.section-header-main .add-btn{font-size:1.4rem;padding:4px 8px;color:var(--primary-color, #10b981);background:none;border:none}.info-panel .detail-section .section-header{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;margin-bottom:12px;text-align:left}.info-panel .detail-section .section-header h4{font-size:.75rem;margin:0}.info-panel .detail-section .section-header .add-btn{font-size:1.2rem;padding:2px 6px;color:var(--primary-color, #10b981);background:none;border:none}.child-card-main{padding:14px;gap:14px}.child-avatar{width:44px;height:44px}.child-info h3{font-size:1rem}.child-grade{font-size:.8rem}.child-dropdown-menu{min-width:150px}.child-dropdown-menu .menu-item{padding:14px 16px;font-size:.9rem}.child-details{padding-left:4px;gap:14px}.school-card{padding:14px;gap:14px}.school-icon{font-size:1.4rem}.school-name{font-size:.9rem}.rating-circle{width:36px;height:36px;font-size:.8rem}.school-dropdown-menu{min-width:160px}.school-dropdown-menu .menu-item{padding:14px 16px;font-size:.9rem}.menu-button{padding:8px 10px;font-size:1.3rem}.grade-item{padding:10px 14px}.subject-name,.grade-value,.empty-text{font-size:.85rem}}@media (max-width: 480px){.info-panel{width:90%;max-width:none;padding:16px 12px}.child-card-main{padding:12px;gap:12px}.child-avatar{width:40px;height:40px}.school-card{padding:12px;gap:10px}.rating-circle{width:32px;height:32px;font-size:.75rem}}@media (max-width: 768px){.chat-interface{height:100%;min-height:100vh}.chat-container{height:100%}.chat-header{padding:12px 16px;position:sticky;top:0;z-index:100}.chat-header h2{font-size:.95rem}.chat-title-section{gap:10px;flex-wrap:wrap}.model-selector{order:2;width:100%}.model-select{width:100%;padding:8px 12px;font-size:.9rem}.chat-actions{gap:8px}.chat-actions .btn-secondary{display:none}.btn-secondary{padding:8px 12px;font-size:.85rem}.context-input-section{padding:12px 16px}.context-input-section label{font-size:.8rem}.context-input{padding:10px 12px;font-size:.9rem}.message-list{flex:1;padding:0}.messages-container{padding-bottom:16px}.message{padding:12px 16px;gap:10px}.message-avatar{width:32px;height:32px;font-size:1rem}.message-user .message-avatar{margin-left:6px}.message-assistant .message-avatar{margin-right:6px}.message-content-wrapper{max-width:85%}.message-content{padding:10px 14px;font-size:.9rem;border-radius:10px}.message-meta{font-size:.65rem}.typing-indicator{padding:10px 14px}.typing-indicator span{width:7px;height:7px}.message-input-container{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.message-input-form{padding:10px;border-radius:10px}.message-input{font-size:16px;max-height:150px;min-height:24px}.input-footer{flex-wrap:wrap;gap:8px}.footer-left{width:100%;order:2}.footer-right{width:100%;justify-content:space-between;order:1}.model-select-pill,.child-select-pill{padding:8px 28px 8px 12px;font-size:.85rem}.child-select-pill{max-width:150px}.send-button{width:40px;height:40px}.header{position:sticky;top:0;z-index:100}.header-content{padding:12px 16px}.logo h1{font-size:1.2rem}.tagline{font-size:.7rem;display:none}.header-right{gap:8px}.status-indicator{display:none}.home-container{padding:16px;min-height:100vh;height:auto}.home-content{max-width:100%}.home-image-container{margin-bottom:20px;max-width:300px}.home-title{font-size:1.2rem;white-space:normal;margin-bottom:20px}.home-goals{grid-template-columns:1fr;gap:12px;max-width:100%}.goal-button{flex-direction:row;min-height:auto;padding:14px 16px;gap:14px;border-radius:10px}.goal-icon{font-size:1.8rem}.goal-label{text-align:left;flex:1;font-size:.95rem}.language-selector-btn{padding:10px 14px}.language-dropdown{min-width:160px}.language-option{padding:14px 16px}}@media (max-width: 480px){.chat-header,.message{padding:10px 12px}.message-avatar{width:28px;height:28px;font-size:.9rem}.message-content{padding:8px 12px;font-size:.85rem}.message-input-container{padding:10px 12px}.home-title{font-size:1.1rem}.goal-button{padding:12px 14px}.goal-icon{font-size:1.5rem}.goal-label{font-size:.9rem}.header-content{padding:10px 12px}.logo h1{font-size:1.1rem}}@supports (padding: env(safe-area-inset-bottom)){@media (max-width: 768px){.message-input-container{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}}@media (max-width: 768px){.school-dashboard-container{height:auto;min-height:100vh}.dashboard-nav{padding:8px 12px}.back-btn{font-size:13px}.dashboard-main{padding-bottom:24px}.dashboard-tabs{padding:0 12px;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:12px}.dashboard-tabs::-webkit-scrollbar{display:none}.dashboard-tab{padding:8px 12px;font-size:13px;white-space:nowrap;flex-shrink:0}.dashboard-content-wrapper{padding:0 12px}.child-profile-page{padding:0;min-height:auto}.profile-header-section{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.child-identity{gap:16px}.child-photo-large{width:80px;height:80px}.photo-placeholder{font-size:32px}.child-info-block h1{font-size:22px}.grade-level{font-size:14px}.strategic-goal-card{min-width:auto;width:100%;padding:16px}.dream-school-name{font-size:16px}.performance-summary-section{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.summary-card{padding:16px}.summary-card h3{font-size:12px}.metric-value{font-size:26px}.next-step-content{font-size:14px}.action-btn{font-size:12px;padding:8px 14px}.profile-tabs-wrapper{margin-top:12px}.tabs-expand-toggle{width:60px;height:14px;font-size:9px}.tabs-header{padding:0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{padding:12px 14px;font-size:13px;white-space:nowrap}.tab-content{padding:0;max-height:none}.child-profile-page.tabs-expanded{padding:0}.child-profile-page.tabs-expanded .tabs-expand-toggle{top:44px}.child-profile-page.tabs-expanded .tab-content{padding-bottom:40px}.goal-tab-container{padding:6px 8px 20px;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.goals-tabs{gap:4px}.goal-tab{padding:10px 14px;font-size:.85rem}.goal-tab-title{max-width:120px}.goal-creation-card{padding:16px 12px;margin-top:10px}.goal-creation-card h3{font-size:1.1rem;margin-bottom:12px}.goal-type-selector{flex-direction:column;gap:8px;margin-bottom:16px}.goal-type-option{padding:10px}.input-group input,.input-group textarea{padding:10px;font-size:.95rem}.create-goal-btn{padding:12px 20px;font-size:.95rem;margin-top:12px}.roadmap-content{flex-direction:column;gap:16px}.task-details-panel{width:100%;position:relative;top:0;max-height:none}.task-card{padding:12px}.task-title{font-size:.9rem}.task-card-meta{gap:8px;font-size:.75rem}.category-legend{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.category-btn{font-size:.8rem;padding:6px 10px;flex-shrink:0}.research-btn,.regenerate-btn,.generate-btn,.delete-btn{padding:10px 14px;font-size:.85rem}.no-tasks{padding:24px}.no-tasks p{font-size:1rem}.step-modal{max-width:95%;max-height:85vh}.step-modal-header{padding:16px 20px}.step-modal-content{padding:20px}.step-form-row{flex-direction:column;gap:0}.step-modal-footer{padding:14px 20px}.task-actions-panel{flex-direction:column;gap:8px}.task-action-btn{width:100%;justify-content:center}.documents-tab-container{padding:16px}.docs-header{flex-direction:column;align-items:flex-start;gap:12px}.breadcrumbs{font-size:1rem}.docs-actions{width:100%;justify-content:space-between}.documents-grid{grid-template-columns:repeat(2,1fr);gap:12px}.document-card{padding:12px}.doc-icon-wrapper{font-size:2.5rem}.doc-title{font-size:.85rem}.list-header{display:none}.document-list-item{flex-wrap:wrap;gap:8px;padding:14px}.col-icon{width:30px}.col-name{flex:1;min-width:150px}.col-subject,.col-teacher{display:none}.col-date{width:auto;font-size:.8rem}.modal-content{width:95%;padding:20px}.activity-section{padding:16px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.add-btn-small{width:100%}.activity-card-main{flex-direction:column;align-items:flex-start;gap:12px;padding:14px}.activity-media-preview{width:100%}.media-thumbnail,.media-placeholder{width:100%;height:160px}.activity-quick-actions{width:100%;margin-left:0;justify-content:flex-end}.activity-expanded-section{padding:14px}.notes-edit textarea{font-size:16px}.documents-section{padding:14px}.upload-btn-large{width:100%;justify-content:center;margin:12px 0 0}.document-item{padding:10px 12px}.video-modal{max-width:95%}.video-modal-header{padding:10px 14px}.schools-grid{grid-template-columns:1fr}.school-card-visual{height:90px}.school-card-name{font-size:.88rem}.subjects-table{font-size:.85rem}.charts-placeholder{height:150px}}@media (max-width: 480px){.dashboard-tabs{padding:0 12px}.dashboard-tab{padding:8px 12px;font-size:13px}.dashboard-content-wrapper{padding:0 12px}.child-profile-page{padding:0}.child-photo-large{width:64px;height:64px}.child-info-block h1{font-size:18px}.performance-summary-section{grid-template-columns:1fr}.summary-card{padding:14px}.metric-value{font-size:22px}.goal-tab-container{padding:6px 8px 10px}.goal-tab{padding:8px 12px;font-size:.8rem}.documents-grid{grid-template-columns:1fr}.activity-section{padding:12px}}@media (max-width: 768px){.modal-overlay,.add-child-modal-overlay,.settings-modal-overlay,.step-modal-overlay,.video-modal-overlay{padding:24px 12px 12px;align-items:flex-start;z-index:99999!important}.modal-content,.add-child-modal,.settings-modal,.step-modal,.video-modal{width:100%;max-width:100%;max-height:calc(100vh - 80px);margin:0}.add-child-modal{padding:20px 16px;border-radius:12px}.modal-header{margin-bottom:12px}.modal-header h2{font-size:1.15rem}.close-btn{font-size:1.3rem;padding:0}.photo-upload-section{margin-bottom:20px;gap:10px}.photo-preview{width:80px;height:80px}.photo-placeholder{font-size:2.5rem}.photo-upload-btn{padding:10px 18px;font-size:.9rem}.form-row{grid-template-columns:1fr;gap:8px;margin-bottom:8px}.form-group label{font-size:.85rem;margin-bottom:4px}.form-group input,.form-group select{padding:8px 10px;font-size:16px}.modal-actions{margin-top:16px;gap:8px}.btn-cancel,.btn-add{padding:10px 14px;font-size:.9rem;flex:1}.settings-modal{border-radius:12px}.settings-header{padding:14px 16px}.settings-header h2{font-size:1.15rem}.settings-content{padding:16px}.setting-group h3{font-size:.95rem;margin-bottom:10px}.theme-toggle{gap:8px}.theme-btn{padding:12px 8px;font-size:.9rem}.remove-school-modal{padding:16px 12px}.remove-school-modal h3{font-size:1.05rem}.remove-school-modal p{font-size:.85rem}.add-activity-modal{padding:20px 16px;max-height:calc(100vh - 80px)}.add-activity-modal h3{font-size:1.1rem;margin-bottom:16px}.add-activity-modal .form-row{grid-template-columns:1fr}.add-activity-modal textarea{min-height:100px;font-size:16px}.rag-console{padding:16px}.rag-console h3{font-size:1rem}.loading-popup{padding:20px 16px;max-width:280px}.loading-popup h4{font-size:1rem}.notification{max-width:calc(100% - 32px);left:16px;right:16px;transform:translate(0);padding:12px 16px;font-size:.9rem}.process-status-indicator,.roadmap-process-status-indicator{padding:12px;font-size:.85rem}.parsing-progress-popup{padding:20px 16px}.parsing-progress-popup h4{font-size:1rem}.roadmap-generation-popup{padding:20px 16px}.roadmap-generation-popup h4{font-size:1rem}.child-dropdown-menu,.school-dropdown-menu,.doc-context-menu,.add-menu-dropdown{min-width:180px}.child-dropdown-menu .menu-item,.school-dropdown-menu .menu-item,.doc-context-menu .menu-item,.add-menu-dropdown button{padding:14px 16px;font-size:.95rem}.error-message{font-size:.85rem;padding:10px 12px}}@media (max-width: 480px){.modal-overlay,.add-child-modal-overlay,.settings-modal-overlay,.step-modal-overlay{padding:24px 12px 12px}.modal-content,.add-child-modal,.settings-modal,.step-modal{max-height:calc(100vh - 48px)}.add-child-modal,.settings-modal{padding:16px 12px}.modal-header h2,.settings-header h2{font-size:1.05rem}.photo-preview{width:70px;height:70px}.btn-cancel,.btn-add{padding:10px 14px;font-size:.85rem}.theme-btn{padding:10px 6px;font-size:.85rem}.notification{left:12px;right:12px;padding:10px 14px;font-size:.85rem}}@supports (-webkit-touch-callout: none){@media (max-width: 768px){.modal-overlay:has(input:focus),.add-child-modal-overlay:has(input:focus){align-items:flex-start;padding-top:20px}}}
