@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap";:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--primary-glow:#2563eb26;--secondary:#64748b;--secondary-hover:#475569;--bg-app:#f4f7f9;--bg-card:#ffffffd9;--bg-sidebar:#fff;--bg-header:#fff;--border-color:#e5e7eb80;--border-focus:#2563eb;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-on-primary:#fff;--text-on-sidebar:#0f172a;--success:#10b981;--success-bg:#d1fae5;--warning:#f59e0b;--warning-bg:#fef3c7;--danger:#ef4444;--danger-bg:#fee2e2;--info:#3b82f6;--info-bg:#dbeafe;--tag-cp-bg:linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);--tag-cp-text:#b45309;--tag-dept-bg:linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);--tag-dept-text:#059669;--tag-birth-bg:linear-gradient(135deg, #f3e8ff 0%, #e9d5ff 100%);--tag-birth-text:#7e22ce;--tag-title-bg:linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);--tag-title-text:#0369a1;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #0f172a0a;--shadow-md:0 8px 16px #0f172a0f, 0 2px 6px #0f172a0a;--shadow-lg:0 16px 32px #0f172a14, 0 4px 12px #0f172a0a;--shadow-xl:0 24px 48px #0f172a14;--glow-primary:0 8px 24px #2563eb40;--duration:.25s;--ease:cubic-bezier(.16, 1, .3, 1);--brand-gradient:linear-gradient(135deg, #2563eb 0%, #3b82f6 100%)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:var(--radius-lg)}.tag-gradient{border-radius:var(--radius-full);letter-spacing:.02em;justify-content:center;align-items:center;padding:.35rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-weight:700;line-height:1.2}a{color:var(--primary);transition:all var(--duration) var(--ease);text-decoration:none}a:hover{color:var(--primary-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:99px}::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.app-container,.page-container{width:100%;max-width:100%;animation:fadeIn .28s var(--ease);margin:0;padding:1.5rem 2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);padding:1.5rem}.card:hover{box-shadow:var(--shadow-md)}.page-header{justify-content:space-between;align-items:flex-end;margin-bottom:2rem;display:flex}.page-title{color:var(--text-primary);font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);isolation:isolate;will-change:transform;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.875rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden;transform:translateY(0)}.btn:before{content:"";opacity:0;transition:transform .52s var(--ease), opacity .22s var(--ease);pointer-events:none;background:linear-gradient(120deg,#fff0 18%,#ffffff29 46%,#fff0 74%);position:absolute;inset:0;transform:translate(-135%)}.btn:after{content:"";width:140px;height:140px;left:calc(var(--press-x,50%) - 70px);top:calc(var(--press-y,50%) - 70px);opacity:0;transition:transform .42s var(--ease), opacity .42s var(--ease);pointer-events:none;background:radial-gradient(circle,#ffffff47 0%,#ffffff1f 38%,#fff0 72%);border-radius:999px;position:absolute;transform:scale(.25)}.btn:hover:before{opacity:1;transform:translate(135%)}.btn:hover{transform:translateY(-1px)}.btn:active,.btn.is-pressing{transform:translateY(1px)scale(.985)}.btn.is-pressing:after{opacity:1;transform:scale(1)}.btn[aria-busy=true]{cursor:progress;box-shadow:0 0 0 1px #2563eb1a,0 10px 18px #2563eb1f}.btn[aria-busy=true]:before{opacity:1;animation:1.15s linear infinite buttonBusySweep}.btn.is-complete{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-color:#0000;box-shadow:0 12px 24px #10b98138}.btn-primary{background:var(--primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md)}.btn-secondary,.btn-default{color:var(--text-primary);border-color:var(--border-color);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover{background:#f9fafb}.btn-danger{color:var(--danger);border-color:var(--danger-bg);background:#fff}.btn-danger:hover{background:var(--danger-bg)}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{border-radius:var(--radius-sm);border:1px solid var(--border-color);width:100%;transition:all var(--duration) var(--ease);color:var(--text-primary);background:#fff;padding:.625rem .875rem;font-size:.875rem}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus);outline:none}.form-control::placeholder{color:#9ca3af}.table-container{margin-top:1rem;position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#fff;padding:.75rem 1rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--border-color);color:var(--text-primary);transition:background-color var(--duration);padding:1rem;font-size:.875rem}tr:hover td{background:#f9fafb}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.page-shell{border-radius:var(--radius-md);animation:fadeIn .3s var(--ease);background:linear-gradient(#fff 0%,#fcfdff 100%);border:1px solid #e2e8f0eb;margin-bottom:2rem;overflow:hidden;box-shadow:0 10px 28px #0f172a0a}.page-titlebar{background:linear-gradient(#fffffffa 0%,#f8fafcf0 100%);border-bottom:1px solid #e2e8f0e6;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.page-heading .page-title{margin-bottom:.25rem;font-size:1.25rem}.page-heading .page-subtitle{color:var(--text-secondary);margin-top:0;font-size:.875rem}.filter-bar{background:linear-gradient(#f9fbfff5 0%,#fffffffa 100%);border-bottom:1px solid #e2e8f0e6;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.25rem 2rem;display:flex}.filter-field{border-radius:var(--radius-sm);border:1px solid var(--border-color);height:38px;color:var(--text-primary);transition:all var(--duration);background:#fff;min-width:180px;padding:0 .875rem;font-size:.875rem}.filter-field:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus);outline:none}.filter-field--wide{min-width:280px}.filter-spacer{flex:1}.data-table{border-collapse:collapse;width:100%}.data-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;background:#f8fafc;padding:.875rem 2rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;transition:background-color var(--duration) var(--ease);padding:1rem 2rem;font-size:.875rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#fbfdff}.table-empty{text-align:center;color:var(--text-tertiary);padding:4rem!important}.list-feedback{text-align:center;flex-direction:column;align-items:center;gap:.45rem;max-width:420px;margin:0 auto;display:flex}.list-feedback-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.list-feedback-detail{color:var(--text-secondary);font-size:.84rem;line-height:1.65}.list-feedback--empty .list-feedback-title{color:#334155}.list-feedback--error .list-feedback-title{color:#b91c1c}.list-feedback--error .list-feedback-detail{color:#7f1d1d}.list-feedback-skeleton{flex-direction:column;gap:.45rem;width:min(320px,100%);margin-top:.3rem;display:flex}.list-feedback-line{background:linear-gradient(90deg,#e2e8f0b8 0%,#fffffff2 50%,#e2e8f0b8 100%) 0 0/200% 100%;border-radius:999px;height:10px;animation:1.25s linear infinite listFeedbackSweep}.list-feedback-line.is-mid{width:82%;margin-left:auto;margin-right:auto}.list-feedback-line.is-short{width:62%;margin-left:auto;margin-right:auto}.pagination{border-top:1px solid var(--border-color);background:#fff;justify-content:flex-end;align-items:center;gap:.25rem;padding:1.25rem 2rem;display:flex}.pagination-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);min-width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration);background:#fff;justify-content:center;align-items:center;padding:0 .5rem;font-size:.875rem;font-weight:500;display:flex}.pagination-btn:hover:not(:disabled){color:var(--text-primary);background:#f9fafb}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-secondary);margin-right:auto;font-size:.875rem}#toast-container{z-index:12000;pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:2rem;right:2rem}.toast{--toast-accent:#1d4ed8;border-radius:var(--radius-sm);min-width:300px;max-width:400px;box-shadow:var(--shadow-lg);pointer-events:auto;border:1px solid var(--border-color);transition:all .3s var(--ease);opacity:0;background:#fff;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;position:relative;overflow:hidden;transform:translate(120%)}.toast:before{content:"";background:var(--toast-accent);opacity:.18;width:4px;position:absolute;inset:0 auto 0 0}.toast:after{content:"";background:linear-gradient(90deg, var(--toast-accent) 0%, #fff0 100%);opacity:.24;transform-origin:0;height:2px;animation:toastProgress var(--toast-duration,3s) linear forwards;position:absolute;bottom:0;left:0;right:0}.toast.show{opacity:1;transform:translate(0)}.toast-icon{border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:.875rem;display:grid}.toast.show .toast-icon{animation:toastIconPop .46s var(--ease)}.toast-message{color:var(--text-primary);font-size:.875rem;font-weight:500}.toast.success{--toast-accent:#047857}.toast.warning{--toast-accent:#b45309}.toast.danger{--toast-accent:#b91c1c}.toast.info{--toast-accent:#1d4ed8}.toast.success .toast-icon{color:var(--success)}.toast.warning .toast-icon{color:var(--warning)}.toast.danger .toast-icon{color:var(--danger)}.toast.info .toast-icon{color:var(--info)}.panel-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid #e2e8f0eb;padding:1.5rem;box-shadow:0 10px 28px #0f172a0a}.panel-card.page-shell{padding:0}.page-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.filter-bar .btn{height:38px}.btn-primary,.btn-secondary,.btn-default,.btn-danger,.btn-warning,.btn-success,.btn-accent{border-radius:var(--radius-sm);cursor:pointer;min-height:34px;transition:all var(--duration) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.875rem;font-weight:600;display:inline-flex}.btn-sm{border-radius:6px;min-height:30px;padding:.32rem .75rem;font-size:.78rem}.btn-warning{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.btn-warning:hover{background:#ffedd5}.btn-success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.btn-success:hover{background:#d1fae5}.btn-accent{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.btn-accent:hover{background:#dbeafe}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-warning:disabled,.btn-success:disabled,.btn-accent:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.panel-header{background:linear-gradient(#fffffffa 0%,#f8fafcf0 100%);border-bottom:1px solid #e2e8f0e6;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem .85rem;display:flex}.panel-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.table-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.status-badge{white-space:nowrap;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.38rem;padding:.18rem .58rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.status-badge--live:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px;animation:1.8s ease-out infinite liveDotPulse;box-shadow:0 0}.status-badge.success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.status-badge.warning{color:#b45309;background:#fffbeb;border-color:#fcd34d}.status-badge.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.status-badge.info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status-badge.muted{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.motion-row>td{opacity:0;animation:tableRowReveal .42s var(--ease) forwards;animation-delay:var(--motion-row-delay,0s);transform:translateY(10px)}.cell-title{color:var(--text-primary);font-size:.88rem;font-weight:700;display:block}.cell-subtitle{color:var(--text-tertiary);margin-top:.2rem;font-size:.75rem;display:block}.cell-mono{font-family:Consolas,JetBrains Mono,monospace;font-size:.8rem}.stack-form{flex-direction:column;gap:.9rem;display:flex}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.input-group{margin:0}.input-group label{color:var(--text-secondary);margin-bottom:.38rem;font-size:.82rem;font-weight:600;display:block}.input-group input,.input-group select,.input-group textarea,.field-control{border-radius:var(--radius-sm);border:1px solid var(--border-color);width:100%;min-height:36px;color:var(--text-primary);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:#fff;outline:none;padding:.55rem .68rem;font-size:.875rem}.input-group textarea,.field-control{resize:vertical}.input-group input:focus,.input-group select:focus,.input-group textarea:focus,.field-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #0f172a14}.field-control--mono{font-family:Consolas,JetBrains Mono,monospace;line-height:1.45}.checkbox-line{color:var(--text-primary);align-items:center;gap:.45rem;padding-top:1.75rem;font-size:.875rem;font-weight:600;display:inline-flex}.checkbox-line input[type=checkbox]{width:15px;height:15px;margin:0}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .22s var(--ease);background:#02061775;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1}.modal-content{border:1px solid var(--border-color);border-radius:var(--radius-lg);width:min(760px,100vw - 2rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-xl);transition:transform .22s var(--ease);background:#fff;flex-direction:column;display:flex;overflow:hidden;transform:translateY(8px)scale(.98)}.modal-overlay.active .modal-content{transform:translateY(0)scale(1)}.modal-header{background:linear-gradient(#fffffffa 0%,#f8fafcf0 100%);border-bottom:1px solid #e2e8f0eb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.modal-title{margin:0;font-size:1.05rem;font-weight:700}.modal-close{border:1px solid var(--border-color);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:50%;font-size:1.2rem;line-height:1}.modal-close:hover{color:var(--text-primary);background:#f8fafc}.modal-body{padding:1rem 1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:#fff;justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem 1.1rem;display:flex}.modal-hint{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.55}.alert{border-radius:var(--radius-sm);border:1px solid #0000;padding:.7rem .9rem;font-size:.875rem;line-height:1.55}.alert-info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.cell-muted{color:var(--text-tertiary)}.cell-accent{color:#1d4ed8;font-weight:600}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:inline-block;overflow:hidden}.empty-inline{color:var(--text-tertiary);font-style:italic}.color-danger{color:#dc2626}.color-accent{color:#1d4ed8}.page-info{color:var(--text-secondary);margin-right:auto;font-size:.875rem}.page-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);min-width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);background:#fff;font-size:.84rem;font-weight:600}.page-btn:hover:not(:disabled){color:var(--text-primary);background:#f8fafc}.page-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.page-btn:disabled{opacity:.5;cursor:not-allowed}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;display:grid}.required-mark{color:#dc2626;margin-left:.12rem;font-weight:700}.modal-checkline,.editor-checkline{color:var(--text-primary);align-items:center;gap:.45rem;font-size:.875rem;font-weight:600;display:inline-flex}.modal-checkline input[type=checkbox],.editor-checkline input[type=checkbox]{width:15px;height:15px;margin:0}.modal-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .8rem;display:grid}.modal-checkbox{min-height:30px;color:var(--text-primary);align-items:center;gap:.42rem;font-size:.84rem;display:inline-flex}.modal-checkbox input{width:14px;height:14px;margin:0}.modal-scroll-box{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fff;max-height:280px;padding:.55rem .65rem;overflow-y:auto}.detail-list{flex-direction:column;gap:.5rem;display:flex}.detail-row{border-bottom:1px dashed #e2e8f0e6;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:.7rem;padding:.28rem 0;display:grid}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.detail-value{color:var(--text-primary);font-size:.875rem;line-height:1.55}@keyframes liveDotPulse{0%{opacity:1;box-shadow:0 0 #3b82f647}70%{opacity:.82;box-shadow:0 0 0 8px #3b82f600}to{opacity:1;box-shadow:0 0 #3b82f600}}@keyframes tableRowReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes listFeedbackSweep{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes buttonBusySweep{0%{transform:translate(-135%)}to{transform:translate(135%)}}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toastIconPop{0%{opacity:.4;transform:scale(.82)}65%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.detail-divider{background:var(--border-color);height:1px;margin:.35rem 0}.perm-tree-item,.tree-cell{align-items:center;gap:.4rem;min-width:0;display:flex}.perm-tree-name{color:var(--text-primary);min-width:0;font-weight:600}.perm-tree-meta{color:var(--text-tertiary);font-size:.76rem}.tree-marker{color:var(--text-tertiary);min-width:.8rem;font-size:.75rem}.tree-marker--child{opacity:.8}.type-badge,.method-badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:20px;padding:0 .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.type-badge--group{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.type-badge--api{color:#0f766e;background:#ecfeff;border-color:#99f6e4}.method-badge{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.editor-shell{padding:0;overflow:hidden}.editor-header{border-bottom:1px solid var(--border-color);background:linear-gradient(#fff 0%,#f8fafc 100%);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.6rem 2rem;display:flex}.editor-heading{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.editor-back{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;min-height:32px;transition:all var(--duration) var(--ease);background:#fff;padding:0 .75rem;font-size:.82rem;font-weight:600}.editor-back:hover{color:var(--text-primary);background:#f8fafc;border-color:#d1d5db}.editor-title{letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:800}.editor-intro{color:var(--text-secondary);max-width:860px;margin-top:.4rem;font-size:.92rem}#teacherFullForm{flex-direction:column;gap:1rem;padding:1.5rem 2rem 2rem;display:flex}.editor-section{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:1.2rem 1.2rem 1.3rem 3rem;position:relative}.section-label{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;font-weight:700;display:grid;position:absolute;top:1.2rem;left:1rem}.section-title{margin:0;font-size:1.08rem;font-weight:700}.section-intro{color:var(--text-secondary);margin:.35rem 0 1rem;font-size:.86rem}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;display:grid}.editor-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-checkline{grid-column:span 3;margin-top:.05rem}.dynamic-array-block{border-radius:var(--radius-md);background:#f8fafc;border:1px dashed #dbe2eb;margin-top:.9rem;padding:.95rem}.dynamic-array-title{color:var(--text-primary);margin:0 0 .7rem;font-size:.9rem;font-weight:700}.dynamic-array-row{border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff;align-items:flex-end;gap:.65rem;margin-bottom:.65rem;padding:.75rem;display:flex}.dynamic-array-cell{flex-direction:column;gap:.35rem;min-width:0;display:flex}.dynamic-array-cell label{color:var(--text-secondary);font-size:.76rem;font-weight:600}.dynamic-array-cell input,.dynamic-array-cell textarea{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text-primary);background:#fff;padding:.48rem .58rem;font-size:.85rem}.dynamic-array-cell textarea{resize:vertical;min-height:70px}.dynamic-array-remove{border-radius:var(--radius-sm);color:#b91c1c;cursor:pointer;min-height:36px;transition:all var(--duration) var(--ease);background:#fef2f2;border:1px solid #fecaca;padding:0 .75rem;font-size:.82rem;font-weight:600}.dynamic-array-remove:hover{background:#fee2e2}.dynamic-array-add{border-radius:var(--radius-sm);color:#1d4ed8;cursor:pointer;width:100%;min-height:38px;transition:all var(--duration) var(--ease);background:#eff6ff;border:1px dashed #bfdbfe;font-size:.84rem;font-weight:700}.dynamic-array-add:hover{background:#dbeafe}.main-content.teacher-main-content-lock-scroll{overflow-y:hidden}.main-content.teacher-main-content-lock-scroll .page-container.teacher-page-container-fit{flex-direction:column;min-height:0;display:flex}.teacher-profile-page-shell{background:linear-gradient(#f8fbff 0%,#f3f7fb 100%);border:1px solid #d9e2ec;flex-direction:column;flex:1;height:100%;min-height:0;margin-bottom:0;display:flex;overflow:hidden}.teacher-profile-page-shell #teacherProfileBody{flex:1;min-height:0;display:flex;overflow:hidden}.teacher-profile-page-shell #teacherProfileBody.table-empty{place-items:center;display:grid}.teacher-profile-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:210px minmax(0,1fr);align-items:stretch;gap:12px;height:100%;min-height:0;padding:1rem;display:grid}.teacher-profile-aside{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:fit-content;padding:1rem .85rem;position:sticky;top:1rem}.teacher-profile-page-shell .teacher-profile-aside{align-self:stretch;position:static;top:auto}.teacher-name-card{border-radius:var(--radius-sm);color:#234f7a;text-align:center;background:linear-gradient(#eef5fc 0%,#ddeaf7 100%);border:1px solid #cfe0f2;flex-direction:column;place-items:center;min-height:86px;margin-bottom:1rem;padding:.72rem .68rem .66rem;display:flex}.teacher-avatar-wrap{background:linear-gradient(135deg,#85a6c8 0%,#2f5f8f 100%);border-radius:999px;width:48px;height:48px;padding:2px;box-shadow:0 6px 16px #234f7a33}.teacher-avatar-img{border-radius:inherit;object-fit:cover;border:2px solid #fff;width:100%;height:100%;display:block}.teacher-name-text{color:#234f7a;margin-top:.46rem;font-size:1.02rem;font-weight:800;line-height:1.1}.teacher-level-meta{color:#57748f;letter-spacing:.04em;margin-top:.28rem;font-size:.75rem;font-weight:700}.teacher-anchor-list{touch-action:none;background:linear-gradient(#f5faff 0%,#edf5fd 100%);border:1px solid #d1e2f2;border-radius:12px;flex-direction:column;gap:.35rem;padding:.3rem;display:flex;box-shadow:inset 0 1px #ffffffd9,0 8px 18px #1b487f14}.teacher-anchor-link{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text-secondary);text-align:left;cursor:pointer;letter-spacing:.01em;will-change:transform;transition:color var(--duration) var(--ease), background var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:.45rem;padding:0 .82rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.teacher-anchor-link:before{content:"";opacity:0;transition:opacity var(--duration) var(--ease);pointer-events:none;background:linear-gradient(120deg,#2563eb24 0%,#0ea5e914 100%);position:absolute;inset:0}.teacher-anchor-link:hover{color:#1f4d80;background:#ecf4ff;border-color:#d4e3f4;transform:translate(2px)}.teacher-anchor-link:hover:before{opacity:.72}.teacher-anchor-link.active{color:#0f3f73;background:linear-gradient(135deg,#e2efff 0%,#cee3ff 100%);border-color:#8fb6e2;transform:translate(4px);box-shadow:0 10px 22px #2563eb38}.teacher-anchor-link.active:before{opacity:1}.teacher-anchor-list.is-dragging,.teacher-anchor-list.is-dragging .teacher-anchor-link{cursor:grabbing}.teacher-anchor-list.is-dragging{background:linear-gradient(#edf5ff 0%,#e5f0ff 100%);border-color:#b5d0eb;box-shadow:inset 0 1px #ffffffe6,0 10px 20px #2563eb24}.teacher-anchor-list.is-dragging .teacher-anchor-link{transition-duration:.12s}body.anchor-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.teacher-profile-main{-ms-overflow-style:none;scrollbar-width:none;scroll-behavior:smooth;scrollbar-gutter:stable;min-width:0;height:100%;min-height:0;padding-right:4px;padding-bottom:var(--anchor-bottom-space,180px);overflow-y:auto}.teacher-profile-main::-webkit-scrollbar{width:0;height:0;display:none}.teaching-process-data-layout{grid-template-columns:210px minmax(0,1fr)}.teaching-process-data-main{padding-bottom:1rem;padding-right:0}.teaching-process-data-panel{margin-bottom:0}.teacher-info-section{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:#fff;margin-bottom:1rem;scroll-margin-top:.8rem;overflow:hidden}.teacher-info-section.section-hidden{display:none}.teacher-info-section.is-anchor-target{box-shadow:0 0 0 2px #2563eb29, var(--shadow-sm);border-color:#bfdbfe}.teacher-info-header{border-bottom:1px solid var(--border-color);background:linear-gradient(#fff 0%,#f8fafc 100%);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.25rem;display:flex}.teacher-info-actions{align-items:center;gap:.55rem;display:inline-flex}.teacher-info-title{margin:0;font-size:1.2rem;font-weight:800}.teacher-profile-main>.teacher-info-section>.teacher-info-title{border-bottom:1px solid var(--border-color);color:#23455f;background:linear-gradient(#fff 0%,#f7fbff 100%);padding:.86rem 1.15rem;font-size:1.04rem}.teacher-info-section .data-table,.teacher-info-section .table-container{margin:0}.teacher-kv-table th{background:#f8fafc;width:170px}.teacher-kv-table td{min-width:180px}.teacher-kv-table.is-editing td{background:#fff}.teacher-inline-field{color:#2b445f;width:100%;min-height:34px;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background-color var(--duration) var(--ease);background:#fff;border:1px solid #d7e1ec;border-radius:8px;padding:.42rem .62rem;font-size:.86rem;line-height:1.25}.teacher-inline-field:focus{border-color:#8cb0d5;outline:none;box-shadow:0 0 0 2px #2563eb24}.teacher-inline-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.teacher-edit-floating{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(120deg,#ebf5fff2 0%,#dfedffeb 100%);justify-content:flex-end;align-items:center;gap:.55rem;margin:0 0 .9rem;padding:.56rem .7rem;display:flex;position:sticky;top:0;box-shadow:0 12px 24px #0f366629}.teacher-edit-floating .btn{min-width:84px}.teacher-edit-floating-chip{color:#204d79;letter-spacing:.03em;white-space:nowrap;background:#f4f9ff;border:1px solid #9ec2ea;border-radius:999px;align-items:center;margin-right:auto;padding:.26rem .58rem;font-size:.78rem;font-weight:700;display:inline-flex}.teacher-editing-hint{color:#2c5d8e;background:#edf5ff;border:1px solid #c4daf3;border-radius:999px;align-items:center;padding:.18rem .52rem;font-size:.78rem;font-weight:700;display:inline-flex}.teacher-record-section{border-color:#d3e3f4}.teacher-section-edit-header{background:linear-gradient(#f8fbff 0%,#f2f8ff 100%);border-bottom:1px solid #dfe9f3;justify-content:space-between;align-items:center;gap:.9rem;padding:.88rem 1.15rem;display:flex}.teacher-section-edit-header .teacher-info-title{margin:0;background:0 0!important;border-bottom:none!important;padding:0!important}.teacher-record-add{white-space:nowrap}.teacher-record-editor{margin:0}.teacher-record-table{table-layout:fixed;min-width:740px}.teacher-record-table th,.teacher-record-table td{vertical-align:middle}.teacher-record-table tbody tr:nth-child(2n) td{background:#fbfdff}.teacher-record-op-head,.teacher-record-op-cell{text-align:center;width:94px}.teacher-record-field{color:#2d4b67;width:100%;min-height:34px;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background-color var(--duration) var(--ease);background:#fff;border:1px solid #d2deea;border-radius:8px;padding:.4rem .58rem;font-size:.84rem;line-height:1.22}.teacher-record-field:focus{border-color:#95b7da;outline:none;box-shadow:0 0 0 2px #2563eb24}.teacher-record-remove{min-height:30px;padding:0 .68rem}.teacher-info-section .data-table tbody tr:nth-child(2n) td{background:#fcfdff}@media (width<=1080px){.editor-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-checkline{grid-column:span 2}}@media (width<=900px){.main-content.teacher-main-content-lock-scroll{overflow-y:auto}.field-grid{grid-template-columns:1fr}.page-titlebar,.filter-bar,.data-table th,.data-table td,.pagination,.panel-header{padding-left:1rem;padding-right:1rem}.modal-grid,.editor-grid,.editor-grid--three,.modal-check-grid{grid-template-columns:1fr}.editor-checkline{grid-column:span 1}.teacher-profile-layout{grid-template-columns:1fr}.teacher-profile-aside{position:static}.teacher-profile-page-shell{height:auto}.teacher-profile-page-shell #teacherProfileBody,.teacher-profile-page-shell .teacher-profile-layout,.teacher-profile-page-shell .teacher-profile-main{height:auto;min-height:0;display:block}.teacher-profile-page-shell .teacher-profile-main{padding-bottom:0;overflow:visible}.teacher-anchor-list{flex-flow:wrap}.editor-header,#teacherFullForm{padding-left:1rem;padding-right:1rem}.editor-section{padding-left:2.65rem;padding-right:1rem}.detail-row{grid-template-columns:1fr;gap:.35rem}.teacher-kv-table th,.teacher-kv-table td{width:auto;min-width:0}.teacher-edit-floating{flex-wrap:wrap;justify-content:flex-start;gap:.45rem;padding:.5rem .6rem;top:.45rem}.teacher-edit-floating-chip{margin-right:0}.teacher-section-edit-header{flex-wrap:wrap;align-items:flex-start}.teacher-record-table{min-width:650px}}@media (width<=720px){.page-container{padding:1rem}.editor-title{font-size:1.45rem}.dynamic-array-row{flex-direction:column;align-items:stretch}.dynamic-array-cell{flex:100%!important;width:100%!important}.modal-content{width:calc(100vw - 1rem)}.teacher-profile-layout{gap:.75rem;padding:.75rem}.teacher-info-header{flex-direction:column;align-items:flex-start;padding:.8rem 1rem}.teacher-info-actions{justify-content:flex-end;width:100%}.teacher-inline-contact{grid-template-columns:1fr}.teacher-edit-floating{border-radius:10px}.teacher-edit-floating .btn{flex:1;min-width:0}.teacher-section-edit-header{padding:.76rem 1rem}.teacher-record-add{justify-content:center;width:100%}.teacher-record-table{min-width:560px}}.dashboard-layout{--header-height:72px;background-color:var(--bg-app);background-image:radial-gradient(circle at 100% 0,#2563eb0d 0%,#0000 40%),radial-gradient(circle at 0 100%,#10b98108 0%,#0000 40%);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.top-header{height:var(--header-height);-webkit-backdrop-filter:blur(16px);z-index:90;background:#ffffffeb;border-bottom:1px solid #e2e8f0e0;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #00000008}.header-left{flex:1;align-items:center;gap:2rem;display:flex;overflow:hidden}.dashboard-layout.pref-nav-merge-on .top-header,.dashboard-layout.pref-nav-merge-on .header-left,.dashboard-layout.pref-nav-merge-on .top-nav{overflow:visible}.brand-logo{flex-shrink:0;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-icon{color:#fff;border-radius:8px;place-items:center;width:32px;display:grid}.brand-icon-image{object-fit:cover;width:100%;height:100%;display:block}.brand-title{color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap;font-size:1.25rem;font-weight:800;line-height:1.1}.top-nav{background:#f8fafcb8;border-radius:999px;flex:1;align-items:center;gap:.35rem;min-width:0;padding:.3rem;display:flex;position:relative;overflow:visible;box-shadow:inset 0 0 0 1px #e2e8f0e6}.nav-item{color:var(--text-secondary);transition:color var(--duration) var(--ease), background-color var(--duration) var(--ease), transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);white-space:nowrap;border-radius:99px;flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:#ffffffeb;transform:translateY(-1px)}.nav-item.active{color:var(--primary);background:linear-gradient(#fffffffa 0%,#eff6fffa 100%);box-shadow:0 8px 18px #2563eb14}.nav-item.active:after{content:"";background:var(--brand-gradient);border-radius:4px;width:22px;height:2px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.nav-icon{place-items:center;width:18px;height:18px;display:grid}.nav-more{flex-shrink:0;position:relative}.nav-more-toggle{border:1px solid var(--border-color);height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);background:#ffffffeb;border-radius:99px;align-items:center;gap:.35rem;padding:0 .9rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.86rem;font-weight:700;display:inline-flex}.nav-more-toggle:hover{color:var(--text-primary);background:#fff;border-color:#d7e1ec;transform:translateY(-1px)}.nav-more-caret{font-size:.72rem;line-height:1}.nav-more.active .nav-more-toggle,.nav-more.open .nav-more-toggle{color:var(--primary);background:linear-gradient(#fff 0%,#eff6ff 100%);border-color:#bfdbfe;box-shadow:0 8px 18px #2563eb14}.nav-more-menu{border-radius:var(--radius-md);z-index:120;pointer-events:auto;background:#fff;border:1px solid #e2e8f0f5;flex-direction:column;gap:.15rem;min-width:220px;max-height:60vh;padding:.45rem;display:none;position:absolute;top:calc(100% + 10px);left:0;overflow-y:auto;box-shadow:0 18px 38px #0f172a14}.nav-more.open .nav-more-menu,.nav-more:hover .nav-more-menu{display:flex}.nav-more-item{border-radius:var(--radius-sm);min-height:34px;color:var(--text-secondary);transition:all var(--duration) var(--ease);align-items:center;gap:.5rem;padding:0 .65rem;font-size:.84rem;font-weight:600;text-decoration:none;display:flex}.nav-more-item:hover{color:var(--text-primary);background:#f8fafc}.nav-more-item.active{color:var(--primary);background:linear-gradient(#fff 0%,#eff6ff 100%)}.dashboard-layout.pref-search-off .search-box{display:none!important}.dashboard-layout.pref-search-off .header-actions{gap:.75rem}.dashboard-layout.pref-color-icons-on .top-nav .nav-item .nav-icon,.dashboard-layout.pref-color-icons-on .sidebar .s-nav-item .s-nav-icon,.dashboard-layout.pref-color-icons-on .nav-more-item .nav-icon{opacity:1}.dashboard-layout.pref-color-icons-on .top-nav .nav-item:nth-child(6n+1) .nav-icon,.dashboard-layout.pref-color-icons-on .sidebar .s-nav-item:nth-child(6n+1) .s-nav-icon,.dashboard-layout.pref-color-icons-on .nav-more-item:nth-child(6n+1) .nav-icon{color:#2563eb}.dashboard-layout.pref-color-icons-on .top-nav .nav-item:nth-child(6n+2) .nav-icon,.dashboard-layout.pref-color-icons-on .sidebar .s-nav-item:nth-child(6n+2) .s-nav-icon,.dashboard-layout.pref-color-icons-on .nav-more-item:nth-child(6n+2) .nav-icon{color:#7c3aed}.dashboard-layout.pref-color-icons-on .top-nav .nav-item:nth-child(6n+3) .nav-icon,.dashboard-layout.pref-color-icons-on .sidebar .s-nav-item:nth-child(6n+3) .s-nav-icon,.dashboard-layout.pref-color-icons-on .nav-more-item:nth-child(6n+3) .nav-icon{color:#059669}.dashboard-layout.pref-color-icons-on .top-nav .nav-item:nth-child(6n+4) .nav-icon,.dashboard-layout.pref-color-icons-on .sidebar .s-nav-item:nth-child(6n+4) .s-nav-icon,.dashboard-layout.pref-color-icons-on .nav-more-item:nth-child(6n+4) .nav-icon{color:#e11d48}.dashboard-layout.pref-color-icons-on .top-nav .nav-item:nth-child(6n+5) .nav-icon,.dashboard-layout.pref-color-icons-on .sidebar .s-nav-item:nth-child(6n+5) .s-nav-icon,.dashboard-layout.pref-color-icons-on .nav-more-item:nth-child(6n+5) .nav-icon{color:#ea580c}.dashboard-layout.pref-color-icons-on .top-nav .nav-item:nth-child(6n) .nav-icon,.dashboard-layout.pref-color-icons-on .sidebar .s-nav-item:nth-child(6n) .s-nav-icon,.dashboard-layout.pref-color-icons-on .nav-more-item:nth-child(6n) .nav-icon{color:#0f172a}.dashboard-layout.pref-glass-off{--bg-card:#fff;background-image:none}.dashboard-layout.pref-glass-off .top-header,.dashboard-layout.pref-glass-off .sidebar-header-bar{-webkit-backdrop-filter:none;box-shadow:none;background:#fff}.header-actions{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.search-box{width:clamp(120px,15vw,240px);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background-color var(--duration) var(--ease), width var(--duration) var(--ease);background:#f8fafceb;border:1px solid #e2e8f0eb;border-radius:99px;align-items:center;padding:.35rem 1rem;display:flex}.search-box:focus-within{border-color:var(--primary);background:#fff;width:clamp(160px,20vw,280px);box-shadow:0 0 0 3px #2563eb14}.search-input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;padding-left:.5rem;font-size:.875rem}.tool-icons{color:var(--text-secondary);align-items:center;gap:.75rem;display:flex}.tool-btn{cursor:pointer;width:36px;height:36px;transition:transform var(--duration) var(--ease), background-color var(--duration) var(--ease), color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:50%;place-items:center;display:grid}.tool-btn:hover{color:var(--primary);background:#fff;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a0f}.leader-big-screen-entry{color:#0e7490;background:linear-gradient(135deg,#0e74901a,#2563eb14)}.leader-big-screen-entry:hover{color:#0369a1;background:#fff;box-shadow:0 10px 22px #0e749024}.user-profile{cursor:pointer;min-height:44px;transition:transform var(--duration) var(--ease), background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:#ffffffd1;border:1px solid #e2e8f0db;border-radius:99px;align-items:center;gap:.625rem;padding:.25rem .45rem .25rem .85rem;display:flex;box-shadow:0 8px 22px #0f172a0a}.user-profile:hover{background:#fff;border-color:#d7e1ec;transform:translateY(-1px);box-shadow:0 10px 20px #0f172a0f}.user-info{text-align:right;min-width:0;max-width:150px;line-height:1.1}.user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:800;line-height:1.25;display:block;overflow:hidden}.user-role-badge{max-width:100%;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:4px;margin-top:3px;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex;overflow:hidden}.user-role-badge:before{content:"";background:#93a4b7;border-radius:50%;flex:none;width:6px;height:6px}.user-role-badge.is-leader{color:#0e7490}.user-role-badge.is-leader:before{background:#0e7490;box-shadow:0 0 0 3px #0e74901f}.user-avatar{background:var(--brand-gradient);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;display:grid;overflow:hidden;box-shadow:0 6px 18px #2563eb38}.user-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.main-content{z-index:1;isolation:isolate;flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.main-content .page-container{flex:1}.system-footer{text-align:center;color:#6b7280;letter-spacing:.04em;flex-direction:column;gap:.35rem;font-size:13px;display:flex}.system-footer a{color:#6b7280;transition:color var(--duration) var(--ease)}.system-footer a:hover{color:#374151}.system-footer-divider{margin:0 .5rem}.screen-headline{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.screen-headline h2{color:var(--text-primary);margin-bottom:.25rem;font-size:2rem;font-weight:700}.screen-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(160px,auto);gap:1.5rem;display:grid}.digit-card{border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all var(--duration) var(--ease);background:#fff;flex-direction:column;grid-column:span 3;justify-content:space-between;padding:1.5rem;display:flex;position:relative;overflow:hidden}.digit-card:hover{box-shadow:var(--shadow-md);border-color:#d1d5db}.digit-label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.digit-board{align-items:baseline;gap:.5rem;margin-top:1rem;display:flex}.digit-board span{color:var(--text-primary);font-size:2.5rem;font-weight:700;line-height:1}.digit-board em{color:var(--text-tertiary);font-size:.875rem;font-style:normal;font-weight:500}.digit-card.large{grid-area:span 2/span 6}.digit-card.medium{grid-column:span 4}@media (width<=1200px){.digit-card{grid-column:span 6}.digit-card.large{grid-column:span 12}}@media (width<=768px){.digit-card,.digit-card.medium{grid-column:span 12}}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--duration) var(--ease);flex-direction:column;padding:1.5rem;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.stat-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.stat-value{color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:2rem;font-weight:700;line-height:1.2}.settings-overlay{z-index:999;opacity:0;visibility:hidden;transition:all .3s var(--ease);background:#0000004d;position:fixed;inset:0}.settings-overlay.open{opacity:1;visibility:visible}.settings-drawer{z-index:1000;width:340px;height:100vh;transition:right .35s var(--ease);background:#fff;flex-direction:column;display:flex;position:fixed;top:0;right:-360px;overflow:hidden;box-shadow:-8px 0 32px #00000014}.settings-drawer.open{right:0}.sd-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.sd-header h3{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:800;display:flex}.sd-close{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:50%;place-items:center;transition:all .2s;display:grid}.sd-close:hover{background:var(--bg-app);color:var(--danger)}.sd-body{flex:1;padding:1.5rem;overflow-y:auto}.sd-section{margin-bottom:2rem}.sd-section-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;font-size:.75rem;font-weight:700}.sd-layout-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.sd-layout-option{border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:center;padding:1rem .75rem;transition:all .2s;position:relative}.sd-layout-option:hover,.sd-layout-option.active{border-color:var(--primary);background:var(--primary-light)}.sd-layout-option.active:after{content:"✓";background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:grid;position:absolute;top:6px;right:8px}.sd-layout-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;width:100%;height:52px;margin-bottom:.65rem;display:flex;overflow:hidden}.sd-preview-top .sd-pv-bar{background:var(--primary);border-radius:3px 3px 0 0;width:100%;height:10px}.sd-preview-top .sd-pv-body{flex:1}.sd-preview-side{display:flex!important}.sd-preview-side .sd-pv-sidebar{background:var(--primary);border-radius:3px 0 0 3px;width:22px;height:100%}.sd-preview-side .sd-pv-body{flex:1}.sd-layout-label{color:var(--text-primary);font-size:.8rem;font-weight:700}.sd-color-grid{flex-wrap:wrap;gap:.75rem;display:flex}.sd-color-dot{cursor:pointer;border-radius:50%;width:32px;height:32px;transition:transform .2s;position:relative;box-shadow:0 2px 8px #0000001a}.sd-color-dot:hover{transform:scale(1.15)}.sd-color-dot.active:after{content:"✓";color:#fff;place-items:center;font-size:.75rem;font-weight:700;display:grid;position:absolute;inset:0}.sd-toggle-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.sd-toggle-label{color:var(--text-primary);font-size:.85rem;font-weight:600}.sd-toggle-desc{color:var(--text-tertiary);margin-top:.15rem;font-size:.75rem}.sd-switch{cursor:pointer;background:#cbd5e1;border-radius:99px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.sd-switch.on{background:var(--primary)}.sd-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.sd-switch.on:after{left:20px}.dashboard-layout.layout-sidebar{flex-direction:row}.dashboard-layout.layout-sidebar .top-header{display:none}.dashboard-layout.layout-sidebar .sidebar{display:flex}.dashboard-layout .main-wrapper{isolation:isolate;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.dashboard-layout.layout-sidebar .sidebar-header-bar{z-index:600;isolation:isolate;display:flex;position:relative}.sidebar{z-index:100;width:260px;transition:width .3s var(--ease);background:linear-gradient(#fff 0%,#fcfdff 100%);border-right:1px solid #e2e8f0e6;flex-direction:column;flex-shrink:0;display:none;box-shadow:10px 0 28px #0f172a08}.dashboard-layout.sidebar-collapsed .sidebar,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar,.sidebar[data-collapsed="1"]{width:84px!important}.sidebar-logo-area{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:.75rem;min-width:0;height:72px;padding:0 1.5rem;display:flex}.sidebar-logo-area .brand-title{text-overflow:ellipsis;min-width:0;transition:opacity .22s var(--ease), width .22s var(--ease), margin .22s var(--ease);flex:1;font-size:clamp(.82rem,.9vw,1.05rem);overflow:hidden}.sidebar-toggle-btn{color:#4b6077;cursor:pointer;width:30px;height:30px;transition:all var(--duration) var(--ease);background:#f7fbff;border:1px solid #dbe4ef;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.sidebar-toggle-btn svg{transition:transform .22s var(--ease)}.sidebar-toggle-btn:hover{color:#2f4f73;background:#eef5ff;border-color:#c8d8ea}.dashboard-layout.sidebar-collapsed .sidebar-toggle-btn svg,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar-toggle-btn svg,.sidebar[data-collapsed="1"] .sidebar-toggle-btn svg{transform:rotate(180deg)}.dashboard-layout.sidebar-collapsed .sidebar-logo-area,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar-logo-area,.sidebar[data-collapsed="1"] .sidebar-logo-area{justify-content:center;gap:.5rem;padding:0 .65rem}.dashboard-layout.sidebar-collapsed .sidebar-logo-area .brand-title,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar-logo-area .brand-title,.sidebar[data-collapsed="1"] .sidebar-logo-area .brand-title{opacity:0;pointer-events:none;width:0;margin:0}.sidebar .nav-menu{flex:1;padding:1rem;overflow-y:auto}.sidebar .nav-menu::-webkit-scrollbar{width:4px}.sidebar .nav-menu::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}.sidebar .nav-menu:hover::-webkit-scrollbar-thumb{background:var(--border-color)}.sidebar .nav-group{margin-bottom:1.25rem}.sidebar .nav-group-heading{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;padding:0 .75rem;font-size:.7rem;font-weight:700}.sidebar .s-nav-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:color var(--duration) var(--ease), background-color var(--duration) var(--ease), transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);align-items:center;gap:.75rem;margin-bottom:2px;padding:.6rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex;position:relative}.sidebar .s-nav-item:hover{color:var(--text-primary);background:#f8fafceb;transform:translate(2px)}.sidebar .s-nav-item.active{background:color-mix(in srgb, var(--primary) 8%, transparent);color:var(--primary);box-shadow:none;font-weight:750}.sidebar .s-nav-item.active:hover{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.sidebar .s-nav-item.active:before{display:none}.sidebar .s-nav-icon{opacity:.75;place-items:center;width:20px;height:20px;display:grid}.sidebar .s-nav-item.active .s-nav-icon,.sidebar .s-nav-item:hover .s-nav-icon{opacity:1}.dashboard-layout.sidebar-collapsed .sidebar .nav-menu,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar .nav-menu,.sidebar[data-collapsed="1"] .nav-menu{padding:.9rem .5rem}.dashboard-layout.sidebar-collapsed .sidebar .nav-group,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar .nav-group,.sidebar[data-collapsed="1"] .nav-group{margin-bottom:.65rem}.dashboard-layout.sidebar-collapsed .sidebar .nav-group-heading,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar .nav-group-heading,.sidebar[data-collapsed="1"] .nav-group-heading{display:none}.dashboard-layout.sidebar-collapsed .sidebar .s-nav-item,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar .s-nav-item,.sidebar[data-collapsed="1"] .s-nav-item{justify-content:center;gap:0;padding:.62rem 0}.dashboard-layout.sidebar-collapsed .sidebar .s-nav-label,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar .s-nav-label,.sidebar[data-collapsed="1"] .s-nav-label{display:none}.dashboard-layout.sidebar-collapsed .sidebar .s-nav-icon,.dashboard-layout[data-sidebar-collapsed="1"] .sidebar .s-nav-icon,.sidebar[data-collapsed="1"] .s-nav-icon{width:22px;height:22px}.sidebar-header-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:600;background:#ffffffeb;border-bottom:1px solid #e2e8f0e0;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 2rem;display:none;position:relative}.sidebar-header-bar .header-actions,.sidebar-header-bar .header-actions *{pointer-events:auto}.sidebar-header-bar .breadcrumb{align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.sidebar-header-bar .bc-root{color:var(--text-secondary)}.sidebar-header-bar .bc-sep{color:var(--text-tertiary);font-size:.7rem}.sidebar-header-bar .bc-current{color:var(--text-primary);background:#f8fafceb;border-radius:999px;padding:.22rem .7rem;font-weight:700;box-shadow:inset 0 0 0 1px #e2e8f0eb}.development-subitem-icon svg,.development-record-icon svg,.development-metric-icon svg,.development-detail-icon svg,.achievement-subitem-icon svg,.achievement-record-icon svg,.achievement-empty-icon svg,.achievement-metric-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.panel-card.page-shell{background:#fff;border-radius:16px;flex-direction:column;gap:1.5rem;padding:1.5rem 1.75rem;display:flex;box-shadow:0 4px 20px -2px #e2e8f066,0 2px 4px -1px #e2e8f033}.page-titlebar{display:none!important}.page-heading h2{color:var(--text-primary);letter-spacing:-.02em;margin:.2rem 0 .4rem;font-size:1.45rem;font-weight:850}.page-subtitle{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.development-overview-layout,.achievement-hero-layout{grid-template-columns:1fr 360px;gap:1.5rem;margin-bottom:.75rem;display:grid}@media (width<=1200px){.development-overview-layout,.achievement-hero-layout{grid-template-columns:1fr}}.development-overview-main,.achievement-category-shell{flex-direction:column;gap:1rem;display:flex}.development-section-heading,.achievement-section-head{justify-content:space-between;align-items:flex-end;margin-bottom:.25rem;display:flex}.development-section-heading h3,.achievement-section-head h3{color:var(--text-primary);letter-spacing:-.015em;margin:.25rem 0 0;font-size:1.15rem;font-weight:850}.development-kicker,.achievement-kicker,.achievement-section-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-size:.72rem;font-weight:750}.development-subitem-grid,.achievement-subitem-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.development-subitem-card,.achievement-subitem-card{text-align:left;cursor:pointer;width:100%;min-height:125px;color:inherit;background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;flex-direction:column;align-items:flex-start;padding:1.15rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 4px 12px -2px #e2e8f059}.development-subitem-card:hover,.achievement-subitem-card:hover{border-color:#e2e8f0cc;transform:none;box-shadow:0 4px 12px -2px #e2e8f059}.development-subitem-card.active,.achievement-subitem-card.active{border-color:var(--accent,var(--primary));background:color-mix(in srgb, var(--accent,var(--primary)) 4%, #fff);box-shadow:0 16px 20px -5px color-mix(in srgb, var(--accent,var(--primary)) 10%, transparent)}.development-subitem-icon,.achievement-subitem-icon{background:color-mix(in srgb, var(--accent,#1f2937) 8%, transparent);width:36px;height:36px;color:var(--accent,#1f2937);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:.75rem;padding:7px;transition:transform .2s;display:flex}.development-subitem-card:hover .development-subitem-icon,.achievement-subitem-card:hover .achievement-subitem-icon{transform:scale(1.08)}.development-subitem-body,.achievement-subitem-body{flex-direction:column;flex-grow:1;gap:.2rem;width:100%;display:flex}.development-subitem-label,.achievement-subitem-label{color:var(--text-primary);font-size:.9rem;font-weight:800}.development-subitem-desc,.achievement-subitem-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-right:1.5rem;font-size:.75rem;line-height:1.45;display:-webkit-box;overflow:hidden}.development-subitem-count,.achievement-subitem-count{color:var(--accent,var(--primary));font-size:1.35rem;font-weight:900;font-family:var(--font-sans);position:absolute;top:1.15rem;right:1.15rem}.development-subitem-meter,.achievement-subitem-meter{background:#f1f5f9;border-radius:99px;width:100%;height:6px;margin-top:.75rem;overflow:hidden}.development-subitem-meter i,.achievement-subitem-meter i{background:linear-gradient(90deg, var(--accent,var(--primary)) 0%, color-mix(in srgb, var(--accent,var(--primary)) 60%, #fff) 100%);border-radius:99px;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);display:block}.development-chart-panel,.achievement-chart-stack{flex-direction:column;gap:1rem;display:flex}.development-chart-card,.achievement-chart-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;padding:1.15rem;box-shadow:0 4px 12px -2px #e2e8f059}.development-chart-heading,.achievement-chart-head{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.development-chart-heading span,.achievement-chart-head span{color:var(--text-secondary);font-size:.82rem;font-weight:800}.development-chart-heading strong,.achievement-chart-head strong{color:var(--primary);font-size:1rem;font-weight:900}.development-chart,.achievement-chart{width:100%;height:160px}.development-chart--bar,.achievement-chart--bar{height:100px}.development-reset-chip,.achievement-reset-chip{color:var(--text-secondary);cursor:pointer;background:#f1f5f9;border:none;border-radius:99px;padding:.4rem 1rem;font-size:.75rem;font-weight:750;transition:all .2s}.development-reset-chip:hover,.achievement-reset-chip:hover{background:var(--primary-light);color:var(--primary)}.development-metric-row,.achievement-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:.5rem;display:grid}.development-metric-card,.achievement-metric-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;align-items:center;gap:1rem;padding:1.15rem 1.35rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px -2px #e2e8f059}.development-metric-card--coverage,.achievement-metric-card--compact{justify-content:space-between}.development-metric-icon,.achievement-metric-icon{color:#2563eb;background:#2563eb14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;display:flex}.development-metric-icon.is-green,.achievement-metric-icon.is-green{color:#10b981;background:#10b98114}.development-metric-icon.is-orange,.achievement-metric-icon.is-orange{color:#f59e0b;background:#f59e0b14}.development-metric-text,.achievement-metric-text{flex-direction:column;gap:.15rem;display:flex}.development-metric-text em,.achievement-metric-text em{color:var(--text-tertiary);font-size:.75rem;font-style:normal;font-weight:650}.development-metric-text strong,.achievement-metric-text strong{color:var(--text-primary);font-size:1.35rem;font-weight:900;font-family:var(--font-sans)}.development-coverage-ring{background:radial-gradient(closest-side, white 79%, transparent 80% 100%), conic-gradient(var(--primary) var(--coverage,0%), #e2e8f0 0);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.development-coverage-ring b{color:var(--text-primary);font-size:.7rem;font-weight:850}.achievement-coverage-ring{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .6rem}.achievement-coverage-ring b{color:var(--text-secondary);font-size:.72rem;font-weight:800}.filter-bar.achievement-filter-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafccc;border:1px solid #e2e8f0cc;border-radius:12px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:1rem 1.25rem;display:flex}.development-record-panel,.achievement-gallery-section{flex-direction:column;gap:1rem;display:flex}.development-record-heading,.achievement-section-head--gallery{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-end;margin-bottom:.25rem;padding-bottom:.75rem;display:flex}.development-record-heading h3,.achievement-section-head--gallery h3{color:var(--text-primary);letter-spacing:-.015em;margin:0;font-size:1.15rem;font-weight:850}.development-record-hint,.achievement-gallery-count{color:var(--text-tertiary);background:#f1f5f9;border-radius:6px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.development-record-grid,.achievement-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.development-record-card,.achievement-record-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;flex-direction:column;padding:1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px -3px #e2e8f033,0 4px 6px -2px #e2e8f01a}.development-record-card:hover,.achievement-record-card:hover{border-color:#e2e8f0cc;transform:none;box-shadow:0 4px 15px -3px #e2e8f033,0 4px 6px -2px #e2e8f01a}.development-record-card-main,.achievement-record-head{gap:.85rem;margin-bottom:.75rem;display:flex}.development-record-icon,.achievement-record-icon{background:color-mix(in srgb, var(--accent,var(--primary)) 8%, transparent);width:38px;height:38px;color:var(--accent,var(--primary));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:transform .2s;display:flex}.development-record-card:hover .development-record-icon,.achievement-record-card:hover .achievement-record-icon{transform:scale(1.06)}.development-record-copy,.achievement-record-meta{flex-direction:column;flex-grow:1;gap:.2rem;min-width:0;display:flex}.development-record-title-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.development-record-title,.achievement-record-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:850;line-height:1.35;overflow:hidden}.achievement-record-title{margin:.25rem 0}.development-record-status,.achievement-record-status{flex-shrink:0;margin-left:auto}.development-record-subtitle,.achievement-record-category{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}.achievement-record-date{color:var(--text-tertiary);font-size:.72rem}.achievement-record-summary{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.35rem;margin:0 0 .85rem;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.development-record-meta,.achievement-record-grid{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.85rem;padding:.75rem .9rem;display:grid}.development-record-meta{border-radius:12px;flex-direction:column;gap:.35rem;display:flex}.development-record-meta-item,.achievement-record-grid div{justify-content:space-between;min-width:0;font-size:.72rem;display:flex}.achievement-record-grid div{flex-direction:column;justify-content:flex-start;gap:.15rem}.development-record-meta-item b,.achievement-record-grid dt{color:var(--text-tertiary);margin:0;font-weight:500}.development-record-meta-item em,.achievement-record-grid dd{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-style:normal;font-weight:650;overflow:hidden}.development-record-footer,.achievement-record-foot{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:auto;display:flex}.achievement-record-tag{color:var(--accent,var(--primary));background:color-mix(in srgb, var(--accent,var(--primary)) 8%, transparent);border-radius:6px;margin-right:auto;padding:.25rem .6rem;font-size:.72rem;font-weight:750}.development-record-footer .btn,.achievement-record-actions .btn{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.35rem .75rem;font-size:.75rem;font-weight:700;transition:all .2s}.development-record-footer .btn-edit,.achievement-record-actions .btn-edit{color:var(--accent,var(--primary))}.development-record-footer .btn-edit:hover,.achievement-record-actions .btn-edit:hover{background:color-mix(in srgb, var(--accent,var(--primary)) 8%, transparent)}.development-record-footer .btn-del,.achievement-record-actions .btn-del{color:#ef4444}.development-record-footer .btn-del:hover,.achievement-record-actions .btn-del:hover{background:#ef444414}.status-badge{border-radius:99px;align-items:center;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge.success{color:#059669;background:#ecfdf5}.status-badge.muted{color:#64748b;background:#f1f5f9}.achievement-unified-layout{grid-template-columns:1fr 300px;gap:1.5rem;margin-bottom:.75rem;display:grid}@media (width<=1200px){.achievement-unified-layout{grid-template-columns:1fr}}.achievement-insight-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;flex-direction:column;gap:1rem;height:100%;padding:1.35rem;display:flex;box-shadow:0 4px 12px -2px #e2e8f059}.achievement-insight-copy h3{color:var(--text-primary);margin:.2rem 0 0;font-size:1.1rem;font-weight:800;line-height:1.4}.achievement-insight-grid{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}.achievement-insight-item{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;flex-direction:column;padding:.75rem;display:flex}.achievement-insight-item em{color:var(--text-tertiary);margin-bottom:.2rem;font-size:.7rem;font-style:normal;font-weight:600}.achievement-insight-item strong{color:var(--text-primary);font-size:1.2rem;font-weight:900;font-family:var(--font-sans)}.achievement-insight-divider{background:#f1f5f9;width:100%;height:1px}.achievement-insight-latest{flex-direction:column;gap:.3rem;display:flex}.achievement-insight-latest span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:750}.achievement-insight-latest strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:850;overflow:hidden}.achievement-insight-latest p{color:var(--text-secondary);margin:0;font-size:.75rem;line-height:1.45}.development-record-feedback,.achievement-empty-state{text-align:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;width:100%;padding:3.5rem 1.5rem;display:flex}.development-record-feedback-icon,.achievement-empty-icon{width:48px;height:48px;color:var(--text-tertiary);margin-bottom:1rem}.development-record-feedback-title,.achievement-empty-state h4{color:var(--text-primary);margin:0 0 .35rem;font-size:1rem;font-weight:850}.development-record-feedback-detail,.achievement-empty-state p{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.5}.achievement-empty-state--error{background:#fff5f5;border-color:#fca5a5}.achievement-empty-state--error .achievement-empty-icon{color:#ef4444}.development-record-spinner{border:3.5px solid #00000014;border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.85s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.development-detail-shell{flex-direction:column;gap:1.25rem;display:flex}.development-detail-hero{background:color-mix(in srgb, var(--accent,var(--primary)) 6%, transparent);border:1px solid color-mix(in srgb, var(--accent,var(--primary)) 12%, transparent);border-radius:16px;align-items:center;gap:1.15rem;padding:1.25rem;display:flex}.development-detail-icon{background:color-mix(in srgb, var(--accent,var(--primary)) 12%, transparent);width:46px;height:46px;color:var(--accent,var(--primary));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:9px;display:flex}.development-detail-hero-copy{flex-direction:column;flex-grow:1;gap:.2rem;display:flex}.development-detail-title{color:var(--text-primary);font-size:1.1rem;font-weight:850;line-height:1.35}.development-detail-subtitle{color:var(--text-secondary);font-size:.82rem;font-weight:600}.development-detail-status{flex-shrink:0}.detail-list{background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.detail-row{border-bottom:1px dashed #e2e8f0;justify-content:space-between;padding-bottom:.5rem;font-size:.85rem;display:flex}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-label{color:var(--text-tertiary);font-weight:550}.detail-value{color:var(--text-primary);text-align:right;word-break:break-all;max-width:70%;font-weight:650}.development-detail-json{color:#e2e8f0;font-family:var(--font-mono,monospace);background:#0f172a;border-radius:12px;padding:1rem;font-size:.78rem}.development-detail-json-title{color:#94a3b8;text-transform:uppercase;margin-bottom:.5rem;font-size:.72rem;font-weight:700}.development-detail-json pre{white-space:pre-wrap;word-break:break-all;margin:0}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.achievement-record-card--skeleton .skeleton-bar,.achievement-record-card--skeleton .skeleton-line,.achievement-record-card--skeleton .skeleton-chip{background:#f1f5f9;animation:1.4s ease-in-out infinite skeleton-pulse}.achievement-record-card--skeleton .skeleton-bar{border-radius:8px;width:34px;height:34px;display:block}.achievement-record-card--skeleton .skeleton-line{border-radius:4px;height:12px;margin-bottom:.45rem;display:block}.achievement-record-card--skeleton .skeleton-line--short{width:80px}.achievement-record-card--skeleton .skeleton-line--tiny{width:50px;height:8px}.achievement-record-card--skeleton .skeleton-line--title{width:70%;height:15px;margin-top:.5rem;margin-bottom:.6rem}.achievement-record-card--skeleton .skeleton-line--wide{width:90%;margin-bottom:.85rem}.achievement-record-card--skeleton .skeleton-chip{border-radius:4px;width:60px;height:20px;display:inline-block}.achievement-record-card--skeleton .achievement-record-foot{justify-content:space-between}.dashboard-layout.tone-basic-profile{--bg-app:#e9eef3;--bg-card:#fff;--border-color:#dbe3ec;--border-focus:#9cb0c5;--text-primary:#203347;--text-main:#203347;--text-secondary:#4d647c;--text-tertiary:#7e93a8;--primary:#1f2a44;--primary-hover:#111a32;--primary-light:#eef2f8;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 4px #142b430f;--shadow-md:0 5px 14px #142b431a;background:linear-gradient(#eef2f6 0%,#e3e9f0 100%)}.dashboard-layout.tone-basic-profile .top-header{background:#fffffff5;border-bottom:1px solid #d7e0ea;height:58px;padding:0 16px;box-shadow:0 2px 8px #142b430f}.dashboard-layout.tone-basic-profile .brand-icon{width:30px;height:30px;box-shadow:none;border-radius:8px}.dashboard-layout.tone-basic-profile .brand-title{letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(15px,.95vw,18px);font-weight:800;line-height:1.1;overflow:hidden}.dashboard-layout.tone-basic-profile .top-nav{gap:4px}.dashboard-layout.tone-basic-profile .top-nav .nav-item{color:#354c63;border-radius:18px;height:36px;padding:0 12px;font-size:14px;font-weight:600}.dashboard-layout.tone-basic-profile .top-nav .nav-item:hover{color:#1f3248;background:#f1f5f9}.dashboard-layout.tone-basic-profile .top-nav .nav-item.active{color:#1f3248;background:#edf2f8;box-shadow:inset 0 0 0 1px #d9e2ec}.dashboard-layout.tone-basic-profile .top-nav .nav-item.active:after{background:#1f2a44;border-radius:2px;width:22px;height:3px;bottom:-6px}.dashboard-layout.tone-basic-profile .search-box{background:#f7fafd;border:1px solid #d4dde8;border-radius:16px;height:32px}.dashboard-layout.tone-basic-profile .search-box:focus-within{box-shadow:0 0 0 2px #1f2a4417}.dashboard-layout.tone-basic-profile .user-profile{background:#fff;border:1px solid #d6dfe9;border-radius:18px;min-height:34px;padding:2px 4px 2px 10px}.dashboard-layout.tone-basic-profile .user-name{font-size:13px}.dashboard-layout.tone-basic-profile .user-avatar{width:26px;height:26px;font-size:12px}.dashboard-layout.tone-basic-profile .main-content{overflow:hidden}.dashboard-layout.tone-basic-profile .page-container{max-width:100%;margin:0;padding:0}.dashboard-layout.tone-basic-profile .page-shell,.dashboard-layout.tone-basic-profile .panel-card,.dashboard-layout.tone-basic-profile .teacher-info-section{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dbe3ec;border-radius:10px}.dashboard-layout.tone-basic-profile .page-titlebar{display:none!important}.dashboard-layout.tone-basic-profile .page-titlebar .page-title{color:#22364c;transform-origin:0;margin:0;font-size:35px;font-weight:800;line-height:1;transform:scale(.5)}.dashboard-layout.tone-basic-profile .page-titlebar .page-subtitle{color:#6a8198;margin-top:4px;font-size:13px}.dashboard-layout.tone-basic-profile .filter-bar{background:#fff;border-bottom:1px solid #e6edf5;gap:10px;padding:12px 22px}.dashboard-layout.tone-basic-profile .filter-field,.dashboard-layout.tone-basic-profile input.filter-field,.dashboard-layout.tone-basic-profile select.filter-field{color:#35506b;background:#fff;border:1px solid #d8e1eb;border-radius:8px;min-width:150px;height:34px;padding:0 11px;font-size:13px}.dashboard-layout.tone-basic-profile .filter-field--wide{min-width:230px}.dashboard-layout.tone-basic-profile .filter-field:focus{border-color:#a8bacd;box-shadow:0 0 0 2px #5e79941f}.dashboard-layout.tone-basic-profile .btn,.dashboard-layout.tone-basic-profile .btn-primary,.dashboard-layout.tone-basic-profile .btn-secondary,.dashboard-layout.tone-basic-profile .btn-default,.dashboard-layout.tone-basic-profile .btn-accent,.dashboard-layout.tone-basic-profile .btn-warning,.dashboard-layout.tone-basic-profile .btn-success,.dashboard-layout.tone-basic-profile .btn-danger{min-height:33px;box-shadow:none;border-radius:8px;font-size:13px;font-weight:700}.dashboard-layout.tone-basic-profile .btn-primary{color:#fff;background:#1f2a44;border-color:#1a253f}.dashboard-layout.tone-basic-profile .btn-primary:hover{background:#111a32;border-color:#111a32}.dashboard-layout.tone-basic-profile .btn-secondary,.dashboard-layout.tone-basic-profile .btn-default{color:#3f5973;background:#fff;border-color:#d4dde7}.dashboard-layout.tone-basic-profile .btn-secondary:hover,.dashboard-layout.tone-basic-profile .btn-default:hover{color:#1f3349;background:#f7fafd;border-color:#c3d0dc}.dashboard-layout.tone-basic-profile .btn-accent{color:#31567b;background:#edf3f9;border-color:#cfdbe8}.dashboard-layout.tone-basic-profile .btn-accent:hover{color:#284968;background:#e4edf6;border-color:#bed0e1}.dashboard-layout.tone-basic-profile .btn-success{color:#2e7658;background:#eef8f3;border-color:#cde6d9}.dashboard-layout.tone-basic-profile .btn-success:hover{background:#e6f4ec;border-color:#bad9c9}.dashboard-layout.tone-basic-profile .btn-warning{color:#8e6730;background:#fdf7eb;border-color:#eedcbb}.dashboard-layout.tone-basic-profile .btn-warning:hover{background:#faf2e2;border-color:#e2d0af}.dashboard-layout.tone-basic-profile .btn-danger{color:#9f4f4f;background:#fef3f3;border-color:#ebd3d3}.dashboard-layout.tone-basic-profile .btn-danger:hover{background:#fce9e9;border-color:#e2c1c1}.dashboard-layout.tone-basic-profile .btn-edit,.dashboard-layout.tone-basic-profile .btn-edit.btn{color:#31567b!important;background:#edf3f9!important;border:1px solid #cfdbe8!important}.dashboard-layout.tone-basic-profile .btn-del,.dashboard-layout.tone-basic-profile .btn-del.btn{color:#9f4f4f!important;background:#fef3f3!important;border:1px solid #ebd3d3!important}.dashboard-layout.tone-basic-profile .btn-edit:hover,.dashboard-layout.tone-basic-profile .btn-edit.btn:hover{background:#e4edf6!important;border-color:#bed0e1!important}.dashboard-layout.tone-basic-profile .btn-del:hover,.dashboard-layout.tone-basic-profile .btn-del.btn:hover{background:#fce9e9!important;border-color:#e2c1c1!important}.dashboard-layout.tone-basic-profile .table-container{margin-top:0}.dashboard-layout.tone-basic-profile .data-table th{color:#4e6680;background:#f2f6fa;border-bottom:1px solid #dde7f1;padding:12px 20px;font-size:12px;font-weight:700}.dashboard-layout.tone-basic-profile .data-table td{color:#354f69;border-bottom:1px solid #e7eef6;padding:12px 20px;font-size:13px}.dashboard-layout.tone-basic-profile .data-table tr:hover td{background:#f8fbff}.dashboard-layout.tone-basic-profile .table-empty{color:#8298ad}.dashboard-layout.tone-basic-profile .status-badge{border-radius:6px;padding:1px 8px;font-size:12px}.dashboard-layout.tone-basic-profile .status-badge.success{color:#2f8c64;background:#ecf8f2;border-color:#c8e8d8}.dashboard-layout.tone-basic-profile .status-badge.warning{color:#b47d26;background:#fff8eb;border-color:#f1ddb1}.dashboard-layout.tone-basic-profile .status-badge.error{color:#b45757;background:#fff1f1;border-color:#efcccc}.dashboard-layout.tone-basic-profile .pagination{background:#fff;border-top:1px solid #e6edf5;padding:10px 20px}.dashboard-layout.tone-basic-profile .page-btn{color:#4f6882;border:1px solid #d8e1eb;border-radius:8px;min-width:30px;height:30px;font-size:12px}.dashboard-layout.tone-basic-profile .page-btn.active{color:#fff;background:#1f2a44;border-color:#1f2a44}.dashboard-layout.tone-basic-profile .modal-content{border-radius:10px}.dashboard-layout.tone-basic-profile .modal-header{background:#f8fafc}.dashboard-layout.tone-basic-profile .panel-header{background:#f8fafc;border-bottom:1px solid #e3eaf3;padding:12px 18px}.dashboard-layout.tone-basic-profile .panel-title{color:#2e445b;font-size:14px}.dashboard-layout.tone-basic-profile .detail-row{border-bottom-color:#e6edf5}.dashboard-layout.tone-basic-profile .detail-label{color:#6a8198}.dashboard-layout.tone-basic-profile .detail-value{color:#304a63}.dashboard-layout.tone-basic-profile .field-help{color:#7f93a7}.dashboard-layout.tone-basic-profile .grid-stats{gap:10px}.dashboard-layout.tone-basic-profile .stat-card{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dbe3ec;border-radius:10px;padding:14px}.dashboard-layout.tone-basic-profile .stat-title{color:#607a92;letter-spacing:.06em;font-size:11px}.dashboard-layout.tone-basic-profile .stat-value{color:#22364c;font-size:24px}.dashboard-layout.tone-basic-profile .alert-info{color:#49647f;background:#f4f8fc;border-color:#d2deea}.dashboard-layout.tone-basic-profile .page-shell>div[style*="background:#f8fafc"]{border:1px solid #e0e8f1;color:#4f6882!important;background:#f6f9fc!important}.dashboard-layout.tone-basic-profile input[style*="border:1px solid #e2e8f0"],.dashboard-layout.tone-basic-profile select[style*="border:1px solid #e2e8f0"],.dashboard-layout.tone-basic-profile textarea[style*="border:1px solid #e2e8f0"]{color:#35506b!important;border:1px solid #d8e1eb!important;border-radius:8px!important}.dashboard-layout.tone-basic-profile [style*="color:#94a3b8"]{color:#7f93a7!important}.dashboard-layout.tone-basic-profile [style*="color:#0ea5e9"]{color:#31567b!important}.dashboard-layout.tone-basic-profile [style*="color:#ef4444"]{color:#9f4f4f!important}.dashboard-layout.tone-basic-profile .solution-note{margin:0 22px 14px}.dashboard-layout.tone-basic-profile .solution-section{margin-bottom:12px}.dashboard-layout.tone-basic-profile .solution-section-titlebar{margin-bottom:10px}.dashboard-layout.tone-basic-profile .solution-section-title{margin-left:0!important;font-size:14px!important;transform:none!important}.dashboard-layout.tone-basic-profile .solution-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding:0 14px 14px;display:grid}.dashboard-layout.tone-basic-profile .solution-link{color:inherit;box-shadow:none;background:#fdfefe;border:1px solid #dce5ee;border-radius:10px;padding:12px;text-decoration:none;display:block}.dashboard-layout.tone-basic-profile .solution-link:hover{background:#f7fbff;border-color:#c7d5e3}.dashboard-layout.tone-basic-profile .solution-link-title{color:#29435e;margin-bottom:4px;font-weight:700}.dashboard-layout.tone-basic-profile .solution-link-desc{color:#6c8297;font-size:13px}.dashboard-layout.tone-basic-profile .teacher-profile-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:180px minmax(0,1fr);gap:12px;padding:0!important}.dashboard-layout.tone-basic-profile .teacher-profile-page-shell{background:linear-gradient(#f7fafd 0%,#f2f6fb 100%);border-color:#dbe5ef;height:100%;min-height:0;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.dashboard-layout.tone-basic-profile .teacher-profile-page-shell #teacherProfileBody{min-height:0}.dashboard-layout.tone-basic-profile .teacher-profile-aside{box-shadow:none;border-radius:10px;padding:0!important;overflow:hidden!important}.dashboard-layout.tone-basic-profile .teacher-profile-page-shell .teacher-profile-aside{position:static;top:auto}.dashboard-layout.tone-basic-profile .teacher-name-card{color:#2f5f8f;background:linear-gradient(#eef5fc 0%,#dde9f6 100%);border:1px solid #cfe0f0;min-height:86px;margin-bottom:12px}.dashboard-layout.tone-basic-profile .teacher-avatar-wrap{background:linear-gradient(135deg,#7f9dbd 0%,#2f5f8f 100%);box-shadow:0 6px 14px #2f5f8f33}.dashboard-layout.tone-basic-profile .teacher-name-text{color:#2a557f}.dashboard-layout.tone-basic-profile .teacher-level-meta{color:#69839d}.dashboard-layout.tone-basic-profile .teacher-anchor-list{background:linear-gradient(#f3f8fe 0%,#eaf2fb 100%);border-color:#cfddec;gap:0;box-shadow:inset 0 1px #ffffffe6,0 7px 15px #2f5f8f1a;padding:6px 6px 6px 0!important}.dashboard-layout.tone-basic-profile .teacher-anchor-link{color:#4b657f;border-radius:8px;min-height:36px;font-size:14px;font-weight:700;padding:0 12px!important;transform:none!important}.dashboard-layout.tone-basic-profile .teacher-anchor-link:hover{color:#284e75;background:#edf4fc;border-color:#cddded;transform:translate(2px)}.dashboard-layout.tone-basic-profile .teacher-anchor-link:before{background:linear-gradient(120deg,#2f5f8f33 0%,#2f5f8f14 100%)}.dashboard-layout.tone-basic-profile .teacher-anchor-link:after{content:none;display:none}.dashboard-layout.tone-basic-profile .teacher-anchor-link.active{color:#234c74;background:linear-gradient(135deg,#e2edf9 0%,#d3e3f6 100%);border-color:#a9c2db;transform:translate(4px);box-shadow:0 10px 20px #2f5f8f33}.dashboard-layout.tone-basic-profile .teacher-anchor-list.is-dragging{background:linear-gradient(#e9f1fb 0%,#dfeaf8 100%);border-color:#aac0d8;box-shadow:inset 0 1px #ffffffeb,0 10px 18px #2f5f8f24}.dashboard-layout.tone-basic-profile .teacher-info-section{transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);scroll-margin-top:.8rem;padding:0!important;overflow:hidden!important}.dashboard-layout.tone-basic-profile .teacher-info-section.is-anchor-target{box-shadow:0 0 0 2px #1f2a441f, var(--shadow-sm);border-color:#c6d7e9}.dashboard-layout.tone-basic-profile .teacher-info-header{background:#f8fafc;border-bottom:1px solid #e3eaf3;padding:14px 18px}.dashboard-layout.tone-basic-profile .teacher-profile-page-shell .teacher-info-title{font-size:18px;line-height:1.25;transform:none}.dashboard-layout.tone-basic-profile .teacher-profile-main>.teacher-info-section>.teacher-info-title{color:#2a4866;background:#f8fafc;border-bottom:1px solid #e3eaf3;padding:13px 18px;font-size:16px}.dashboard-layout.tone-basic-profile .teacher-kv-table th{background:#f2f6fa}.dashboard-layout.tone-basic-profile .teacher-kv-table td{background:#fff}.dashboard-layout.tone-basic-profile .teacher-info-actions .btn{min-width:78px}.dashboard-layout.tone-basic-profile .teacher-inline-field{color:#2d4865;background:#fff;border-color:#cfdae7}.dashboard-layout.tone-basic-profile .teacher-inline-field:focus{border-color:#9ab3cd;box-shadow:0 0 0 2px #1f2a4424}.dashboard-layout.tone-basic-profile .teacher-edit-floating{background:linear-gradient(120deg,#f8fbfef2 0%,#f0f6fcf0 100%);border-color:#c8d9ea;box-shadow:0 10px 20px #1f2a441f}.dashboard-layout.tone-basic-profile .teacher-edit-floating-chip{color:#274966;background:#f5f9fd;border-color:#bccfe2}.dashboard-layout.tone-basic-profile .teacher-editing-hint{color:#345773;background:#f2f7fc;border-color:#cfdeec}.dashboard-layout.tone-basic-profile .teacher-record-section{border-color:#d8e3ee}.dashboard-layout.tone-basic-profile .teaching-process-data-shell{background:linear-gradient(#f7fafd 0%,#f2f6fb 100%);border-color:#dbe5ef;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.dashboard-layout.tone-basic-profile .teaching-process-page-container-fit{height:100%;overflow:hidden}.dashboard-layout.tone-basic-profile .teaching-process-data-layout{grid-template-columns:172px minmax(0,1fr);gap:12px;min-height:0;padding:0!important}.dashboard-layout.tone-basic-profile .teaching-process-data-aside{border-radius:0 10px 10px 0!important;padding:0!important;overflow:hidden!important}.dashboard-layout.tone-basic-profile .teaching-teacher-card{justify-content:center;gap:0;min-height:120px;padding:14px 10px 12px}.dashboard-layout.tone-basic-profile .teaching-avatar-button{cursor:pointer;appearance:none;background:0 0;border:0;border-radius:999px;place-items:center;width:54px;height:54px;margin:0 auto 8px;padding:0;display:grid}.dashboard-layout.tone-basic-profile .teaching-avatar-button:focus-visible{outline-offset:3px;outline:2px solid #2f5f8f5c}.dashboard-layout.tone-basic-profile .teaching-avatar-wrap{width:52px;height:52px;transition:transform .22s var(--ease);display:block}.dashboard-layout.tone-basic-profile .teaching-avatar-button:hover .teaching-avatar-wrap{transform:translateY(-1px)scale(1.03)}.dashboard-layout.tone-basic-profile .teaching-avatar-wrap.is-spinning{animation:.76s cubic-bezier(.16,1,.3,1) teachingAvatarSpin}.dashboard-layout.tone-basic-profile .teaching-teacher-name{color:#2a557f;margin-top:0;font-size:16px;line-height:1.12}.dashboard-layout.tone-basic-profile .teaching-process-data-aside .teacher-level-meta{color:#5f7890;margin-top:6px;font-size:12px;font-weight:700}@keyframes teachingAvatarSpin{0%{transform:rotate(0)scale(1)}55%{transform:rotate(260deg)scale(1.08)}to{transform:rotate(360deg)scale(1)}}.dashboard-layout.tone-basic-profile .teaching-process-data-aside .teacher-anchor-list{padding:6px 6px 6px 0!important}.dashboard-layout.tone-basic-profile .teaching-process-data-aside .teacher-anchor-link{justify-content:flex-start;min-height:34px;font-size:13px;padding:0 12px!important;transform:none!important}.dashboard-layout.tone-basic-profile .teaching-process-data-aside .teacher-anchor-link.drag-preview{color:#1e4b74;background:linear-gradient(135deg,#d7e8fb 0%,#c9ddf4 100%);border-color:#91b5d8;transform:translate(4px);box-shadow:0 10px 20px #2f5f8f2e}.dashboard-layout.tone-basic-profile .teaching-process-data-aside .teacher-anchor-list.is-dragging .teacher-anchor-link{cursor:grabbing}.dashboard-layout.tone-basic-profile .teaching-process-data-main{min-height:0;padding-right:0;padding-bottom:var(--teaching-anchor-bottom-space,1rem);overflow-y:auto}.dashboard-layout.tone-basic-profile .teaching-process-data-main .teaching-process-data-panel{background:#fff;border-color:#dbe3ec}.dashboard-layout.tone-basic-profile .teaching-process-data-panel{margin-bottom:12px;scroll-margin-top:10px;overflow:hidden;border-radius:0 10px 10px 0!important;padding:0!important}.dashboard-layout.tone-basic-profile .teaching-process-data-panel.is-anchor-target{box-shadow:0 0 0 2px #1f2a441f, var(--shadow-sm);border-color:#c6d7e9}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .page-titlebar{display:none!important}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .page-titlebar .page-title{font-size:18px;line-height:1.25;transform:none}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .page-titlebar .page-subtitle{margin-top:6px}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .filter-bar{background:#fff;gap:12px;padding:12px 18px}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .filter-field{min-width:150px}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .filter-field--wide{min-width:260px}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .data-table th{padding-top:11px;padding-bottom:11px}.dashboard-layout.tone-basic-profile .teaching-process-data-panel .data-table td{padding-top:12px;padding-bottom:12px}.dashboard-layout.tone-basic-profile .teacher-section-edit-header{background:#f8fafc;border-bottom-color:#e3eaf3}.dashboard-layout.tone-basic-profile .teacher-record-table th{color:#4e6680;background:#f2f6fa}.dashboard-layout.tone-basic-profile .teacher-record-table tbody tr:nth-child(2n) td{background:#fcfdff}.dashboard-layout.tone-basic-profile .teacher-record-field{color:#2d4865;border-color:#cfdae7}.dashboard-layout.tone-basic-profile .teacher-record-field:focus{border-color:#9ab3cd;box-shadow:0 0 0 2px #1f2a4424}.dashboard-layout.tone-basic-profile .editor-shell{background:#fff;border:1px solid #dbe3ec;border-radius:10px}.dashboard-layout.tone-basic-profile .editor-header{background:#f8fafc;border-bottom:1px solid #e4ebf3;padding:16px 20px}.dashboard-layout.tone-basic-profile .editor-title{transform-origin:0;margin-left:-30px;font-size:34px;line-height:1;transform:scale(.5)}.dashboard-layout.tone-basic-profile .editor-intro{color:#6a8198;font-size:13px}.dashboard-layout.tone-basic-profile .editor-section{box-shadow:none;border:1px solid #dbe3ec;border-radius:10px}.dashboard-layout.tone-basic-profile .section-label{background:#1f2a44;border-radius:8px}@media (width<=980px){.dashboard-layout.tone-basic-profile .top-header{padding:8px 10px}.dashboard-layout.tone-basic-profile .main-content{overflow:hidden}.dashboard-layout.tone-basic-profile .page-titlebar,.dashboard-layout.tone-basic-profile .filter-bar,.dashboard-layout.tone-basic-profile .data-table th,.dashboard-layout.tone-basic-profile .data-table td,.dashboard-layout.tone-basic-profile .pagination,.dashboard-layout.tone-basic-profile .teacher-info-header{padding-left:12px;padding-right:12px}}@media (width<=720px){.dashboard-layout.tone-basic-profile .brand-title{font-size:14px}.dashboard-layout.tone-basic-profile .top-nav .nav-icon{display:none}.dashboard-layout.tone-basic-profile .top-nav .nav-item{padding:0 10px}.dashboard-layout.tone-basic-profile .teacher-profile-layout{grid-template-columns:1fr}}.dashboard-layout.tone-basic-profile .card,.dashboard-layout.tone-basic-profile .panel-card,.dashboard-layout.tone-basic-profile .development-record-card,.dashboard-layout.tone-basic-profile .achievement-record-card,.dashboard-layout.tone-basic-profile .development-subitem-card,.dashboard-layout.tone-basic-profile .achievement-subitem-card,.dashboard-layout.tone-basic-profile .portrait-ai-drawer,.dashboard-layout.tone-basic-profile .floating-tag,.dashboard-layout.tone-basic-profile .speech-bubble,.dashboard-layout.tone-basic-profile .portrait-motion-badge,.dashboard-layout.tone-basic-profile .year-select,.dashboard-layout.tone-basic-profile .btn,.dashboard-layout.tone-basic-profile .button,.dashboard-layout.tone-basic-profile .search-input,.dashboard-layout.tone-basic-profile .input,.dashboard-layout.tone-basic-profile .form-control,.dashboard-layout.tone-basic-profile .development-subitem-icon,.dashboard-layout.tone-basic-profile .achievement-subitem-icon,.dashboard-layout.tone-basic-profile .action-btn{border-radius:0!important}.dashboard-layout.tone-basic-profile .teaching-process-data-aside,.dashboard-layout.tone-basic-profile .teaching-process-data-panel,.dashboard-layout.tone-basic-profile .teaching-teacher-card,.dashboard-layout.tone-basic-profile .teaching-process-data-aside .teacher-anchor-list,.dashboard-layout.tone-basic-profile .teaching-process-data-aside .teacher-anchor-link,.dashboard-layout.tone-basic-profile .teacher-profile-aside,.dashboard-layout.tone-basic-profile .teacher-info-section,.dashboard-layout.tone-basic-profile .teacher-name-card,.dashboard-layout.tone-basic-profile .teacher-anchor-list,.dashboard-layout.tone-basic-profile .teacher-anchor-link{border-radius:0 10px 10px 0!important}.mdp-page{box-sizing:border-box;width:100%;min-height:calc(100vh - 120px);padding:0}.card.mdp-sidebar-container{min-height:0;padding:14px 14px 12px}.card.mdp-sidebar-container>.card-title{margin-bottom:10px}.mdp-sidebar-container .mdp-cards-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid;position:relative}.mdp-sidebar-container .mdp-cards-row:after{content:"→";color:#2563eb;pointer-events:none;background:#fff;border:1px solid #dbeafe;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #2563eb26}.mdp-sidebar-container .mdp-card{box-shadow:none;border-radius:12px;padding:10px 12px}.mdp-sidebar-container .mdp-card h3{margin-bottom:4px;font-size:13px}.mdp-sidebar-container .mdp-card-subtitle{display:none}.mdp-sidebar-container .mdp-card-flag{margin-bottom:4px}.mdp-sidebar-container .mdp-level-big-badge{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:4px;padding:4px 10px;font-size:13px;display:inline-block;overflow:hidden}.mdp-sidebar-container .mdp-card-desc{color:#8c8c8c;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.mdp-sidebar-container .mdp-readiness-strip{margin-bottom:8px;padding:7px 10px}.mdp-sidebar-container .mdp-readiness-badge{padding:1px 8px;font-size:10px}.mdp-sidebar-container .mdp-readiness-text{font-size:11px}.mdp-sidebar-container .mdp-progress-title{margin-bottom:6px;font-size:13px}.mdp-sidebar-container .mdp-progress-grid{flex-direction:column;gap:6px;max-height:240px;margin-bottom:0;padding-right:2px;display:flex;overflow-y:auto}.mdp-sidebar-container .mdp-progress-grid::-webkit-scrollbar{width:4px}.mdp-sidebar-container .mdp-progress-grid::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:999px}.mdp-sidebar-container .mdp-progress-item{box-shadow:none;border-radius:10px;padding:8px 10px}.mdp-sidebar-container .mdp-progress-item-label{font-size:12px}.mdp-sidebar-container .mdp-progress-item-values{font-size:11px}.mdp-sidebar-container .mdp-progress-item-desc{display:none}.mdp-sidebar-container .mdp-progress-item-header{margin-bottom:4px}.mdp-sidebar-container .mdp-progress-bar-bg{height:7px;margin-bottom:4px}.mdp-sidebar-container .mdp-progress-item-status{padding:1px 8px;font-size:11px}.mdp-page-journey{margin-top:14px}.mdp-journey-shell{border-radius:14px;padding:10px;position:relative;overflow:hidden}.mdp-journey-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.mdp-journey-title-wrap{flex-direction:column;gap:2px;display:flex}.mdp-journey-kicker{letter-spacing:.08em;color:#1d4ed8;background:#e6efff;border:1px solid #bfd2ff;border-radius:999px;align-self:flex-start;align-items:center;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.mdp-journey-kpi{color:#1f2d52;margin:0;font-size:13px;font-weight:700}.mdp-journey-hint{color:#5f7797;white-space:nowrap;font-size:11px}.mdp-journey-track-wrap{perspective:2200px;transform-style:preserve-3d;position:relative}.mdp-journey-track{scroll-snap-type:x mandatory;transform-style:preserve-3d;gap:12px;padding:12px 6px 14px;display:flex;overflow:auto visible}.mdp-journey-track::-webkit-scrollbar{display:none}.mdp-journey-track{scrollbar-width:none;-ms-overflow-style:none}.mdp-journey-track::-webkit-scrollbar-thumb{display:none}.mdp-journey-slide{--mdp-accent:#3b82f6;--mdp-scale:.86;--mdp-shift-x:0px;--mdp-shift-y:12px;--mdp-depth:-140px;--mdp-tilt:0deg;--mdp-spin:0deg;--mdp-roll:0deg;--mdp-pitch:0deg;--mdp-alpha:.58;--mdp-origin-x:50%;scroll-snap-align:center;min-height:248px;opacity:var(--mdp-alpha);transform:translateX(var(--mdp-shift-x)) translateY(var(--mdp-shift-y)) translateZ(var(--mdp-depth)) rotateX(var(--mdp-pitch)) rotateY(var(--mdp-spin)) rotateZ(var(--mdp-roll)) scale(var(--mdp-scale));transform-origin:50%;will-change:transform, opacity;backface-visibility:hidden;background:linear-gradient(165deg,#fffffffa,#f0f7fff5);border:1px solid #dce7ff;border-radius:12px;flex:0 0 calc(100% - 4px);padding:10px;transition:opacity .3s,box-shadow .3s,border-color .3s,background .3s;box-shadow:0 14px 28px #2563eb14}.mdp-journey-slide.is-active{opacity:1;background:linear-gradient(168deg,#fff,#edf6fffa);border-color:#a9c4ff;box-shadow:0 26px 44px #2563eb33}.mdp-slide-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mdp-slide-badge{border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex}.mdp-slide-badge.is-reached,.mdp-slide-badge.is-peak{color:#0f8e45;background:#e8fbea;border:1px solid #b6efc0}.mdp-slide-badge.is-current{color:#1e4db7;background:#e8f0ff;border:1px solid #bdd0ff}.mdp-slide-badge.is-next{color:#6f2dbd;background:#f2eaff;border:1px solid #dac2ff}.mdp-slide-badge.is-future{color:#64748b;background:#f4f6fb;border:1px solid #d7dfeb}.mdp-slide-index{color:#7487a5;font-size:11px;font-weight:700}.mdp-slide-level-pill{color:#fff;background:linear-gradient(90deg, var(--mdp-accent), #7c8cf8);border-radius:999px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 16px;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #3b82f63d}.mdp-slide-level-icon{font-size:15px}.mdp-slide-level-name{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.mdp-slide-desc{color:#51627d;margin:0 0 8px;font-size:12px;line-height:1.45}.mdp-slide-req-grid{flex-direction:column;gap:6px;display:flex}.mdp-req-row{background:#ffffffe0;border:1px solid #e4ecf8;border-radius:10px;padding:7px 8px}.mdp-req-row--qualitative{background:#fffffff0;border-color:#2563eb24}.mdp-req-row-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.mdp-req-label{color:#1f2b40;font-size:12px;font-weight:700}.mdp-req-status{border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.mdp-req-status.fulfilled{color:#16803c;background:#e8f9ec}.mdp-req-status.pending{color:#9a3412;background:#fff1de}.mdp-req-status.locked{color:#637187;background:#eef2f8}.mdp-req-bar{background:#eef2f7;border-radius:999px;height:8px;margin-bottom:4px;overflow:hidden}.mdp-req-fill{border-radius:inherit;background:linear-gradient(90deg, var(--mdp-accent), #22d3ee);min-width:2px;height:100%;transition:width .9s cubic-bezier(.25,1,.5,1);display:block}.mdp-journey-slide.is-reached .mdp-req-fill,.mdp-journey-slide.is-peak .mdp-req-fill{background:linear-gradient(90deg,#22c55e,#84cc16)}.mdp-journey-slide.is-future .mdp-req-fill{background:linear-gradient(90deg,#a7b2c3,#d6dde8)}.mdp-req-value{color:#64758f;font-size:11px}.mdp-req-text{color:#64758f;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.42;display:-webkit-box;overflow:hidden}.mdp-sidebar-container .mdp-req-text{-webkit-line-clamp:1}.mdp-journey-nav{color:#385385;cursor:pointer;z-index:3;background:#fffffff2;border:1px solid #d2def6;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 14px #2563eb24}.mdp-journey-nav.prev{left:-4px}.mdp-journey-nav.next{right:-4px}.mdp-journey-dots{justify-content:center;gap:6px;margin-top:6px;display:flex}.mdp-journey-dot{cursor:pointer;background:#c7d2e8;border:0;border-radius:999px;width:7px;height:7px;padding:0;transition:all .25s}.mdp-journey-dot.active{background:linear-gradient(90deg,#2563eb,#8b5cf6);width:18px}.mdp-sidebar-container .mdp-journey-shell{padding:8px}.mdp-sidebar-container .mdp-journey-kpi{font-size:12px}.mdp-sidebar-container .mdp-journey-hint{font-size:10px}.mdp-sidebar-container .mdp-journey-slide{min-height:220px;padding:9px}.mdp-sidebar-container .mdp-slide-level-pill{padding:6px 12px;font-size:14px}.mdp-sidebar-container .mdp-slide-desc{font-size:11px}.mdp-level-road{background:linear-gradient(135deg,#f0f5ff 0%,#e6f7ff 50%,#f9f0ff 100%);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:0;padding:16px 24px 0;display:flex;position:relative;overflow:hidden}.mdp-level-road:before{content:"";z-index:0;background:#e8e8e8;border-radius:2px;height:4px;position:absolute;top:50%;left:40px;right:40px;transform:translateY(-50%)}.mdp-level-road .road-progress{z-index:1;background:linear-gradient(90deg,#52c41a,#1890ff,#faad14,#eb2f96,#722ed1,#f5222d);border-radius:2px;height:4px;transition:width .8s cubic-bezier(.25,1,.5,1);position:absolute;top:50%;left:40px;transform:translateY(-50%)}.mdp-level-node{z-index:2;cursor:default;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.mdp-level-dot{color:#fff;background:#d9d9d9;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;transition:all .4s;display:flex;box-shadow:0 2px 8px #0000001a}.mdp-level-node.reached .mdp-level-dot{transform:scale(1.15);box-shadow:0 4px 16px #0000002e}.mdp-level-node.current .mdp-level-dot{animation:2s ease-in-out infinite mdp-pulse;transform:scale(1.35);box-shadow:0 0 0 6px #1890ff33,0 4px 16px #0000002e}@keyframes mdp-pulse{0%,to{box-shadow:0 0 0 6px #1890ff2e,0 4px 16px #00000026}50%{box-shadow:0 0 0 12px #1890ff14,0 4px 20px #0000001f}}.mdp-level-label{color:#8c8c8c;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:11px;font-weight:600;overflow:hidden}.mdp-level-node.reached .mdp-level-label,.mdp-level-node.current .mdp-level-label{color:#262626;font-weight:700}.mdp-level-node.current .mdp-level-label{font-size:12px}.mdp-cards-row{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px;display:grid}.mdp-card{background:#fff;border:1px solid #f0f0f0;border-radius:14px;padding:28px 32px;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000a}.mdp-card-accent{height:4px;position:absolute;top:0;left:0;right:0}.mdp-card-flag{color:#1d4ed8;background:#edf5ff;border:1px solid #bbd8ff;border-radius:999px;align-self:flex-start;align-items:center;margin-bottom:8px;padding:2px 10px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.mdp-card-flag-next{color:#0f6ac6;background:#eaf4ff;border-color:#b8d5ff}.mdp-card h3{color:#262626;margin:0 0 6px;font-size:16px;font-weight:700}.mdp-card .mdp-card-subtitle{color:#8c8c8c;margin:0 0 20px;font-size:13px}.mdp-card .mdp-level-big-badge{color:#fff;border-radius:24px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 20px;font-size:18px;font-weight:700;display:inline-flex}.mdp-card .mdp-card-desc{color:#595959;font-size:14px;line-height:1.7}.mdp-readiness-strip{background:linear-gradient(90deg,#f0f6ff 0%,#f6fbff 100%);border:1px dashed #bad4ff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.mdp-readiness-main{flex-direction:column;gap:3px;min-width:0;display:flex}.mdp-readiness-badge{color:#1d4ed8;background:#e0edff;border-radius:999px;align-self:flex-start;align-items:center;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.mdp-readiness-text{color:#496083;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mdp-readiness-arrow{color:#2563eb;font-size:18px;font-weight:800;line-height:1;animation:1.6s ease-in-out infinite mdp-readiness-pulse}@keyframes mdp-readiness-pulse{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}.mdp-progress-title{color:#262626;margin-bottom:20px;font-size:17px;font-weight:700}.mdp-progress-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin-bottom:28px;display:grid}.mdp-progress-item{background:#fff;border:1px solid #f0f0f0;border-radius:12px;padding:20px 24px;box-shadow:0 1px 6px #00000008}.mdp-progress-item-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mdp-progress-item-label{color:#262626;font-size:14px;font-weight:600}.mdp-progress-item-values{color:#8c8c8c;font-size:13px}.mdp-progress-bar-bg{background:#f5f5f5;border-radius:5px;width:100%;height:10px;margin-bottom:8px;overflow:hidden}.mdp-progress-bar-fill{border-radius:5px;min-width:2px;height:100%;transition:width 1s cubic-bezier(.25,1,.5,1)}.mdp-progress-item-desc{color:#bfbfbf;font-size:12px}.mdp-progress-item--qualitative .mdp-progress-item-desc{color:#64758f;line-height:1.55}.mdp-progress-item-status{border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.mdp-progress-item-status.fulfilled{color:#52c41a;background:#f6ffed}.mdp-progress-item-status.pending{color:#fa8c16;background:#fff7e6}.mdp-pie-mode{flex-direction:column;display:flex}.mdp-pie-wrapper{align-items:center;gap:16px;margin-top:8px;display:flex}.mdp-pie-chart{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:inset 0 0 0 1px #0000000d}.mdp-pie-inner{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 2px 4px #0000000d}.mdp-pie-pct{color:#262626;font-size:13px;font-weight:700}.mdp-pie-info{flex-direction:column;flex:1;gap:6px;display:flex}.mdp-max-level-banner{text-align:center;background:linear-gradient(135deg,#fff1f0 0%,#fff0f6 50%,#f9f0ff 100%);border-radius:14px;margin-bottom:28px;padding:40px 20px}.mdp-max-level-banner h3{color:#262626;margin:0 0 8px;font-size:24px;font-weight:800}.mdp-max-level-banner p{color:#8c8c8c;margin:0;font-size:15px}.mdp-ai-fab{z-index:999;color:#fff;cursor:pointer;background:linear-gradient(135deg,#722ed1 0%,#1890ff 100%);border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .3s,box-shadow .3s;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 6px 24px #722ed159}.mdp-ai-fab:hover{transform:scale(1.1);box-shadow:0 8px 32px #722ed173}.mdp-ai-fab svg{width:30px;height:30px}.mdp-ai-panel-overlay{z-index:1000;background:#00000040;display:none;position:fixed;inset:0}.mdp-ai-panel-overlay.open{display:block}.mdp-ai-panel{z-index:1001;background:#fff;border-radius:16px;flex-direction:column;width:420px;max-height:70vh;display:none;position:fixed;bottom:32px;right:32px;overflow:hidden;box-shadow:0 12px 48px #0000002e}.mdp-ai-panel.open{display:flex}.mdp-ai-panel-header{color:#fff;background:linear-gradient(135deg,#722ed1,#1890ff);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.mdp-ai-panel-header h4{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.mdp-ai-panel-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:4px;font-size:20px;line-height:1;transition:opacity .2s}.mdp-ai-panel-close:hover{opacity:1}.mdp-ai-panel-body{color:#333;flex:1;padding:24px;font-size:14px;line-height:1.8;overflow-y:auto}.mdp-ai-panel-body .ai-loading{text-align:center;color:#8c8c8c;padding:40px 0}.mdp-ai-panel-body .ai-loading .dot-pulse{animation:1.2s ease-in-out infinite mdp-dot-pulse;display:inline-block}@keyframes mdp-dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.mdp-ai-panel-body .ai-reply{white-space:pre-wrap;word-break:break-word}.mdp-ai-panel-footer{border-top:1px solid #f0f0f0;gap:10px;padding:14px 24px;display:flex}.mdp-ai-panel-footer button{color:#595959;cursor:pointer;background:#fafafa;border:1px solid #d9d9d9;border-radius:8px;flex:1;padding:8px 0;font-size:13px;font-weight:600;transition:all .2s}.mdp-ai-panel-footer button:hover{background:#f0f0f0;border-color:#bfbfbf}.mdp-ai-panel-footer button.primary{color:#fff;background:linear-gradient(135deg,#722ed1,#1890ff);border:none}.mdp-ai-panel-footer button.primary:hover{opacity:.9}@media (width<=900px){.mdp-cards-row{grid-template-columns:1fr}.mdp-journey-header{flex-direction:column;align-items:flex-start}.mdp-journey-hint{white-space:normal}.mdp-journey-nav{display:none}.mdp-journey-slide{min-height:232px}.mdp-sidebar-container .mdp-cards-row{grid-template-columns:1fr}.mdp-sidebar-container .mdp-cards-row:after{display:none}.mdp-level-road{padding:32px 16px 16px;overflow-x:auto}.mdp-ai-panel{width:calc(100vw - 32px);bottom:16px;right:16px}}.portrait-dashboard{box-sizing:border-box;color:#333;flex-direction:column;width:100%;max-width:100%;min-height:calc(100vh - 120px);margin:0;padding:14px 18px 24px;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.dashboard-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;width:100%;margin:0 auto;transition:grid-template-columns .6s cubic-bezier(.4,0,.2,1),gap .6s;display:grid}.card{background:linear-gradient(#fff 0%,#fcfdff 100%);border:1px solid #e8edf5;border-radius:14px;flex-direction:column;padding:20px;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;box-shadow:0 10px 26px #0f172a0f}.card:hover{border-color:#e8edf5;transform:none;box-shadow:0 10px 26px #0f172a0f}.panel-avatar:hover{border-color:#e8edf5!important;transform:none!important;box-shadow:0 10px 26px #0f172a0f!important}.card-title{color:#1a1a1a;border-bottom:2px solid #0000;flex-shrink:0;margin-top:0;margin-bottom:16px;font-size:15px;font-weight:700;position:relative}.col{gap:16px;min-width:0;transition:opacity .4s,transform .6s cubic-bezier(.4,0,.2,1);display:grid}.col-left{grid-template-rows:auto auto auto}.col-right{grid-template-rows:auto 1fr}.col-middle{grid-template-rows:1fr}.panel-subjects{min-height:0}.card-content{flex:1;min-height:0;overflow-y:auto}.card-content::-webkit-scrollbar{width:4px}.card-content::-webkit-scrollbar-thumb{background:#eee;border-radius:4px}.info-header-title{border-bottom:1px solid #f0f0f0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;display:flex}.t-name{color:#212529;font-size:20px;font-weight:700}.t-gender{font-size:16px;font-weight:700}.t-gender.male{color:#4d7cfe}.t-gender.female{color:#e91e63}.badges-container{gap:6px;display:flex}.t-badge{color:#f7592e;background:#fff8f5;border:1px solid #ffccbe;border-radius:4px;padding:2px 6px;font-size:11px;line-height:1.5}.t-badge:nth-child(2){color:#009688;background:#e0f2f1;border-color:#b2dfdb}.info-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.info-list li{align-items:center;font-size:13px;display:flex}.info-list label{color:#8c8c8c;width:70px}.info-list span{color:#262626;font-weight:500}.subject-item{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.sub-icon{background:#fdf6ec;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.sub-info h4{color:#303133;margin:0 0 4px;font-size:14px}.sub-info p{color:#909399;margin:0;font-size:12px}.panel-avatar{background:radial-gradient(85% 90% at 50% 8%,#3b82f617 0%,#fff0 62%),#fff;flex:1;position:relative;overflow:visible}.avatar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.avatar-header-right{align-items:center;gap:12px;display:flex}.year-select{color:#606266;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:4px 8px}.year-select:disabled{cursor:default;color:#94a3b8;background:#f8fafc}.action-more{color:#c0c4cc;cursor:pointer;font-size:20px}.avatar-canvas{isolation:isolate;flex:1;justify-content:center;align-items:center;min-height:520px;padding:8px 12px 20px;display:flex;position:relative}.floating-tag{-webkit-backdrop-filter:blur(8px);color:#1f2d3d;z-index:50;cursor:pointer;white-space:nowrap;background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:99px;outline:none;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;box-shadow:0 4px 15px -3px #0000000d}.floating-tag.is-navigable{-webkit-user-select:none;user-select:none}.floating-tag.is-navigable:after{content:"↗";opacity:.5;margin-left:2px;font-size:11px;transition:transform .2s}.floating-tag.is-navigable:hover:after{transform:translate(2px,-2px)}.floating-tag:hover,.floating-tag:focus-visible{z-index:70;background:#ffffffd9;border-color:#e2e8f0cc;transform:none;box-shadow:0 4px 15px -3px #0000000d}.floating-tag:active{transform:none}.floating-tag:before{content:"";border-radius:50%;width:6px;height:6px;display:block}.tag-1{color:#4d7cfe;top:15%;left:0%}.tag-1:before{background:#4d7cfe}.tag-2{color:#e91e63;top:40%;left:-5%}.tag-2:before{background:#e91e63}.tag-3{color:#ff9800;top:65%;left:0%}.tag-3:before{background:#ff9800}.tag-4{color:#9c27b0;top:85%;left:10%}.tag-4:before{background:#9c27b0}.tag-5{color:#009688;top:10%;right:0%}.tag-5:before{background:#009688}.tag-6{color:#ff5722;top:38%;right:-5%}.tag-6:before{background:#ff5722}.tag-7{color:#3f51b5;top:62%;right:-2%}.tag-7:before{background:#3f51b5}.tag-8{color:#03a9f4;top:82%;right:5%}.tag-8:before{background:#03a9f4}.attendance-header{color:#606266;justify-content:space-between;margin-bottom:16px;font-size:12px;display:flex}.attendance-header span{align-items:center;gap:4px;display:flex}.attendance-header strong{color:#303133;font-size:14px}.attendance-body{align-items:center;gap:16px;display:flex}.chart-container-sm{width:120px;height:120px}.attendance-legend{flex-direction:column;flex:1;gap:8px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.attendance-legend li{color:#606266;justify-content:space-between;align-items:center;display:flex}.dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.d-1{background:#4d7cfe}.d-2{background:#ff9800}.d-3{background:#f44336}.d-4{background:#9c27b0}.d-5{background:#e0e0e0}.panel-research{flex-direction:column;min-height:0;display:flex}.chart-container-md{flex:1;width:100%;min-height:0}@media (width<=1400px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.col-middle{grid-column:1/-1}}@media (width<=980px){.portrait-dashboard{width:100%;padding:10px 10px 16px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.avatar-canvas{min-height:440px}}.character-wrapper{z-index:8;cursor:pointer;transform-origin:bottom;flex-direction:column;justify-content:flex-end;align-items:center;width:min(340px,100%);margin:0 auto;transition:scale 1.2s cubic-bezier(.34,1.56,.64,1),translate 1.2s cubic-bezier(.34,1.56,.64,1),filter 1.2s;animation:6s ease-in-out infinite portraitIdleFloat;display:flex;position:relative}.character-wrapper:focus-visible{outline:0}.character-wrapper:focus-visible .character-stage{border-radius:28px;box-shadow:0 0 0 4px #3b82f624}.character-stage{aspect-ratio:1088/992;width:min(330px,92%);animation:.8s cubic-bezier(.34,1.56,.64,1) backwards characterStageEntry;position:relative;overflow:visible}@keyframes characterStageEntry{0%{opacity:0;transform:translateY(40px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.teacher-focus-glow{opacity:0;filter:blur(8px);pointer-events:none;background:radial-gradient(circle,#94a3b847 0%,#94a3b81f 42%,#94a3b800 74%);border-radius:999px;width:180px;height:180px;position:absolute;top:44%;left:40%;transform:translate(-50%,-50%)scale(.82)}.character-stage .teacher-figure-base{object-fit:contain;mix-blend-mode:normal;image-rendering:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:50% 58%;will-change:transform, filter;width:100%;height:100%;animation:5.6s ease-in-out infinite portraitFigureBreath;position:absolute;inset:0;transform:translateY(14%)scale(2.28)}.character-stage .teacher-figure-video,.character-stage .teacher-figure-fallback{transition:opacity .35s}.teacher-voice-pulse,.teacher-thinking-orbit{pointer-events:none;opacity:0;position:absolute}.teacher-voice-pulse{filter:blur(2px);background:radial-gradient(circle,#7d75ff47 0%,#7d75ff1a 42%,#7d75ff00 72%);border-radius:999px;width:96px;height:96px;top:36%;left:40%;transform:translate(-50%,-50%)}.teacher-thinking-orbit{border:2px dashed #6b728061;border-radius:999px;width:112px;height:112px;margin-top:-56px;margin-left:-56px;top:36%;left:40%}.teacher-gesture-spark{opacity:0;pointer-events:none;filter:drop-shadow(0 8px 14px #4f46e529);border:2px solid #6366f1c7;border-color:#6366f1c7 #818cf8b3 #0000 #0000;border-radius:999px;width:58px;height:58px;position:absolute;top:56%}.teacher-gesture-spark:before,.teacher-gesture-spark:after{content:"";background:linear-gradient(135deg,#6366f1e0,#3b82f66b);border-radius:999px;position:absolute}.teacher-gesture-spark:before{width:10px;height:10px;top:6px;right:2px}.teacher-gesture-spark:after{width:7px;height:7px;top:-6px;right:12px}.teacher-gesture-spark.left{top:65%;left:10%;transform:rotate(-38deg)scale(.74)}.teacher-gesture-spark.right{top:60%;right:15%;transform:rotate(34deg)scale(.74)}.portrait-motion-badge{color:#475569;background:#ffffffeb;border:1px solid #94a3b83d;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:6px 12px;font-size:12px;display:inline-flex;box-shadow:0 10px 26px #0f172a14}.portrait-motion-badge:before{content:"";background:#94a3b8;border-radius:999px;width:8px;height:8px}.portrait-motion-badge[data-state=thinking]:before{background:#64748b}.portrait-motion-badge[data-state=talking]:before{background:#7c3aed}.portrait-motion-badge[data-state=error]:before{background:#ef4444}.portrait-motion-badge[data-state=talking][data-gesture=emphasis]{transform:translateY(-1px);box-shadow:0 14px 30px #6d28d929}.portrait-motion-badge[data-state=talking][data-gesture=settle]{box-shadow:0 12px 26px #3b82f61f}.character-wrapper[data-motion=thinking]{animation-duration:4.2s}.character-wrapper[data-motion=thinking][data-gesture=listen] .teacher-focus-glow{animation-duration:1.9s}.character-wrapper[data-motion=thinking] .teacher-focus-glow{opacity:.88;animation:2.4s ease-in-out infinite portraitFocusGlow}.character-wrapper[data-motion=thinking][data-gesture=listen] .teacher-thinking-orbit{animation-duration:2.4s}.character-wrapper[data-motion=thinking] .teacher-thinking-orbit{opacity:.92;animation:2.8s linear infinite portraitOrbitSpin}.character-wrapper[data-motion=thinking] .teacher-figure-base{animation:2.8s ease-in-out infinite portraitFigureThinking}.character-wrapper[data-motion=talking]{animation:1.8s ease-in-out infinite portraitTalkingFloat}.character-wrapper[data-motion=talking] .teacher-focus-glow{opacity:.92;animation:1.1s ease-in-out infinite portraitTalkGlow}.character-wrapper[data-motion=talking] .teacher-voice-pulse{opacity:1;animation:1s ease-in-out infinite portraitVoicePulse}.character-wrapper[data-motion=talking] .teacher-figure-base{filter:drop-shadow(0 16px 30px #3b82f624);animation:.96s ease-in-out infinite portraitFigureTalking}.character-wrapper[data-motion=talking] .teacher-gesture-spark{opacity:.14}.character-wrapper[data-motion=talking][data-gesture=left] .teacher-gesture-spark.left{opacity:.96;animation:.98s ease-out infinite portraitGestureLeft}.character-wrapper[data-motion=talking][data-gesture=left] .teacher-gesture-spark.right{opacity:.34;animation:1.2s ease-in-out infinite portraitGestureRightSoft}.character-wrapper[data-motion=talking][data-gesture=right] .teacher-gesture-spark.left{opacity:.34;animation:1.2s ease-in-out infinite portraitGestureLeftSoft}.character-wrapper[data-motion=talking][data-gesture=right] .teacher-gesture-spark.right{opacity:.96;animation:.98s ease-out infinite portraitGestureRight}.character-wrapper[data-motion=talking][data-gesture=emphasis] .teacher-focus-glow{animation:.8s ease-in-out infinite portraitTalkGlowAccent}.character-wrapper[data-motion=talking][data-gesture=emphasis] .teacher-figure-base{animation:.76s ease-in-out infinite portraitFigureTalkingAccent}.character-wrapper[data-motion=talking][data-gesture=emphasis] .teacher-gesture-spark.left{opacity:1;animation:.74s ease-out infinite portraitGestureEmphasisLeft}.character-wrapper[data-motion=talking][data-gesture=emphasis] .teacher-gesture-spark.right{opacity:1;animation:.74s ease-out 80ms infinite portraitGestureEmphasisRight}.character-wrapper[data-motion=talking][data-gesture=settle] .teacher-focus-glow{opacity:.64;animation:1.6s ease-out infinite portraitFocusGlow}.character-wrapper[data-motion=talking][data-gesture=settle] .teacher-voice-pulse{opacity:.72;animation-duration:1.35s}.character-wrapper[data-motion=talking][data-gesture=settle] .teacher-figure-base{animation:1.24s ease-out infinite portraitFigureSettle}.character-wrapper[data-motion=talking][data-gesture=settle] .teacher-gesture-spark{opacity:.18;animation:1.18s ease-out infinite portraitGestureSettle}.character-wrapper[data-motion=error] .teacher-focus-glow{opacity:.62;animation:1.8s ease-in-out infinite portraitErrorGlow}.character-wrapper[data-motion=error] .teacher-figure-base{filter:saturate(.94);animation:2.6s ease-in-out infinite portraitFigureError}.character-wrapper:hover .teacher-figure-base{filter:drop-shadow(0 18px 34px #0f172a1f)}.speech-bubble{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#334155;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;opacity:0;transform-origin:4px 70%;pointer-events:none;background:#ffffffeb;border:1px solid #bfdbfeb8;border-radius:18px 18px 18px 7px;width:max-content;min-width:156px;max-width:min(360px,80vw);padding:12px 15px 13px;font-size:13px;line-height:1.65;transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.2,1),scale .6s,translate .6s;position:absolute;top:8%;right:-18px;transform:translate(-8px,8px)scale(.96);box-shadow:0 16px 34px #2563eb1f,0 2px 8px #0f172a0f}.speech-bubble.show{opacity:1;transform:translate(0)scale(1)}.character-wrapper[data-motion=talking] .speech-bubble.show{animation:1.7s ease-in-out infinite portraitBubbleLive}.character-wrapper[data-motion=talking][data-gesture=emphasis] .speech-bubble.show{animation:1.2s ease-in-out infinite portraitBubbleAccent}.character-wrapper[data-motion=talking][data-gesture=settle] .speech-bubble.show{animation:1.15s ease-out infinite portraitBubbleSettle}.character-wrapper[data-motion=thinking] .speech-bubble.show{animation:2.4s ease-in-out infinite portraitBubbleThink}.speech-bubble:after{content:"";background:inherit;border-bottom:1px solid #bfdbfeb8;border-left:1px solid #bfdbfeb8;border-radius:4px 0 0 3px;width:14px;height:14px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)rotate(45deg);box-shadow:-4px 4px 10px #2563eb0a}.portrait-ai-float-button{color:#fff;cursor:pointer;isolation:isolate;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:62px;height:62px;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s,opacity .22s;display:inline-flex;position:fixed;bottom:28px;right:28px;z-index:99999!important;background:radial-gradient(circle at 30% 30%,#ff9bb0 0%,#d8b4fe 30%,#6366f1 70%,#4338ca 100%)!important;border-radius:50%!important;box-shadow:inset 3px 3px 6px #ffffffbf,inset -5px -5px 12px #0000006b,0 12px 28px #6366f159,0 0 0 8px #ffffffd9!important}.portrait-ai-float-button:before{content:"";border-radius:inherit;z-index:-1;border:1px solid #a855f747;animation:2.4s ease-in-out infinite portraitAiFloatPulse;position:absolute;inset:-7px}.portrait-ai-float-button:hover,.portrait-ai-float-button:focus-visible{outline:0;transform:translateY(-5px)scale(1.08);box-shadow:inset 4px 4px 8px #ffffffd9,inset -6px -6px 14px #0000007a,0 18px 36px #6366f173,0 0 0 9px #ffffffe6!important}.portrait-ai-float-button:active{transform:translateY(-2px)scale(.96)}.portrait-ai-float-button.is-open{opacity:0;pointer-events:none;transform:translateY(8px)scale(.92)}.portrait-ai-float-icon{line-height:1;display:inline-flex}.portrait-ai-float-text{letter-spacing:.08em;font-size:11px;font-weight:800;line-height:1}.portrait-ai-overlay{top:var(--header-height,72px);opacity:0;pointer-events:none;z-index:1280;background:#0f172a0a;transition:opacity .24s;position:fixed;bottom:0;left:0;right:0}.portrait-ai-overlay.open{opacity:1;pointer-events:auto}.portrait-ai-drawer{top:var(--header-height,72px);z-index:1290;background:#fffffffa;flex-direction:column;gap:16px;width:min(100vw,clamp(400px,30vw,560px));padding:22px 20px 20px;transition:transform .28s;display:flex;position:fixed;bottom:0;right:0;transform:translate(100%);box-shadow:-28px 0 60px #0f172a29}.dashboard-layout.layout-sidebar .portrait-ai-overlay,.dashboard-layout.layout-sidebar .portrait-ai-drawer{top:56px}.portrait-ai-drawer.open{transform:translate(0)}.portrait-ai-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portrait-ai-headline h3{color:#0f172a;margin:6px 0 4px;font-size:18px}.portrait-ai-headline p{color:#64748b;margin:0;font-size:12px;line-height:1.6}.portrait-ai-kicker{color:#6d28d9;background:#7c3aed14;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.portrait-ai-context{color:#2563eb;background:#3b82f614;border-radius:999px;align-items:center;margin-top:10px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.portrait-ai-close{color:#475569;cursor:pointer;background:#f8fafc;border:0;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.portrait-ai-status{color:#475569;background:#f8fafc;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:12px}.portrait-ai-status[data-state=thinking]{color:#475569;background:#64748b1f}.portrait-ai-status[data-state=waiting]{color:#b45309;background:#f59e0b24}.portrait-ai-status[data-state=talking]{color:#6d28d9;background:#7c3aed1f}.portrait-ai-status[data-state=error]{color:#b91c1c;background:#ef44441f}.portrait-ai-thread{flex-direction:column;flex:1;gap:14px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.portrait-ai-thread::-webkit-scrollbar{width:6px}.portrait-ai-thread::-webkit-scrollbar-thumb{background:#94a3b86b;border-radius:999px}.portrait-ai-empty{color:#475569;background:linear-gradient(#f8fafc 0%,#eef2ff 100%);border-radius:16px;padding:18px 16px}.portrait-ai-empty strong{color:#0f172a;margin-bottom:6px;display:block}.portrait-ai-empty p{margin:0;font-size:13px;line-height:1.65}.portrait-ai-history-status{color:#64748b;background:#94a3b81f;border-radius:999px;flex:none;align-self:center;padding:6px 12px;font-size:12px;line-height:1.4}.portrait-ai-message{align-items:flex-start;gap:10px;display:flex}.portrait-ai-message.user{flex-direction:row-reverse}.portrait-ai-avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe 0%,#e0e7ff 100%);border-radius:999px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:inline-flex}.portrait-ai-message.user .portrait-ai-avatar{color:#7c3aed;background:linear-gradient(135deg,#ede9fe 0%,#fce7f3 100%)}.portrait-ai-message-main{max-width:calc(100% - 44px)}.portrait-ai-message-role{color:#94a3b8;margin-bottom:6px;font-size:11px}.portrait-ai-message.user .portrait-ai-message-role{text-align:right}.portrait-ai-bubble{color:#1e293b;word-break:break-word;background:#f8fafc;border-radius:16px;padding:12px 14px;font-size:13px;line-height:1.65}.portrait-ai-bubble strong{font-weight:700}.portrait-ai-bubble code{background:#94a3b81f;border-radius:8px;padding:1px 6px;font-family:Consolas,SFMono-Regular,Liberation Mono,Menlo,monospace;font-size:12px;display:inline-block}.portrait-ai-rich-paragraph{margin:0}.portrait-ai-rich-paragraph+.portrait-ai-rich-paragraph,.portrait-ai-rich-paragraph+.portrait-ai-rich-list,.portrait-ai-rich-list+.portrait-ai-rich-paragraph,.portrait-ai-rich-list+.portrait-ai-rich-list{margin-top:10px}.portrait-ai-rich-list{gap:8px;margin:0;padding-left:18px;display:grid}.portrait-ai-rich-list li{margin:0}.portrait-ai-message.user .portrait-ai-bubble{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#2563eb 100%)}.portrait-ai-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.portrait-ai-action{color:#6d28d9;cursor:pointer;background:#fff;border:1px solid #7c3aed2e;border-radius:999px;min-height:32px;padding:0 12px;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s}.portrait-ai-action.primary{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#2563eb 100%);border-color:#0000}.portrait-ai-action:hover,.portrait-ai-action:focus-visible{outline:0;transform:translateY(-1px);box-shadow:0 10px 20px #7c3aed1f}.portrait-ai-bubble.is-typing{box-shadow:inset 0 0 0 1px #7c3aed1a}.portrait-ai-placeholder{color:#94a3b8}.portrait-ai-suggestions{flex-wrap:wrap;gap:10px;display:flex}.portrait-ai-suggestions[hidden]{display:none}.portrait-ai-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #94a3b83d;border-radius:14px;padding:9px 12px;font-size:12px;line-height:1.5;transition:border-color .2s,transform .2s,box-shadow .2s}.portrait-ai-chip:hover{border-color:#7c3aed47;transform:translateY(-1px);box-shadow:0 10px 20px #7c3aed14}.portrait-ai-compose{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding-top:4px;display:grid}.portrait-ai-input{width:100%;min-height:96px;font:inherit;color:#0f172a;resize:none;background:#fff;border:1px solid #94a3b83d;border-radius:16px;outline:none;padding:12px 14px;font-size:13px;line-height:1.55}.portrait-ai-input:focus{border-color:#7c3aed52;box-shadow:0 0 0 4px #7c3aed14}.portrait-ai-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#2563eb 100%);border:0;border-radius:14px;justify-self:end;min-width:108px;height:44px;padding:0 18px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.portrait-ai-send:hover{transform:translateY(-1px);box-shadow:0 12px 22px #2563eb2e}.portrait-ai-send[data-busy=true]{background:linear-gradient(135deg,#f97316 0%,#ef4444 100%)}.portrait-ai-send[data-busy=true]:hover{box-shadow:0 12px 22px #ef44442e}.portrait-ai-send:disabled{cursor:wait;opacity:.72}@keyframes portraitIdleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes portraitAiFloatPulse{0%,to{opacity:.5;transform:scale(.92)}50%{opacity:.9;transform:scale(1.08)}}@keyframes portraitFigureBreath{0%,to{transform:translateY(14%)scale(2.28)}50%{transform:translateY(13.2%)scale(2.31)}}@keyframes portraitFigureThinking{0%,to{transform:translateY(14%)scale(2.28)rotate(-.8deg)}50%{transform:translate(1.4%,12.6%)scale(2.33)rotate(.9deg)}}@keyframes portraitFigureTalking{0%,to{transform:translateY(14%)scale(2.29)rotate(-.85deg)}35%{transform:translate(1.2%,12.8%)scale(2.34)rotate(.95deg)}65%{transform:translate(.7%,13.6%)scale(2.31)rotate(-.2deg)}}@keyframes portraitFigureTalkingAccent{0%,to{transform:translateY(13.8%)scale(2.31)rotate(-1deg)}45%{transform:translate(1.6%,12.2%)scale(2.36)rotate(1.3deg)}70%{transform:translate(.9%,13.3%)scale(2.32)rotate(.18deg)}}@keyframes portraitFigureSettle{0%,to{transform:translateY(13.8%)scale(2.29)}50%{transform:translate(.2%,13.1%)scale(2.31)}}@keyframes portraitFigureError{0%,to{transform:translateY(14%)scale(2.28)}50%{transform:translateY(13.4%)scale(2.295)}}@keyframes portraitTalkingFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.01)}}@keyframes portraitFocusGlow{0%,to{opacity:.58;transform:translate(-50%,-50%)scale(.8)}50%{opacity:.94;transform:translate(-50%,-50%)scale(1.02)}}@keyframes portraitTalkGlow{0%,to{opacity:.56;transform:translate(-50%,-50%)scale(.86)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes portraitTalkGlowAccent{0%,to{opacity:.72;transform:translate(-50%,-50%)scale(.92)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.18)}}@keyframes portraitErrorGlow{0%,to{opacity:.4;transform:translate(-50%,-50%)scale(.84)}50%{opacity:.72;transform:translate(-50%,-50%)scale(.98)}}@keyframes portraitVoicePulse{0%,to{transform:translate(-50%,-50%)scale(.84)}50%{transform:translate(-50%,-50%)scale(1.06)}}@keyframes portraitOrbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes portraitGestureLeft{0%,to{opacity:.42;transform:rotate(-38deg)translateY(0)scale(.72)}50%{opacity:.98;transform:rotate(-28deg)translateY(-8px)scale(1)}}@keyframes portraitGestureRight{0%,to{opacity:.42;transform:rotate(34deg)translateY(0)scale(.72)}50%{opacity:.98;transform:rotate(24deg)translateY(-8px)scale(1)}}@keyframes portraitGestureLeftSoft{0%,to{opacity:.2;transform:rotate(-38deg)translateY(0)scale(.66)}50%{opacity:.5;transform:rotate(-32deg)translateY(-4px)scale(.82)}}@keyframes portraitGestureRightSoft{0%,to{opacity:.2;transform:rotate(34deg)translateY(0)scale(.66)}50%{opacity:.5;transform:rotate(28deg)translateY(-4px)scale(.82)}}@keyframes portraitGestureEmphasisLeft{0%,to{opacity:.5;transform:rotate(-42deg)translateY(0)scale(.78)}50%{opacity:1;transform:rotate(-24deg)translateY(-12px)scale(1.08)}}@keyframes portraitGestureEmphasisRight{0%,to{opacity:.5;transform:rotate(38deg)translateY(0)scale(.78)}50%{opacity:1;transform:rotate(20deg)translateY(-12px)scale(1.08)}}@keyframes portraitGestureSettle{0%,to{opacity:.16;transform:translateY(0)scale(.7)}50%{opacity:.34;transform:translateY(-5px)scale(.84)}}@keyframes portraitBubbleLive{0%,to{transform:translate(0)scale(1)}50%{transform:translate(1px,-2px)scale(1.012)}}@keyframes portraitBubbleAccent{0%,to{transform:translate(0)scale(1)}50%{transform:translate(2px,-3px)scale(1.018)}}@keyframes portraitBubbleSettle{0%,to{transform:translate(0)scale(1)}50%{transform:translate(1px,-1px)scale(1.006)}}@keyframes portraitBubbleThink{0%,to{transform:translate(0)scale(1)}50%{transform:translateY(-1px)scale(1.008)}}@media (width<=980px){.portrait-ai-float-button{width:58px;height:58px;bottom:18px;right:18px}.character-wrapper{width:min(300px,100%)}.character-stage{width:min(280px,88%)}.speech-bubble{max-width:180px;top:0;right:2px}.portrait-ai-drawer{width:100vw;padding:18px 16px}.portrait-ai-compose{grid-template-columns:1fr}.portrait-ai-send{width:100%;min-width:0}}.dashboard-layout.ai-chat-mode{--portrait-chat-sidebar-width:clamp(360px, 22vw, 500px);--portrait-chat-drawer-width:clamp(420px, 28vw, 620px)}.dashboard-layout.ai-chat-mode .page-container{max-width:none!important;margin:0!important;padding:0!important;animation:none!important}.dashboard-layout.ai-chat-mode .main-content{overflow:hidden}.portrait-dashboard.ai-chat-mode{--portrait-chat-character-x:0px;--portrait-chat-character-y:18%;--portrait-chat-character-scale:1.18;--portrait-chat-figure-scale:1.64;--portrait-chat-effect-x:50%;--portrait-chat-orbit-bottom:-16%;width:100%;max-width:100%;min-height:calc(100vh - var(--header-height,72px));height:calc(100vh - var(--header-height,72px));transition:width .3s;padding:0 var(--portrait-chat-drawer-width) 0 0!important}.portrait-dashboard.ai-chat-mode .dashboard-grid{grid-template-columns:var(--portrait-chat-sidebar-width) minmax(360px, 1fr);gap:0;margin:0;height:100%!important}.dashboard-layout.layout-sidebar .portrait-dashboard.ai-chat-mode{height:calc(100vh - 56px);min-height:calc(100vh - 56px)}.portrait-dashboard.ai-chat-mode .col-left{opacity:0;pointer-events:none;visibility:hidden;position:absolute;transform:scale(.9)}.portrait-dashboard.ai-chat-mode .col-right{opacity:1;pointer-events:auto;z-index:1286;visibility:visible;order:-1;grid-template-rows:minmax(0,1fr) minmax(0,1fr);align-self:stretch;height:100%;min-height:0;padding:0;display:grid;position:relative;transform:scale(1)}.portrait-dashboard.ai-chat-mode .col-middle{z-index:2;order:0;justify-content:center;align-items:center;display:flex;position:relative;grid-column:2/3!important}.portrait-dashboard.ai-chat-mode .card{overflow:visible}.portrait-dashboard.ai-chat-mode .col-right>.card{min-height:0;overflow:hidden}.portrait-dashboard.ai-chat-mode .mdp-sidebar-container{gap:10px}.portrait-dashboard .mdp-sidebar-container .mdp-journey-shell{flex:1;width:100%;min-height:0}.portrait-dashboard.ai-chat-mode .mdp-sidebar-container .mdp-journey-shell{flex-direction:column;display:flex}.portrait-dashboard .mdp-sidebar-container .mdp-journey-track-wrap,.portrait-dashboard .mdp-sidebar-container .mdp-journey-track{min-height:0}.portrait-dashboard.ai-chat-mode .mdp-sidebar-container .mdp-journey-track-wrap{flex:1;display:flex}.portrait-dashboard.ai-chat-mode .mdp-sidebar-container .mdp-journey-track{flex:1;align-items:stretch;height:100%}.portrait-dashboard.ai-chat-mode .mdp-sidebar-container .mdp-journey-slide{opacity:1;flex-direction:column;height:100%;min-height:0;display:flex;transform:none!important}.portrait-dashboard.ai-chat-mode .mdp-sidebar-container .mdp-slide-req-grid{flex:1;min-height:0;overflow-y:auto}.portrait-dashboard.ai-chat-mode .panel-research{min-height:0}.portrait-dashboard.ai-chat-mode .chart-container-md{flex:1;height:100%;min-height:280px}.portrait-dashboard.ai-chat-mode .panel-avatar,.portrait-dashboard.ai-chat-mode .panel-avatar:hover{overflow:visible;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.portrait-dashboard.ai-chat-mode .panel-avatar:before{display:none!important}@keyframes ambientBreathe{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(.95)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}}.portrait-dashboard.ai-chat-mode .avatar-header,.portrait-dashboard.ai-chat-mode .floating-tag{opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:scale(.9)}.portrait-dashboard.ai-chat-mode .character-wrapper{width:min(clamp(280px, calc(100vw - var(--portrait-chat-sidebar-width) - var(--portrait-chat-drawer-width) - 56px), 400px), 100%);scale:var(--portrait-chat-character-scale);translate:var(--portrait-chat-character-x) var(--portrait-chat-character-y);z-index:1285;margin:auto;animation:none!important}.portrait-dashboard.ai-chat-mode .character-stage .teacher-figure-base{transform:translate(0, 14%) scale(var(--portrait-chat-figure-scale));animation:none!important}@media (height>=700px) and (width>=1200px){.portrait-dashboard.ai-chat-mode{--portrait-chat-character-x:0px;--portrait-chat-character-y:19%;--portrait-chat-character-scale:1.3;--portrait-chat-figure-scale:1.84;--portrait-chat-orbit-bottom:-22%}.portrait-dashboard.ai-chat-mode .character-wrapper{scale:var(--portrait-chat-character-scale);translate:var(--portrait-chat-character-x) var(--portrait-chat-character-y)}}@media (height>=900px) and (width>=1400px){.portrait-dashboard.ai-chat-mode{--portrait-chat-character-x:0px;--portrait-chat-character-y:22%;--portrait-chat-character-scale:1.46;--portrait-chat-figure-scale:2;--portrait-chat-orbit-bottom:-28%}.portrait-dashboard.ai-chat-mode .character-wrapper{scale:var(--portrait-chat-character-scale);translate:var(--portrait-chat-character-x) var(--portrait-chat-character-y)}}@media (height>=900px) and (width>=1700px){.portrait-dashboard.ai-chat-mode{--portrait-chat-character-x:0px;--portrait-chat-character-y:24%;--portrait-chat-character-scale:1.58;--portrait-chat-figure-scale:2.1;--portrait-chat-orbit-bottom:-32%}}.portrait-dashboard.ai-chat-mode .character-wrapper:before,.portrait-dashboard.ai-chat-mode .character-wrapper:after{display:none!important}@keyframes aiCoreGlow{0%{opacity:.7;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;filter:blur(4px);transform:translate(-50%,-50%)scale(1.05)}}@keyframes aiDataOrbit{0%{transform:rotateX(76deg)rotate(0)}to{transform:rotateX(76deg)rotate(360deg)}}.portrait-dashboard.ai-chat-mode .speech-bubble{transform-origin:0;max-width:min(390px, calc(var(--portrait-chat-drawer-width) - 120px));translate:-24px -18px;scale:.92}.portrait-dashboard.ai-chat-mode .portrait-motion-badge{opacity:0;pointer-events:none;transition:opacity .3s}.portrait-dashboard.ai-chat-mode .teacher-thinking-orbit,.portrait-dashboard.ai-chat-mode .teacher-voice-pulse,.portrait-dashboard.ai-chat-mode .teacher-gesture-spark{display:none!important}.portrait-dashboard.ai-chat-mode .teacher-figure-video{filter:none!important;animation:none!important}.dashboard-layout.ai-chat-mode .portrait-ai-overlay.open,.portrait-dashboard.ai-chat-mode .portrait-ai-overlay{pointer-events:none;background:0 0}.dashboard-layout.ai-chat-mode .portrait-ai-drawer{width:min(100vw, var(--portrait-chat-drawer-width))}.portrait-dashboard.ai-chat-mode .mdp-level-road{pointer-events:none;transition:opacity .4s;display:none!important}@media (width<=980px){.portrait-dashboard.ai-chat-mode{--portrait-chat-character-x:0;--portrait-chat-character-y:-5%;--portrait-chat-character-scale:1.1;padding-right:0}.portrait-dashboard.ai-chat-mode .dashboard-grid{grid-template-columns:1fr}.dashboard-layout.ai-chat-mode .portrait-ai-drawer{width:100vw}.portrait-dashboard.ai-chat-mode .col-left,.portrait-dashboard.ai-chat-mode .col-right{display:none}.portrait-dashboard.ai-chat-mode .character-wrapper{scale:var(--portrait-chat-character-scale);translate:var(--portrait-chat-character-x) var(--portrait-chat-character-y)}}@media (width<=1240px) and (width>=981px){.dashboard-layout.ai-chat-mode{--portrait-chat-sidebar-width:clamp(320px, 28vw, 360px);--portrait-chat-drawer-width:clamp(300px, 25vw, 340px)}.portrait-dashboard.ai-chat-mode{--portrait-chat-character-x:0px;--portrait-chat-character-y:16%;--portrait-chat-character-scale:1.06;--portrait-chat-figure-scale:1.34;--portrait-chat-orbit-bottom:-14%}}.leader-bs-shell{color:#e5f3ff;isolation:isolate;background:radial-gradient(circle at 18% 15%,#22d3ee33,#0000 30%),radial-gradient(circle at 80% 10%,#818cf83d,#0000 34%),radial-gradient(circle at 52% 100%,#10b9811f,#0000 42%),linear-gradient(135deg,#020617 0%,#061426 48%,#020817 100%);height:100vh;min-height:100vh;position:relative;overflow:hidden}.leader-bs-shell.leader-bs-has-vfx{background:radial-gradient(circle at 20% 20%,#0284c726 0%,#0000 40%),radial-gradient(circle at 80% 80%,#7c3aed26 0%,#0000 40%),linear-gradient(#020617 0%,#081125 50%,#030a18 100%);box-shadow:inset 0 0 100px #000c}.leader-bs-shell.leader-bs-has-vfx:before{content:"";z-index:-4;pointer-events:none;opacity:.4;transform-origin:top;background-image:linear-gradient(#38bdf814 1px,#0000 1px),linear-gradient(90deg,#38bdf814 1px,#0000 1px);background-size:40px 40px;animation:20s linear infinite leader-bs-vfx-grid;position:absolute;inset:0;transform:perspective(600px)rotateX(20deg)scale(1.5)}.leader-bs-grid-bg{z-index:-3;background-image:linear-gradient(#38bdf812 1px,#0000 1px),linear-gradient(90deg,#38bdf812 1px,#0000 1px);background-size:56px 56px;animation:20s linear infinite leader-bs-grid;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000f2,#00000080);mask-image:linear-gradient(#000000f2,#00000080)}.leader-bs-glow{z-index:-2;filter:blur(110px);opacity:.45;pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute}.leader-bs-glow-left{background:#22d3ee6b;bottom:12%;left:-140px}.leader-bs-glow-right{background:#6366f17a;top:-160px;right:-120px}.leader-bs-scan{z-index:-1;filter:blur(1px);pointer-events:none;background:linear-gradient(#0000,#7dd3fc2e,#0000);height:16%;animation:7s ease-in-out infinite leader-bs-scan;position:absolute;top:-18%;left:0;right:0;transform:skewY(-7deg)}.leader-bs-dashboard{z-index:1;box-sizing:border-box;grid-template-rows:auto minmax(0,1fr);gap:14px;height:100vh;min-height:100vh;max-height:100vh;padding:18px 24px 22px;display:grid;position:relative}.leader-bs-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#081223d1,#0f172a85);border:1px solid #7dd3fc38;border-radius:8px;grid-template-columns:minmax(170px,.8fr) minmax(360px,1.4fr) minmax(280px,.9fr);align-items:center;gap:16px;padding:14px 16px;display:grid;box-shadow:0 18px 48px #02061747,inset 0 0 30px #0ea5e90d}.leader-bs-status{color:#c7e8ff;align-items:center;gap:10px;min-width:0;display:inline-flex}.leader-bs-status span{background:#22c55e;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 6px #22c55e1f,0 0 18px #22c55e8c}.leader-bs-status strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:800;overflow:hidden}.leader-bs-status em{color:#67e8f9;letter-spacing:.12em;border:1px solid #22d3ee42;border-radius:5px;padding:4px 7px;font-size:.68rem;font-style:normal;font-weight:800}.leader-bs-title{text-align:center}.leader-bs-title span{color:#67e8f9;letter-spacing:.24em;font-size:.72rem;font-weight:900}.leader-bs-title h1{color:#f8fafc;letter-spacing:.06em;text-shadow:0 0 26px #22d3ee66;margin:4px 0;font-size:clamp(1.6rem,2.2vw,2.4rem);font-weight:900}.leader-bs-title p{color:#bfdbfeb8;margin:0;font-size:.82rem;font-weight:700}.leader-bs-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.leader-bs-time{text-align:right;background:#0206177a;border:1px solid #22d3ee47;border-radius:7px;min-width:178px;padding:8px 10px}.leader-bs-time span{color:#94a3b8e6;font-size:.68rem;font-weight:800;display:block}.leader-bs-time strong{color:#22d3ee;font-variant-numeric:tabular-nums;margin-top:3px;font-size:.88rem;display:block}.leader-bs-actions button,.leader-bs-denied-card button{color:#e0f2fe;cursor:pointer;background:linear-gradient(135deg,#0ea5e938,#6366f133);border:1px solid #22d3ee4d;border-radius:6px;height:34px;padding:0 12px;font-size:.78rem;font-weight:800}.leader-bs-actions button:hover,.leader-bs-denied-card button:hover{background:#0ea5e952;border-color:#7dd3fca3}.leader-bs-actions .leader-bs-back{color:#cbd5e1;background:#0f172a8f}.leader-bs-panel-head span{color:#94a3b8e6;letter-spacing:.12em;font-size:.72rem;font-weight:900}.leader-bs-content{grid-template-rows:minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,.82fr) minmax(0,.82fr);grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;height:100%;min-height:0;display:grid;overflow:hidden}.leader-bs-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a94;border:1px solid #7dd3fc33;border-radius:8px;flex-direction:column;min-width:0;min-height:0;padding:15px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;overflow:hidden;box-shadow:0 18px 46px #02061747,inset 0 0 28px #0ea5e90a}.leader-bs-panel-wide{grid-column:span 2}.leader-bs-panel-tall{grid-row:span 2}.leader-bs-panel-flow{grid-area:1/1/3/9}.leader-bs-panel-level{grid-area:1/9/3/13}.leader-bs-panel-rank{grid-area:3/1/5/5}.leader-bs-panel-department{grid-area:3/5/4/9}.leader-bs-panel-gender{grid-area:3/9/4/13}.leader-bs-panel-trend{grid-area:4/5/5/9}.leader-bs-panel-health{grid-area:4/9/5/13}.leader-bs-panel.is-focus{border-color:#22d3ee75;transform:translateY(-2px);box-shadow:0 22px 58px #082f494d,0 0 28px #22d3ee1f}.leader-bs-panel-head{flex:none;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.leader-bs-panel-head h2{color:#f8fafc;margin:0;font-size:1rem;font-weight:900}.leader-bs-bars{flex:1;align-content:start;gap:11px;min-height:0;display:grid}.leader-bs-bars-compact{gap:10px}.leader-bs-bar{grid-template-columns:minmax(88px,132px) minmax(0,1fr) 54px;align-items:center;gap:10px;display:grid}.leader-bs-bar span{color:#dbeafee6;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800;overflow:hidden}.leader-bs-bar div{background:#1e293bd1;border-radius:99px;height:10px;overflow:hidden}.leader-bs-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--bar-color), #7dd3fcd6);height:100%;box-shadow:0 0 14px color-mix(in srgb, var(--bar-color), transparent 54%);display:block}.leader-bs-bar strong{color:#f8fafc;text-align:right;font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:900}.leader-bs-donut-wrap,.leader-bs-gender{flex:1;grid-template-columns:minmax(126px,.8fr) minmax(0,1fr);align-items:center;gap:14px;height:calc(100% - 34px);min-height:0;display:grid}.leader-bs-panel-level .leader-bs-donut-wrap{grid-template-columns:minmax(150px,.9fr) minmax(0,1fr);align-content:center;height:auto}.leader-bs-panel-level .leader-bs-donut{width:min(100%,210px)}.leader-bs-panel-gender .leader-bs-gender{grid-template-columns:78px minmax(0,1fr);gap:10px;height:auto}.leader-bs-panel-gender .leader-bs-small-ring{width:72px}.leader-bs-panel-gender .leader-bs-small-ring>div{inset:18px}.leader-bs-panel-gender .leader-bs-small-ring strong{font-size:1rem}.leader-bs-panel-gender .leader-bs-small-ring span{font-size:.62rem}.leader-bs-panel-gender .leader-bs-legend{gap:6px}.leader-bs-donut,.leader-bs-small-ring{aspect-ratio:1;border-radius:50%;width:min(100%,172px);margin:0 auto;position:relative;box-shadow:inset 0 0 26px #0206176b,0 0 26px #22d3ee1f}.leader-bs-small-ring{width:min(100%,144px)}.leader-bs-donut>div,.leader-bs-small-ring>div{text-align:center;background:#020617c7;border:1px solid #7dd3fc38;border-radius:50%;place-items:center;display:grid;position:absolute;inset:34px}.leader-bs-small-ring>div{inset:29px}.leader-bs-donut strong,.leader-bs-small-ring strong{color:#f8fafc;font-size:1.45rem;font-weight:900;line-height:1;display:block}.leader-bs-donut span,.leader-bs-small-ring span{color:#94a3b8e0;margin-top:3px;font-size:.7rem;font-weight:800;display:block}.leader-bs-legend{gap:8px;min-width:0;display:grid}.leader-bs-legend span{color:#dbeafee6;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;font-size:.78rem;font-weight:800;display:grid}.leader-bs-legend i{border-radius:3px;width:9px;height:9px}.leader-bs-legend strong{color:#f8fafc;font-variant-numeric:tabular-nums}.leader-bs-rank{scrollbar-width:thin;flex:1;align-content:start;gap:8px;min-height:0;display:grid;overflow:auto}.leader-bs-rank-row{background:linear-gradient(90deg,#22d3ee1a,#0f172a57);border:1px solid #7dd3fc2e;border-radius:5px 12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.leader-bs-rank-row>span{color:#06111f;background:linear-gradient(135deg,#67e8f9,#818cf8);border-radius:5px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:900;display:grid}.leader-bs-rank-row div{min-width:0}.leader-bs-rank-row strong,.leader-bs-rank-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.leader-bs-rank-row strong{color:#f8fafc;font-size:.84rem;font-weight:900}.leader-bs-rank-row small{color:#94a3b8eb;margin-top:2px;font-size:.72rem}.leader-bs-rank-row em{color:#38bdf8;font-variant-numeric:tabular-nums;font-style:normal;font-weight:900}.leader-bs-trend{flex:1;width:100%;height:100%;min-height:0}.leader-bs-trend-grid{fill:none;stroke:#94a3b82e;stroke-width:1px}.leader-bs-trend-area{fill:#22d3ee1f}.leader-bs-trend-line{fill:none;stroke:#38bdf8;stroke-width:3px;filter:drop-shadow(0 0 8px #38bdf873)}.leader-bs-trend circle{fill:#e0f2fe;stroke:#38bdf8;stroke-width:2px}.leader-bs-trend text{fill:#dbeafed6;font-size:11px;font-weight:800}.leader-bs-mini-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;height:calc(100% - 34px);min-height:0;display:grid}.leader-bs-mini-grid div{text-align:center;background:#02061752;border:1px solid #7dd3fc29;border-radius:7px;place-items:center;padding:6px;display:grid}.leader-bs-mini-grid span{color:#94a3b8e6;font-size:.72rem;font-weight:800}.leader-bs-mini-grid strong{color:#f8fafc;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:900}.leader-bs-empty{color:#94a3b8eb;border:1px dashed #94a3b857;border-radius:8px;flex:1;place-items:center;min-height:0;font-size:.84rem;font-weight:800;display:grid}.leader-bs-loading,.leader-bs-denied{place-items:center;display:grid}.leader-bs-loading-card,.leader-bs-denied-card{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172aad;border:1px solid #7dd3fc3d;border-radius:8px;width:min(520px,100vw - 48px);padding:34px;box-shadow:0 28px 72px #0206176b}.leader-bs-loading-card span,.leader-bs-denied-card strong{color:#67e8f9;letter-spacing:.18em;font-size:.78rem;font-weight:900}.leader-bs-loading-card h1{color:#f8fafc;margin:14px 0 8px;font-size:1.8rem}.leader-bs-loading-card p,.leader-bs-denied-card p{color:#cbd5e1cc;margin:0;font-weight:700}.leader-bs-denied-card button{margin-top:22px}.leader-bs-orbit{border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto 18px;display:grid;position:relative}.leader-bs-orbit i{border:1px solid #22d3ee61;border-radius:50%;animation:4s linear infinite leader-bs-spin;position:absolute;inset:0}.leader-bs-orbit i:nth-child(2){animation-duration:3s;animation-direction:reverse;inset:12px}.leader-bs-orbit i:nth-child(3){animation-duration:2.2s;inset:24px}.leader-bs-orbit strong{color:#e0f2fe;letter-spacing:.12em;font-size:.78rem;font-weight:900}.leader-bs-vfx-particles{z-index:0;pointer-events:none;opacity:.3;background-image:radial-gradient(circle,#38bdf8 1px,#0000 1px);background-position:0 0;background-size:120px 120px;animation:60s linear infinite leader-bs-particles-float;position:absolute;inset:0}.leader-bs-vfx-particles-2{opacity:.2;background-image:radial-gradient(circle,#818cf8 1px,#0000 1px);background-size:80px 80px;animation:40s linear infinite reverse leader-bs-particles-float}.leader-bs-vfx-particles-3{opacity:.15;background-image:radial-gradient(circle,#2dd4bf 2px,#0000 2px);background-size:150px 150px;animation:80s linear infinite leader-bs-particles-float}.leader-bs-vfx-edge-light{z-index:10;pointer-events:none;background:linear-gradient(90deg,#0000,#38bdf8,#0000);position:absolute}.leader-bs-vfx-edge-top,.leader-bs-vfx-edge-bottom{width:100%;height:2px;left:0}.leader-bs-vfx-edge-top{animation:4s linear infinite leader-bs-vfx-scan-x;top:0}.leader-bs-vfx-edge-bottom{animation:4s linear infinite reverse leader-bs-vfx-scan-x;bottom:0}.leader-bs-vfx-edge-left,.leader-bs-vfx-edge-right{background:linear-gradient(#0000,#818cf8,#0000);width:2px;height:100%;top:0}.leader-bs-vfx-edge-left{animation:5s linear infinite leader-bs-vfx-scan-y;left:0}.leader-bs-vfx-edge-right{background:linear-gradient(#0000,#2dd4bf,#0000);animation:5s linear infinite reverse leader-bs-vfx-scan-y;right:0}.leader-bs-intro-scene{z-index:999;pointer-events:none;will-change:opacity, transform;background-color:#0000;background-image:radial-gradient(circle at 50% 45%,#38bdf847,#0000 22%),radial-gradient(circle at 20% 25%,#818cf833,#0000 30%),radial-gradient(circle at 78% 74%,#2dd4bf2e,#0000 28%),linear-gradient(135deg,#020617 0%,#082f49 45%,#020617 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:160% 160%;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;place-items:center;animation:6.2s forwards leader-bs-intro-scene-out,9s infinite leader-bs-intro-gradient-flow;display:grid;position:fixed;inset:0;overflow:hidden}.leader-bs-intro-scene:before,.leader-bs-intro-scene:after{content:"";z-index:4;will-change:transform, opacity;background:linear-gradient(90deg,#020617fa,#031226f2),repeating-linear-gradient(0deg,#0000 0 18px,#22d3ee14 19px 20px);width:50.2%;animation:6.2s cubic-bezier(.77,0,.175,1) forwards leader-bs-intro-curtain-open;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 70px #22d3ee1f}.leader-bs-intro-scene:before{transform-origin:0;left:0}.leader-bs-intro-scene:after{transform-origin:100%;right:0}.leader-bs-intro-aperture{z-index:5;pointer-events:none;position:absolute;inset:0}.leader-bs-intro-aperture i{will-change:transform, opacity;background:linear-gradient(#0000,#67e8f9 18%,#fff 50%,#67e8f9 82%,#0000);width:2px;animation:6.2s cubic-bezier(.77,0,.175,1) forwards leader-bs-intro-door-edge;position:absolute;top:0;bottom:0;box-shadow:0 0 16px #67e8f9cc}.leader-bs-intro-aperture i:first-child{--leader-bs-door-shift:-48vw;left:50%}.leader-bs-intro-aperture i:nth-child(2){--leader-bs-door-shift:48vw;right:50%}.leader-bs-intro-aperture span{will-change:transform, opacity, border-radius;background:radial-gradient(#7dd3fc38,#0000 64%);border:1px solid #7dd3fc85;border-radius:999px;width:min(76vw,1180px);height:min(58vh,560px);animation:6.2s cubic-bezier(.77,0,.175,1) forwards leader-bs-intro-screen-portal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scaleX(.015);box-shadow:0 0 28px #22d3ee57,inset 0 0 32px #22d3ee24}.leader-bs-intro-grid{opacity:.5;clip-path:ellipse(2% 42%);transform-origin:50%;will-change:clip-path, opacity;background-image:linear-gradient(#7dd3fc29 1px,#0000 1px),linear-gradient(90deg,#7dd3fc29 1px,#0000 1px),radial-gradient(circle,#22d3ee33 1px,#0000 1px);background-size:54px 54px,54px 54px,108px 108px;animation:6.2s cubic-bezier(.77,0,.175,1) forwards leader-bs-intro-grid-reveal;position:absolute;inset:-28%;transform:perspective(680px)rotateX(62deg)translateY(16%)}.leader-bs-intro-orb{z-index:6;color:#e0f2fe;will-change:transform, opacity;background:radial-gradient(circle,#22d3ee42,#0ea5e914 42%,#0000 64%),conic-gradient(#0000,#38bdf8b3,#0000,#818cf8b8,#0000);border-radius:50%;place-items:center;width:210px;height:210px;animation:5.55s cubic-bezier(.22,1,.36,1) forwards leader-bs-intro-orb-pop;display:grid;position:relative;box-shadow:0 0 28px #38bdf857,0 0 54px #0ea5e933,inset 0 0 54px #02061780}.leader-bs-intro-orb:before,.leader-bs-intro-orb:after{content:"";border:1px solid #7dd3fc75;border-radius:50%;position:absolute;inset:-18px;box-shadow:0 0 24px #22d3ee47}.leader-bs-intro-orb:after{opacity:.55;border-style:dashed;animation:9s linear infinite reverse leader-bs-intro-ring-spin;inset:-40px}.leader-bs-intro-orb i{border:1px solid #67e8f9db;border-color:#67e8f9db #818cf88c #0000 #0000;border-radius:50%;animation:3.2s linear infinite leader-bs-intro-ring-spin;position:absolute;inset:-34px}.leader-bs-intro-orb i:nth-child(2){animation-duration:2.2s;animation-direction:reverse;inset:16px}.leader-bs-intro-orb i:nth-child(3){border-top-color:#a7f3d0d1;animation-duration:1.65s;inset:48px}.leader-bs-intro-orb strong{z-index:1;letter-spacing:0;text-shadow:0 0 14px #67e8f9e6,0 0 42px #38bdf894;font-size:2.35rem;font-weight:900;position:relative}.leader-bs-intro-copy{z-index:6;text-align:center;will-change:transform, opacity;width:min(1100px,92vw);animation:5.7s forwards leader-bs-intro-copy-in;position:absolute;top:calc(50% + 155px);left:50%;transform:translate(-50%)}.leader-bs-intro-copy span{color:#67e8f9;letter-spacing:0;text-shadow:0 0 18px #22d3eeb8;margin-bottom:.72rem;font-size:.78rem;font-weight:900;display:inline-flex}.leader-bs-intro-copy h1{color:#0000;letter-spacing:0;text-wrap:balance;background:linear-gradient(135deg,#fff 0%,#a7f3d0 36%,#67e8f9 64%,#c4b5fd 100%);filter:drop-shadow(0 0 22px #22d3ee6b);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.4rem,4.4vw,4.8rem);font-weight:900;line-height:1.08}.leader-bs-intro-copy p{color:#e0f2fedb;letter-spacing:0;margin:1rem 0 0;font-size:1rem}.leader-bs-intro-boot{z-index:6;color:#cbd5e1db;letter-spacing:0;text-align:center;gap:.72rem;width:min(520px,72vw);font-size:.72rem;font-weight:900;animation:5.35s forwards leader-bs-intro-boot-in;display:grid;position:absolute;bottom:13%;left:50%;transform:translate(-50%)}.leader-bs-intro-boot em{background:#0206178f;border:1px solid #7dd3fc57;border-radius:999px;height:8px;padding:2px;overflow:hidden;box-shadow:inset 0 0 18px #0ea5e93d,0 0 26px #22d3ee2e}.leader-bs-intro-boot i{border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#67e8f9,#a7f3d0);width:0;height:100%;animation:3.95s cubic-bezier(.22,1,.36,1) .75s forwards leader-bs-intro-boot-load;display:block;box-shadow:0 0 18px #67e8f9}.leader-bs-intro-rays,.leader-bs-intro-rays i{position:absolute;inset:0}.leader-bs-intro-rays i{z-index:3;transform-origin:50%;background:linear-gradient(90deg,#0000 0 44%,#7dd3fc33 50%,#0000 56% 100%);animation:2.2s ease-in-out infinite leader-bs-intro-ray-sweep}.leader-bs-intro-rays i:nth-child(2){animation-delay:-.4s;transform:rotate(45deg)}.leader-bs-intro-rays i:nth-child(3){animation-delay:-.8s;transform:rotate(90deg)}.leader-bs-intro-rays i:nth-child(4){animation-delay:-1.2s;transform:rotate(135deg)}.leader-bs-shell.leader-bs-intro-playing .leader-bs-dashboard{clip-path:inset(0 50%);will-change:clip-path, opacity, transform;animation:1.15s cubic-bezier(.22,1,.36,1) 4.95s both leader-bs-cockpit-stage-enter}.leader-bs-shell.leader-bs-intro-playing .leader-bs-vfx-particles,.leader-bs-shell.leader-bs-intro-playing .leader-bs-grid-bg,.leader-bs-shell.leader-bs-intro-playing .leader-bs-scan,.leader-bs-shell.leader-bs-intro-playing .leader-bs-vfx-edge-light{animation-play-state:paused!important}.leader-bs-shell.leader-bs-intro-playing .leader-bs-header,.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel{animation:.55s cubic-bezier(.22,1,.36,1) both leader-bs-cockpit-panel-rise}.leader-bs-shell.leader-bs-intro-playing .leader-bs-header{animation-delay:5.22s}.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel:first-child{animation-delay:5.48s}.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel:nth-child(2){animation-delay:5.56s}.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel:nth-child(3){animation-delay:5.64s}.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel:nth-child(4){animation-delay:5.72s}.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel:nth-child(5){animation-delay:5.8s}.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel:nth-child(6){animation-delay:5.88s}.leader-bs-shell.leader-bs-intro-playing .leader-bs-panel:nth-child(7){animation-delay:5.96s}.leader-bs-shell.leader-bs-has-vfx .leader-bs-donut,.leader-bs-shell.leader-bs-has-vfx .leader-bs-small-ring{animation:4s ease-in-out infinite leader-bs-cockpit-ring-float}@keyframes leader-bs-grid{0%{background-position:0 0,0 0}to{background-position:56px 56px,56px 56px}}@keyframes leader-bs-vfx-grid{0%{background-position:0 0}to{background-position:0 40px}}@keyframes leader-bs-particles-float{0%{transform:translateY(0)translate(0)}to{transform:translateY(-1000px)translate(200px)}}@keyframes leader-bs-vfx-scan-x{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes leader-bs-vfx-scan-y{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes leader-bs-intro-gradient-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes leader-bs-intro-scene-out{0%,78%{opacity:1;visibility:visible;transform:scale(1)}90%{opacity:1;transform:scale(1.018)}to{opacity:0;visibility:hidden;transform:scale(1.035)}}@keyframes leader-bs-intro-curtain-open{0%,44%{opacity:1;transform:scaleX(1)}60%{opacity:1}84%,to{opacity:0;transform:scaleX(0)}}@keyframes leader-bs-intro-door-edge{0%,42%{opacity:1;transform:translate(0)scaleY(.15)}54%{transform:translate(0)scaleY(1)}84%,to{opacity:0;transform:translateX(var(--leader-bs-door-shift,48vw)) scaleY(1.1)}}@keyframes leader-bs-intro-screen-portal{0%,34%{opacity:0;transform:translate(-50%,-50%)scaleX(.01)scaleY(.02)}48%{opacity:1;transform:translate(-50%,-50%)scaleX(.04)scaleY(.18)}72%{opacity:1;border-radius:26px;transform:translate(-50%,-50%)scaleX(1)scaleY(1)}to{opacity:0;border-radius:14px;transform:translate(-50%,-50%)scaleX(1.12)scaleY(1.08)}}@keyframes leader-bs-intro-grid-reveal{0%,36%{clip-path:ellipse(1.5% 36%);opacity:.16}62%{clip-path:ellipse(18% 46%);opacity:.5}to{clip-path:ellipse(92% 80%);opacity:.5}}@keyframes leader-bs-intro-orb-pop{0%{opacity:0;transform:scale(.34)rotate(-16deg)}16%{opacity:1;transform:scale(1.08)rotate(0)}58%{transform:scale(1)rotate(0)}84%{opacity:1;transform:scale(1.16)}to{opacity:0;transform:scale(2.35)}}@keyframes leader-bs-intro-ring-spin{to{transform:rotate(360deg)}}@keyframes leader-bs-intro-copy-in{0%{opacity:0;transform:translate(-50%,34px)}22%,78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-24px)}}@keyframes leader-bs-intro-boot-in{0%,14%{opacity:0;transform:translate(-50%,22px)}28%,84%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}@keyframes leader-bs-intro-boot-load{to{width:100%}}@keyframes leader-bs-intro-ray-sweep{0%,to{opacity:0}46%,58%{opacity:.75}}@keyframes leader-bs-cockpit-stage-enter{0%{opacity:0;clip-path:inset(0 50%);transform:scale(1.025)}58%{opacity:1;clip-path:inset(0 8%);transform:scale(1.01)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}@keyframes leader-bs-cockpit-panel-rise{0%{opacity:0;transform:translateY(28px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes leader-bs-cockpit-ring-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes leader-bs-scan{0%,12%{opacity:0;top:-22%}30%,72%{opacity:1}to{opacity:0;top:110%}}@keyframes leader-bs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1180px){.leader-bs-shell{height:auto;min-height:100vh;overflow:auto}.leader-bs-dashboard{height:auto;max-height:none}.leader-bs-header{grid-template-columns:1fr}.leader-bs-status,.leader-bs-actions{justify-content:center}.leader-bs-time{text-align:center}.leader-bs-content{grid-template-rows:none;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(260px,auto);height:auto;overflow:visible}.leader-bs-panel-flow,.leader-bs-panel-level,.leader-bs-panel-rank,.leader-bs-panel-department,.leader-bs-panel-gender,.leader-bs-panel-trend,.leader-bs-panel-health,.leader-bs-panel-wide,.leader-bs-panel-tall{grid-area:span 1/span 1}}@media (width<=900px){.leader-bs-shell{overflow:auto}.leader-bs-dashboard{height:auto;min-height:auto;max-height:none}.leader-bs-content{grid-template-columns:1fr}.leader-bs-actions{flex-wrap:wrap}.leader-bs-donut-wrap,.leader-bs-gender,.leader-bs-mini-grid{grid-template-columns:1fr}}.fh-home{grid-template-columns:minmax(0,1fr) 340px;gap:1rem;display:grid}.fh-main{flex-direction:column;gap:1rem;display:flex}.fh-panel{border-radius:var(--radius-lg);background:linear-gradient(#fff 0%,#fcfdff 100%);border:1px solid #e2e8f0eb;overflow:hidden;box-shadow:0 10px 26px #0f172a0a}.fh-profile-panel{background:radial-gradient(circle at 5% 10%,#3b82f617,#0000 42%),radial-gradient(circle at 95% 95%,#10b98114,#0000 45%),#fff}.fh-panel-head{background:linear-gradient(#fffffff5 0%,#f8fafceb 100%);border-bottom:1px solid #eef2f7;align-items:center;gap:.65rem;padding:.95rem 1rem;display:flex}.fh-panel-title{color:var(--text-primary);margin:0;font-size:1.03rem;font-weight:800}.fh-panel-subtitle{color:var(--text-tertiary);letter-spacing:1px;margin:.1rem 0 0;font-size:.72rem;font-weight:700}.fh-panel-icon{color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.fh-panel-icon.is-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.fh-panel-icon.is-cyan{background:linear-gradient(135deg,#06b6d4,#0891b2)}.fh-panel-icon.is-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.fh-panel-icon.is-green{background:linear-gradient(135deg,#10b981,#059669)}.fh-more-link{color:var(--primary);margin-left:auto;font-size:.78rem;font-weight:700;text-decoration:none}.fh-more-link:hover{text-decoration:underline}.fh-profile-grid{grid-template-columns:minmax(160px,1fr) minmax(210px,230px) minmax(160px,1fr) 132px;align-items:center;gap:.8rem;padding:1rem;display:grid}.fh-meta-col{gap:.72rem;display:grid}.fh-meta-card{min-height:76px;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease);background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e6ebf2;border-radius:12px;flex-direction:column;justify-content:center;gap:.28rem;padding:.72rem .8rem;display:flex}.fh-meta-card:hover{border-color:#d6e1ee;transform:translateY(-2px);box-shadow:0 10px 20px #0f172a0d}.fh-meta-card span{color:#64748b;font-size:.76rem}.fh-meta-card strong{color:#0f172a;font-size:1rem}.fh-avatar-col{flex-direction:column;align-items:center;display:flex}.fh-avatar-wrap{background:linear-gradient(135deg,#dbeafe,#cffafe);border-radius:999px;width:120px;height:120px;padding:5px;box-shadow:0 0 0 10px #dbeafe73,0 0 0 18px #dbeafe3d,0 18px 32px #2563eb14}.fh-avatar-img{object-fit:cover;background:#f8fafc;border:1px solid #dbeafe;border-radius:999px;width:100%;height:100%}.fh-name{color:var(--primary);text-align:center;margin-top:1.35rem;font-size:1.52rem;font-weight:800;line-height:1.1}.fh-account-chip{color:#0f172a;background:#e2e8f0;border-radius:999px;margin-top:.48rem;padding:.22rem .58rem;font-size:.78rem}.fh-account-sub{color:#64748b;margin-top:.28rem;font-size:.74rem}.fh-progress-col{border-left:1px dashed #d8e0ea;flex-direction:column;align-items:center;padding-left:.9rem;display:flex}.fh-progress-ring{--progress:0;background:conic-gradient(#3b82f6 calc(var(--progress) * 1%), #e2e8f0 0);border-radius:999px;place-items:center;width:108px;height:108px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #bfdbfee6}.fh-progress-ring:before{content:"";background:#fff;border-radius:999px;position:absolute;inset:10px}.fh-progress-ring span{color:#2563eb;font-size:1.45rem;font-weight:800;position:relative}.fh-progress-text{color:#334155;margin-top:.7rem;font-size:.84rem;font-weight:700}.fh-progress-hint{color:#64748b;margin-top:.16rem;font-size:.74rem}.fh-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:0 1rem 1rem;display:grid}.fh-kpi-card{transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease);background:linear-gradient(#f8fafc 0%,#fff 100%);border:1px solid #e6ebf2;border-radius:10px;padding:.62rem .72rem}.fh-kpi-card:hover{border-color:#d6e1ee;transform:translateY(-2px);box-shadow:0 12px 22px #0f172a0d}.fh-kpi-card span{color:#64748b;font-size:.75rem}.fh-kpi-card strong{color:#0f172a;margin-top:.22rem;font-size:1.2rem;display:block}.fh-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.fh-table-wrap{overflow-x:auto}.fh-table{border-collapse:collapse;width:100%}.fh-table th{text-align:left;color:#64748b;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #edf2f7;padding:.72rem .9rem;font-size:.74rem}.fh-table td{color:#1f2937;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.78rem .9rem;font-size:.82rem}.fh-table tr:last-child td{border-bottom:none}.fh-table tr:hover td{background:#fafcff}.fh-table-empty{text-align:center;color:#94a3b8;padding:2.2rem 1rem}.fh-link{color:var(--primary);font-weight:700;text-decoration:none}.fh-link:hover{text-decoration:underline}.fh-badge{white-space:nowrap;min-height:23px;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:999px;align-items:center;gap:.34rem;padding:0 .52rem;font-size:.72rem;font-weight:700;display:inline-flex}.fh-badge:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.fh-badge.is-live:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px;animation:1.8s ease-out infinite fh-live-dot-pulse;box-shadow:0 0}.fh-badge--success{color:#065f46;background:#d1fae5}.fh-badge--danger{color:#991b1b;background:#fee2e2}.fh-badge--warning{color:#92400e;background:#fef3c7}.fh-badge--info{color:#1e40af;background:#dbeafe}.fh-badge--muted{color:#334155;background:#e2e8f0}.fh-notice-panel{flex-direction:column;max-height:calc(100vh - 180px);display:flex}.fh-notice-list{padding:.55rem;overflow-y:auto}.fh-notice-item{transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease), background-color var(--duration) var(--ease);isolation:isolate;background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e9eef5;border-radius:10px;margin-bottom:.5rem;padding:.72rem;text-decoration:none;display:block;position:relative;overflow:hidden}.fh-notice-item:hover{background:#fff;border-color:#cfe0f9;transform:translateY(-2px);box-shadow:0 12px 24px #0f172a0d}.fh-notice-item:after{content:"";width:150px;height:150px;left:calc(var(--press-x,50%) - 75px);top:calc(var(--press-y,50%) - 75px);opacity:0;transition:transform .42s var(--ease), opacity .42s var(--ease);pointer-events:none;background:radial-gradient(circle,#3b82f629 0%,#3b82f614 38%,#3b82f600 72%);border-radius:999px;position:absolute;transform:scale(.28)}.fh-notice-item.is-pressing{transform:translateY(1px)scale(.992)}.fh-notice-item.is-pressing:after{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:no-preference){.fh-home:not(.is-motion-ready) .fh-kpi-card,.fh-home:not(.is-motion-ready) .fh-notice-item{opacity:0;transform:translateY(10px)}.fh-home.is-motion-ready .fh-kpi-card,.fh-home.is-motion-ready .fh-notice-item{animation:fh-surface-reveal .46s var(--ease) both;animation-delay:calc(var(--motion-index,0) * 58ms)}}.fh-notice-title{color:#0f172a;font-size:.84rem;font-weight:700;line-height:1.45}.fh-notice-meta{color:#64748b;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.4rem;font-size:.74rem;display:flex}.fh-notice-empty{color:#94a3b8;text-align:center;padding:2rem .6rem;font-size:.84rem}.fh-loading-wrap{place-items:center;min-height:380px;display:grid}.fh-loading-card{text-align:center}.fh-loading-spinner{border:3px solid #dbeafe;border-top-color:#3b82f6;border-radius:999px;width:38px;height:38px;margin:0 auto;animation:.8s linear infinite fh-spin}.fh-loading-text{color:#64748b;margin-top:.86rem;font-size:.9rem;font-weight:600}@keyframes fh-spin{to{transform:rotate(360deg)}}@keyframes fh-live-dot-pulse{0%{opacity:1;box-shadow:0 0 #3b82f647}70%{opacity:.82;box-shadow:0 0 0 8px #3b82f600}to{opacity:1;box-shadow:0 0 #3b82f600}}@keyframes fh-surface-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1420px){.fh-home{grid-template-columns:1fr}.fh-notice-panel{max-height:none}}@media (width<=1260px){.fh-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-progress-col{border-top:1px dashed #d8e0ea;border-left:none;grid-column:span 2;padding-top:.9rem;padding-left:0}.fh-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.fh-table-grid{grid-template-columns:1fr}}@media (width<=760px){.fh-profile-grid{grid-template-columns:1fr}.fh-progress-col{grid-column:auto}.fh-kpi-row{grid-template-columns:1fr}}.pc-shell{gap:1rem;display:grid}.pc-hero{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:radial-gradient(circle at 85% 15%,#2563eb24,#0000 38%),radial-gradient(circle at 15% 85%,#10b9811a,#0000 40%),#fff;padding:1.25rem 1.4rem}.pc-hero-head{align-items:center;gap:.9rem;display:flex}.pc-hero-icon{color:#fff;width:42px;height:42px;box-shadow:var(--glow-primary);background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.pc-hero-title{color:var(--text-primary);margin:0;font-size:1.45rem;font-weight:800;line-height:1.1}.pc-hero-subtitle{color:var(--text-secondary);margin:.35rem 0 0;font-size:.9rem}.pc-hero-meta{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.pc-meta-chip{color:#1d4ed8;background:#dbeafe;border-radius:999px;align-items:center;min-height:26px;padding:0 .68rem;font-size:.76rem;font-weight:700;display:inline-flex}.pc-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.pc-summary-card{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease);background:linear-gradient(#fff 0%,#fbfdff 100%);border-radius:16px;padding:1rem 1.05rem;position:relative;overflow:hidden}.pc-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pc-summary-card:before{content:"";opacity:.16;background:currentColor;width:100%;height:3px;position:absolute;inset:0 auto auto 0}.pc-summary-card.tone-message{color:#0f766e;border-color:#bff4ea}.pc-summary-card.tone-approval{color:#6d28d9;border-color:#ddd6fe}.pc-summary-card.tone-fill{color:#b45309;border-color:#fde68a}.pc-summary-card.tone-export{color:#1d4ed8;border-color:#bfdbfe}.pc-summary-eyebrow{color:var(--text-secondary);letter-spacing:.02em;font-size:.74rem;font-weight:700;display:block}.pc-summary-value{color:currentColor;margin-top:.35rem;font-size:1.85rem;font-weight:800;line-height:1;display:block}.pc-summary-note{color:var(--text-secondary);margin:.38rem 0 0;font-size:.78rem}.pc-section{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:1rem}.pc-section-head{margin-bottom:.8rem}.pc-section-head--inline{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.pc-section-head h3{color:var(--text-primary);margin:0;font-size:1.08rem;font-weight:800}.pc-section-head p{color:var(--text-tertiary);margin:.28rem 0 0;font-size:.82rem}.pc-change-password-btn{white-space:nowrap;border-radius:10px;min-height:36px;padding:0 .9rem}.pc-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.pc-account-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.3rem;min-height:74px;padding:.8rem .9rem;display:flex}.pc-account-label{color:#64748b;font-size:.78rem}.pc-account-value{color:#0f172a;word-break:break-all;font-size:.96rem;font-weight:700}.pc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.pc-action-card{border:1px solid var(--border-color);text-align:left;cursor:pointer;width:100%;transition:all var(--duration) var(--ease);isolation:isolate;background:#fff;border-radius:14px;align-items:center;gap:.72rem;padding:.9rem;display:flex;position:relative;overflow:hidden}.pc-action-card:hover{box-shadow:var(--shadow-md);border-color:#c7d2fe;transform:translateY(-2px)}.pc-action-card:after{content:"";width:160px;height:160px;left:calc(var(--press-x,50%) - 80px);top:calc(var(--press-y,50%) - 80px);opacity:0;transition:transform .42s var(--ease), opacity .42s var(--ease);pointer-events:none;background:radial-gradient(circle,#2563eb24 0%,#2563eb14 38%,#2563eb00 72%);border-radius:999px;position:absolute;transform:scale(.3)}.pc-action-card.is-pressing{transform:translateY(1px)scale(.992)}.pc-action-card.is-pressing:after{opacity:1;transform:scale(1)}.pc-action-card:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.pc-action-icon{border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.pc-action-main{flex:1;min-width:0}.pc-action-title{color:var(--text-primary);font-size:.97rem;font-weight:800;line-height:1.25}.pc-action-desc{color:var(--text-secondary);margin-top:.16rem;font-size:.76rem;line-height:1.35}.pc-badge{color:#334155;white-space:nowrap;background:#f1f5f9;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.34rem;min-width:68px;min-height:24px;padding:0 .48rem;font-size:.72rem;font-weight:700;display:inline-flex}.pc-badge.is-live:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px;animation:1.8s ease-out infinite pc-live-dot-pulse;box-shadow:0 0}.pc-badge.tone-message{color:#0f766e;background:#ccfbf1}.pc-badge.tone-approval{color:#6d28d9;background:#ede9fe}.pc-badge.tone-fill{color:#b45309;background:#fef3c7}.pc-badge.tone-export{color:#1d4ed8;background:#dbeafe}.pc-action-card--wide{min-height:88px}.pc-action-card.tone-message .pc-action-icon{color:#0f766e;background:#ccfbf1}.pc-action-card.tone-approval .pc-action-icon{color:#6d28d9;background:#ede9fe}.pc-action-card.tone-fill .pc-action-icon{color:#b45309;background:#fef3c7}.pc-action-card.tone-export .pc-action-icon{color:#1d4ed8;background:#dbeafe}@keyframes pc-live-dot-pulse{0%{opacity:1;box-shadow:0 0 #3b82f647}70%{opacity:.82;box-shadow:0 0 0 8px #3b82f600}to{opacity:1;box-shadow:0 0 #3b82f600}}@media (width<=1100px){.pc-summary-strip,.pc-grid{grid-template-columns:1fr}}@media (width<=768px){.pc-hero{padding:1rem}.pc-hero-title{font-size:1.25rem}.pc-section-head--inline{flex-direction:column;align-items:stretch}.pc-change-password-btn{width:100%}.pc-account-grid{grid-template-columns:1fr}.pc-action-card{padding:.82rem}}
