:root{--color-bg: #f5f6f8;--color-surface: #ffffff;--color-border: #dfe3e8;--color-text: #1f2430;--color-muted: #6b7280;--color-primary: #1d4e89;--color-warning: #b45309;--color-critical: #b91c1c;font-family:Segoe UI,Roboto,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--color-surface);border-right:1px solid var(--color-border);padding:16px}.sidebar h1{font-size:16px;margin-bottom:4px}.draft-badge{display:inline-block;background:var(--color-warning);color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;margin-bottom:16px}.sidebar nav a{display:block;padding:8px 10px;border-radius:6px;color:var(--color-text);text-decoration:none;margin-bottom:2px;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:#eef2f7;color:var(--color-primary)}.main-content{flex:1;padding:24px;max-width:1200px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.kpi-card .value{font-size:28px;font-weight:600}.kpi-card .label{color:var(--color-muted);font-size:13px}table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);font-size:14px}th{background:#fafbfc;color:var(--color-muted);font-weight:600}.login-shell{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:32px;width:100%;max-width:320px;margin:0 16px}.login-card input{width:100%;padding:10px;margin-bottom:12px;border:1px solid var(--color-border);border-radius:6px}.login-card button,.btn{background:var(--color-primary);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px}.error-text{color:var(--color-critical);font-size:13px;margin-bottom:8px}.page-header{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:16px}.badge{padding:2px 8px;border-radius:10px;font-size:12px}.badge.warning{background:#fef3c7;color:var(--color-warning)}.badge.critical{background:#fee2e2;color:var(--color-critical)}.badge.info{background:#dbeafe;color:var(--color-primary)}.star-rating-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.star-rating-label{min-width:130px;font-size:14px}.star-rating-stars{display:flex;gap:2px}.star-button{background:none;border:none;cursor:pointer;padding:0;width:44px;height:44px;font-size:26px;line-height:44px;color:var(--color-border);border-radius:6px}.star-button.star-filled{color:#f5a623}.star-button:hover,.star-button:focus-visible{color:#f5a623;outline:2px solid var(--color-primary);outline-offset:1px}.star-rating-unrated{color:var(--color-muted);font-size:12px}.overall-rating-preview{font-size:15px;font-weight:600;margin:12px 0}.employee-identity{display:flex;align-items:center;gap:12px;margin-bottom:16px}.employee-photo,.employee-photo-placeholder{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.employee-photo-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-border);color:var(--color-muted);font-size:22px;font-weight:600}.employee-photo-small,.employee-photo-placeholder.employee-photo-small{width:32px;height:32px;font-size:14px}.employee-identity-name{font-weight:600;font-size:15px}.employee-identity-id{color:var(--color-muted);font-size:13px}@media (max-width: 768px){.app-shell{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border)}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar nav a{margin-bottom:0}.main-content{padding:16px;max-width:100%}table{display:block;overflow-x:auto;white-space:nowrap}}
