:root{font-family:Arial,"Noto Sans TC",sans-serif;color:#20314a;background:#f3f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:230px;inset:0 auto 0 0;background:#14263e;color:white;padding:34px 24px}.brand{font-size:28px;font-weight:800;display:flex;gap:14px;align-items:center;color:#60d5ca}.brand span{font-size:20px;color:white}aside .muted{font-size:12px;letter-spacing:1.5px;color:#a8b8ce}nav{display:grid;gap:12px;margin-top:55px}nav a{padding:16px;color:#d8e3ef;text-decoration:none;border-radius:8px}nav a:hover,nav a:first-child{background:#29415d;color:white}.aside-foot{position:absolute;bottom:34px;line-height:1.9;font-size:14px;color:#c0cfe0}main{margin-left:230px;padding:38px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}small{font-size:12px;letter-spacing:1.2px;color:#667b93}h1{font-size:30px;margin:14px 0}h2{font-size:20px;margin:10px 0 15px}p{line-height:1.7}.tag{background:#e2edf9;color:#325b85;padding:6px 10px;border-radius:5px;margin-left:10px;font-size:12px}.button,button{cursor:pointer;text-decoration:none;border:1px solid #d7e0eb;background:white;color:#26435d;padding:11px 15px;border-radius:7px;font:inherit;font-size:14px}.primary{background:#176e72;color:white;border-color:#176e72}button:hover,.button:hover{filter:brightness(.94)}button:focus-visible,a:focus-visible{outline:3px solid #359dc7;outline-offset:3px}.toolbar{display:flex;gap:18px;align-items:end;margin-bottom:24px;flex-wrap:wrap}label{display:grid;gap:9px;font-size:14px}input,select,textarea{font:inherit;padding:11px;border:1px solid #ccd7e3;border-radius:6px;background:white;color:#20314a}#scope{margin-left:auto;font-size:14px;padding:12px;color:#62778c}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:24px}.metric{background:white;padding:23px;border:1px solid #e0e7ee;border-radius:9px}.metric strong{display:block;font-size:34px;margin:12px 0;color:#193f58}.metric small{letter-spacing:0}.columns{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-bottom:24px}.panel{background:white;border:1px solid #e0e7ee;border-radius:10px;padding:26px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:#62738a;font-size:14px}.matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.cell{min-height:99px;text-align:left;border:0;background:#edf3f8;padding:14px}.cell strong{font-size:27px;display:block;margin-top:9px}.cell[data-tone="2"]{background:#e0f1ed}.cell[data-tone="3"]{background:#c5e5df}.cell[data-tone="4"]{background:#20777a;color:white}.cell[aria-pressed="true"]{outline:3px solid #d49a27;outline-offset:-3px}.axis{font-size:12px;color:#60758a;text-align:center}.bar-row{margin:21px 0}.bar-label{display:flex;justify-content:space-between;font-size:14px}.track{height:9px;background:#edf2f6;margin-top:10px;border-radius:8px;overflow:hidden}.fill{height:100%;background:#278b8e}.note{font-size:14px;line-height:1.8;background:#f3f6fa;padding:16px;margin-top:30px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{padding:16px 12px;background:#f6f8fb;color:#62748a;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid #eaf0f5;white-space:nowrap}td:last-child{white-space:normal;min-width:140px}td small{display:block;letter-spacing:0;margin-top:6px}.person{border:0;padding:0;color:#176e72;background:none;font-weight:bold;font-size:14px}footer{text-align:right;font-size:12px;color:#718198;padding:22px 0}dialog{border:0;border-radius:12px;padding:28px;width:min(500px,92vw);box-shadow:0 20px 70px #15273e44}dialog::backdrop{background:#172a4966}dialog label{margin:18px 0}textarea{min-height:90px}#status{position:fixed;bottom:24px;right:24px;max-width:90vw;background:#18394a;color:white;padding:16px;border-radius:8px}#status:empty{display:none}@media(max-width:1100px){aside{width:190px;padding:28px 16px}main{margin-left:190px;padding:24px}.columns{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}header{align-items:start}h1{font-size:25px}}@media(max-width:650px){aside{position:static;width:100%;padding:18px}aside .muted,.aside-foot{display:none}nav{display:flex;margin-top:18px;gap:4px}nav a{padding:10px;font-size:14px}main{margin:0;padding:18px}header{display:block}header .button{display:inline-block}.panel{padding:18px}.section-head{align-items:start;flex-direction:column}.metric{padding:16px}.metric strong{font-size:28px}.cell{padding:10px;font-size:12px}.toolbar label{width:100%}#scope{margin:0}h1{font-size:24px}}
:root{scroll-behavior:smooth}.metrics .metric strong{font-size:clamp(22px,2.3vw,34px)}.tabs{display:flex;gap:8px;border-bottom:1px solid #dfe7ef;padding:16px 0 12px;margin-top:8px;overflow:auto}.tabs button{white-space:nowrap;border:0;background:#f0f4f8}.tabs button[aria-selected=true]{background:#176e72;color:white}.skill-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:#f4f8fa;border-radius:8px;padding:20px;margin:18px 0}.skill-summary>div{font-size:14px}.skill-summary b{display:block;font-size:22px;margin-top:8px}.skill-summary small{letter-spacing:0}.score{display:inline-block;border-radius:5px;background:#eff3f7;padding:7px 12px;min-width:36px;text-align:center}.score-5,.score-6{background:#d8eee6;color:#17664e;font-weight:bold}.score-1,.score-2{background:#f9eddb;color:#825820}.level-badge{display:inline-block;background:#edf3f9;color:#2a587e;border-radius:4px;padding:6px 9px;font-size:13px}.cem-panel{margin-top:24px}#cemLevels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#cemLevels>div{padding:18px;border-left:3px solid #278b8e;background:#f3f7fa;line-height:1.7}#cemLevels b{display:block;color:#1e7779;margin-bottom:6px}#cemLevels span{font-size:14px}dialog{width:min(860px,94vw);max-height:90vh;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid label{min-width:0}.form-grid input,.form-grid select{min-width:0;width:100%}input[readonly],select:disabled{background:#edf2f6;color:#617289}#formError{color:#a72f35;font-size:14px}#detailTotal{margin:12px 0 20px}td small{max-width:240px;white-space:normal;line-height:1.5}#departmentBars{display:flex;flex-wrap:wrap;gap:10px}#departmentBars span{font-size:13px;background:#eff4f8;padding:8px 12px;border-radius:5px}#addTraining{margin-bottom:8px}.table-wrap{max-height:640px}thead{position:sticky;top:0;z-index:1}.metric small{line-height:1.5}#detailKind{letter-spacing:0}a{color:#176e72}@media(max-width:650px){.skill-summary,#cemLevels{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.tabs{max-width:100%}nav{flex-wrap:wrap}.metric strong{word-break:break-word}dialog{padding:20px}.skill-summary{padding:14px;gap:16px 10px}}
.upload-note{display:grid;gap:6px;margin:18px 0;padding:16px 18px;border-left:3px solid #278b8e;background:#f2f7f8;color:#40566c;font-size:14px;line-height:1.7}.upload-note b{color:#1d4f59}.upload-note span:last-child{font-size:12px;color:#687b8e}
.cem-panel{padding:30px}.cem-intro{max-width:760px;margin:0 0 22px}.cem-panel h2{font-size:24px}.cem-panel #cemLevels{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cem-card{position:relative;min-height:278px;padding:20px 20px 18px;border:1px solid #e2eaf0;border-radius:10px;background:linear-gradient(145deg,#fbfdff,#f1f6f8);overflow:hidden}.cem-card:nth-child(4),.cem-card:nth-child(5),.cem-card:nth-child(6){background:linear-gradient(145deg,#f7fbfa,#edf5f2)}.cem-card-top{display:flex;align-items:center;justify-content:space-between}.cem-number{font-size:12px;letter-spacing:1.6px;color:#7f94a8;font-weight:700}.cem-count{font-size:12px;color:#557168;background:#e4f1eb;border-radius:20px;padding:5px 9px;white-space:nowrap}.cem-card h3{font-size:21px;color:#176e72;margin:20px 0 5px}.cem-name{font-size:13px;color:#596f83;display:block;min-height:21px}.cem-stage{font-size:12px;font-weight:700;color:#a07022;letter-spacing:.4px;margin:12px 0 6px}.cem-description{font-size:14px;line-height:1.75;color:#344b61;margin:0 0 18px}.cem-scale{height:4px;border-radius:5px;background:#e1e9ee;position:absolute;bottom:0;left:0;right:0}.cem-scale span{height:100%;display:block;border-radius:5px;background:#278b8e}.cem-footnote{font-size:12px;color:#738296;border-top:1px solid #e8edf1;padding-top:15px;margin:20px 0 0}@media(max-width:1050px){.cem-panel #cemLevels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.cem-panel{padding:18px}.cem-panel #cemLevels{grid-template-columns:1fr}.cem-card{min-height:0}.cem-description{margin-bottom:14px}}
.field-hint{display:block;color:#8b6729;font-size:12px;letter-spacing:0;line-height:1.5}.actions{flex-wrap:wrap}#data-panel table{min-width:1100px}.level-badge{white-space:nowrap}
.cem-count{border:0;cursor:pointer;font:inherit}.cem-count:hover{background:#cce5d8;text-decoration:underline}#cemRoster{width:min(760px,94vw);max-height:85vh;overflow:auto}#cemRosterRows td:first-child small{display:block;margin-top:4px;color:#718198}
#salaryLogs{width:min(780px,94vw);max-height:86vh;overflow:auto}.salary-log{padding:16px 18px;margin:12px 0;border:1px solid #e3eaf0;border-radius:8px;background:#fbfcfd}.salary-log-head{display:flex;justify-content:space-between;gap:12px;color:#27465d;font-size:13px}.salary-log-head span{color:#617a8f}.salary-log p{margin:10px 0 0;font-size:13px;line-height:1.8}.salary-log p span{display:block}.salary-log p b{color:#176e72}

.rating-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.rating-scale article{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid #e5ebef;border-radius:8px;background:#f9fbfc}.rating-scale b{font-size:12px;color:#24455d}.rating-scale span{font-size:11px;line-height:1.45;color:#718296}@media(max-width:650px){.rating-scale{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cell{display:flex;flex-direction:column;justify-content:space-between;gap:12px}.cell-filter,.cell-roster{display:block;width:100%;border:0;padding:0;text-align:left;background:transparent;color:inherit}.cell-filter{font-size:12px;font-weight:600}.cell-roster strong{font-size:27px;margin:0}.cell-roster small{display:block;font-size:11px;letter-spacing:0;font-weight:400;margin-top:4px;color:inherit;opacity:.78}.cell[data-selected="true"]{outline:3px solid #d49a27;outline-offset:-3px}.cell-filter:focus-visible,.cell-roster:focus-visible{outline:2px solid #359dc7;outline-offset:4px}#matrixRoster{width:min(920px,94vw);max-height:86vh;overflow:auto}#matrixRosterRows td:first-child small{display:block;margin-top:4px;color:#718198}
.department-pay-panel{margin:0 0 24px}.department-pay-panel .section-head{margin-bottom:8px}.pay-legend{display:flex;gap:22px;align-items:center;margin:8px 0 4px;color:#62738a;font-size:12px}.pay-legend span{display:flex;align-items:center;gap:7px}.pay-legend i{display:inline-block;width:18px;height:11px;border:1px solid #278b8e;background:#bfe3dc;border-radius:3px}.pay-legend i.legend-average{height:3px;border:0;background:#173f59}.pay-chart-wrap{overflow-x:auto}.pay-chart-wrap svg{display:block;width:100%;min-width:720px;height:auto;overflow:visible}.pay-table{min-width:620px}.pay-table th:not(:first-child),.pay-table td:not(:first-child){text-align:right}.pay-table td{font-variant-numeric:tabular-nums}.pay-table td:first-child{white-space:nowrap}@media(max-width:650px){.department-pay-panel{padding:18px}.pay-legend{flex-wrap:wrap}}

.cmp-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;color:#536b7d}.cmp-summary label{display:flex;align-items:center;gap:10px}.cmp-summary input{width:min(320px,55vw)}.cmp-table-wrap table{min-width:1550px}.cmp-table-wrap th,.cmp-table-wrap td{vertical-align:top;max-width:240px}.cmp-table-wrap th{white-space:nowrap}.cmp-description{min-width:260px;max-width:360px;white-space:normal;line-height:1.5}.cmp-wide{grid-column:1/-1}.cmp-panel .note{margin-top:12px}@media(max-width:650px){.cmp-summary{align-items:flex-start;flex-direction:column}.cmp-summary label{align-items:flex-start;flex-direction:column;width:100%}.cmp-summary input{width:100%}}
.dept-pay-link{border:0;background:transparent;color:#176e72;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 2px}.dept-pay-link:hover,.dept-pay-link:focus-visible{color:#104c50}.department-candle{cursor:pointer;outline:none}.department-candle:focus-visible{filter:drop-shadow(0 0 3px #173f59)}#departmentPayDialog{width:min(96vw,1500px)}#departmentPayDialog .table-wrap table{min-width:1320px}

.person-cmp-link{border:0;background:transparent;color:#176e72;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 2px}.person-cmp-link:hover,.person-cmp-link:focus-visible{color:#104c50}#employeeCMPDialog{width:min(96vw,1500px)}#employeeCMPDialog .table-wrap table{min-width:1500px}.employee-cmp-table td{white-space:normal;vertical-align:top;min-width:110px}.employee-cmp-table td:nth-child(5){min-width:280px;max-width:420px;line-height:1.5}
.metric-action{text-align:left;width:100%;font-size:inherit}.gap-metric span{display:block;font-size:16px}.gap-metric strong{color:#193f58}.gap-metric.has-gaps{border-color:#e2a3a3;background:#fff8f7}.gap-metric.has-gaps strong,.staffing-gap-text{color:#b33b3b}.staffing-gap-badge{display:inline-block;background:#fde8e7;color:#a62f32;border-radius:16px;padding:5px 9px;font-size:12px;font-weight:700}.staffing-gap-hint{color:#a62f32;font-size:13px}.staffing-warning{display:flex;gap:12px;padding:15px 18px;margin:16px 0;background:#fff2ef;border:1px solid #f0c5ba;border-left:4px solid #c54d3b;border-radius:7px;color:#6d322e;line-height:1.6}.staffing-warning b{white-space:nowrap}.staffing-gap-table{min-width:1180px}.staffing-gap-table td:nth-child(2){white-space:normal;min-width:340px;max-width:480px}.staffing-gap-table td:nth-child(2) small,.successor-candidate small{display:block;margin-top:6px;color:#6b7e90;white-space:normal;line-height:1.5}.successor-candidate{padding:6px 0;border-bottom:1px solid #edf0f3}.successor-candidate:last-child{border-bottom:0}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.metrics{grid-template-columns:repeat(2,1fr)}}.bonus-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}.bonus-grid article{border:1px solid #e1e8ec;border-radius:14px;padding:1rem;background:#fff}.bonus-grid h3{margin:.2rem 0 1rem;color:#173f59}.bonus-panel .table-wrap{max-height:420px;overflow:auto}.bonus-panel thead th{position:sticky;top:0;z-index:1}.bonus-panel td,.bonus-panel th{white-space:nowrap}#bonusDetailDialog{width:min(1100px,94vw);max-height:85vh;overflow:auto}
@media(min-width:1200px){.bonus-grid{grid-template-columns:1fr 1fr}}
.training-category-link{width:100%;display:block;text-align:left;border:0;background:transparent;padding:.45rem 0;color:inherit;cursor:pointer}.training-category-link:hover .bar-label{color:#0f766e}.training-category-link .track{display:block}.tag-chip{display:inline-block;margin:.1rem .15rem;padding:.2rem .5rem;border-radius:999px;background:#e7f3ef;color:#176e72;font-size:.78rem;white-space:nowrap}.report-editor{display:block;margin:1rem 0}.report-editor textarea{display:block;width:100%;margin-top:.5rem;min-height:12rem;resize:vertical}.report-actions{justify-content:flex-end}
.achievement-link{border:0;background:transparent;color:#176e72;text-align:left;cursor:pointer;padding:0;font-weight:700}.achievement-link small{display:block;max-width:220px;font-weight:400;white-space:normal}.achievement-event{background:#fffaf0}.achievement-event .level-badge{background:#f9edcf;color:#765414}#achievementDialog{width:min(680px,94vw)}#achievementDescription{line-height:1.8}

.cmp-filter-panel{border:1px solid #dce6ec;background:#f7fafc;border-radius:10px;padding:18px;margin-bottom:20px}.cmp-filter-panel .section-head{align-items:center;gap:16px;flex-wrap:wrap}.cmp-filter-panel p{font-size:13px;margin:6px 0}.cmp-filter-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.7fr) minmax(180px,1.4fr) auto;gap:12px;align-items:end;padding:12px 0;border-top:1px solid #e0e8ef}.cmp-filter-row select,.cmp-filter-row input{width:100%;min-width:0}.cmp-filter-row label{min-width:0}.cmp-filter-row [disabled]{background:#e9eef2;color:#8291a0}@media(max-width:850px){.cmp-filter-row{grid-template-columns:1fr 1fr}.cmp-filter-panel .actions{flex-wrap:wrap}}@media(max-width:520px){.cmp-filter-row{grid-template-columns:1fr}.cmp-filter-row button{justify-self:start}}

.system-name{font-size:14px;line-height:1.5;margin:10px 0 5px;color:#dce6f4}.brand-credit{display:block;font-size:11px;line-height:1.5;color:#b7c7db;margin-bottom:24px}.system-heading span{display:block;font-size:clamp(18px,2.1vw,28px);line-height:1.3;margin-top:6px}.heading-credit{display:block;font-size:12px;color:#64748b;margin:8px 0 14px}
#pam{scroll-margin-top:20px}#pam td small,#pamMapping td small{display:block;margin-top:5px;font-size:12px;color:#64748b}#pam details{margin:18px 0}#pam summary,#pamDialog summary{cursor:pointer;font-weight:bold}#pamDialog{max-width:1000px;width:94vw;max-height:90vh;overflow:auto}.pam-item{padding:18px;margin:14px 0;border:1px solid #dce4ef;border-radius:12px;background:#f7f9fc}.pam-item label{display:block;margin:12px 0}.pam-item select,.pam-item textarea{width:100%;padding:10px;margin-top:6px;box-sizing:border-box}.pam-item textarea{font:inherit}#pamError{color:#b42318}#pamForm .actions{flex-wrap:wrap}
#cemAnalysis{scroll-margin-top:24px}.cem-health{padding:22px 26px;border:1px solid #e4c57d;border-left:6px solid #bd861c;border-radius:12px;background:#fff9e9;margin:22px 0}.cem-health>div{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cem-health strong{font-size:38px;line-height:1.2}.cem-health p{margin:12px 0 0}.cem-health.healthy{border-color:#77beb1;background:#edf9f5}.cem-health.healthy b,.cem-health.healthy strong{color:#087d69}.cem-health.warning{border-color:#d96d64;background:#fff0ee}.cem-health.warning b,.cem-health.warning strong{color:#b42318}.cem-composition{display:flex;gap:3px;min-height:42px;margin:20px 0}.cem-segment{background:#e0e7ef;display:flex;align-items:center;justify-content:center;font-size:12px;min-width:0;padding:8px 2px;overflow:hidden}.cem-segment.key-talent{background:#0c8178;color:#fff}.cem-key-row{background:#eff9f6}.cem-chart-scroll{overflow-x:auto}.cem-chart-scroll svg{width:100%;min-width:850px;display:block}
.header-data-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:520px}.header-data-actions button{white-space:nowrap}.header-data-actions button:last-child{background:#f3f6fa}@media(max-width:1100px){.header-data-actions{justify-content:flex-start}}@media(max-width:650px){header .header-data-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:16px}.header-data-actions button{width:100%;text-align:center}}
.header-data-actions .ready-download{text-align:center;text-decoration:none}.header-data-actions .ready-download[hidden]{display:none}

.nav-action{padding:16px;color:#d8e3ef;border:0;border-radius:8px;text-align:left;background:transparent;font-size:16px}.nav-action:hover{background:#29415d;color:white}

@media(max-width:650px){.nav-action{padding:10px;font-size:14px}}

.training-data-controls{margin:14px 0;align-items:end}.training-data-controls select{min-width:220px}

/* Scrollable navigation and MBTI task-alignment analysis */
aside{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--ui-sidebar,#14263e);color:var(--ui-sidebar-text,#fff)}
nav{flex:1;min-height:0;max-height:calc(100dvh - 270px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}
.aside-foot{position:static;flex-shrink:0;margin-top:auto;padding-top:16px}
.mbti-panel{margin:24px 0;scroll-margin-top:24px}.mbti-panel .section-head{align-items:center}.mbti-panel details{margin-top:18px}.mbti-panel details p{font-size:13px;line-height:1.8;color:#53667a}.mbti-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:18px 0}.mbti-filters input{min-width:min(320px,70vw)}.mbti-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.mbti-overview article{display:flex;flex-direction:column;gap:5px;border:1px solid #e2eaf0;border-radius:9px;background:#f8fafc;padding:16px}.mbti-overview b{font-size:24px;color:#176e72}.mbti-overview span{font-size:13px;color:#62738a}.mbti-table{min-width:1280px}.mbti-table td{vertical-align:top;white-space:normal;min-width:90px;max-width:250px;line-height:1.55}.mbti-table td:first-child{min-width:150px}.mbti-table td:nth-child(5){min-width:250px}.mbti-table td:last-child{min-width:240px}.mbti-task{padding:6px 0;border-bottom:1px solid #edf1f4}.mbti-task:last-child{border-bottom:0}.mbti-task small,.mbti-table td small{display:block;white-space:normal;line-height:1.5;margin-top:4px;color:#718296}.mbti-score{display:inline-block;min-width:56px;text-align:center;border-radius:7px;padding:7px 9px;font-weight:800;font-size:17px}.mbti-score.high{background:#dff3ea;color:#13634a}.mbti-score.mid{background:#fff1d7;color:#795715}.mbti-score.low{background:#fde9e6;color:#9b352d}.mbti-score.unknown{background:#edf1f5;color:#65758a}
.appearance-presets{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.appearance-preview{margin:16px 0;padding:20px;border-radius:10px;border:1px solid #dfe6ed;background:linear-gradient(125deg,var(--ui-bg-start,#f3f6fa),var(--ui-bg-end,#e7edf4));font-size:inherit}.appearance-presets button{min-width:88px}#appearanceFont{width:100%}#appearanceDialog output{font-weight:700;color:#176e72}#appearanceDialog{width:min(720px,94vw)}
html{font-size:var(--ui-font-size,14px)}body{background:linear-gradient(135deg,var(--ui-bg-start,#f3f6fa),var(--ui-bg-end,#e7edf4)) fixed}
@media(max-width:650px){aside{height:auto;overflow:visible;display:block}nav{max-height:none;overflow:visible;flex:none}.mbti-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.mbti-filters{align-items:stretch;flex-direction:column}.mbti-filters label,.mbti-filters input{width:100%}}

#accessGate{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf4f8,#dce8f0)}body:not(.access-authenticated) aside,body:not(.access-authenticated) main{visibility:hidden}.access-card{width:min(440px,100%);padding:36px;border:1px solid #d8e1e9;border-radius:22px;background:#fff;box-shadow:0 24px 70px #19314924}.access-card>small{letter-spacing:.14em;color:#587184}.access-card h1{margin:.55em 0;color:#17314a}.access-card p{color:#536b7d;line-height:1.65}.access-card form{display:grid;gap:16px;margin-top:24px}.access-card label{display:grid;gap:8px;font-weight:700}.access-card input{padding:12px;border:1px solid #bac9d6;border-radius:10px;font:inherit}.access-card button{padding:12px 16px;border:0;border-radius:10px;background:#176e72;color:#fff;font:inherit;font-weight:700;cursor:pointer}.access-card button:disabled{opacity:.6;cursor:wait}#accessStatus{min-height:1.5em;color:#a43f36}
body[data-access-role="view"] #exportWorkbook,body[data-access-role="view"] #importWorkbookTop,body[data-access-role="view"] #storageLocation,body[data-access-role="view"] #pamExport,body[data-access-role="view"] #importWorkbook,body[data-access-role="view"] #import,body[data-access-role="view"] #export,body[data-access-role="view"] #reset,body[data-access-role="view"] #addAchievement,body[data-access-role="view"] #addTraining,body[data-access-role="view"] #cmpExport,body[data-access-role="view"] #addCMP,body[data-access-role="view"] #editAchievement,body[data-access-role="view"] #saveTrainingReport,body[data-access-role="view"] #exportSalaryLogs,body[data-access-role="view"] #pamDraft,body[data-access-role="view"] #edit button[type="submit"],body[data-access-role="view"] #cmpEdit button[type="submit"],body[data-access-role="view"] #pamForm button[type="submit"],body[data-access-role="view"] #recordEditorForm button[type="submit"],body[data-access-role="view"] [data-cmp-edit],body[data-access-role="view"] [data-cmp-delete],body[data-access-role="view"] #rows button[data-kind],body[data-access-role="view"] [data-edit-record]{display:none!important}

body[data-access-role="view"] #rows button[data-achievement],body[data-access-role="view"] #pamRows button[data-pam],body[data-access-role="view"] #readyWorkbookDownload{display:none!important}
#accessGate[hidden],#accessOpen[hidden],#migrateLegacy[hidden]{display:none!important}

body:not([data-access-role="admin"]) .admin-only{display:none!important}.admin-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,2fr);gap:16px;margin:20px 0}.admin-tools label{display:grid;gap:8px}.admin-tools input,.admin-tools select{width:100%;padding:10px;font:inherit}.admin-wide{grid-column:1/-1}#adminEditorDialog{width:min(960px,95vw)}#adminEditorDialog fieldset{border:1px solid #d8e1e9;padding:20px;border-radius:12px}#adminEditorDialog legend{padding:0 8px;font-weight:700}#adminEditorError{color:#a43f36}.admin-only[hidden]{display:none!important}@media(max-width:650px){.admin-tools{grid-template-columns:1fr}.admin-wide{grid-column:1}}
body[data-access-role="view"] #uploadTrainingReport{display:none!important}

#cemSalaryChart{min-width:1560px}#cemComposition{flex-wrap:wrap}.cem-card .cem-name{overflow-wrap:anywhere}
