@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;600;700;800&display=swap";:root{--primary:#4f46e5;--primary-light:#6366f1;--primary-dark:#4338ca;--primary-bg:#eef2ff;--secondary:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg:#f8fafc;--bg-card:#fff;--bg-sidebar:#1e293b;--txt:#1e293b;--txt-secondary:#64748b;--txt-muted:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--muted:#64748b;--ok:#10b981;--pg:#3b82f6;--cv:#8b5cf6;--emp:#f59e0b;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100vh}body{background:var(--bg);color:var(--txt);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:0;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.login-page{background:#fff;min-height:100vh;display:flex}.login-left{color:#fff;background:linear-gradient(135deg,#065f46 0%,#047857 50%,#059669 100%);flex-direction:column;flex:1;justify-content:center;width:50%;padding:4rem;display:flex;position:relative;overflow:hidden}.login-left:before{content:"";background:radial-gradient(circle at 20% 20%,#ffffff1f,#0000 24%),radial-gradient(circle at 80% 10%,#ffffff14,#0000 18%),radial-gradient(circle at 70% 80%,#ffffff14,#0000 20%);position:absolute;inset:0}.login-left-content{z-index:1;max-width:500px;position:relative}.login-logo-en{letter-spacing:3px;opacity:.7;margin-bottom:1.5rem;font-size:.75rem}.login-school-name{margin-bottom:.5rem;font-family:Noto Serif SC,serif;font-size:2rem;font-weight:700}.login-platform-name{opacity:.95;margin-bottom:1.5rem;font-family:Noto Serif SC,serif;font-size:1.5rem;font-weight:600}.login-desc{opacity:.86;margin-bottom:3rem;font-size:.95rem;line-height:1.8}.login-features{gap:1rem;margin-bottom:3rem;display:flex}.login-feature-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:8px;flex:1;padding:1rem}.login-feature-title{margin-bottom:.3rem;font-size:.85rem;font-weight:600}.login-feature-desc{opacity:.8;font-size:.75rem;line-height:1.6}.login-steps{flex-direction:column;gap:1rem;display:flex}.login-step-item{align-items:flex-start;gap:1rem;display:flex}.login-step-num{background:#fff3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.login-step-content h4{margin-bottom:.25rem;font-size:.95rem;font-weight:600}.login-step-content p{opacity:.8;font-size:.8rem;line-height:1.6}.login-right{background:#fff;flex-direction:column;flex:1;justify-content:center;width:50%;padding:4rem;display:flex}.login-tag{background:var(--primary-bg);width:fit-content;color:var(--primary);border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.login-title{color:var(--txt);margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.login-subtitle{color:var(--txt-secondary);margin-bottom:2.5rem;font-size:.9rem;line-height:1.7}.login-form-group{margin-bottom:1.5rem}.login-label{color:var(--txt);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.login-input,.portfolio-input,.chat-textarea,.security-form input,.security-form textarea,.onboarding-grid input,.task-card-vue textarea,.pf-textarea{border:1.5px solid var(--border);width:100%;color:var(--txt);background:#f8fafc;border-radius:10px;outline:none;padding:.875rem 1rem;font-size:.95rem;transition:all .2s}.login-input:focus,.portfolio-input:focus,.chat-textarea:focus,.security-form input:focus,.security-form textarea:focus,.onboarding-grid input:focus,.task-card-vue textarea:focus,.pf-textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4f46e51a}.login-hint-text,.login-footer-text,.security-form__hint,.onboarding-card__intro{color:var(--txt-muted);margin-top:.4rem;font-size:.75rem;line-height:1.6}.login-error,.onboarding-card__status{color:var(--danger);background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.btn-login,.dialog-btn,.btn,.chat-send-btn{cursor:pointer;border:none}.btn-login{background:var(--primary);color:#fff;border-radius:10px;width:100%;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-login:hover,.chat-send-btn:hover,.btn-primary:hover,.dialog-btn--primary:hover{background:var(--primary-dark)}.btn-login:disabled,.dialog-btn:disabled,.chat-send-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer-text{margin-top:2rem}.app-layout{background:var(--bg);min-height:100vh;display:flex}.sidebar{background:var(--bg-sidebar);color:#fff;z-index:100;flex-direction:column;width:260px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{border-bottom:1px solid #ffffff1a;padding:1.5rem}.brand-title{opacity:.95;font-family:Noto Serif SC,serif;font-size:.92rem;font-weight:600;line-height:1.5}.brand-sub{color:#ffffff8c;letter-spacing:1px;margin-top:.35rem;font-size:.7rem}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-item{color:#ffffffb8;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.84rem;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;border-left:3px solid var(--primary-light);background:linear-gradient(90deg,#6366f14d,#0000)}.nav-icon{text-align:center;width:22px;font-size:1rem}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem 1.5rem}.student-info-mini{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.avatar{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.mini-name{font-size:.84rem;font-weight:500}.mini-id{color:#ffffff8c;font-size:.7rem}.btn-logout{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;width:100%;padding:.6rem;font-size:.8rem;transition:all .2s}.btn-logout:hover{color:#fca5a5;background:#ef444433}.main-content{flex:1;min-height:100vh;margin-left:260px}.page-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;display:flex}.page-title{color:var(--txt);letter-spacing:.01em;text-wrap:balance;font-size:1rem;font-weight:700}.page-subtitle{color:var(--txt-secondary);margin-top:.25rem;font-size:.74rem;line-height:1.65}.content-area{max-width:1440px;padding:2rem}.card,.portfolio-section,.message-panel,.onboarding-card,.security-form,.report-sidebar__panel,.task-side__panel,.pf-section{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:1.25rem}.card+.card,.portfolio-section+.portfolio-section{margin-top:1rem}.card-title,.profile-card__title,.portfolio-title,.message-panel__title,.task-side__title,.pf-sec-title{color:var(--txt);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;font-weight:700;display:flex}.title-bar{background:var(--primary);border-radius:2px;width:4px;height:18px}.badge,.task-status,.quality-badge,.case-direction,.message-row__meta{border-radius:999px;justify-content:center;align-items:center;padding:.25rem .6rem;font-size:.68rem;font-weight:700;display:inline-flex}.b-green{color:#065f46;background:#d1fae5}.b-blue{color:#1e40af;background:#dbeafe}.b-gold,.b-orange{color:#92400e;background:#fef3c7}.b-red{color:#991b1b;background:#fee2e2}.btn{border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.82rem;font-weight:600;display:inline-flex}.btn-primary,.dialog-btn--primary,.chat-send-btn{background:var(--primary);color:#fff}.btn-secondary,.dialog-btn--ghost,.term-tab-btn,.filter-chip,.chat-quick,.lk-btn{background:var(--bg);color:var(--txt);border:1px solid var(--border)}.btn-sm{padding:.45rem .85rem;font-size:.8rem}.btn-lg{padding:.75rem 1.5rem;font-size:.88rem}.btn-icon{cursor:pointer;opacity:.65;background:0 0;border:none;padding:.25rem}.btn-icon:hover{opacity:1}.welcome-banner{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);border-radius:var(--radius);color:#fff;padding:1.5rem}.welcome-name{margin-bottom:.25rem;font-size:1.25rem;font-weight:600}.welcome-sub{opacity:.9;margin-bottom:1rem;font-size:.85rem}.stat-grid{flex-wrap:wrap;gap:2rem;display:flex}.stat-item{min-width:110px}.stat-lbl{opacity:.8;margin-bottom:.25rem;font-size:.75rem}.stat-val{font-size:1.1rem;font-weight:700}.dir-bar,.fit-bars{flex-direction:column;gap:1rem;display:flex}.dir-item{background:var(--bg);border-radius:8px;padding:.75rem 1rem .75rem 1.25rem;position:relative}.dir-name,.fit-bar-label{color:var(--txt-secondary);font-size:.85rem}.dir-fill,.fit-bar-fill{border-radius:3px;height:6px;margin-top:.4rem}.dir-pct,.fit-bar-pct{font-size:1.1rem;font-weight:700;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.fit-bar-row{align-items:center;gap:1rem;display:flex}.fit-bar-track,.tp-track,.q-prog-bar,.assessment-progress__bar{background:var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.steps{flex-direction:column;display:flex}.step{cursor:pointer;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:background .2s;display:flex}.step:hover{background:var(--bg)}.step-n{background:var(--border);width:28px;height:28px;color:var(--txt-secondary);border-radius:999px;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.step-n.done{background:var(--secondary);color:#fff}.step-n.act{background:var(--primary);color:#fff}.step-t{color:var(--txt);font-size:.88rem;font-weight:600}.step-s{color:var(--txt-secondary);margin-top:.15rem;font-size:.76rem}.step-arrow{color:var(--txt-muted);margin-left:auto}.active-step{background:var(--primary-bg)}.done-step .step-t{color:var(--secondary)}.chat-window{background:var(--bg);border-radius:8px;min-height:200px;max-height:340px;margin-bottom:1rem;padding:1rem;overflow-y:auto}.chat-welcome,.chat-msg{gap:.75rem;margin-bottom:1rem;display:flex}.chat-msg.chat-user{flex-direction:row-reverse}.chat-bot-avatar,.chat-avatar{background:var(--primary-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.chat-avatar-user{background:var(--primary);color:#fff}.chat-welcome-text{font-size:.9rem}.chat-quick-btns{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.chat-quick{border-radius:20px;padding:.5rem .75rem;font-size:.8rem;transition:all .2s}.chat-quick:hover{border-color:var(--primary);background:var(--primary-bg)}.chat-bubble{border-radius:12px;max-width:80%;padding:.75rem 1rem;font-size:.9rem;line-height:1.7}.chat-bubble-bot{border:1px solid var(--border);background:#fff}.chat-bubble-user{background:var(--primary);color:#fff}.chat-typing{gap:4px;display:flex}.chat-typing span{background:var(--txt-muted);border-radius:50%;width:6px;height:6px;animation:1s infinite typing}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}.chat-input-area{gap:.5rem;display:flex}.chat-textarea{resize:none}.tabs,.tab-row{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}.tab,.tab-row button{cursor:pointer;color:var(--txt-secondary);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.25rem;font-size:.9rem;transition:all .2s}.tab:hover,.tab-row button:hover{color:var(--txt)}.tab.active,.tab-row button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.term-tabs,.filter-row,.task-card-vue__chips,.question-panel__meta,.case-card-vue__chips,.case-card-vue__meta,.task-card-vue__meta{flex-wrap:wrap;gap:.75rem;display:flex}.term-tab-btn,.filter-chip{white-space:nowrap;border-radius:999px;min-height:44px;padding:.65rem 1.1rem;font-size:.84rem}.term-tab-btn.active,.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.task-progress-bar{border:1px solid var(--border);background:#fff;border-radius:8px;padding:1rem}.tp-fill,.q-prog-fill,.assessment-progress__fill{background:linear-gradient(90deg, var(--primary), var(--primary-light));border-radius:999px;height:100%}.q-progress{margin-bottom:1.5rem}.q-prog-label,.assessment-progress__row{color:var(--txt-secondary);justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;display:flex}.question-card,.question-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:1rem;padding:1.5rem}.question-card.answered{border-color:var(--secondary);background:#f0fdf4}.q-num{align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.q-dim-badge{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.dim-a{color:#1e40af;background:#dbeafe}.dim-b{color:#92400e;background:#fef3c7}.dim-c{color:#6b21a8;background:#f3e8ff}.q-text,.question-panel h3,.report-card h3,.results-hero h3{color:var(--txt);font-size:.95rem;line-height:1.7}.likert,.question-panel__options{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.lk-btn,.question-panel__options button{border-radius:8px;min-height:78px;padding:.6rem;font-size:.84rem;font-weight:600;transition:all .2s}.lk-btn:hover,.question-panel__options button:hover{border-color:var(--primary);background:var(--primary-bg)}.lk-btn.sel,.question-panel__options button.active{background:var(--primary);border-color:var(--primary);color:#fff}.fit-cards,.growth-center__stats,.growth-entry-grid,.task-summary-strip,.info-grid,.metric-grid,.profile-grid,.cases-grid-vue{gap:1.5rem;display:grid}.fit-cards{grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.fit-card,.metric-tile,.case-card-vue,.growth-card,.growth-entry-card,.report-card,.task-summary-strip__card,.task-card-vue{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:1.25rem}.fit-card{text-align:center}.fit-card.emp-c{border-top:4px solid var(--emp)}.fit-card.pg-c{border-top:4px solid var(--pg)}.fit-card.cv-c{border-top:4px solid var(--cv)}.fit-label{color:var(--txt);margin-bottom:1rem;font-size:1rem;font-weight:600}.fit-circle{width:100px;height:100px;margin:0 auto 1rem;position:relative}.fit-pct{font-size:1.5rem;font-weight:700;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.fit-explain,.value-list,.explain-list,.report-outline{color:var(--txt-secondary);margin:0;padding-left:1.2rem;line-height:1.8}.fit-explain li+li,.value-list li+li,.explain-list li+li{margin-top:.35rem}.progress-ring circle:last-child{transition:stroke-dasharray .8s ease-out}.no-data,.student-placeholder{text-align:center;color:var(--txt-muted);padding:4rem 2rem;font-size:.95rem}.loading-area{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem;display:flex}.loading-big{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.case-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:1rem;padding:1.25rem;transition:box-shadow .2s}.case-card:hover,.report-card:hover,.growth-entry-card:hover,.task-card-vue:hover{box-shadow:0 6px 20px #0f172a14}.cases-page{max-width:100%}.cases-tabs{border-bottom:1px solid var(--border);gap:1.25rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.cases-tab{color:#7c8798;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:.45rem;padding:.75rem .2rem;font-size:.95rem;display:inline-flex}.cases-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:700}.cases-summary-bar{color:#334155;background:#fff7ed;border-left:4px solid #f59e0b;border-radius:14px;margin-bottom:1rem;padding:.95rem 1rem;line-height:1.7}.cases-list{gap:1rem;display:grid}.student-case-card{--case-accent:#4f46e5;--case-tone:#22c55e;background:#fff;border:1px solid #e6ebf2;border-radius:18px;padding:1.4rem;box-shadow:0 8px 24px #0f172a0d}.student-case-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-case-card__title{color:#1e293b;align-items:center;gap:.6rem;font-size:1.75rem;font-weight:800;display:flex}.student-case-card__rank{color:#fff;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:8px;justify-content:center;align-items:center;padding:.2rem .55rem;font-size:.9rem;font-weight:800;display:inline-flex}.student-case-card__sub{color:#64748b;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.4rem;font-size:1rem;display:flex}.student-case-card__pill{color:#16a34a;background:#22c55e24;border-radius:6px;align-items:center;padding:.15rem .45rem;font-size:.82rem;font-weight:700;display:inline-flex}.student-case-card__quality{color:#fff;background:linear-gradient(135deg, var(--case-tone), color-mix(in srgb, var(--case-tone) 65%, #0f172a));border-radius:999px;padding:.32rem .7rem;font-size:.82rem;font-weight:700}.student-case-card__score-panel{background:linear-gradient(135deg, color-mix(in srgb, var(--case-accent) 80%, #fff), #7c3aed);color:#fff;border-radius:14px;margin-top:1.2rem;padding:1rem 1rem .85rem;position:relative}.student-case-card__score-title{font-size:1rem;font-weight:700}.student-case-card__score-track{background:#ffffff3d;border-radius:999px;height:6px;margin-top:.7rem;overflow:hidden}.student-case-card__score-fill{border-radius:inherit;background:#fff;height:100%}.student-case-card__score-value{font-size:2rem;font-weight:800;position:absolute;top:.92rem;right:1rem}.student-case-card__section,.student-case-card__reason,.student-case-card__bottom,.student-case-card__risk{background:#f8fafc;border-radius:14px;margin-top:.9rem;padding:1rem}.student-case-card__section-title{color:#64748b;margin-bottom:.65rem;font-size:1rem;font-weight:700}.student-case-card__chips{flex-wrap:wrap;gap:.55rem;display:flex}.student-case-card__chip{color:#4338ca;background:#eef2ff;border-radius:999px;align-items:center;padding:.4rem .75rem;font-size:.88rem;font-weight:700;display:inline-flex}.student-case-card__scores{color:#1e293b;flex-wrap:wrap;gap:1.2rem;font-size:.95rem;display:flex}.student-case-card__detail{color:#334155;gap:.35rem;line-height:1.7;display:grid}.student-case-card__reason{color:#1d4ed8;background:#eff6ff;font-weight:600}.student-case-card__bottom{color:#334155}.student-case-card__risk{color:#c2410c;background:#fff7ed;border:1px solid #fdba74}.message-row{border-top:1px solid var(--border-light);justify-content:space-between;gap:1rem;padding:1rem 0;display:flex}.message-row:first-child{border-top:none;padding-top:0}.message-row__main{flex:1}.message-row__main strong,.profile-card__title{color:var(--txt)}.message-row__main p,.profile-note,.growth-center__intro,.report-card p,.report-detail-hero p,.pf-item-text,.pf-empty,.pf-ai-note,.task-history-row p,.task-card-vue p,.case-card-vue p{color:var(--txt-secondary);font-size:.84rem;line-height:1.7}.message-row__meta{color:#607084;background:#eef3f9}.message-row__meta.is-unread{background:var(--primary-bg);color:var(--primary)}.growth-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.growth-entry-card{flex-direction:column;gap:.75rem;display:flex}.growth-entry-card__icon,.report-card__badge{width:34px;height:34px;color:var(--primary);background:var(--primary-bg);border-radius:12px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.growth-entry-card__cta{color:var(--primary);font-size:.82rem;font-weight:700}.growth-path{gap:.75rem;display:grid}.growth-path__item{border-bottom:1px solid var(--border-light);align-items:center;gap:1rem;padding:.95rem 0;display:flex}.growth-path__item:last-child{border-bottom:none;padding-bottom:0}.growth-path__marker{color:#46556a;background:#e9f0f6;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:800;display:flex}.growth-path__item.is-active .growth-path__marker{background:var(--primary);color:#fff}.growth-path__item.is-done .growth-path__marker{color:var(--secondary);background:#10b98126}.portfolio-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.portfolio-list,.pf-items,.task-stack,.question-list,.report-list,.report-sidebar,.task-side,.task-side__stats,.growth-messages{gap:1rem;display:grid}.pf-item,.portfolio-item,.report-task-item,.task-history-row{gap:.75rem;display:flex}.pf-item{background:var(--bg);border-radius:10px;padding:.9rem}.pf-item-content{flex:1}.pf-item-time,.portfolio-time,.report-card__time{color:var(--txt-muted);margin-top:.5rem;font-size:.75rem;display:block}.pf-ai-note,.case-card-vue__panel,.case-card-vue__quality,.value-block,.profile-highlight{background:#f8fbff;border-radius:10px;margin-top:.75rem;padding:.85rem 1rem}.pf-empty{text-align:center;border:2px dashed var(--border);border-radius:10px;padding:2rem 1rem}.pf-add-area{border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.pf-add-btns,.page-actions,.dialog-actions,.growth-hero__actions,.report-detail-hero__actions{flex-wrap:wrap;gap:.75rem;display:flex}.page-actions{justify-content:center}.info-grid{grid-template-columns:repeat(3,1fr)}.info-item,.data-list div{flex-direction:column;gap:.25rem;display:flex}.info-label,.data-list dt{color:var(--txt-muted);letter-spacing:.5px;font-size:.75rem}.info-val,.data-list dd{color:var(--txt);margin:0;font-size:.95rem;font-weight:600}.data-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.data-list div{background:#f8fbff;border-radius:10px;padding:.9rem 1rem}.profile-score-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.profile-score-strip article{background:#f8fbff;border-radius:10px;padding:1rem}.profile-score-strip span{color:#7c8798;font-size:.8rem}.profile-score-strip strong{color:var(--txt);margin-top:.5rem;font-size:1.5rem;display:block}.tag-cloud{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tag-cloud span{background:var(--primary-bg);color:var(--primary);border-radius:999px;padding:.45rem .8rem;font-size:.8rem;font-weight:600}.results-layout,.assessment-layout,.report-detail-layout,.task-layout,.growth-center__panel,.growth-hero{gap:1.25rem;display:grid}.growth-hero{grid-template-columns:1.1fr 1fr;margin-bottom:1.5rem}.growth-hero__lead{color:#fff;background:linear-gradient(145deg,#114653 0%,#0f6071 48%,#14858b 100%);border-radius:12px;padding:1.5rem}.growth-hero__title{color:#ffffffb8;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.growth-hero__lead h3,.report-detail-hero h3,.results-hero__score{margin-top:.5rem}.growth-hero__lead h3{font-size:2rem}.growth-hero__lead p{color:#ffffffd9;margin-top:.75rem;line-height:1.8}.growth-hero__action{color:#fff;background:#ffffff1f;border-radius:999px;justify-content:center;align-items:center;min-width:112px;height:42px;padding:0 18px;font-weight:700;display:inline-flex}.growth-hero__action--primary{color:#153844;background:linear-gradient(#f5efe0 0%,#e2d1a3 100%)}.growth-center__stats{grid-template-columns:repeat(4,minmax(0,1fr))}.growth-card span,.task-summary-strip__card span{color:var(--txt-secondary);font-size:.75rem}.growth-card strong,.metric-tile strong,.task-summary-strip__card strong{color:var(--txt);margin-top:.6rem;font-size:1.55rem;display:block}.growth-card p,.task-summary-strip__card p{color:var(--txt-secondary);margin-top:.6rem;line-height:1.7}.growth-center__panel{grid-template-columns:1.2fr 1fr;margin-bottom:1.5rem}.growth-center__section{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:1.5rem}.growth-overview-grid,.growth-quick-grid{gap:1rem;margin-bottom:1.5rem;display:grid}.growth-overview-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.growth-overview-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem}.growth-overview-card--primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:0}.growth-overview-card__label{color:inherit;opacity:.88;margin-bottom:.5rem;font-size:.85rem}.growth-overview-card__value{color:var(--txt);font-size:2rem;font-weight:700;line-height:1.1}.growth-overview-card--primary .growth-overview-card__value{color:#fff}.growth-overview-card--success .growth-overview-card__value{color:var(--secondary)}.growth-overview-card--warning .growth-overview-card__value{color:var(--warning)}.growth-overview-card__helper{color:var(--txt-secondary);margin-top:.4rem;font-size:.78rem;line-height:1.6}.growth-overview-card--primary .growth-overview-card__helper{color:#ffffffd9}.growth-overview-card__progress{background:#e5e7eb;border-radius:999px;height:6px;margin-top:.6rem;overflow:hidden}.growth-overview-card__progress-fill{border-radius:inherit;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);height:100%}.growth-flow-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.growth-flow-card__title{color:var(--txt);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.growth-path-inline{flex-wrap:wrap;gap:1rem;display:flex}.growth-path-inline__item{text-align:center;cursor:pointer;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;flex:1;min-width:120px;padding:1rem;transition:all .2s}.growth-path-inline__item:hover{border-color:var(--primary)}.growth-path-inline__item.is-completed{cursor:default;background:#f0fdf4;border-color:#10b981}.growth-path-inline__marker{color:#fff;background:#9ca3af;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto .5rem;font-size:.9rem;font-weight:700;display:inline-flex}.growth-path-inline__item.is-completed .growth-path-inline__marker{background:#10b981}.growth-path-inline__label{color:#6b7280;font-size:.85rem;font-weight:600;display:block}.growth-path-inline__item.is-completed .growth-path-inline__label{color:#059669}.growth-save-label{color:var(--ok);margin-left:auto;font-size:.75rem;font-weight:400}.growth-message-panel{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.growth-message-panel__title{color:var(--txt);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:700;display:flex}.growth-message-panel__badge{color:#fff;background:#ef4444;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.growth-message-list{flex-direction:column;gap:.75rem;display:flex}.growth-message-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.9rem 1rem;transition:all .2s;display:block}.growth-message-card:hover{background:#dbeafe}.growth-message-card.is-read{background:#f9fafb;border-color:#e5e7eb}.growth-message-card.is-read:hover{background:#f3f4f6}.growth-message-card__title{color:var(--txt);margin-bottom:.25rem;font-size:.92rem;font-weight:600}.growth-message-card__content{color:var(--txt-secondary);font-size:.82rem;line-height:1.6}.growth-message-card__meta{color:#667eea;justify-content:space-between;gap:1rem;margin-top:.45rem;font-size:.75rem;display:flex}.growth-message-card.is-read .growth-message-card__meta{color:var(--txt-muted)}.growth-quick-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.growth-quick-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:all .2s}.growth-quick-card:hover{border-color:#667eea;transform:translateY(-2px)}.growth-quick-card__icon{margin-bottom:.5rem;font-size:2rem}.growth-quick-card__label{color:var(--txt);font-size:.95rem;font-weight:600}.growth-chat-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.growth-chat-head__meta{color:var(--muted);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.growth-chat-focus{color:#475569;background:#f8fbff;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.growth-center__section-title{color:var(--txt);margin-bottom:1rem;font-size:.98rem;font-weight:700}.metric-grid,.profile-grid,.cases-grid-vue{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-tile__bar{background:#11728f1a;border-radius:999px;height:10px;margin-top:.8rem;overflow:hidden}.metric-tile__fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--primary-light));height:100%}.case-direction{color:#11728f;background:#11728f1f}.quality-badge[data-level=A]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.quality-badge[data-level=B]{color:#fff;background:linear-gradient(135deg,#4facfe,#00f2fe)}.quality-badge[data-level=C]{color:#573600;background:linear-gradient(135deg,#fa709a,#fee140)}.case-card-vue__score{text-align:right;min-width:90px}.case-card-vue__score span,.task-card-vue__deadline{color:var(--txt-muted);font-size:.75rem}.case-card-vue__score strong{color:#7149d6;margin-top:.4rem;font-size:2rem;display:block}.case-card-vue__risk{color:#7b5b1d;background:#f4d07a40;border-radius:10px;margin-top:.75rem;padding:.75rem .85rem;line-height:1.6}.report-list{margin-top:1rem}.report-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.report-card__main{flex:1}.report-count-strip p{margin-top:.5rem}.report-detail-hero{justify-content:space-between;align-items:center;gap:1rem;display:flex}.report-detail-layout{grid-template-columns:minmax(0,1fr) 300px}.markdown-report{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:1.75rem}.markdown-report__block+.markdown-report__block{margin-top:1.25rem}.markdown-report__cover{background:linear-gradient(135deg,#11728f14,#19607c24);border-radius:12px;padding:1.25rem}.markdown-report h1,.markdown-report h2,.markdown-report h3{color:var(--txt)}.markdown-report h1{font-size:2rem}.markdown-report h2{font-size:1.35rem}.markdown-report p,.markdown-report li,.markdown-report td{color:var(--txt-secondary);line-height:1.85}.markdown-report__list,.markdown-report__checklist{margin:0;padding-left:1.2rem}.markdown-report__checklist{padding-left:0;list-style:none}.markdown-report__checklist li{align-items:flex-start;gap:.65rem;display:flex}.markdown-report__check{color:var(--primary);font-weight:800}.markdown-report__table-wrap{overflow-x:auto}.markdown-report table{border-collapse:collapse;width:100%}.markdown-report th,.markdown-report td{text-align:left;border:1px solid #e5ebf3;padding:.75rem .85rem}.markdown-report th{background:#f5f9fc}.task-layout{grid-template-columns:1.45fr .8fr}.filter-panel{padding:1.25rem 1.5rem}.filter-row{align-items:center;gap:.85rem}.filter-row+.filter-row{margin-top:.9rem}.task-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.task-card-vue__head{justify-content:space-between;gap:1rem;display:flex}.task-card-vue__meta{color:#7c8798;margin:.75rem 0;font-size:.8rem}.task-card-vue__history{background:#f8fbff;border-radius:10px;margin:.75rem 0;padding:.85rem 1rem}.task-card-vue__form{gap:.75rem;margin-bottom:.85rem;display:grid}.task-history-row{grid-template-columns:96px minmax(0,1fr);display:grid}.checkin-calendar__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.checkin-calendar__header button{cursor:pointer;background:#eef3f9;border:0;border-radius:999px;width:32px;height:32px}.checkin-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.checkin-calendar__grid--head span{text-align:center;color:#7c8798;font-size:12px;font-weight:700}.checkin-calendar__day,.checkin-calendar__grid .is-empty{aspect-ratio:1;justify-content:center;align-items:center;display:inline-flex}.checkin-calendar__day{color:#4f5e74;background:#f3f6fa;border-radius:999px;font-size:13px;font-weight:700}.checkin-calendar__day.is-checked{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.dialog-backdrop{z-index:1000;background:#0f172a73;place-items:center;display:grid;position:fixed;inset:0}.dialog-card{background:#fff;border-radius:20px;width:min(460px,100vw - 32px);padding:2rem;box-shadow:0 28px 60px #112a4c38}.dialog-icon{color:#11728f;background:#11728f1f;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;font-size:22px;font-weight:700;display:inline-flex}.dialog-card h3{color:var(--txt);margin-bottom:.5rem;font-size:1.6rem}.dialog-card p{color:var(--txt-secondary);line-height:1.7}.dialog-progress{gap:8px;margin-top:1rem;display:flex}.dialog-progress span{background:var(--primary);border-radius:999px;width:10px;height:10px}.dialog-progress .is-muted{background:#d8e1ef}.dialog-btn{border-radius:14px;padding:.75rem 1.1rem;font-weight:700}.dialog-btn--ghost{color:#405067}.value-dialog__task{color:#43536a;margin:.25rem 0 0;font-size:1rem;font-weight:700}.value-block{margin-top:1rem}.value-block__title{color:var(--txt);margin-bottom:.65rem;font-weight:800}.value-points{color:#12526c;background:linear-gradient(135deg,#11728f1f,#19607c2e);border-radius:18px;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem;display:flex}.value-points strong{font-size:1.8rem}.security-form,.onboarding-card{gap:1rem;display:grid}.security-form label,.onboarding-grid label{color:#22324b;gap:.5rem;font-weight:600;display:grid}.security-form__status{color:#11728f}.onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typing{0%,to{opacity:.3}50%{opacity:1}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (width<=1280px){.fit-cards,.growth-center__stats,.growth-entry-grid,.task-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-hero,.growth-center__panel,.metric-grid,.profile-grid,.cases-grid-vue,.report-detail-layout,.task-layout,.fit-cards{grid-template-columns:1fr}.growth-path-inline,.growth-chat-head{flex-direction:column;align-items:stretch}}@media (width<=968px){.login-page{flex-direction:column}.login-left,.login-right{width:100%;padding:2rem}.login-features{flex-direction:column}}@media (width<=900px){.sidebar{width:100%;position:relative}.app-layout{flex-direction:column}.main-content{margin-left:0}.content-area,.page-header{padding:1rem}.likert,.question-panel__options,.data-list,.profile-score-strip,.onboarding-grid,.task-summary-strip,.growth-entry-grid,.growth-center__stats,.growth-overview-grid,.growth-quick-grid{grid-template-columns:1fr}.report-detail-hero,.growth-hero__actions,.report-detail-hero__actions,.page-header{flex-direction:column;align-items:stretch}.student-case-card__head,.student-case-card__title,.student-case-card__scores{flex-direction:column;align-items:flex-start}.student-case-card__score-value{margin-top:.6rem;position:static}}
