*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}*{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}button,select,input,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role=button]{cursor:pointer}html{-webkit-text-size-adjust:100%;font-family:Noto Sans SC,Source Han Sans SC,sans-serif;line-height:1.5}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}img{border-style:solid;max-width:100%;height:auto}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}pre{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}p,h1,h2,h3,h4,pre{margin:0}strong,b{font-weight:bolder}small{font-size:80%}svg,img{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.bg-white{--tw-bg-opacity: 1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-mist{--tw-bg-opacity: 1;background-color:rgba(238,244,242,var(--tw-bg-opacity))}.bg-sea{--tw-bg-opacity: 1;background-color:rgba(43,122,120,var(--tw-bg-opacity))}.bg-opacity-12{--tw-bg-opacity: .12}.border-white{--tw-border-opacity: 1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.border-opacity-16{--tw-border-opacity: .16}.rounded-full{border-radius:9999px}.border{border-width:1px}.block{display:block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.table{display:table}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-start{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.flex-1{-webkit-box-flex:1;-ms-flex:1 1 0%;-webkit-flex:1 1 0%;flex:1 1 0%}.font-black{font-weight:900}.font-bold{font-weight:700}.h-full{height:100%}.h-12{height:3rem}.h-2{height:.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.leading-tight{line-height:1.25}.leading-8{line-height:2rem}.leading-7{line-height:1.75rem}.leading-6{line-height:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mb-4{margin-bottom:1rem}.mb-3{margin-bottom:.75rem}.mb-2{margin-bottom:.5rem}.max-w-7xl{max-width:80rem}.max-w-6xl{max-width:72rem}.max-w-2xl{max-width:42rem}.min-h-screen{min-height:100vh}.min-h-28{min-height:7rem}.min-h-24{min-height:6rem}.min-h-20{min-height:5rem}.min-h-16{min-height:4rem}.min-w-0{min-width:0px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.overflow-hidden{overflow:hidden}.p-5{padding:1.25rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.tab,.tab\.anchor,.tab\.key,.tab\.label,.tab\.desc{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.text-left{text-align:left}.text-right{text-align:right}.text-sea{--tw-text-opacity: 1;color:rgba(43,122,120,var(--tw-text-opacity))}.text-ink{--tw-text-opacity: 1;color:rgba(31,41,51,var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-copper{--tw-text-opacity: 1;color:rgba(184,92,56,var(--tw-text-opacity))}.text-moss{--tw-text-opacity: 1;color:rgba(79,111,82,var(--tw-text-opacity))}.text-opacity-55{--tw-text-opacity: .55}.text-opacity-78{--tw-text-opacity: .78}.text-opacity-65{--tw-text-opacity: .65}.text-opacity-60{--tw-text-opacity: .6}.text-opacity-75{--tw-text-opacity: .75}.text-opacity-72{--tw-text-opacity: .72}.text-opacity-70{--tw-text-opacity: .7}.text-opacity-50{--tw-text-opacity: .5}.text-opacity-68{--tw-text-opacity: .68}.text-opacity-66{--tw-text-opacity: .66}.break-all{word-break:break-all}.w-full{width:100%}.gap-4{grid-gap:1rem;gap:1rem}.gap-3{grid-gap:.75rem;gap:.75rem}.gap-5{grid-gap:1.25rem;gap:1.25rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-2{grid-gap:.5rem;gap:.5rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 640px){.sm\:flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1fr\,160px\]{grid-template-columns:1fr 160px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[110px\,1fr\,auto\]{grid-template-columns:110px 1fr auto}.md\:grid-cols-\[110px\,1fr\,1fr\]{grid-template-columns:110px 1fr 1fr}.md\:col-span-2{-ms-grid-column-span:span 2 / span 2;grid-column:span 2 / span 2}}@media (min-width: 1024px){.lg\:grid-cols-\[260px\,1fr\]{grid-template-columns:260px 1fr}.lg\:grid-cols-\[1\.05fr\,0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1fr\,1fr\,auto\]{grid-template-columns:1fr 1fr auto}.lg\:grid-cols-\[1fr\,150px\,auto\]{grid-template-columns:1fr 150px auto}.lg\:col-span-2{-ms-grid-column-span:span 2 / span 2;grid-column:span 2 / span 2}}@media (min-width: 1280px){.xl\:flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.xl\:items-start{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.xl\:justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.xl\:grid-cols-\[1\.1fr\,0\.9fr\]{grid-template-columns:1.1fr .9fr}.xl\:grid-cols-\[1\.15fr\,0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[0\.85fr\,1\.15fr\]{grid-template-columns:.85fr 1.15fr}.xl\:grid-cols-\[0\.72fr\,1\.28fr\]{grid-template-columns:.72fr 1.28fr}}:root{--color-page: #eef4f2;--color-surface: #ffffff;--color-ink: #1f2933;--color-ink-strong: #17252a;--color-primary: #2b7a78;--color-primary-dark: #1f5f5d;--color-success: #4f6f52;--color-warning: #8a5d12;--color-danger: #a23131;--color-accent: #b85c38;--color-mist: #eef4f2;--color-cream: #f7f2ea;--alpha-border: rgba(31, 41, 51, .08);--alpha-border-strong: rgba(31, 41, 51, .14);--alpha-surface: rgba(255, 255, 255, .78);--alpha-muted: rgba(31, 41, 51, .58);--alpha-primary-soft: rgba(43, 122, 120, .12);--alpha-warning-soft: rgba(244, 215, 161, .5);--alpha-danger-soft: rgba(192, 0, 0, .08);--shadow-card: 0 18px 45px rgba(31, 41, 51, .08);--shadow-primary: 0 10px 24px rgba(43, 122, 120, .24);--radius-card: 18px;--radius-control: 14px}html{background:#eef4f2;color:#1f2933}body{margin:0;min-width:320px;font-family:Noto Sans SC,Source Han Sans SC,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.surface{background:#ffffffdb;border:1px solid rgba(31,41,51,.08);box-shadow:0 18px 45px #1f293314}.field{width:100%;border:1px solid rgba(31,41,51,.14);border-radius:8px;background:#fff;padding:10px 12px;outline:none}.field:focus{border-color:#2b7a78;box-shadow:0 0 0 3px #2b7a7824}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;padding:8px 14px;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#2b7a78;color:#fff;box-shadow:0 10px 24px #2b7a783d}.btn-danger{background:#b85c38;color:#fff;box-shadow:0 10px 24px #b85c3833}.btn-ghost{background:#ffffffb8;color:#1f2933;border:1px solid rgba(31,41,51,.12)}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;background:#4f6f521f;color:#3f5f42}.chip.warning{background:#b85c381f;color:#b85c38}.page-bg{min-height:100vh;background:linear-gradient(125deg,rgba(43,122,120,.14),transparent 34%),radial-gradient(circle at 88% 12%,rgba(244,215,161,.62),transparent 28%),linear-gradient(180deg,#eef4f2,#f7f2ea)}.login-bg{position:relative;overflow:hidden;background:radial-gradient(circle at 16% 16%,rgba(244,215,161,.34),transparent 30%),radial-gradient(circle at 88% 24%,rgba(43,122,120,.32),transparent 34%),linear-gradient(135deg,#17252a,#214044 48%,#2b7a78)}.login-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.72),transparent);mask-image:linear-gradient(90deg,rgba(0,0,0,.72),transparent)}.login-bg>section{position:relative;z-index:1}.login-metric{border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-panel{border:1px solid rgba(255,255,255,.72);border-radius:28px;background:#ffffffe6;padding:28px;box-shadow:0 30px 80px #07171c42;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.role-card{display:flex;min-height:94px;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;border:1px solid rgba(31,41,51,.1);border-radius:18px;background:#fff;color:#1f2933;padding:16px;text-align:left}.role-card.active{border-color:#2b7a7870;background:linear-gradient(135deg,#2b7a7824,#f4d7a14d);box-shadow:0 16px 34px #2b7a7821}.choice-grid{display:grid;gap:12px}.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-card{display:flex;min-height:86px;align-items:flex-start;gap:11px;border:1px solid rgba(31,41,51,.1);border-radius:14px;background:#ffffffbd;padding:14px;color:#1f2933;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.choice-card.compact{min-height:78px}.choice-card:hover,.choice-card.active{border-color:#2b7a786b;background:#fff;box-shadow:0 12px 28px #1f293314}.choice-card input{margin-top:4px;accent-color:#2b7a78}.choice-card span{display:flex;min-width:0;flex-direction:column;gap:5px}.choice-card strong{color:#17252a;font-weight:900}.choice-card small{color:#1f293394;font-size:12px;font-weight:700;line-height:1.55}.form-label{color:#1f2933ad;font-size:13px;font-weight:900}.topbar{height:74px;border-bottom:1px solid rgba(31,41,51,.08);background:#ffffffb8;box-shadow:0 12px 35px #1f29330f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:16px;background:linear-gradient(135deg,#2b7a78,#4f6f52);color:#fff;font-weight:900;text-decoration:none;box-shadow:0 14px 28px #2b7a7847}.brand-mark:hover{transform:translateY(-1px)}.brand-mark img{display:block;width:34px;height:34px}.space-switcher{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px 6px 12px;border:1px solid rgba(31,41,51,.1);border-radius:12px;background:#ffffffb8;box-shadow:0 10px 24px #1f29330d}.space-switcher span{color:#1f293394;font-size:12px;font-weight:900;white-space:nowrap}.space-switcher select{min-width:124px;border:0;background:transparent;color:#17252a;font-size:13px;font-weight:900;outline:none}.workspace-back{flex:0 0 auto}.workspace-topbar{position:sticky;top:0;z-index:20;min-height:76px;border-bottom:1px solid rgba(31,41,51,.08);background:#ffffffd6;box-shadow:0 12px 35px #1f29330f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workspace-topbar-inner{display:flex;width:min(1440px,100%);min-height:76px;align-items:center;justify-content:space-between;gap:18px;margin:0 auto;padding:0 32px}.workspace-title{min-width:0}.workspace-title h1{overflow:hidden;max-width:760px;margin:2px 0 0;color:#17252a;font-size:20px;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.workspace-actions{display:flex;flex:0 0 auto;align-items:center;gap:12px}.workspace-user{display:flex;min-width:148px;align-items:center;justify-content:flex-end;gap:10px;text-align:left}.workspace-shell{width:min(1440px,100%);margin:0 auto;padding:24px 32px 42px}.admin-sidebar{align-self:start;border:1px solid rgba(31,41,51,.08);border-radius:22px;background:#ffffffd1;padding:18px;box-shadow:0 18px 45px #1f293314;position:sticky;top:94px}.app-toast{position:fixed;top:88px;right:28px;z-index:80;max-width:360px;border:1px solid rgba(43,122,120,.18);border-radius:14px;background:#fffffff5;box-shadow:0 18px 45px #1f293324;color:#1f5f5d;padding:12px 16px;font-size:14px;font-weight:900}.project-nav{display:flex;width:100%;flex-direction:column;gap:5px;border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#eef4f29e;color:#1f2933;padding:13px;text-align:left}.project-nav.active{border-color:#2b7a785c;background:#fff;box-shadow:0 14px 28px #2b7a781c}.admin-menu{display:flex;width:100%;flex-direction:column;gap:4px;border-radius:12px;background:transparent;color:#1f2933b8;padding:12px 13px;text-align:left;text-decoration:none}.admin-menu.active,.admin-menu:hover{background:#2b7a78;color:#fff;box-shadow:0 12px 24px #2b7a782e}.pro-flow{display:grid;gap:12px}.pro-flow a{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#eef4f2b8;color:#1f2933;padding:14px 16px;font-weight:900;text-decoration:none}.pro-flow a:after{color:#2b7a78;content:"进入";font-size:12px}.achievement-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px) auto;align-items:center;gap:16px;border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffc2;padding:14px}.achievement-meter{min-width:0}.action-card{display:flex;min-height:94px;flex-direction:column;justify-content:center;gap:6px;border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#eef4f2bd;color:#1f2933;padding:18px;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.action-card:hover{transform:translateY(-1px);border-color:#2b7a7857;background:#fff;box-shadow:0 16px 30px #1f293314}.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#ffffffe0;padding:22px;box-shadow:0 18px 45px #1f293314}.admin-page-head h2{margin:4px 0 0;color:#17252a;font-size:24px;font-weight:900;line-height:1.25}.eyebrow{margin:0;color:#2b7a78;font-size:13px;font-weight:900}.head-desc{max-width:680px;margin:8px 0 0;color:#1f29339e;font-size:14px;line-height:1.7}.private-fill-cue{display:inline-flex;align-items:center;gap:6px;cursor:default;text-decoration:underline;text-decoration-color:#2b7a7838;text-decoration-style:dotted;text-underline-offset:5px;-webkit-user-select:none;user-select:none}.private-fill-cue:after{width:5px;height:5px;border-radius:999px;background:#2b7a785c;content:""}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffd1;padding:16px;box-shadow:0 14px 32px #1f29330f}.metric-card span,.table-secondary{color:#1f29338c;font-size:12px;font-weight:800}.metric-card strong{display:block;margin-top:6px;color:#17252a;font-size:26px;font-weight:900;line-height:1}.filter-bar{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(170px,.8fr));gap:14px;align-items:end}.user-filter-bar{grid-template-columns:repeat(3,minmax(180px,1fr))}.filter-bar label{display:grid;gap:8px}.admin-table-wrap{overflow:hidden;border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#fff}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{background:#f5f7f6;color:#1f2933a3;font-size:12px;font-weight:900;letter-spacing:.02em;text-align:left}.admin-table th,.admin-table td{border-bottom:1px solid rgba(31,41,51,.07);padding:14px 16px;vertical-align:middle}.admin-table tbody tr:hover{background:#eef4f28f}.admin-table tbody tr:last-child td{border-bottom:0}.table-primary{color:#17252a;font-weight:900}.person-cell{display:flex;min-width:0;align-items:center;gap:11px}.person-cell.compact{gap:9px}.person-cell.compact .user-avatar{width:32px;height:32px;border-radius:10px}.person-cell strong,.person-cell span{display:block}.person-cell span{margin-top:3px;color:#1f293385;font-size:12px;font-weight:800}.user-avatar{display:block;flex:0 0 auto;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#2b7a78,#6a9c89);object-fit:cover;box-shadow:0 10px 20px #2b7a7829}.user-avatar.student{background:linear-gradient(135deg,#4f6f52,#c08a38)}.link-plain{text-decoration:none}.link-plain:hover,.link-action:hover{color:#1f5f5d}.link-action{border:0;background:transparent;color:#2b7a78;font-size:13px;font-weight:900;text-decoration:none}.link-action.muted{color:#1f29336b}.link-action.danger{color:#b85c38}.ksa-source-stack{display:grid;gap:7px;min-width:180px}.ksa-source-stack strong,.ksa-source-stack span,.ksa-source-stack small{display:block}.ksa-source-stack strong{color:#17252a;font-size:13px;font-weight:900}.ksa-source-stack span,.ksa-source-stack small{color:#1f293385;font-size:12px;font-weight:800}.ksa-evidence-list{display:flex;max-width:260px;flex-wrap:wrap;gap:6px}.ksa-evidence-list span{border:1px solid rgba(43,122,120,.14);border-radius:999px;background:#def2f194;color:#1f5f5d;font-size:12px;font-weight:900;padding:5px 8px}.link-action:disabled{cursor:not-allowed;color:#1f29334d}.table-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.table-action{color:#2b7a78;font-size:13px;font-weight:900;text-decoration:none}.table-action:hover{color:#1f5f5d}.score-text{color:#2b7a78;font-size:18px;font-weight:900}.pager-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;color:#1f29339e;font-size:13px;font-weight:800}.pager-actions{display:flex;align-items:center;gap:10px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:999px;padding:4px 9px;background:#1f293314;color:#1f2933b3;font-size:12px;font-weight:900;white-space:nowrap}.status-pill.active,.status-pill.success{background:#2b7a781f;color:#2b7a78}.status-pill.draft{background:#f4d7a161;color:#8a641d}.status-pill.archived{background:#1f293314;color:#1f293394}.empty-state{display:grid;justify-items:center;gap:10px;border-top:1px solid rgba(31,41,51,.07);padding:38px 20px;text-align:center}.empty-state h3{margin:0;color:#17252a;font-size:18px;font-weight:900}.empty-state p{max-width:520px;margin:0;color:#1f293394;line-height:1.7}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.wizard-shell{overflow:hidden}.wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wizard-step{display:flex;min-height:82px;align-items:center;gap:12px;border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#eef4f2bd;color:#1f2933ad;padding:14px;text-align:left}.wizard-step.active,.wizard-step.done{border-color:#2b7a785c;background:#fff;color:#17252a;box-shadow:0 14px 28px #1f293314}.wizard-step.disabled{cursor:not-allowed;opacity:.54}.wizard-step.done .wizard-step-index{background:#4f6f52}.wizard-step-index{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:12px;background:#2b7a78;color:#fff;font-weight:900}.wizard-step strong,.wizard-step small{display:block}.wizard-step strong{font-weight:900}.wizard-step small{margin-top:3px;color:#1f29338a;font-size:12px;font-weight:800;line-height:1.45}.wizard-panel{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#ffffffb3;padding:18px}.wizard-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.confirm-item{display:grid;gap:5px;border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#eef4f2bd;padding:14px}.confirm-item.wide{grid-column:1 / -1}.confirm-item span{color:#1f29338c;font-size:12px;font-weight:900}.confirm-item strong{color:#17252a;line-height:1.6}.management-panel{overflow:hidden;border:1px solid rgba(31,41,51,.08);border-radius:20px;background:#eef4f2a3}.panel-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#1f293314}.panel-tab{display:flex;min-height:72px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;background:#ffffffc7;color:#1f2933b8;padding:14px;text-align:left}.panel-tab.active,.panel-tab:hover{background:#fff;color:#2b7a78;box-shadow:inset 0 -3px #2b7a78}.panel-anchor{color:#2b7a789e;font-size:11px;font-weight:900;letter-spacing:.02em}.panel-body{padding:18px}.ksa-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ksa-group{border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffc2;padding:14px}.ksa-option{display:flex;align-items:flex-start;gap:9px;margin-top:10px;border-radius:12px;background:#eef4f2c2;padding:10px;cursor:pointer}.ksa-option input{margin-top:3px;accent-color:#2b7a78}.ksa-option span{display:flex;min-width:0;flex-direction:column;gap:3px}.ksa-option small{color:#1f29338f;font-weight:700}.inline-ksa-create{display:flex;flex-direction:column;gap:12px;border:1px dashed rgba(43,122,120,.3);border-radius:16px;background:#ffffff94;padding:14px}.ksa-list-item,.submission-card{border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#ffffffb8;padding:12px}.job-source-card{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#ffffffb8;padding:13px;text-align:left}.job-source-card.active,.job-source-card:hover{border-color:#2b7a785c;background:#fff;box-shadow:0 12px 28px #1f293314}.job-source-card span:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.job-source-card small{color:#1f29338f;font-weight:700}.job-ladder{border:1px dashed rgba(43,122,120,.34);border-radius:18px;padding:16px;background:linear-gradient(135deg,#2b7a7812,#d98f4a14);cursor:pointer}.job-ladder:hover{border-color:#2b7a7894;box-shadow:0 16px 36px #1f293314}.ksa-candidate-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px;border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#ffffffbd;padding:13px}.ksa-candidate-row input{margin-top:4px;accent-color:#2b7a78}.ksa-candidate-row span:nth-child(2){display:flex;flex-direction:column;gap:4px}.ksa-candidate-row small,.ksa-candidate-row em{color:#1f293394;font-size:12px;font-style:normal;font-weight:700;line-height:1.55}.suggestion-tags{display:flex;flex-wrap:wrap;gap:10px}.suggestion-tag{border:1px solid rgba(43,122,120,.18);border-radius:999px;background:#ffffffc2;color:#2b7a78;padding:7px 12px;font-size:13px;font-weight:900;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.suggestion-tag:hover{transform:translateY(-1px);border-color:#2b7a786b;background:#fff;box-shadow:0 10px 22px #1f293314}.member-list{display:grid;gap:12px}.member-add-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end;border:1px dashed rgba(43,122,120,.32);border-radius:16px;background:#ffffff9e;padding:14px}.member-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffc2;padding:14px}.member-progress{height:6px;overflow:hidden;border-radius:999px;background:#1f293314}.member-metrics{display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:8px;text-align:center}.member-metrics div{border-radius:13px;background:#eef4f2d1;padding:9px 10px}.member-metrics strong,.member-metrics small{display:block}.member-metrics strong{color:#2b7a78;font-weight:900}.member-metrics small{margin-top:2px;color:#1f293385;font-size:11px;font-weight:800}.empty-member-state{border:1px dashed rgba(31,41,51,.16);border-radius:16px;color:#1f29338c;padding:24px;text-align:center}.grading-task{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(31,41,51,.08);border-radius:13px;background:#ffffffb8;color:#1f2933;padding:12px;text-align:left}.grading-task small{color:#1f29338c;font-weight:800}.grading-task.active,.grading-task:hover{border-color:#2b7a7857;background:#fff;box-shadow:0 12px 24px #1f293314}.workflow-stage{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(31,41,51,.08);border-radius:13px;background:#ffffffb8;color:#1f2933;padding:12px;text-align:left}.workflow-stage small{color:#1f29338c;font-weight:800}.workflow-stage.active,.workflow-stage:hover{border-color:#2b7a7857;background:#fff;box-shadow:0 12px 24px #1f293314}.project-row{display:grid;width:100%;grid-template-columns:minmax(220px,1fr) 110px 110px 100px;gap:12px;align-items:center;border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#ffffffb8;color:#1f2933;padding:14px;text-align:left;text-decoration:none}.project-row.active,.project-row:hover{border-color:#2b7a7857;background:#fff;box-shadow:0 14px 28px #1f293314}.table-lite{overflow:hidden;border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffb8}.table-row{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px;border-bottom:1px solid rgba(31,41,51,.07);padding:13px 14px;font-size:14px}.table-row:last-child{border-bottom:0}.student-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.78);border-radius:30px;background:radial-gradient(circle at 92% 22%,rgba(244,215,161,.56),transparent 28%),linear-gradient(135deg,#ffffffe6,#eef4f2d1);padding:28px;box-shadow:0 22px 55px #1f293314}.student-hero-card{min-width:180px;border-radius:24px;background:#fff;padding:22px;box-shadow:0 18px 38px #2b7a781f}.student-workbench-next strong,.student-workbench-next span{display:block}.student-workbench-next strong{margin-top:8px;color:#1f2933;font-size:18px;font-weight:900;line-height:1.35}.student-workbench-next span{margin-top:6px;color:#1f293394;font-size:12px;font-weight:900}.student-workbench-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.student-project-card{display:block;border:1px solid rgba(31,41,51,.08);border-radius:24px;background:linear-gradient(180deg,#ffffffeb,#ffffffc7),#fff;color:#1f2933;padding:22px;text-decoration:none;box-shadow:0 20px 45px #1f293314;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.student-project-card:hover{transform:translateY(-3px);border-color:#2b7a784d;box-shadow:0 26px 60px #2b7a7824}.student-project-focus{display:inline-flex;width:fit-content;border-radius:999px;background:#2b7a781a;color:#2b7a78;padding:6px 10px;font-size:12px;font-weight:900}.student-project-meta{display:flex;flex-wrap:wrap;gap:8px}.student-project-progress{display:grid;gap:8px}.student-project-progress div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1f293394;font-size:12px;font-weight:900}.student-project-progress strong{color:#2b7a78}.student-project-progress i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#eef4f2f2}.student-project-progress b{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.student-project-meta span{border-radius:999px;background:#eef4f2db;color:#1f29339e;padding:5px 9px;font-size:12px;font-weight:900}.student-training-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.progress-box{min-width:220px;border-radius:22px;background:linear-gradient(135deg,#eef4f2f2,#f4d7a157);padding:18px}.stage-block{position:relative;border-left:2px solid rgba(43,122,120,.22);padding-left:18px}.stage-index{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:12px;background:#2b7a78;color:#fff;font-weight:900}.stage-nav-list{display:grid;gap:12px}.stage-nav-card{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffb3;color:#1f2933;padding:14px;text-align:left;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.stage-nav-card strong,.stage-nav-card small{display:block}.stage-nav-card strong{overflow:hidden;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.stage-nav-card small{margin-top:3px;color:#1f29338c;font-size:12px;font-weight:800}.stage-nav-card:hover,.stage-nav-card.active{transform:translateY(-1px);border-color:#2b7a7857;background:#fff;box-shadow:0 14px 28px #1f293314}.task-card{width:100%;border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#ffffffb8;color:#1f2933;padding:16px;text-align:left;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.task-card:hover,.task-card.active{transform:translateY(-1px);border-color:#2b7a7857;box-shadow:0 16px 30px #1f293314}.student-task-card{min-height:170px}.chip.muted{background:#1f293312;color:#1f293394}.chip.warning{background:#f4d7a180;color:#8a5d12}.chip.success{background:#2b7a7821;color:#2b7a78}.env-box,.record-box{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#eef4f2bd;padding:14px}.ksa-graph{display:grid;grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);gap:18px;align-items:stretch}.ksa-graph-column,.ksa-graph-evidence{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#eef4f2b8;padding:14px}.ksa-graph-label{color:#2b7a78;font-size:12px;font-weight:900}.ksa-graph-stack,.ksa-student-evidence{display:grid;gap:10px;margin-top:10px}.ksa-graph-node,.ksa-student-node{border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#ffffffd1;padding:12px}.ksa-graph-node strong,.ksa-graph-node span,.ksa-student-node strong,.ksa-student-node span{display:block}.ksa-graph-node strong,.ksa-student-node strong{color:#1f2933;font-size:14px}.ksa-graph-node span,.ksa-student-node span{margin-top:4px;color:#1f29339e;font-size:12px;line-height:1.5}.ksa-graph-node.accent{border-color:#2b7a783d;background:#ffffffe6}.ksa-graph-center{position:relative;display:flex;min-height:220px;align-items:center;justify-content:center}.ksa-graph-line{position:absolute;top:50%;width:64px;height:2px;background:linear-gradient(90deg,#2b7a7829,#2b7a78a3)}.ksa-graph-line.left{left:-18px}.ksa-graph-line.right{right:-18px;transform:rotate(180deg)}.ksa-graph-core{display:grid;min-height:168px;width:168px;place-items:center;border:1px solid rgba(43,122,120,.24);border-radius:999px;background:radial-gradient(circle at 50% 30%,#f4d7a157,#2b7a781f),#fff;padding:24px;text-align:center;box-shadow:0 18px 36px #1f29331a}.ksa-graph-core span,.ksa-graph-core small{color:#1f293394;font-size:12px;font-weight:900}.ksa-graph-core strong{color:#1f2933;font-size:17px;line-height:1.35}.ksa-graph-empty{margin-top:10px;border-radius:14px;background:#ffffffa3;color:#1f293394;padding:12px;font-size:13px}.ksa-student-node{display:flex;align-items:center;gap:10px}.env-box{margin-top:18px;background:linear-gradient(135deg,#2b7a781a,#f4d7a13d),#eef4f2bd}.agent-ksa-row{display:grid;grid-template-columns:120px 1fr 1fr 1.5fr auto;gap:10px;align-items:center}.agent-task-box{border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffb3;padding:14px}.agent-rubric-row{display:grid;grid-template-columns:150px 88px repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:center}.guide-field{min-height:360px;white-space:pre-wrap}.guide-preview{border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#ffffffbd;padding:14px}.guide-preview pre{margin:0;color:#1f2933c7;font-family:inherit;line-height:1.75;white-space:pre-wrap}.student-submit-panel{display:grid;gap:12px}.student-next-step{display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:#2b7a782e;background:linear-gradient(135deg,#2b7a781a,#f4d7a133),#ffffffe6}.student-path-panel{overflow:hidden}.student-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-stat-card{border-radius:16px;background:#eef4f2d1;padding:12px}.student-stat-card strong,.student-stat-card span{display:block}.student-stat-card strong{color:#2b7a78;font-size:24px;font-weight:900}.student-stat-card span{margin-top:3px;color:#1f293394;font-size:12px;font-weight:900}.student-path-timeline{display:grid;gap:12px}.student-path-stage{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#ffffffb8;padding:14px}.student-path-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-path-stage-head span,.student-path-stage-head strong{display:block}.student-path-stage-head span{color:#1f293385;font-size:12px;font-weight:900}.student-path-stage-head strong{margin-top:3px;color:#1f2933;font-weight:900}.student-path-stage-head em{flex:0 0 auto;border-radius:999px;background:#2b7a781a;color:#2b7a78;padding:5px 8px;font-size:12px;font-style:normal;font-weight:900}.stage-progress-mini.is-wide{width:100%;margin-top:10px;text-align:left}.student-path-task-list{display:grid;gap:8px;margin-top:12px}.student-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(31,41,51,.08);border-radius:14px;background:#ffffffb8}.student-list-row strong,.student-list-row span{display:block}.student-list-row strong{color:#1f2933;font-size:14px;font-weight:900}.student-list-row span{margin-top:3px;color:#1f293394;font-size:12px;font-weight:800}.student-path-task{width:100%;background:#eef4f294;padding:9px 10px;text-align:left;transition:.18s ease}.student-path-task:hover,.student-path-task.active{border-color:#2b7a7852;background:#2b7a7814;transform:translateY(-1px)}.student-path-task span{min-width:0;overflow:hidden;color:#1f2933;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.student-path-task em{flex:0 0 auto;color:#1f29338f;font-size:12px;font-style:normal;font-weight:900}.student-path-task.已达标 em{color:#2b7a78}.student-path-task.需补强 em{color:#a23131}.stage-progress-mini{display:grid;width:96px;gap:5px;color:#1f293394;font-size:12px;font-weight:900;text-align:right}.stage-progress-mini div{height:6px;overflow:hidden;border-radius:999px;background:#eef4f2f2}.stage-progress-mini i{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.student-checklist{display:flex;flex-wrap:wrap;gap:8px}.student-checklist span{border-radius:999px;background:#eef4f2d1;color:#1f29339e;padding:6px 10px;font-size:12px;font-weight:900}.student-capability-row{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#eef4f2bd;padding:14px}.student-evidence-row{padding:9px 10px;font-size:13px}.student-evidence-row span{min-width:0;overflow:hidden;color:#1f2933b8;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.student-evidence-row strong{flex:0 0 auto;color:#2b7a78}.student-capability-metric{border:1px solid transparent;text-align:left;transition:.18s ease}.student-capability-metric:hover,.student-capability-metric.active{border-color:#2b7a784d;background:#2b7a7814}.student-score-breakdown{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#eef4f2ad;padding:14px}.student-score-row{background:#ffffffc7;padding:10px 12px}.student-score-row strong,.student-score-row span{display:block}.student-score-row strong{color:#1f2933;font-size:13px;font-weight:900}.student-score-row span{margin-top:3px;color:#1f29338f;font-size:12px;font-weight:800}.student-score-row em{flex:0 0 auto;color:#2b7a78;font-style:normal;font-weight:900}.student-recommend-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.student-resource-panel summary{display:flex;cursor:pointer;list-style:none}.student-resource-panel summary::-webkit-details-marker{display:none}.student-resource-panel summary span,.student-resource-panel summary strong,.student-resource-panel summary small{display:block}.student-resource-panel summary strong{color:#1f2933;font-size:18px;font-weight:900}.student-resource-panel summary small{margin-top:4px;color:#1f29338c;font-size:12px;font-weight:800}.student-gap-grid{display:grid;gap:14px}.student-gap-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-gap-step{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#eef4f2a8;padding:14px}.student-gap-step-head{display:flex;align-items:flex-start;gap:10px}.student-gap-step-head>span{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:999px;background:#2b7a78;color:#fff;font-size:12px;font-weight:900}.student-gap-step-head p,.student-gap-step-head strong{display:block}.student-gap-step-head p{color:#1f29338a;font-size:12px;font-weight:900}.student-gap-step-head strong{margin-top:3px;color:#1f2933;font-size:14px;font-weight:900;line-height:1.35}.student-gap-step-copy{margin-top:12px;color:#1f293399;font-size:12px;font-weight:800;line-height:1.55}.student-gap-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.student-gap-tags em,.student-gap-tags small{border-radius:999px;background:#ffffffd1;color:#1f29339e;padding:5px 8px;font-size:12px;font-style:normal;font-weight:900}.student-gap-tags em.需巩固{background:#f4d7a180;color:#8a5d12}.student-gap-tags em.待补齐{background:#c0000014;color:#a23131}.student-gap-list{display:grid;gap:8px}.student-gap-row,.student-recommend-row{padding:11px 12px}.student-gap-row em{flex:0 0 auto;border-radius:999px;background:#1f293312;color:#1f29339e;padding:5px 8px;font-size:12px;font-style:normal;font-weight:900}.student-gap-row.已掌握 em{background:#2b7a781f;color:#2b7a78}.student-gap-row.需巩固 em{background:#f4d7a180;color:#8a5d12}.student-gap-row.待补齐 em{background:#c0000014;color:#a23131}.rubric-preview-row{display:grid;gap:5px;border-radius:12px;background:#eef4f2c7;padding:11px 12px;font-size:13px}.rubric-preview-row strong{color:#2b7a78}.section-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.view-switch{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(31,41,51,.1);border-radius:10px;background:#ffffffc2;padding:4px}.view-switch button{min-height:30px;border-radius:7px;background:transparent;color:#1f29339e;padding:5px 10px;font-size:13px;font-weight:900}.view-switch button.active{background:#2b7a78;color:#fff;box-shadow:0 8px 18px #2b7a782e}.portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portrait-card{border:1px solid rgba(31,41,51,.08);border-radius:18px;background:#eef4f2bd;padding:14px}.portrait-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.portrait-summary-layout{display:grid;grid-template-columns:minmax(420px,.52fr) minmax(400px,.48fr);gap:16px;align-items:stretch}.portrait-summary-layout .radar-card{min-height:100%;padding:16px 18px}.portrait-summary-layout .radar-svg{max-width:340px;margin-top:2px}.portrait-summary-layout .radar-legend{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.portrait-summary-layout .radar-legend-item{display:grid;justify-items:center;gap:2px;padding:7px 6px;text-align:center}.capability-calculation-panel{border-color:#2b7a782e}.calculation-formula{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calculation-formula>div{display:grid;gap:4px;border-radius:14px;background:#eef4f2c7;padding:12px 14px}.calculation-formula span{color:#1f293394;font-size:12px;font-weight:900}.calculation-formula strong{color:var(--color-ink);font-size:14px}.portrait-stat-grid,.gap-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gap-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portrait-stat-grid .surface,.gap-summary-grid .confirm-item{display:flex;min-height:132px;flex-direction:column;justify-content:center}.gap-summary-grid .confirm-item{min-height:104px}.radar-card{border:1px solid var(--alpha-border);border-radius:var(--radius-card);background:var(--alpha-surface);padding:16px}.radar-title{color:var(--color-ink);font-size:14px;font-weight:900}.radar-svg{display:block;width:100%;max-width:280px;margin:4px auto 0}.radar-grid,.radar-axis{fill:none;stroke:#1f29331a;stroke-width:1}.radar-fill{fill:#2b7a782e}.radar-line{fill:none;stroke:var(--color-primary);stroke-linejoin:round;stroke-width:2.5}.radar-point{fill:var(--color-primary);stroke:var(--color-surface);stroke-width:2;cursor:pointer;transition:r .16s ease,stroke-width .16s ease}.radar-point.active{stroke:var(--color-warning);stroke-width:3;r:5}.radar-label{fill:#1f2933a8;font-size:11px;font-weight:900}.radar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}.radar-legend-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid transparent;border-radius:12px;background:#eef4f2c7;padding:8px 10px;font-size:12px;font-weight:900;text-align:left;cursor:pointer}.radar-legend-item.active{border-color:#2b7a7852;background:#2b7a781f}.radar-legend span,.radar-legend-item span{color:#1f29339e}.radar-legend strong,.radar-legend-item strong{color:var(--color-primary)}@media (max-width: 1023px){.admin-sidebar{position:static}.panel-tabs,.ksa-picker,.ksa-graph,.agent-ksa-row,.agent-rubric-row,.metric-grid,.portrait-summary-layout,.portrait-grid,.wizard-steps,.member-add-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ksa-graph{grid-template-columns:1fr}.ksa-graph-center{min-height:180px}.ksa-graph-line{display:none}}@media (max-width: 767px){.section-title,.admin-page-head,.student-hero{flex-direction:column}.admin-page-head{padding:18px}.workspace-topbar-inner{min-height:auto;flex-direction:column;align-items:flex-start;padding:14px 18px}.workspace-title h1{max-width:calc(100vw - 90px)}.workspace-actions{width:100%;flex-wrap:wrap}.workspace-user{order:-1;width:100%;text-align:left}.workspace-shell{padding:18px}.project-row,.table-row,.panel-tabs,.ksa-picker,.agent-ksa-row,.agent-rubric-row,.project-grid,.metric-grid,.portrait-summary-layout,.portrait-stat-grid,.calculation-formula,.gap-summary-grid,.portrait-grid,.portrait-metrics,.filter-bar,.wizard-steps,.confirm-grid,.member-row,.member-metrics,.member-add-panel{grid-template-columns:1fr}.admin-table-wrap{overflow-x:auto}.admin-table{min-width:760px}.student-hero-card{width:100%}.student-training-header{flex-direction:column}.progress-box{width:100%}}@media print{.topbar,.workspace-topbar,.admin-sidebar,.btn,form,.panel-tabs{display:none!important}html,body,.page-bg{background:#fff!important}.surface,.record-box,.guide-preview{box-shadow:none!important;background:#fff!important}}
