:root{color-scheme:dark;font-family:Microsoft YaHei,PingFang SC,Segoe UI,system-ui,-apple-system,sans-serif;--bg: #071016;--panel: rgba(11, 24, 32, .9);--panel-strong: rgba(14, 31, 41, .96);--line: rgba(118, 228, 255, .22);--line-strong: rgba(118, 228, 255, .46);--text: #e9fbff;--muted: #92afba;--accent: #2dd4bf;--accent-strong: #7dd3fc;--accent-soft: rgba(45, 212, 191, .14);--danger: #fb7185;--warn: #fbbf24;--ok: #34d399}*{box-sizing:border-box}body{margin:0;min-height:100vh;position:relative;background:linear-gradient(rgba(45,212,191,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.04) 1px,transparent 1px),linear-gradient(135deg,#061018,#091820 44%,#10151f);background-size:26px 26px,26px 26px,auto;color:var(--text)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 7%,rgba(45,212,191,.035) 7.2%,transparent 7.6% 100%),linear-gradient(180deg,transparent 0 14%,rgba(125,211,252,.03) 14.2%,transparent 14.6% 100%);background-size:180px 180px;-webkit-mask-image:linear-gradient(180deg,#000000d9,#00000038);mask-image:linear-gradient(180deg,#000000d9,#00000038)}button,input,select,textarea{font:inherit}button{border:1px solid rgba(45,212,191,.68);background:linear-gradient(135deg,#2dd4bfeb,#0ea5e9d1);color:#031014;border-radius:6px;padding:8px 12px;cursor:pointer;box-shadow:0 0 0 1px #7dd3fc14,0 10px 22px #06b6d424}button.secondary{background:#08141cb8;color:var(--accent-strong)}button.danger{background:var(--danger);border-color:var(--danger)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#040f16db;color:var(--text)}input:disabled,select:disabled,textarea:disabled{background:#11212ac7;color:var(--muted);cursor:default}.edit-actions{display:flex;flex-wrap:wrap;gap:8px}.export-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.export-actions button{min-height:38px}.export-actions select{width:min(280px,100%);min-height:38px}label{display:grid;gap:5px;color:var(--muted);font-size:13px}.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:#040f16eb;border-bottom:1px solid var(--line);box-shadow:0 14px 34px #0000003d;color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{font-weight:700;font-size:18px;color:#dffbff;text-shadow:0 0 18px rgba(45,212,191,.3)}.main{display:grid;grid-template-columns:210px 1fr;min-height:0}.nav{background:#05121ae0;border-right:1px solid var(--line);color:#dcecef;padding:16px 10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav button{width:100%;text-align:left;margin-bottom:8px;background:transparent;border-color:transparent;color:inherit}.nav button.active{background:#2dd4bf24;border-color:#2dd4bf61;color:#a7f3d0;box-shadow:inset 3px 0 0 var(--accent),0 0 22px #2dd4bf1f}.content{padding:22px;overflow:auto}.section{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 18px 46px #0000003d,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.section h2,.section h3{margin:0 0 12px}.section-note{margin:-4px 0 14px;color:var(--muted);font-size:14px}.resume-hero{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(240px,1fr) 260px;grid-template-areas:"summary stats radar";gap:14px;align-items:stretch;padding:16px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#0d1f29f0,#09161eeb)}.employee-photo{width:96px;aspect-ratio:35 / 49;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#2dd4bf14}.employee-photo img{width:100%;height:100%;object-fit:cover;display:block}.employee-photo-empty{display:grid;place-items:center;text-align:center;color:var(--muted);padding:8px}.employee-photo-empty span{display:block;font-size:30px;color:var(--accent);font-weight:700}.employee-photo-empty small{font-size:12px}.resume-summary{grid-area:summary;display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;min-width:0;padding:12px;border:1px solid rgba(118,228,255,.16);border-radius:8px;background:#2dd4bf0a}.resume-summary h2{margin:0 0 4px;font-size:26px;line-height:1.15}.resume-summary p{margin:0 0 10px;color:var(--muted)}.resume-identity{min-width:0}.resume-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}.resume-tags span{border:1px solid var(--line);border-radius:999px;padding:4px 9px;background:#2dd4bf14;font-size:13px}.resume-stats{grid-area:stats;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:stretch}.resume-stats .stat{min-height:0;padding:12px 14px}.resume-stats .stat strong{font-size:28px}.resume-radar{grid-area:radar;min-width:0}.resume-radar .radar-card{height:100%}.radar-card{border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--panel-strong);display:grid;align-content:center}.radar-card h3{margin-bottom:4px}.radar-card svg{width:100%;max-height:196px;display:block}.radar-ring{fill:none;stroke:#7dd3fc40;stroke-width:1}.radar-axis{stroke:#2dd4bf2e;stroke-width:1}.radar-shape{fill:#2dd4bf38;stroke:var(--accent);stroke-width:2}.radar-label{font-size:10px;fill:var(--muted);text-anchor:middle;dominant-baseline:middle}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.alert-grid,.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.executive-chart-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:12px}.collective-section{border-color:#7dd3fc38}.collective-summary{display:grid;grid-template-columns:minmax(180px,.8fr) repeat(6,minmax(130px,1fr));gap:10px;margin-bottom:12px}.employee-honor-summary{grid-template-columns:minmax(180px,.8fr) repeat(4,minmax(150px,1fr))}.employee-honor-lists{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-honor-type-grid{grid-template-columns:minmax(280px,1fr)}.collective-total,.collective-tile,.collective-spotlight,.collective-honor-card{border:1px solid rgba(125,211,252,.18);border-radius:8px;background:linear-gradient(180deg,#0d1f2aeb,#07131be6),radial-gradient(circle at 90% 0%,rgba(45,212,191,.12),transparent 34%)}.collective-total{padding:14px;display:grid;align-content:center;border-left:4px solid var(--accent)}.collective-total span,.collective-total small,.collective-tile span,.collective-tile small{color:var(--muted)}.collective-total strong{font-size:42px;line-height:1;color:var(--accent-strong)}.collective-tile{min-height:104px;padding:12px;display:grid;align-content:space-between}.collective-tile strong{color:#d9fbff;font-size:28px;line-height:1}.collective-analytics{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:12px;margin-bottom:12px}.collective-spotlight{padding:14px}.collective-timeline{display:grid;gap:9px}.collective-timeline-item,.collective-honor-item{border:1px solid rgba(125,211,252,.12);border-radius:8px;padding:9px 10px;background:#030c1261}.collective-timeline-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:4px 10px;align-items:center}.collective-timeline-item span,.collective-honor-item span,.collective-timeline-item small,.collective-honor-item small,.empty-note{color:var(--muted)}.collective-timeline-item small{grid-column:2}.collective-honor-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.collective-honor-card{padding:12px;min-width:0}.collective-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid rgba(125,211,252,.12);margin-bottom:10px}.collective-card-head h3,.collective-card-head p{margin:0}.collective-card-head p{color:var(--muted);font-size:12px;margin-top:3px}.collective-card-head strong{color:var(--accent-strong);font-size:24px;line-height:1}.collective-honor-items{display:grid;gap:8px;max-height:230px;overflow-y:auto;padding-right:4px}.collective-honor-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.collective-honor-item strong{min-width:0}.collective-honor-item small{grid-column:1 / -1}.empty-note{margin:0}.collective-section .chart-grid .table-scroll,.employee-honor-section .chart-grid .table-scroll{max-height:300px;overflow:auto}.collective-section .chart-grid th,.employee-honor-section .chart-grid th{position:sticky;top:0;z-index:1}.alert-card,.chart-card{border:1px solid var(--line);border-radius:8px;padding:14px;background:linear-gradient(180deg,#122936f0,#08151deb),radial-gradient(circle at top right,rgba(45,212,191,.12),transparent 42%);box-shadow:0 16px 38px #00000047,inset 0 1px #ffffff0a}.alert-card{border-left:4px solid var(--accent);display:grid;gap:6px}.alert-card strong{font-size:28px;color:var(--accent-strong);text-shadow:0 0 18px rgba(125,211,252,.28)}.alert-card small{color:var(--muted)}.status-border-key,.status-border-expired{border-left-color:var(--danger);box-shadow:0 16px 38px #00000047,inset 0 1px #ffffff0a,0 0 24px #fb718514}.status-border-attention,.status-border-expiring_soon{border-left-color:var(--warn);box-shadow:0 16px 38px #00000047,inset 0 1px #ffffff0a,0 0 24px #fbbf2414}.chart-card h3{margin-bottom:10px}.chart-card-donut{min-height:246px}.donut-layout{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:center}.donut-visual{position:relative;width:132px;height:132px}.donut-visual svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-track{fill:none;stroke:#7dd3fc1f;stroke-width:7}.donut-segment{transition:stroke-width .2s ease;filter:drop-shadow(0 0 3px rgba(45,212,191,.35))}.chart-card:hover .donut-segment{stroke-width:8}.donut-center{position:absolute;inset:36px;display:grid;place-content:center;text-align:center;background:#05121aeb;border:1px solid rgba(125,211,252,.22);border-radius:999px;box-shadow:inset 0 0 18px #2dd4bf14}.donut-center strong{font-size:25px;line-height:1;color:var(--accent-strong)}.donut-center span,.chart-note{color:var(--muted);font-size:12px}.donut-legend{display:grid;gap:8px;min-width:0}.legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) 28px 42px;gap:7px;align-items:center;font-size:12px}.legend-row i{width:10px;height:10px;border-radius:999px}.legend-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.legend-row em{color:var(--muted);font-style:normal;text-align:right}.chart-note{margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(125,211,252,.12)}.bar-list{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:92px 1fr 34px;gap:8px;align-items:center;font-size:13px}.bar-row span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:10px;background:#7dd3fc1a;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#22d3ee,#2dd4bf,#a7f3d0);border-radius:inherit;box-shadow:0 0 14px #2dd4bf66}.stat{position:relative;overflow:hidden;border:1px solid rgba(125,211,252,.28);border-left:4px solid var(--accent);border-radius:8px;padding:14px 16px;background:linear-gradient(135deg,#14303df5,#08161ff0),radial-gradient(circle at 78% 18%,rgba(45,212,191,.18),transparent 34%);box-shadow:0 16px 34px #00000042,0 0 22px #2dd4bf14}.stat:after{content:"";position:absolute;right:-24px;top:-32px;width:86px;height:86px;border:18px solid rgba(45,212,191,.08);border-radius:999px}.stat-success{border-left-color:var(--ok);background:linear-gradient(135deg,#102f26f5,#08161ff0),radial-gradient(circle at 78% 18%,rgba(52,211,153,.18),transparent 34%)}.stat-warning{border-left-color:var(--warn);background:linear-gradient(135deg,#36260df5,#08161ff0),radial-gradient(circle at 78% 18%,rgba(251,191,36,.16),transparent 34%)}.stat span,.stat small{color:var(--muted)}.stat strong{display:block;margin:5px 0 3px;font-size:32px;line-height:1;color:var(--accent-strong);text-shadow:0 0 16px rgba(125,211,252,.32)}.stat-percent{margin-left:8px;font-size:14px;font-style:normal;font-weight:700;color:#a7f3d0;vertical-align:middle}.stat small{display:block;font-size:12px}.toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:12px}.toolbar input,.toolbar select{min-width:0}option{background:#071016;color:var(--text)}table{width:100%;min-width:680px;border-collapse:collapse;background:#08151ddb}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(118,228,255,.12);border-radius:8px}.table-scroll table{border-radius:inherit}th,td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;vertical-align:top;font-size:14px}tr:hover td{background:#2dd4bf09}th{background:#2dd4bf1a;color:#c8f7ff}.status-key,.status-recertification_due,.status-expired{color:var(--danger);font-weight:700}.status-attention,.status-expiring_soon{color:var(--warn);font-weight:700}.status-valid,.status-none{color:var(--ok)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:10px}.login{min-height:100vh;display:grid;place-items:center;padding:clamp(18px,4vw,48px);position:relative;overflow:hidden;background:linear-gradient(115deg,#0034beeb,#005fd2c7 38%,#042574f5),linear-gradient(180deg,#0637b6,#031952)}.login:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 72% 26%,rgba(125,211,252,.55) 0 1px,transparent 2px),linear-gradient(105deg,transparent 0 42%,rgba(101,190,255,.16) 42.2% 42.6%,transparent 42.8% 100%),linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 100%),linear-gradient(180deg,rgba(255,255,255,.06) 0 1px,transparent 1px 100%);background-size:86px 86px,120px 120px,auto,128px 128px,128px 128px;opacity:.75}.login:after{content:"";position:absolute;right:-8%;bottom:-18%;width:min(760px,58vw);aspect-ratio:1.25;pointer-events:none;border:1px solid rgba(125,211,252,.32);background:linear-gradient(135deg,rgba(125,211,252,.12),transparent 45%),repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 2px,transparent 2px 18px);transform:skew(-12deg) rotate(-7deg);opacity:.42}.login-shell{width:min(1240px,100%);min-height:min(760px,calc(100vh - 48px));display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:clamp(34px,7vw,96px);position:relative;z-index:1}.login-hero{min-height:620px;padding:clamp(20px,3vw,36px);display:grid;align-content:center;gap:28px;position:relative}.login-hero:after{content:"";position:absolute;right:4%;bottom:13%;width:34%;aspect-ratio:1;border:1px solid rgba(160,218,255,.32);transform:rotate(45deg) skew(6deg);opacity:.5}.login-kicker,.eyebrow{color:#dff5ff;font-size:12px;line-height:1.4;letter-spacing:0;text-transform:uppercase}.login h1{margin:0;max-width:760px;color:#fff;font-size:clamp(48px,5.5vw,72px);line-height:1.02;text-shadow:0 8px 22px rgba(0,20,72,.38);white-space:nowrap}.login-lead{margin:0;max-width:680px;color:#eff8ffeb;font-size:20px;font-weight:700;line-height:1.8;text-shadow:0 4px 14px rgba(0,20,72,.3)}.login-capabilities{display:flex;flex-wrap:wrap;gap:10px;max-width:760px;margin:6px 0 0;padding:0;list-style:none}.login-capabilities li{display:flex;align-items:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid rgba(224,242,254,.34);background:#061b5b52;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-capabilities strong{color:#fff;font-size:15px}.login-capabilities span,.login-status p{margin:0;color:#eff8ffd1;font-size:13px;line-height:1.7}.login-status{display:flex;align-items:center;gap:10px;max-width:560px;padding-top:6px}.login-status span{width:10px;height:10px;border-radius:999px;background:#fff;box-shadow:0 0 18px #ffffffe6;flex:0 0 auto}.auth-card{display:grid;align-content:center;gap:18px;padding:34px 34px 30px;border-radius:8px;background:#fffffff5;color:#0f172a;box-shadow:0 24px 70px #00144857}.auth-card .eyebrow{color:#2563eb}.auth-card-head{display:grid;gap:8px}.auth-card h2{margin:0;font-size:28px;color:#0f172a}.auth-card-head p{margin:0}.auth-card-head p:last-child{color:#526071;line-height:1.7}.auth-tabs{display:grid;grid-template-columns:.9fr 1.15fr 1.05fr;gap:4px;padding:0 0 8px;border-bottom:1px solid #dce5ef;background:transparent}.auth-tabs button{min-height:38px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 9px;font-size:14px;white-space:nowrap;text-align:center;background:transparent;color:#1d4ed8;box-shadow:none}.auth-tabs button.active{background:#2563eb14;border-color:#2563eb;color:#0f3ea8}.auth-panel{display:grid;gap:14px}.auth-panel[hidden]{display:none}.auth-panel .form-row{gap:12px;margin-bottom:0}.auth-panel input{min-height:44px;border-color:#ccd7e5;background:#fff;color:#0f172a}.auth-panel input:focus{outline:2px solid rgba(37,99,235,.2);outline-offset:2px;border-color:#2563eb}.auth-panel>button{min-height:46px;font-weight:700;border-color:#1d4ed8;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff}.auth-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#526071;font-size:13px}.auth-card label,.auth-card .section-note{color:#526071}.inline-check{display:flex;grid-template-columns:none;align-items:center;gap:8px}.inline-check input{width:auto}.turnstile-box{min-height:66px}.message{min-height:24px;margin:0;color:#dc2626}@media(max-width:1180px){.login-shell{grid-template-columns:.9fr 1fr}.collective-summary,.employee-honor-summary,.employee-honor-lists,.collective-honor-lists{grid-template-columns:repeat(2,minmax(0,1fr))}.collective-total{grid-column:1 / -1}}@media(max-width:760px){body{background-size:22px 22px,22px 22px,auto}.login{padding:12px;place-items:start center}.login-shell{min-height:auto;grid-template-columns:1fr;border-radius:10px}.login-hero{padding:24px 18px;gap:18px;border-right:0;border-bottom:1px solid rgba(125,211,252,.16)}.login-hero:after{width:170px;right:-42px;bottom:-54px}.login h1{font-size:34px;white-space:normal}.login-lead{font-size:14px;line-height:1.7}.login-capabilities{gap:10px}.login-capabilities li{grid-template-columns:1fr;gap:2px;padding-bottom:10px}.login-capabilities span,.login-status p{font-size:12px}.auth-card{padding:20px 16px 22px}.auth-card h2{font-size:23px}.auth-tabs{border-radius:10px;grid-template-columns:1fr}.auth-tabs button{border-radius:7px}.auth-action-row{align-items:flex-start;flex-direction:column;gap:8px}.topbar{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 14px}.brand{font-size:17px}.main{grid-template-columns:1fr}.nav{display:flex;overflow-x:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:thin}.nav button{width:auto;white-space:nowrap;margin:0 8px 0 0;padding:7px 10px}.content{padding:12px}.section{padding:12px;margin-bottom:12px}.alert-grid,.chart-grid,.executive-chart-grid,.metric-grid,.collective-summary,.employee-honor-summary,.collective-analytics,.employee-honor-lists,.collective-honor-lists,.form-row{grid-template-columns:1fr}.toolbar{align-items:stretch;grid-template-columns:1fr}.export-actions{display:grid;grid-template-columns:1fr}.resume-hero{grid-template-columns:1fr;grid-template-areas:"summary" "stats" "radar";padding:12px}.resume-summary{grid-template-columns:86px minmax(0,1fr);gap:12px;padding:10px}.employee-photo{width:86px}.resume-stats{grid-template-columns:1fr}.resume-stats .stat{min-height:auto}.radar-card svg{max-height:230px}.donut-layout{grid-template-columns:1fr;justify-items:center}.donut-legend{width:100%}.bar-row{grid-template-columns:76px minmax(90px,1fr) 28px}table{min-width:640px}}@media(max-width:430px){.topbar>div:last-child{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px}.resume-summary{grid-template-columns:1fr;justify-items:start}.employee-photo{width:78px}.resume-tags{gap:6px}.resume-tags span{font-size:12px;padding:3px 7px}.stat strong{font-size:28px}.chart-card{padding:12px}.donut-visual{width:118px;height:118px}.donut-center{inset:32px}.legend-row{grid-template-columns:10px minmax(0,1fr) 24px 36px}}@media(min-width:761px)and (max-width:1120px){.resume-hero{grid-template-columns:minmax(280px,1fr) 260px;grid-template-areas:"summary radar" "stats stats"}.resume-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.resume-stats .stat{min-height:98px}.resume-radar .radar-card{min-height:100%}}
