/* Reference-led layout: compact white workspace. */
:root{--navy:#193a37;--teal:#147d68;--muted:#677784;--line:#d9dfdf;background:#f4f5f7;color:#1b3039}
.topbar{min-height:76px;width:100%;padding:13px 26px;border-bottom:1px solid #dee2e5;background:#fff}.top-brand{display:flex;align-items:center;gap:16px}.brand-word{font-size:27px;font-weight:750;letter-spacing:-1px;color:#193a37}.brand-word span{color:#147d68}.top-brand-caption{font-size:12px;color:#6a7c7b;text-transform:uppercase;letter-spacing:1px;border-left:1px solid var(--line);padding-left:16px}.profile label{margin:0;white-space:nowrap;font-size:13px}.profile select{font-size:13px;min-height:34px;padding:7px 10px;max-width:280px}.demo{font-size:11px}
.shell{max-width:1450px;margin:28px auto 0;padding:0 24px;grid-template-columns:218px minmax(0,1fr);gap:28px;min-height:calc(100vh - 104px);align-items:start}.sidebar{background:white;color:#465861;border:1px solid #d7ddde;border-radius:13px;padding:17px 11px 12px;position:sticky;top:24px;height:auto;box-shadow:0 1px 3px #13243909}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:7px 7px 16px;border-bottom:1px solid var(--line)}.sidebar-brand strong{font-size:14px;color:#263f45}.sidebar-brand small{display:block;font-size:10px;letter-spacing:1.25px;line-height:1.25;margin-top:3px;font-weight:650}.mark{width:36px;height:36px;border-radius:9px;background:#147d68;color:white;box-shadow:0 3px 8px #147d682b;font-size:20px;flex:none}.nav{display:block;margin:0;overflow:visible}.nav-group{padding:12px 0;border-bottom:1px solid var(--line)}.nav-label{font-size:10px;letter-spacing:.8px;font-weight:700;margin:4px 8px 7px;color:#74808a}.nav button{display:flex;align-items:center;width:100%;padding:8px 10px;margin:2px 0;min-height:34px;font-size:13px;border:1px solid transparent;color:#425761;border-radius:7px}.nav button:hover{background:#f0f6f4}.nav button.active{color:#087962;background:#e8f6f0;border-color:#afdbcb;box-shadow:none;font-weight:600}.nav-icon{font-size:16px;line-height:1;width:24px;display:inline-block}.sidebar-foot{display:flex;align-items:center;gap:10px;padding:14px 4px 0;margin:0;font-size:12px;color:#314b54}.sidebar-foot .avatar{width:31px;height:31px;font-size:11px}.sidebar-foot small{display:block;font-size:10px;line-height:1.4}.main{margin:0;padding:0 0 38px;max-width:none;min-width:0}.page-head{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:20px}.page-head .eyebrow{font-size:11px;margin-bottom:7px}.page-head h1{font-size:27px;letter-spacing:-.55px}.page-head p{font-size:14px;margin-bottom:0}.page-head .actions{padding-top:4px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 13px;border-bottom:1px solid #ced7d9}.dashboard-heading h1{font-size:29px;letter-spacing:-.5px;margin:0}.period{display:flex;align-items:center;gap:10px}.period>span{font-size:10px;letter-spacing:.8px;color:var(--muted)}.period strong{font-size:13px;font-weight:500;border:1px solid var(--line);background:white;padding:8px 14px;border-radius:6px;white-space:nowrap}.dashboard-actions{display:flex;justify-content:space-between;gap:12px;margin:9px 0 22px}.actions{gap:7px}button{padding:7px 11px;font-size:13px;font-weight:500;border-radius:6px}.primary{box-shadow:0 3px 7px #147d681d}.dashboard-guidance{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:0 0 23px;font-size:12px;color:var(--muted);line-height:1.6}.dashboard-guidance details{max-width:580px}.dashboard-guidance summary{cursor:pointer;color:#536f75}.dashboard-guidance details p{padding:8px 0 0;margin:0}.dashboard-guidance>span{font-size:11px;white-space:nowrap}.cards{gap:14px;margin-bottom:19px}.card{padding:15px 18px;border-radius:10px;box-shadow:0 3px 8px #182d3510}.card label{text-transform:uppercase;font-size:11px;letter-spacing:.65px;margin:0;color:#657885}.metric{font-size:28px;line-height:1.1;letter-spacing:-.5px;margin:7px 0 8px}.metric-unit{font-size:13px;padding-left:2px}.card small{font-size:12px}.attention-number{color:#ad4137}.panel{border-color:#d7dfe1;box-shadow:0 2px 7px #203a4309}.panel.flush{padding:0}.dashboard-table .toolbar{padding:14px 18px;gap:15px;justify-content:space-between}.toolbar h2{margin:0;font-size:16px;white-space:nowrap}.list-controls{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}.list-controls input{width:200px;max-width:100%;padding:6px 10px;min-height:32px;font-size:12px}.status-filters{display:flex;border:1px solid #d6dedf;border-radius:6px;padding:3px;gap:1px;background:#fff}.status-filters button{border:0;background:none;white-space:nowrap;font-size:11px;padding:5px 8px;min-height:24px;color:#657682;border-radius:4px}.status-filters button.selected{background:#147d68;color:white}.dashboard-table table{font-size:13px}.dashboard-table th{background:white;padding:11px 14px;font-size:10px;font-weight:500;color:#607786;letter-spacing:.55px;border-bottom:1px solid var(--line)}.dashboard-table td{padding:12px 14px;border-top:1px solid #ebeff0}.dashboard-table td small{font-size:11px;margin-top:2px;line-height:1.3}.dashboard-table .person{gap:10px}.dashboard-table .avatar{width:33px;height:33px;font-size:11px;background:#e7f4ef;color:#147d68}.employee-link{display:block;padding:0;border:0;background:transparent;font-size:13px;font-weight:600;text-align:left;color:#234e52;line-height:1.4}.employee-link:hover{background:none;text-decoration:underline}.reviewer-line{display:flex;align-items:baseline;gap:8px;font-size:12px;line-height:1.65;white-space:nowrap}.reviewer-line span{font-size:9px;color:#738b95;width:39px;letter-spacing:.3px}.badge{padding:3px 8px;border-radius:12px;font-size:10px;line-height:1.4}.score-cell{text-align:right;white-space:nowrap}.score-cell strong{font-family:Consolas,monospace;font-size:14px;letter-spacing:.3px}.dashboard-footnote{font-size:12px;color:#72848a;line-height:1.5;margin-top:14px}.card.accent{background:#193a37;border-color:#193a37}.toolbar{padding:14px 18px}.panel-title{margin-bottom:16px}.goal{padding:18px}.steps{background:white;border:1px solid var(--line);padding:12px;border-radius:10px}.step{font-size:12px}.sidebar a{color:inherit}
@media(min-width:1600px){.shell{margin-top:30px}.dashboard-table td{padding-top:14px;padding-bottom:14px}}
@media(max-width:1150px){.shell{grid-template-columns:200px minmax(0,1fr);gap:20px;padding:0 18px}.list-controls{max-width:100%}.dashboard-table .toolbar{flex-wrap:wrap}.dashboard-guidance{flex-wrap:wrap}.dashboard-actions{flex-wrap:wrap}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-heading h1{font-size:25px}.dashboard-table table{min-width:760px}}
@media(max-width:700px){.topbar{padding:12px 16px;gap:12px}.top-brand-caption{display:none}.profile{width:100%;gap:8px}.profile .demo{display:none}.profile select{max-width:none}.shell{display:block;padding:0 14px;margin-top:16px}.sidebar{position:static;padding:10px;margin-bottom:20px;border-radius:10px}.sidebar-brand{padding:2px 3px 10px}.sidebar-brand small{display:none}.sidebar-brand .mark{width:28px;height:28px;font-size:17px}.nav{display:flex;overflow:auto;gap:12px;margin-top:8px}.nav-group{display:flex;align-items:center;padding:0;border:0;gap:3px;flex:none}.nav-label,.sidebar-foot{display:none}.nav button{width:auto;white-space:nowrap;padding:7px 9px;font-size:12px}.nav-icon{display:none}.main{padding:0 0 24px}.dashboard-heading{flex-wrap:wrap;gap:10px}.period strong{font-size:12px}.dashboard-actions{margin-bottom:16px}.dashboard-guidance{margin-bottom:16px;gap:8px}.dashboard-guidance>span{white-space:normal}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:13px}.card label{font-size:10px}.card small{font-size:11px}.metric{font-size:26px}.list-controls{justify-content:flex-start;width:100%}.list-controls input{width:100%}.status-filters{max-width:100%;overflow:auto}.status-filters button{padding:6px;font-size:10px}.toolbar{padding:12px}.dashboard-table .toolbar{padding:12px}.panel.flush{padding:0}.page-head h1{font-size:24px}.page-head p{font-size:13px}.page-head .actions{flex-wrap:wrap}}
@media print{.shell{display:block;margin:0;padding:0}.sidebar,.topbar,.dashboard-actions,.dashboard-guidance,.list-controls{display:none!important}.main{padding:0}.panel,.goal{box-shadow:none}}

.drill-card{text-align:left;position:relative;display:block;width:100%;color:inherit;transition:border-color .15s,box-shadow .15s}.drill-card:hover{background:#f8fcfa;border-color:#86bdaa;box-shadow:0 4px 14px #163e3014}.drill-card.accent:hover{background:#254d47}.card-label{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.65px;color:#657885}.accent .card-label{color:#bdd0df}.drill-hint{display:block;font-size:11px;margin-top:10px;color:var(--teal)}.accent .drill-hint{color:#b2ebd6}.drill-bar{display:block;width:100%;border:1px solid transparent;padding:12px 8px;margin:8px 0;text-align:left;background:transparent}.drill-bar:hover{background:#f0f7f4;border-color:#d2e7dd}.drill-bar .progress{display:block}.recommendation-row{display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(40px,1fr) 25px 12px;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #edf0f5;border-radius:5px;padding:14px 8px;background:transparent;text-align:left;font-size:13px}.recommendation-row .progress{display:block}.recommendation-row:hover{background:#eef7f3}.recommendation-row strong{text-align:right}.recommendation-note{font-size:12px;color:var(--muted);margin:16px 0 0}.detail-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:min(620px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-left:1px solid #d8dfe3;border-radius:0;box-shadow:-12px 0 45px #13243926;color:#1b3039;background:#fff}.detail-drawer[open]{display:flex;flex-direction:column}.detail-drawer::backdrop{background:#18233370}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 20px 18px;border-bottom:1px solid var(--line);background:#f7f8fa;gap:16px}.drawer-header h2{font-size:17px;margin:0 0 7px}.drawer-header p{margin:0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.drawer-header button{border:0;background:transparent;font-size:23px;padding:0 5px;line-height:1.2}.drawer-controls{padding:14px 18px;border-bottom:1px solid var(--line)}.drawer-sort{display:flex;align-items:center;gap:10px;margin-bottom:12px}.drawer-sort label{white-space:nowrap;text-transform:uppercase;font-size:10px;margin:0;letter-spacing:1px}.drawer-sort select{font-size:12px;min-height:34px;padding:6px 9px;flex:1;width:auto}.drawer-sort button{white-space:nowrap;font-size:12px}.drawer-controls>input{font-size:13px;min-height:35px}.drawer-context{font-size:12px;color:var(--muted);line-height:1.5;padding:12px 18px;margin:0;border-bottom:1px solid #e9edef}.drawer-list{flex:1;overflow:auto;overscroll-behavior:contain}.drawer-row{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #e1e6e8;border-radius:0;padding:17px 16px;text-align:left;background:#fafbfc}.drawer-row:hover{background:#eaf5ef}.drawer-row .avatar{width:32px;height:32px;font-size:11px;flex-shrink:0;background:#e1f1e9;color:#167760}.drawer-person{flex:1;min-width:0}.drawer-person strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;margin-top:4px}.drawer-score{text-align:right;min-width:49px;font-family:Consolas,monospace;font-size:14px}.drawer-score small{display:block;font-size:10px;font-family:inherit}.drawer-row>.badge{font-size:10px}.drawer-empty{padding:40px 22px;text-align:center;color:var(--muted);font-size:14px}.drawer-empty p{margin-top:12px}.drawer-footer{padding:13px 18px;background:#f7f9fa;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}@media(max-width:500px){.detail-drawer{width:100vw}.drawer-row{flex-wrap:wrap;gap:8px;padding:14px 12px}.drawer-person{min-width:130px}.drawer-row .badge{max-width:115px;white-space:normal}.drawer-sort{flex-wrap:wrap}.drawer-header{padding:18px}.recommendation-row{grid-template-columns:minmax(110px,1.3fr) minmax(30px,1fr) 22px 10px;gap:7px}}

