*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.table{display:table}.table-row{display:table-row}.hidden{display:none}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color:#f6efe3;background:radial-gradient(circle at top left,rgba(86,202,176,.18),transparent 26%),radial-gradient(circle at top right,rgba(121,169,255,.16),transparent 28%),linear-gradient(180deg,#060d1c,#08101f 42%,#050914);font-family:Microsoft YaHei,微软雅黑,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:1440px;min-height:100vh}a{color:inherit;text-decoration:none}.primary-button,.ghost-button,.login-input{font:inherit}.primary-button,.ghost-button{border:0;border-radius:8px;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.7}.primary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button{padding:14px 18px;background:linear-gradient(135deg,#64e0c5,#7baeff);color:#07111d;font-weight:700}.ghost-button{padding:12px 16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#f6efe3}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar-user{display:inline-flex;gap:10px;align-items:baseline;color:#f5eede;font-size:20px}.topbar-user span{color:#93abcf;font-size:14px;font-weight:400}.page-shell{position:relative;display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh;overflow:hidden}.page-noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent);pointer-events:none}.side-panel{position:relative;z-index:1;padding:36px 28px 28px;border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#070e1bf0,#040a12e6);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.brand-block h1,.hero-copy h2,.panel-head h3,.timeline-line h4,.todo-item h4{font-family:Microsoft YaHei,微软雅黑,sans-serif}.eyebrow,.panel-kicker,.hero-kicker,.side-card-label{margin:0 0 10px;color:#8ca4cf;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.brand-block h1{margin:0;font-size:34px;line-height:1.15}.brand-copy,.side-card-note,.hero-subtitle,.hero-text,.todo-item p,.timeline-body p{color:#b7c2d9}.brand-copy{margin:16px 0 0;line-height:1.8}.role-nav{display:grid;gap:12px;margin:34px 0}.role-link{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff08;transition:transform .18s ease,border-color .18s ease,background .18s ease}.role-link:hover,.role-link-active{transform:translate(6px);border-color:#6bd7bf80;background:#6bd7bf14}.role-link span{font-size:16px}.role-link small{color:#8ca4cf;text-transform:uppercase}.side-card,.panel-card,.hero-card,.stat-card{border:1px solid rgba(255,255,255,.08);background:#ffffff09;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.side-card{border-radius:24px;padding:20px}.step-mini-list{margin:0;padding-left:18px;color:#f1eadf;line-height:1.9}.content-panel{position:relative;z-index:1;padding:34px 34px 40px}.notice-banner{margin-bottom:18px;padding:14px 18px;border:1px solid rgba(255,193,110,.32);border-radius:18px;background:#ffc16e14;color:#ffd8a0}.login-shell{position:relative;display:grid;grid-template-columns:1.1fr 520px;min-height:100vh;padding:40px;gap:24px;overflow:hidden}.login-hero,.login-card{position:relative;z-index:1;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.login-hero{padding:56px;border-radius:34px;display:grid;align-content:space-between}.login-hero h1,.login-card h2{margin:0;font-family:Microsoft YaHei,微软雅黑,sans-serif}.login-hero h1{font-size:58px;line-height:1.08}.login-copy,.login-card-copy,.login-notice{color:#b7c2d9;line-height:1.8}.login-sample-list{display:grid;gap:14px;margin-top:36px}.login-sample-item{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:20px;background:#ffffff08}.login-sample-item strong{font-size:20px}.login-sample-item span{color:#93abcf}.login-card{padding:36px;border-radius:34px;align-self:center}.login-card h2{font-size:34px}.login-card-copy{margin:12px 0 26px}.login-label{display:grid;gap:10px;margin-top:18px}.login-label span{color:#9cb0d0;font-size:14px}.login-input{width:100%;padding:15px 16px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#ffffff08;color:#f7f0e4;outline:none}.login-input::-moz-placeholder{color:#70829d}.login-input::placeholder{color:#70829d}.login-input:focus{border-color:#64e0c585;box-shadow:0 0 0 3px #64e0c51f}.login-input:disabled{color:#adc0dc;opacity:.9}.login-code-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px}.login-notice{min-height:52px;margin:18px 0 0}.login-error{margin:8px 0 0;color:#ffb3b3}.hero-card{display:grid;grid-template-columns:minmax(0,1.5fr) 320px;gap:28px;padding:30px;border-radius:30px;overflow:hidden}.hero-chip,.panel-tag,.todo-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 12px;font-size:12px;letter-spacing:.08em}.hero-chip{margin-bottom:18px;background:#5ddec31f;color:#8ef3df}.hero-kicker{margin:0;color:#d5c6ae;font-size:13px;letter-spacing:.16em;text-transform:uppercase}.hero-copy h2{margin:10px 0 0;font-size:44px;line-height:1.08}.hero-subtitle{margin:14px 0 0;font-size:18px}.hero-text{margin:14px 0 0;max-width:640px;line-height:1.85}.hero-focus{display:grid;gap:18px;align-content:start;padding:18px;border-radius:24px;background:linear-gradient(180deg,#ffffff14,#ffffff05)}.focus-metric span,.stat-card span{color:#89a0c8;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.focus-metric strong,.stat-card strong{display:block;margin-top:10px;color:#f8f2e8}.focus-metric strong{font-size:26px}.focus-metric small,.stat-card small{display:block;margin-top:10px;color:#b7c2d9;line-height:1.7}.focus-divider{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.1),transparent)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:24px}.stat-card{padding:20px;border-radius:24px}.stat-card strong{font-size:34px}.main-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-top:18px}.panel-card{border-radius:28px;padding:24px}.wide-card{grid-column:1 / -1}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.panel-head h3{margin:4px 0 0;font-size:28px;line-height:1.15}.panel-tag{background:#ffffff14;color:#d7e2f7}.timeline{display:grid;gap:14px}.timeline-node{display:grid;grid-template-columns:18px minmax(0,1fr);gap:16px}.timeline-dot{width:14px;height:14px;border-radius:999px;margin-top:7px}.timeline-body{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.timeline-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.timeline-line h4{margin:0;font-size:18px}.timeline-line span{color:#8ca4cf;font-size:14px}.timeline-body p{margin:10px 0 0;line-height:1.7}.timeline-done .timeline-dot{background:#6be0ca;box-shadow:0 0 0 6px #6be0ca24}.timeline-active .timeline-dot{background:#f5b160;box-shadow:0 0 0 6px #f5b16029}.timeline-pending .timeline-dot{background:#ffffff47}.todo-list,.feed-list{display:grid;gap:14px}.todo-item,.feed-item,.table-row{display:grid;gap:14px;align-items:center;padding:16px 18px;border-radius:20px;background:#ffffff08}.todo-item{grid-template-columns:minmax(0,1fr) auto}.todo-item h4{margin:0;font-size:18px}.todo-item p{margin:8px 0 0;line-height:1.75}.todo-status{min-width:78px;font-weight:600}.status-urgent{background:#ff838324;color:#ffc0c0}.status-progress{background:#f5b16024;color:#ffd7a7}.status-synced{background:#6be0ca24;color:#aaf4e6}.table-shell{display:grid;gap:10px}.table-row{grid-template-columns:1.45fr .8fr 1fr 1fr}.table-head-row{color:#8ca4cf;letter-spacing:.08em;text-transform:uppercase}.feed-item{grid-template-columns:80px 1.2fr 180px 120px}.feed-item strong{color:#f4ecdf}.feed-item span,.feed-item em{color:#b7c2d9;font-style:normal}.topbar-actions{display:flex;gap:12px}.student-shell{position:relative;display:grid;grid-template-columns:340px minmax(0,1fr);min-height:100vh;overflow:hidden}.student-sidebar{position:relative;z-index:1;padding:36px 28px 28px;border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#08101ef5,#050b16eb)}.student-sidebar h1{margin:0;font-family:Microsoft YaHei,微软雅黑,sans-serif;font-size:36px;line-height:1.15}.student-copy,.student-current-note,.empty-hint{color:#b7c2d9;line-height:1.8}.student-current-card,.student-hint-card{margin-top:28px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#ffffff09;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.student-current-card strong{display:block;margin-top:10px;color:#f7efdf;font-size:22px}.student-current-card span{display:block;margin-top:4px;color:#8da7cf;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.student-main{position:relative;z-index:1;padding:34px 34px 40px}.student-grid{display:grid;grid-template-columns:420px minmax(320px,.9fr);gap:18px}.student-detail-card{grid-column:1 / -1}.student-form{display:grid;gap:12px}.student-textarea{min-height:140px;width:100%;padding:15px 16px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#ffffff08;color:#f7f0e4;resize:vertical;outline:none;font:inherit}.student-textarea::-moz-placeholder{color:#70829d}.student-textarea::placeholder{color:#70829d}.student-textarea:focus{border-color:#64e0c585;box-shadow:0 0 0 3px #64e0c51f}.request-list{display:grid;gap:12px}.request-item{width:100%;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#ffffff08;color:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.request-item:hover,.request-item-active{transform:translate(4px);border-color:#79a9ff59;background:#79a9ff14}.request-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.request-item strong,.request-status,.student-meta-item strong{color:#f6efe3}.request-item p{margin:10px 0 0;color:#c4d0e7}.request-item small{display:block;margin-top:8px;color:#8da7cf}.student-detail-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px}.student-detail-meta{display:grid;gap:12px}.student-meta-item{padding:18px;border-radius:18px;background:#ffffff08}.student-meta-item span{color:#8ca4cf;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.student-meta-item strong{display:block;margin-top:10px;font-size:18px;line-height:1.5}.student-meta-item p{margin:10px 0 0;color:#c4d0e7;line-height:1.8}.review-actions{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px}.candidate-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.candidate-layout{display:grid;grid-template-columns:minmax(0,1.4fr) 320px;gap:18px}.candidate-editor,.candidate-history-item{padding:18px;border-radius:22px;background:#ffffff08}.candidate-history{display:grid;gap:14px;align-content:start}.candidate-history-list,.candidate-list{display:grid;gap:12px}.candidate-item{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#ffffff05}.candidate-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.candidate-item-head strong{color:#f6efe3;font-size:18px}.candidate-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.candidate-inner-head{margin-bottom:18px}.candidate-remove-button{padding:9px 14px}.candidate-submit-row{margin-top:8px}.import-panel{display:grid;gap:18px;margin-bottom:18px;padding:18px;border-radius:22px;background:#ffffff08}.import-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.import-path-field{margin:0}.import-action-row{display:flex;gap:12px;align-items:center}.import-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}.import-card{padding:18px;border-radius:22px;background:#ffffff08}.import-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.import-path-meta{display:grid;gap:6px;margin-top:16px}.import-path-meta span{font-size:12px;color:#eee7dc9e;text-transform:uppercase;letter-spacing:.08em}.import-path-meta strong{color:#f6efe3;line-height:1.6;word-break:break-all}.import-errors{display:grid;gap:12px}.import-error-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.batch-panel{display:grid;gap:18px;margin-bottom:18px;padding:18px;border-radius:22px;background:#ffffff08}.batch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.batch-format-tip{color:#b7c2d9;font-size:14px}.batch-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.batch-editor,.batch-reference{padding:18px;border-radius:22px;background:#ffffff08}.batch-textarea{min-height:220px}.batch-action-row{display:grid;grid-template-columns:120px 120px minmax(0,1fr)}.batch-summary-banner{margin-top:12px;margin-bottom:0}.batch-detail-list{display:grid;gap:12px;margin-top:12px}.master-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.master-layout{display:grid;grid-template-columns:minmax(0,1.5fr) 420px;gap:18px}.master-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.master-list-card,.master-editor{padding:18px;border-radius:22px;background:#ffffff08}.master-list-toolbar{display:flex;align-items:center;gap:10px}.notification-log-item{grid-template-columns:minmax(0,1.6fr) 320px}.notification-log-meta{align-items:flex-end}.master-filter-switch{display:flex;align-items:center;gap:8px}.master-filter-button{min-width:68px;padding-inline:12px}.master-filter-button-active{border-color:#fff3;background:#ffffff1f;color:#fff7ea}.master-item-list{display:grid;gap:12px}.reject-button{border-color:#ff93934d;color:#ffb8b8}body{min-width:1200px;color:#f5f7fb}#app{min-height:100vh}.portal-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}.portal-shell-collapsed{grid-template-columns:96px minmax(0,1fr)}.portal-sidebar{position:sticky;top:0;display:flex;min-height:100vh;flex-direction:column;gap:20px;padding:24px 18px;border-right:1px solid rgba(255,255,255,.08);background:#fff1;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.portal-sidebar-head,.panel-card-head,.toolbar-row,.action-row,.portal-topbar,.inline-action-field,.hero-metrics,.toggle-row{display:flex;align-items:center;gap:12px}.portal-sidebar-head,.panel-card-head,.toolbar-row,.action-row,.portal-topbar{justify-content:space-between}.portal-eyebrow,.section-kicker,.portal-nav-group-title{margin:0 0 8px;color:#8fa4ca;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.portal-brand-title,.portal-page-title,.section-title,.login-title{margin:0;color:#fff;font-size:18px;font-weight:700;line-height:1.18}.metric-chip,.detail-card,.stat-card,.sample-card{display:grid;gap:6px;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a}.portal-user-card strong,.metric-chip strong,.detail-card strong,.stat-card strong,.sample-card strong{color:#fff;font-size:16px}.portal-user-card span,.metric-chip span,.detail-card p,.stat-card span,.sample-card span,.portal-page-description,.section-description,.feed-item p,.feed-item span,.record-item p,.record-item span,.record-meta small,.timeline-item p,.timeline-item span,.form-tip{color:#b6c1d6;line-height:1.7}.portal-nav{gap:18px;flex:1}.portal-nav-group{display:grid;gap:10px;margin-bottom:10px}.portal-nav-item,.portal-role-link,.quick-link-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#ffffff05;transition:border-color .18s ease,background .18s ease,transform .18s ease}.portal-nav-item:hover,.portal-role-link:hover,.quick-link-card:hover,.record-item-button:hover{border-color:#79a9ff5c;background:#79a9ff14;transform:translateY(-1px)}.portal-nav-item-active,.portal-role-link-active,.record-item-active{border-color:#67dfc173;background:#67dfc11f}.portal-nav-copy,.portal-sidebar-foot,.portal-role-switch,.page-stack,.panel-card,.record-list,.feed-list,.timeline-list,.form-stack{display:grid;gap:14px;align-items:self-start}.portal-nav-copy{gap:2px}.portal-nav-copy strong,.quick-link-card strong,.record-item strong,.feed-item strong,.timeline-item strong{color:#fff}.portal-nav-copy small{color:#9bb0d4;line-height:1.5}.portal-topbar-actions{display:flex;align-items:center;gap:12px}.portal-role-link{justify-content:center}.portal-main{display:grid;grid-template-rows:auto 1fr;min-width:0}.portal-topbar{padding:14px 32px;background:#fff1}.portal-content{padding:24px 32px 32px}.page-stack{align-content:start}.hero-card,.panel-card{padding:24px;border:1px solid rgba(255,255,255,.08);border-radius:28px;background:#ffffff0a;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.hero-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1fr);gap:20px}.quick-link-grid,.stats-grid,.panel-grid,.detail-grid,.form-grid,.sample-grid{display:grid;gap:16px}.quick-link-grid,.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-grid{grid-template-columns:minmax(0,1fr)}.sample-card{position:relative;min-height:360px;overflow:hidden;padding:0}.sample-card-image{width:100%;height:100%;display:block}.sample-card-hint{position:absolute;right:18px;bottom:18px;z-index:2;padding:8px 12px;border-radius:999px;color:#415577;font-size:12px;line-height:1.2}.sample-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:stretch;padding:16px;background:linear-gradient(180deg,#060d181f,#060d18e0);opacity:0;pointer-events:none;transition:opacity .18s ease}.sample-card-list{display:grid;align-content:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:100%;overflow:hidden}.sample-card-item{display:grid;align-content:start;gap:3px;min-height:0;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0a111e8f}.sample-card-item strong{font-size:14px;line-height:1.25}.sample-card-item span{font-size:12px;line-height:1.35}.sample-card-overlay-visible{opacity:1;pointer-events:auto}.sample-card-overlay strong,.sample-card-overlay span{position:relative;z-index:1}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid,.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field--full{grid-column:1 / -1}.form-row-card{padding:16px;border:1px solid rgba(255,255,255,.06);border-radius:22px;background:#ffffff05}.form-row-actions{display:flex;justify-content:flex-end;grid-column:1 / -1}.record-item,.timeline-item,.feed-item{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid rgba(255,255,255,.06);border-radius:20px;background:#ffffff05}.record-item-button{width:100%;color:inherit;text-align:left;cursor:pointer}.record-meta{display:grid;gap:8px;justify-items:end;min-width:160px}.compact-feed-item{flex-direction:initial}.timeline-item{justify-content:flex-start}.timeline-state{width:12px;min-width:12px;height:12px;margin-top:6px;border-radius:999px}.timeline-state-done{background:#6fe0c5}.timeline-state-active{background:#7baeff;box-shadow:0 0 0 6px #7baeff29}.timeline-state-pending{background:#ffffff42}.form-field{display:grid;gap:10px}.form-field span,.detail-card span{color:#91a6cb;font-size:13px}.form-input,.form-textarea{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#070d18bd;color:#fff;font:inherit}.form-textarea{min-height:120px;resize:vertical}.primary-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:8px;border:1px solid transparent;cursor:pointer;font:inherit;transition:transform .18s ease,opacity .18s ease,border-color .18s ease,background .18s ease}.primary-button:hover,.secondary-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled{opacity:.7;cursor:not-allowed}.primary-button{background:linear-gradient(135deg,#68dfc6,#7aaeff);color:#07111d;font-weight:700}.secondary-button,.icon-button{border-color:#ffffff1a;background:#ffffff0a;color:#f4f6fb}.secondary-button-active{border-color:#67dfc173;background:#67dfc11f}.icon-button{width:44px;height:44px;padding:0}.portal-logout-button{flex:0 0 auto}.status-pill{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;background:#ffffff14;color:#ffd182;font-size:12px;min-width:56px;text-align:center}.notice-box,.empty-panel{padding:16px 18px;border-radius:18px;background:#ffffff0a;color:#c8d2e4}.notice-box{border:1px solid rgba(103,223,193,.24)}.notice-box-warning{border-color:#ffbb7447;background:#ffbb7414}.notice-box-success{border-color:#67dfc166;background:#67dfc114}.form-error{margin:0;color:#ffb9b9}.login-shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);min-height:100vh;width:90%;max-width:1860px;min-width:1200px;padding:40px;gap:24px;margin:0 auto;align-items:center}.login-panel{height:426px;display:grid;gap:20px;padding:32px;border:1px solid rgba(255,255,255,.08);border-radius:32px;background:#ffffff0a;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.login-panel-hero{align-content:space-between}.login-panel-form{align-content:center}.login-description{max-width:720px;color:#c1cbdd;line-height:1.8}.login-title{font-size:52px}.inline-action-field{display:grid;grid-template-columns:minmax(0,1fr) auto}:root{--app-bg: #f4f8fb;--app-bg-soft: #fbfdff;--app-surface: #ffffff;--app-surface-soft: #f8fbfe;--app-surface-accent: #eef6ff;--app-border: rgba(113, 141, 171, .18);--app-border-strong: rgba(95, 130, 166, .28);--app-shadow: 0 14px 38px rgba(125, 151, 179, .12);--app-text: #203245;--app-text-strong: #142536;--app-muted: #62768d;--app-muted-soft: #8094aa;--app-accent: #4b93f0;--app-accent-soft: rgba(75, 147, 240, .1);--app-success: #43b68e;--app-success-soft: rgba(67, 182, 142, .12);--app-warning: #df9b4b;--app-warning-soft: rgba(223, 155, 75, .14);--app-danger: #dd6b75;--app-danger-soft: rgba(221, 107, 117, .14);color:var(--app-text);background:radial-gradient(circle at top left,rgba(123,214,182,.16),transparent 26%),radial-gradient(circle at top right,rgba(109,174,255,.14),transparent 28%),linear-gradient(180deg,#f8fbff,#f4f8fb 46%,#eef5fb)}body{background:radial-gradient(circle at top left,rgba(123,214,182,.1),transparent 24%),radial-gradient(circle at top right,rgba(109,174,255,.12),transparent 26%),linear-gradient(180deg,#fbfdff,#f3f7fb 52%,#eef4fa);color:var(--app-text)}#app,.portal-shell,.portal-main,.login-shell{color:var(--app-text)}.portal-sidebar{border-right:1px solid var(--app-border);background:linear-gradient(180deg,#ffffffe0,#f7fbfff5);box-shadow:12px 0 32px #829db714}.portal-topbar{background:#ffffffb8;border-bottom:1px solid var(--app-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-user-card,.metric-chip,.detail-card,.stat-card,.hero-card,.panel-card,.login-panel{background:#ffffffe0;border:1px solid var(--app-border);box-shadow:var(--app-shadow)}.portal-user-card{display:grid;gap:4px;padding:14px 18px;border-radius:14px}.portal-eyebrow,.section-kicker,.portal-nav-group-title,.form-field span,.detail-card span{color:var(--app-muted-soft)}.portal-brand-title,.portal-page-title,.section-title,.login-title,.portal-user-card strong,.metric-chip strong,.detail-card strong,.stat-card strong,.sample-card strong,.portal-nav-copy strong,.quick-link-card strong,.record-item strong,.feed-item strong,.timeline-item strong{color:var(--app-text-strong)}.portal-user-card span,.metric-chip span,.detail-card p,.stat-card span,.sample-card span,.portal-page-description,.section-description,.feed-item p,.feed-item span,.record-item p,.record-item span,.record-meta small,.timeline-item p,.timeline-item span,.form-tip,.login-description,.portal-nav-copy small{color:var(--app-muted)}.portal-nav-item,.portal-role-link,.quick-link-card,.record-item,.timeline-item,.feed-item,.form-row-card,.sample-card-item{border:1px solid var(--app-border);background:linear-gradient(180deg,var(--app-surface-soft),rgba(255,255,255,.95))}.portal-nav-item:hover,.portal-role-link:hover,.quick-link-card:hover,.record-item-button:hover,.secondary-button:hover,.icon-button:hover{border-color:#4b93f057;background:var(--app-accent-soft)}.portal-nav-item-active,.portal-role-link-active,.record-item-active,.secondary-button-active{border-color:#43b68e57;background:var(--app-success-soft)}.portal-topbar-actions .icon-button,.secondary-button,.icon-button{border-color:var(--app-border-strong);background:#ffffffeb;color:var(--app-text)}.primary-button{background:linear-gradient(135deg,#5aa7ff,#70d7b8);color:#13304a;box-shadow:0 12px 24px #66b0e833}.form-input,.form-textarea{border:1px solid var(--app-border-strong);background:#fff;color:var(--app-text-strong);box-shadow:inset 0 1px #ffffffdb}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#97a8ba}.form-input::placeholder,.form-textarea::placeholder{color:#97a8ba}.form-input:focus,.form-textarea:focus{outline:none;border-color:#4b93f07a;box-shadow:0 0 0 3px #4b93f024}.status-pill{background:#4b93f01a;color:#2a5c96;border:1px solid rgba(75,147,240,.12)}.notice-box,.empty-panel{background:#ffffffd6;color:var(--app-muted);border:1px solid var(--app-border)}.notice-box{border-color:#43b68e52;background:#43b68e14}.notice-box-warning{border-color:#df9b4b47;background:var(--app-warning-soft)}.notice-box-success{border-color:#43b68e52;background:var(--app-success-soft)}.form-error{color:var(--app-danger)}.sample-card{border:1px solid var(--app-border);border-radius:20px;box-shadow:var(--app-shadow)}.sample-card-overlay{background:linear-gradient(180deg,#ffffff14,#f5f9fdf0)}.sample-card-item{background:#ffffffe6}.timeline-state-done{background:var(--app-success)}.timeline-state-active{background:var(--app-accent);box-shadow:0 0 0 6px #4b93f029}.timeline-state-pending{background:#c8d6e4}.portal-logout-button{background:#ffffffeb}.record-main{display:grid;gap:4px;min-width:0}.record-list-compact .record-item{align-items:center;padding:14px 18px}.record-list-compact .record-main p,.record-list-compact .record-main span,.record-list-compact .record-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-list-compact .record-meta{min-width:132px}.panel-card-subtle{padding:18px;background:#ffffffb8;box-shadow:none}.app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:28px;background:#1425363d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-modal-dialog{width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:24px;border:1px solid var(--app-border);border-radius:24px;background:#fffffff7;box-shadow:0 28px 56px #5e789438}.app-modal-dialog-wide{width:min(1080px,calc(100vw - 32px))}.app-modal-head,.app-modal-head-actions{display:flex;align-items:flex-start;gap:12px}.app-modal-head{justify-content:space-between;margin-bottom:18px}.app-modal-head-actions{flex-shrink:0}.app-modal-close{width:40px;height:40px;padding:0;border-radius:999px;font-size:24px;line-height:1}.app-modal-body{display:grid;gap:16px}@media (max-width: 960px){.app-modal-backdrop{padding:12px}.app-modal-dialog,.app-modal-dialog-wide{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:18px;border-radius:20px}.app-modal-head{flex-direction:column}.record-list-compact .record-item{align-items:flex-start}.record-list-compact .record-main p,.record-list-compact .record-main span,.record-list-compact .record-meta small{white-space:normal}}
