:root{font-family:Inter,ui-sans-serif,system-ui;color:#182942;background:#f4f6fa}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#122541;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw)}header a{color:#fff}.brand{font-size:23px;font-weight:850;text-decoration:none}main{max-width:1240px;margin:auto;padding:32px 24px}h1{margin:4px 0 22px;letter-spacing:-.03em}.top,.period{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#6780a1;font-weight:800}.muted{color:#65758a}.warning{padding:13px 16px;background:#fff4df;border:1px solid #ebd2a7;border-radius:10px;margin:15px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.cards article,.panel,.login{background:#fff;border:1px solid #e0e7f0;border-radius:14px;box-shadow:0 3px 14px #15273d08}.cards article{padding:18px;height:100%}.cards span{display:block;color:#65758a;font-size:13px}.cards strong{display:block;font-size:21px;margin-top:6px}.cards small{display:block;color:#65758a;margin-top:5px}.card-link{text-decoration:none;color:inherit}.card-link article:hover{border-color:#99b7d7;box-shadow:0 5px 16px #1c4d8014}.panel{padding:20px;margin:16px 0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:#65758a;font-size:12px}td,th{padding:12px 10px;border-bottom:1px solid #e8edf3}td a{color:#215e9d;font-weight:750}.pill{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;white-space:nowrap;min-height:26px;background:#eaf1fa;padding:5px 10px;border-radius:999px;font-size:12px}select,input{padding:10px;border:1px solid #cbd7e5;border-radius:8px;background:#fff}.login{max-width:430px;margin:9vh auto;padding:30px}.login label{display:grid;gap:6px;margin:16px 0;font-weight:700}.primary{background:#245f9f;color:#fff;border:0;padding:11px 16px;border-radius:8px;font-weight:750}.link{border:0;background:none;color:#fff}.inline{display:inline}.back{color:#245f9f;text-decoration:none}.result{display:flex;gap:18px;flex-wrap:wrap}.result span{display:grid;color:#65758a;font-size:12px}.result b{color:#182942;font-size:17px}.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.scores>div{border:1px solid #e5eaf0;border-radius:10px;padding:10px;display:grid;grid-template-columns:42px 28px 1fr;align-items:center}.scores span{font-size:12px;color:#587398}.scores b{font-size:18px}.scores small{color:#65758a}@media(max-width:800px){.cards{grid-template-columns:repeat(2,1fr)}.scores{grid-template-columns:1fr}.top,.period{align-items:flex-start}.result{justify-content:flex-start}}@media(max-width:480px){.cards{grid-template-columns:1fr}}

.account{display:flex;align-items:center;gap:16px;font-size:14px}.account a{text-decoration:none;color:#d8e6f7}.account a:hover{text-decoration:underline}.button{text-decoration:none;display:inline-block}.secondary{color:#245f9f;text-decoration:none;padding:10px 14px}.actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:20px}.help{color:#65758a;font-weight:400}.help ul{padding-left:18px;margin:7px 0}.errorlist{color:#a33d2d;font-weight:500;margin:4px 0;padding-left:18px}@media(max-width:480px){.account span{display:none}.account{gap:9px}}
.capture,.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:18px;align-items:start}.preview{position:sticky;top:18px}.preview-value{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e8edf3}.preview-value span{color:#65758a}.kpi-list{display:grid;gap:3px}.kpi-field{display:grid;grid-template-columns:1fr 92px;gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5}.kpi-field small{display:block;color:#6b7c91;margin-top:3px}.notes{display:grid;gap:7px;margin:18px 0;font-weight:700}.notes textarea{width:100%;border:1px solid #cbd7e5;border-radius:8px;padding:10px;font:inherit}.small{font-size:12px}@media(max-width:800px){.capture,.two-col{grid-template-columns:1fr}.preview{position:static}}
.view-switch{display:flex;background:#e9eef5;border-radius:10px;padding:4px}.view-switch a{padding:9px 13px;text-decoration:none;color:#566a84;border-radius:7px}.view-switch a.active{background:#fff;color:#1b548f;box-shadow:0 2px 7px #17304c18}.matrix-panel{padding:0}.matrix-scroll{overflow:auto}.period-matrix{min-width:1020px}.period-matrix th,.period-matrix td{vertical-align:top}.period-matrix thead th{background:#f7f9fc}.period-matrix thead small{display:block;font-weight:400;margin-top:4px;max-width:180px}.person-column{position:sticky;left:0;z-index:2;background:#fff!important;min-width:210px}.person-column a{display:block;font-size:14px}.attention{display:inline-block;margin-top:7px;padding:4px 7px;background:#fff0d5;color:#8a5b13;border-radius:999px;font-size:10px}.matrix-cell{display:grid;gap:7px;color:#263951;text-decoration:none;min-width:205px;padding:4px;border-radius:9px}.matrix-cell:hover{background:#f3f7fc}.matrix-cell span{display:flex;justify-content:space-between;gap:9px;font-size:11px;color:#68798f}.matrix-cell strong{color:#263951}.matrix-cell .evaluator-label{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.matrix-cell .evaluator-name{font-size:13px;margin-top:-4px}.matrix-cell em{font-style:normal;font-size:10px;color:#52739a}.pending-cell{background:#fff7e8;border-left:3px solid #d79a35;padding:9px}.empty-cell{color:#8190a3;min-height:80px;align-content:center}.person-heading{display:flex;justify-content:space-between}.period-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:20px 0}.period-card{background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:17px}.period-card.needs-review{border-top:4px solid #d79a35}.period-card-head{display:flex;justify-content:space-between;gap:10px}.evaluator-block{background:#f4f7fb;border-radius:9px;padding:10px;margin:14px 0}.evaluator-block span{display:block;color:#6b7b90;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.evaluator-block strong{display:block;margin-top:3px}.period-card dl{margin:0}.period-card dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #edf1f5;padding:8px 0}.period-card dt{color:#68798f;font-size:12px}.period-card dd{margin:0;font-weight:800}.full{display:block;text-align:center;margin-top:14px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart-card{min-width:0}.chart-title,.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.chart-title h2,.section-heading h2{margin:4px 0 12px}.legend{display:flex;gap:12px;font-size:11px;color:#68798f}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.calc-dot{background:#2c70b5}.final-dot{background:#35a17b}.line-chart{width:100%;height:auto;overflow:visible}.gridline{stroke:#e5eaf1;stroke-width:1}.axis-label{font-size:10px;fill:#748399}.chart-line{fill:none;stroke-width:3}.chart-point{stroke:#fff;stroke-width:2}.chart-line.calculated,.chart-point.calculated{stroke:#2c70b5;fill:#2c70b5}.chart-line.final,.chart-point.final{stroke:#35a17b;fill:#35a17b}.chart-line.kpi,.chart-point.kpi{stroke:#7657b7;fill:#7657b7}.kpi-matrix{min-width:720px}.kpi-column{position:sticky;left:0;z-index:2;background:#fff!important;min-width:280px}.kpi-column span{display:block;font-weight:400;color:#596c85;margin-top:3px}.kpi-column em{font-style:normal;color:#856117;font-size:10px}.kpi-matrix td{text-align:center}.kpi-matrix td>strong{font-size:17px}.delta{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:999px;font-size:10px}.delta.up{background:#e5f6ec;color:#177249}.delta.down{background:#fdeae3;color:#a5482b}.delta.flat{background:#edf0f4;color:#6b7888}.source-row{display:grid;grid-template-columns:80px 1.1fr 1fr 1fr;gap:12px;padding:11px 0;border-top:1px solid #e7ecf2;font-size:12px}.source-row small{color:#718097;overflow-wrap:anywhere}@media(max-width:900px){.chart-grid{grid-template-columns:1fr}.source-row{grid-template-columns:1fr}.view-switch{align-self:flex-start}}

.period-navigation{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:12px 0}.period-navigation a{color:#245f9f;text-decoration:none;font-weight:750}.period-navigation .disabled{color:#9aa7b7}.spark-section{margin:26px 0}.spark-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px}.spark-card{background:#fff;border:1px solid #dfe6ef;border-radius:12px;padding:13px;min-width:0}.spark-head{display:flex;justify-content:space-between;gap:8px;min-height:48px}.spark-head b{display:block;color:#245f9f}.spark-head div>span{display:block;color:#617188;font-size:11px;margin-top:2px;line-height:1.25}.sparkline{display:block;width:100%;height:auto;margin-top:5px}.spark-gridline{stroke:#e8edf3;stroke-width:1}.spark-path{fill:none;stroke-width:2.5}.spark-path.up,.spark-point.up{stroke:#239160;fill:#239160}.spark-path.down,.spark-point.down{stroke:#d26442;fill:#d26442}.spark-path.flat,.spark-point.flat{stroke:#7657b7;fill:#7657b7}.spark-point{stroke:#fff;stroke-width:1.5}.spark-value{font-size:9px;fill:#394c65;font-weight:750}.spark-period{font-size:8px;fill:#8190a3}@media(max-width:540px){.period-navigation{align-items:flex-start;flex-direction:column}.spark-grid{grid-template-columns:1fr}}

.key-change{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;font-size:9px;font-style:normal;white-space:nowrap}.key-change.up{background:#e5f6ec;color:#177249}.key-change.down{background:#fdeae3;color:#a5482b}.key-change.flat{background:#edf0f4;color:#6b7888}

.authority-banner{background:#fff4d6;color:#6f5315;border-bottom:1px solid #e6cf91;padding:10px max(24px,5vw);font-size:13px}.authority-banner b{margin-right:5px}
.messages{margin-bottom:16px}.message{padding:12px 15px;border-radius:9px;background:#e8f1fb;color:#174f86}.message.error{background:#fdeae3;color:#9d3f29}.danger{background:#a64232;color:#fff;border:0;padding:11px 16px;border-radius:8px;font-weight:750}.danger-link{color:#a64232;text-align:center;text-decoration:none;margin-top:10px}.decision-form{display:flex;gap:7px;margin:5px 0}.tag{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:999px;background:#edf0f4;color:#5e6c7c}.person-heading>.actions{justify-content:flex-start}
.evaluation-notes{margin-top:14px;border-top:1px solid #e8edf3;padding-top:11px}.evaluation-notes summary{cursor:pointer;color:#245f9f;font-size:12px;font-weight:750}.evaluation-notes p{font-size:12px;line-height:1.45;color:#4f6178}.kpi-field select{width:min(100%,520px)}
.person-name-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.person-name-actions h1{margin-bottom:4px}.evaluation-card-action{margin-top:13px;padding-top:12px;border-top:1px solid #e8edf3}.evaluation-card-action .button{display:block;text-align:center;margin:0}
.button,.primary,.secondary,.danger{align-items:center;justify-content:center;text-align:center;line-height:1.2}.button{display:inline-flex}.primary,.danger{display:inline-flex}.actions .button,.actions button{min-height:40px}
.page-eyebrow{margin-top:24px}
.cards article{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:112px}.cards article span,.cards article strong,.cards article small{text-align:center}
.page-heading p{max-width:760px;color:#65758a}.assignment-toolbar form{display:flex;align-items:center;gap:12px}.assignment-toolbar label{font-weight:750}.assignment-table{min-width:850px}.assignment-table th:first-child{min-width:260px}.assignment-form{display:flex;align-items:center;gap:8px}.assignment-form select{min-width:260px}.assignment-form .button{border:0;background:#245f9f;color:#fff;padding:10px 14px;border-radius:8px;font-weight:750;cursor:pointer}

.authorization-heading h1{margin-bottom:8px}.evaluator-block.compact{display:inline-block;min-width:260px;margin:6px 0 16px}.authorization-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.authorization-kpis{min-width:0}.authorization-decision{position:sticky;top:18px}.authorization-decision select{width:100%}.preview-value.emphasized{background:#eef6ff;margin:0 -10px;padding:13px 10px;border-radius:8px}.authorization-table{min-width:760px}.authorization-table th,.authorization-table td{text-align:center;vertical-align:middle}.authorization-table th:first-child{text-align:left;min-width:230px}.authorization-table th>span{display:block;color:#566b85;font-weight:500;margin-top:3px}.authorization-table th>em{display:inline-block;font-style:normal;color:#856117;font-size:10px;margin-top:4px}.authorization-table thead small{display:block;font-weight:400;color:#718197;margin-top:3px}.authorization-table select{min-width:190px;width:100%}.history-score,.original-score{font-size:17px}.review-row.changed{background:#fff8e8}.review-row.changed .original-score strong{text-decoration:line-through;color:#8d6a25}.reason-row{display:none;background:#fff8e8}.reason-row.visible,.reason-row:has(.errorlist){display:table-row}.reason-row td{text-align:left;padding:10px 16px 16px}.reason-row label{display:grid;gap:6px;color:#76551d;font-weight:750}.reason-row textarea{width:100%;border:1px solid #d9bf86;border-radius:8px;padding:9px;font:inherit}.authorization-decision .full{width:100%;margin-top:18px}.score-with-delta{display:flex;align-items:center;justify-content:center;gap:7px}.score-with-delta select{flex:1}.review-delta{margin-left:0;min-width:25px;font-weight:800}.review-delta.no-history{font-size:9px;white-space:nowrap}


/* Responsive layout: keep navigation, cards and wide matrices inside the viewport. */
html,body{max-width:100%;overflow-x:hidden}
header{height:auto;min-height:64px}
main{width:100%;min-width:0}
.top,.period,.account{min-width:0}
.actions{flex-wrap:wrap}

@media(max-width:600px){
  header{padding:12px 16px;gap:12px;align-items:flex-start}
  .brand{font-size:20px;line-height:36px}
  .account{justify-content:flex-end;gap:8px;flex-wrap:wrap;font-size:12px}
  .account a,.account .link{padding:8px 4px}
  main{padding:22px 14px}
  h1{font-size:28px;margin-bottom:12px}
  .authority-banner{padding:10px 14px;line-height:1.4}
  .top,.period{flex-direction:column;align-items:stretch}
  .view-switch{width:100%}
  .view-switch a{flex:1;text-align:center;padding:9px 8px}
  .cards{grid-template-columns:1fr 1fr;gap:10px}
  .cards article{padding:14px 10px;min-height:100px}
  .cards strong{font-size:19px}
  .panel{max-width:100%;padding:14px}
  .matrix-panel{padding:0}
  .period-navigation nav{display:flex;flex-wrap:wrap}
  .period-navigation>div span{display:block;margin-top:4px;line-height:1.4}
  .person-heading{gap:12px;flex-direction:column}
  .person-name-actions{align-items:flex-start}
  .chart-title,.section-heading{flex-direction:column}
  .kpi-field{grid-template-columns:1fr;gap:8px}
  .kpi-field select{width:100%}
  .actions{justify-content:stretch}
  .actions .button,.actions button{flex:1 1 100%;width:100%}
  .decision-form,.assignment-toolbar form,.assignment-form{align-items:stretch;flex-direction:column}
  .assignment-form select{min-width:0;width:100%}
  .authorization-layout{grid-template-columns:1fr}.authorization-decision{position:static}.authorization-table{min-width:690px}
  .login{margin:5vh 14px;padding:22px}
}

@media(max-width:380px){.cards{grid-template-columns:1fr}}
