:root{font-family:Manrope,sans-serif;font-size:15px;color:#12304f;background:radial-gradient(circle at top left,rgba(123,193,255,.24),transparent 28%),radial-gradient(circle at bottom right,rgba(14,110,219,.12),transparent 24%),linear-gradient(135deg,#f7fbff,#eff5fb 46%,#fbfdff);line-height:1.5;font-weight:500;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-text: #143250;--color-muted: #577692;--color-border: rgba(106, 160, 220, .24);--color-surface: rgba(255, 255, 255, .82);--color-surface-strong: #ffffff;--color-primary: #0a6ee1;--color-primary-dark: #0757b3;--color-primary-soft: #d9ebff;--color-secondary: #e9f3ff;--color-sidebar: rgba(255, 255, 255, .88);--color-error: #cc4562;--shadow-soft: 0 18px 40px rgba(48, 102, 168, .1);--shadow-strong: 0 14px 28px rgba(17, 76, 133, .12);--shadow-card: 0 16px 32px rgba(38, 92, 149, .08);--radius-xl: 24px;--radius-lg: 16px;--radius-md: 12px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;overflow-x:hidden}body.mobile-navigation-open{overflow:hidden}button,input,select{font:inherit}.auth-layout,.dashboard-shell{min-height:100vh;padding:10px 12px}.dashboard-shell{height:100vh;overflow-x:hidden;overflow-y:hidden}.auth-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;max-width:1560px;margin:0 auto}.auth-layout-centered{grid-template-columns:minmax(320px,460px);justify-content:center;align-content:center;max-width:none}.auth-hero,.auth-card,.dashboard-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.auth-hero{padding:56px;position:relative;overflow:hidden}.auth-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:240px;height:240px;background:linear-gradient(180deg,#0a6ee147,#0a6ee100);border-radius:50%;filter:blur(6px)}.hero-badge,.dashboard-kicker,.auth-card-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#0a6ee11a;color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.auth-hero h1,.dashboard-header h1,.auth-card h2{margin:16px 0 10px;color:var(--color-text);line-height:1.05}.auth-hero h1{font-size:clamp(2.8rem,4vw,4.8rem);max-width:11ch}.auth-hero p,.auth-card p,.dashboard-copy{color:var(--color-muted);font-size:1rem}.hero-highlights,.employee-grid{display:grid;gap:18px}.hero-highlights{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px}.hero-highlight-card,.employee-card{background:#ffffffc2;border:1px solid rgba(102,153,204,.18);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-strong)}.highlight-metric,.employee-card strong{display:block;color:var(--color-text);font-size:1.3rem;font-weight:800}.highlight-copy,.employee-label{color:var(--color-muted);font-size:.92rem}.auth-card,.dashboard-panel{padding:28px}.auth-layout-centered .auth-card{width:min(100%,460px);margin:0 auto}.auth-card-header{margin-bottom:28px}.auth-layout-centered .auth-card-header{text-align:center}.auth-form{display:grid;gap:20px}.auth-form-compact{gap:18px}.auth-form-centered{justify-items:center}.google-auth-section{display:grid;gap:12px;justify-items:center;width:100%}.google-auth-button{width:min(100%,360px);min-height:44px}.google-auth-button>div{margin:0 auto}.google-auth-button iframe{display:block;margin:0 auto}.auth-helper-text{margin:0;color:var(--color-muted);font-size:.92rem}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--color-muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#6aa0dc3d}.input-field{display:grid;gap:10px}.input-label{font-size:.95rem;font-weight:700;color:var(--color-text)}.input-control{width:100%;border:1px solid rgba(120,165,213,.35);border-radius:var(--radius-md);padding:13px 15px;background:#fffffff2;color:var(--color-text);outline:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.input-control:focus{border-color:#0a6ee1a6;box-shadow:0 0 0 4px #0a6ee11f;transform:translateY(-1px)}.input-control-error{border-color:#cc45628c}.input-message{font-size:.86rem;color:var(--color-muted)}.input-error,.form-error-banner{color:var(--color-error)}.form-error-banner,.form-success-banner{margin:0;padding:12px 14px;border-radius:12px}.form-error-banner{background:#cc456214;border:1px solid rgba(204,69,98,.16)}.form-success-banner{color:#1f7a4d;background:#1f7a4d1a;border:1px solid rgba(31,122,77,.18)}.button{border:none;border-radius:999px;padding:13px 18px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.72}.button-primary{background:linear-gradient(135deg,#0a6ee1,#2693ff);color:#fff;box-shadow:0 14px 30px #0a6ee13d}.button-secondary{background:var(--color-secondary);color:var(--color-primary)}.table-create-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.button-full-width{width:100%}.loader-shell{display:grid;justify-items:center;gap:16px;color:var(--color-muted)}.loader-full-screen{min-height:100vh;align-content:center}.loader-orb{width:52px;height:52px;border-radius:50%;border:4px solid rgba(10,110,225,.16);border-top-color:var(--color-primary);animation:spin .9s linear infinite}.dashboard-panel{width:100%;padding:24px 26px;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto}.dashboard-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;align-items:stretch;width:100%;height:100%;min-height:0}.mobile-menu-button,.sidebar-close{border:none;border-radius:999px;background:#0a6ee11f;color:var(--color-primary);font-weight:800;cursor:pointer}.mobile-menu-button{display:none;padding:12px 18px;box-shadow:0 10px 24px #184e841f}.mobile-menu-button,.sidebar-close{align-items:center;gap:8px}.mobile-menu-button svg,.sidebar-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.25}.sidebar-overlay{display:none}.sidebar-panel{display:grid;gap:14px;align-content:start;min-width:0;padding:18px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,rgba(255,255,255,.96),var(--color-sidebar)),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);min-height:0;height:100%;overflow-y:auto}.sidebar-mobile-topbar{display:none}.sidebar-brand h2{margin:10px 0 4px;color:var(--color-text);font-size:1.55rem}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-brand-row h2{margin:10px 0 4px}.sidebar-brand span{color:var(--color-muted);text-transform:capitalize}.sidebar-logout-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(106,160,220,.18);border-radius:12px;background:#fffc;color:var(--color-primary);cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,border-color .16s ease}.sidebar-logout-button:hover{transform:translateY(-1px);background:#0a6ee11a;box-shadow:0 10px 18px #1e5c9a14}.sidebar-logout-button svg{width:18px;height:18px}.sidebar-profile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:14px;background:linear-gradient(135deg,#0a6ee11a,#ffffffeb);border:1px solid rgba(10,110,225,.12)}.sidebar-profile>div{min-width:0}.sidebar-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--color-primary),#4aa4ff);color:#fff;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 20px #0a6ee12e}.sidebar-profile strong,.dashboard-status-card strong{display:block;color:var(--color-text)}.sidebar-profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile p,.dashboard-status-card p{margin:4px 0 0;color:var(--color-muted);font-size:.92rem}.sidebar-profile p{overflow-wrap:anywhere}.sidebar-nav{display:grid;gap:8px}.sidebar-link{display:flex;align-items:center;text-decoration:none;color:var(--color-text);padding:12px 14px;border-radius:12px;background:#ffffffc2;border:1px solid rgba(106,160,220,.16);font-weight:700;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.sidebar-link span{min-width:0;overflow-wrap:anywhere}.sidebar-link:hover{transform:translate(1px);box-shadow:0 10px 18px #1e5c9a0f}.sidebar-link small{color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sidebar-link-active{background:linear-gradient(135deg,#0a6ee1,#2693ff);color:#fff;border-color:transparent;box-shadow:0 12px 24px #0a6ee12e}.sidebar-link-active small{color:#ffffffd6}.dashboard-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-bottom:20px;align-items:start}.dashboard-header-content{flex:1 1 420px;min-width:0}.dashboard-topbar{display:flex;align-items:center;gap:12px}.dashboard-header h1{font-size:clamp(2rem,3vw,2.85rem);margin:14px 0 8px}.dashboard-copy{max-width:56ch;line-height:1.5}.dashboard-status-card{flex:0 0 210px;width:210px;padding:14px;border-radius:16px;background:linear-gradient(180deg,#d9ebff94,#fffffff0);border:1px solid rgba(106,160,220,.18);box-shadow:var(--shadow-card)}.dashboard-status-label{display:inline-flex;margin-bottom:8px;color:var(--color-primary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dashboard-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.employee-grid{grid-template-columns:repeat(4,minmax(220px,1fr))}.employee-card{min-height:132px;padding:22px;box-shadow:var(--shadow-card)}.employee-card strong{margin-top:10px;font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.2;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.form-surface,.data-table-shell{background:#ffffffc2;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);max-width:100%;overflow:hidden}.form-surface{padding:28px}.form-grid,.table-toolbar{display:grid;gap:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{display:flex;justify-content:flex-start}.table-toolbar{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.data-table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:16px 18px;text-align:left;border-bottom:1px solid rgba(106,160,220,.14)}.data-table th{color:var(--color-muted);font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.data-table td{color:var(--color-text);background:#ffffff8a}.data-table-feedback{text-align:center;color:var(--color-muted)}.table-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px}.table-pagination-copy,.table-pagination-page{color:var(--color-muted)}.table-pagination-actions{display:flex;align-items:center;gap:10px}.table-pagination-button{border:1px solid rgba(106,160,220,.22);background:#fff;color:var(--color-text);border-radius:999px;padding:8px 13px;font-weight:700;cursor:pointer}.table-pagination-button:disabled{cursor:not-allowed;opacity:.45}.role-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:800;text-transform:capitalize}.role-badge-admin{background:#0a6ee11f;color:var(--color-primary)}.role-badge-employee{background:#5776921f;color:#315271}.activity-filter-actions{display:flex;align-items:end}.activity-filter-actions .button{width:100%;min-height:52px}.activity-employee-cell,.activity-resource-cell,.activity-record-cell{display:grid;gap:4px;min-width:0}.activity-employee-cell strong,.activity-resource-cell strong,.activity-record-cell strong{overflow-wrap:anywhere}.activity-employee-cell span,.activity-resource-cell span,.activity-record-cell span,.activity-route-cell,.activity-context-cell{color:var(--color-muted);font-size:.86rem;overflow-wrap:anywhere}.activity-log-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:800}.activity-log-success{background:#1f7a4d1f;color:#1f7a4d}.activity-log-failed{background:#cc45621a;color:var(--color-error)}.review-status-draft{background:#5776921f;color:#315271}.review-status-active{background:#0a6ee11f;color:var(--color-primary)}.review-status-closed{background:#cc45621a;color:var(--color-error)}.review-status-submitted{background:#1f7a4d1f;color:#1f7a4d}.review-status-finalized{background:#38a36c1f;color:#236f4a}.admin-review-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.review-calendar-panel{display:grid;gap:18px;margin-bottom:22px;padding:24px;background:#ffffffc2;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.review-calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.review-calendar-header h2{margin:6px 0 0;color:var(--color-text);font-size:1.2rem}.review-calendar-header span{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:999px;background:#1f7a4d1f;color:#1f7a4d;font-size:.82rem;font-weight:800}.review-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:8px}.review-calendar-weekday{color:var(--color-muted);font-size:.78rem;text-align:center}.review-calendar-day{min-height:94px;padding:10px;border:1px solid rgba(106,160,220,.16);border-radius:8px;background:#ffffffd1}.review-calendar-day-muted{background:#f5f8fcb8;color:var(--color-muted)}.review-calendar-day>span{display:block;margin-bottom:8px;color:var(--color-text);font-size:.78rem;font-weight:800}.review-calendar-event{display:block;overflow:hidden;margin-top:6px;padding:6px 8px;border-radius:8px;background:#0a6ee11a;color:var(--color-primary);font-size:.78rem;font-weight:800;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.employee-meeting-cell{display:grid;gap:6px;min-width:210px}.employee-meeting-cell small{color:var(--color-muted);font-size:.78rem}.meeting-date-input{width:100%}.table-action-button{padding:10px 16px}.table-action-group{display:flex;flex-wrap:wrap;gap:8px}.employee-review-assignment{display:grid;gap:14px;padding-top:20px;border-top:1px solid var(--color-border)}.employee-review-assignment h2,.employee-review-assignment p{margin:0}.employee-review-assignment p,.employee-review-assignment small{color:var(--color-muted)}.employee-review-assignment-controls{display:flex;align-items:end;gap:12px}.employee-review-assignment-controls .input-field{flex:1}.review-period-create{margin-bottom:20px}.review-period-create-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,180px) minmax(120px,180px) auto;align-items:end;gap:16px}.review-period-create-form h2,.review-period-create-form .dashboard-kicker{margin:0}.admin-review-meeting{display:grid;gap:16px}.admin-review-meeting h2,.admin-review-meeting p{margin:0}.admin-review-meeting p,.admin-review-meeting small{color:var(--color-muted)}.admin-review-meeting-controls{display:flex;align-items:end;gap:12px}.admin-review-meeting-controls .input-field{flex:1}.google-calendar-placeholder{display:grid;gap:18px}.google-calendar-placeholder-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.google-calendar-placeholder h2,.google-calendar-placeholder p{margin:0}.google-calendar-placeholder p,.google-calendar-placeholder>small{color:var(--color-muted)}.calendar-participant-search{display:flex;align-items:end;gap:12px;margin:18px 0 10px}.calendar-participant-search .input-field{flex:1}.calendar-participant-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.calendar-participant-chips button{border:1px solid var(--color-border);border-radius:999px;background:var(--color-secondary);color:var(--color-text);padding:6px 10px;cursor:pointer}.calendar-participant-chips button span{margin-left:4px;font-weight:800}.google-calendar-preview{display:grid;grid-template-columns:68px repeat(5,minmax(110px,1fr));border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;min-width:640px;background:#fff9}.google-calendar-corner,.google-calendar-day,.google-calendar-row>span,.google-calendar-row>i{min-height:42px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.google-calendar-corner,.google-calendar-day{display:grid;place-items:center;padding:8px;background:var(--color-secondary);color:var(--color-text)}.google-calendar-day span{color:var(--color-muted);font-size:.8rem}.google-calendar-row{display:contents}.google-calendar-row>span{padding:10px 8px;color:var(--color-muted);font-size:.8rem}.google-calendar-row>i{display:block;cursor:pointer;background:repeating-linear-gradient(135deg,rgba(87,118,146,.025),rgba(87,118,146,.025) 4px,transparent 4px,transparent 8px)}.google-calendar-row>i.google-calendar-busy{background:#d645453d;cursor:not-allowed}.google-calendar-row:nth-last-child(-n+1)>*{border-bottom:0}.reviewer-panel-actions{display:flex;justify-content:end;margin-top:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;background:#12304f6b;z-index:50}.modal-panel{width:min(980px,100%);max-height:min(760px,calc(100vh - 40px));overflow-y:auto;padding:28px;background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.modal-header,.review-cycle-summary{display:flex;justify-content:space-between;gap:16px}.modal-header{align-items:flex-start;margin-bottom:22px}.modal-header .button{flex:0 0 auto;margin-top:2px}.review-cycle-summary{align-items:center}.modal-header h2{margin:12px 0 0;color:var(--color-text);font-size:2rem}.review-cycle-summary{flex-wrap:wrap;margin-bottom:18px;color:var(--color-muted);font-weight:800}.modal-table-shell{border-radius:var(--radius-lg)}.review-detail-toolbar,.review-employee-card{background:#ffffffc2;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.review-detail-toolbar{display:grid;gap:20px;margin-bottom:22px;padding:24px}.review-batch-controls,.review-date-grid,.reviewer-row{display:grid;gap:16px}.review-batch-controls{grid-template-columns:minmax(160px,260px) auto;align-items:end}.review-batch-controls-custom{grid-template-columns:minmax(160px,220px) minmax(140px,180px) auto}.review-toolbar-actions,.reviewer-panel-header,.review-employee-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.review-toolbar-actions{justify-content:flex-end;flex-wrap:wrap}.review-toolbar-actions .button{min-width:116px}.review-employee-list{display:grid;gap:18px;min-width:0}.review-schedule-table{min-width:1120px;table-layout:auto}.review-schedule-table th,.review-schedule-table td{padding:12px 10px}.review-schedule-table th:nth-child(1),.review-schedule-table td:nth-child(1){width:210px}.review-schedule-table th:nth-child(2),.review-schedule-table td:nth-child(2){width:115px}.review-schedule-table th:nth-child(3),.review-schedule-table td:nth-child(3),.review-schedule-table th:nth-child(4),.review-schedule-table td:nth-child(4){width:145px}.review-schedule-table th:nth-child(5),.review-schedule-table td:nth-child(5){width:205px}.review-schedule-table th:nth-child(6),.review-schedule-table td:nth-child(6){width:115px}.review-schedule-table th:nth-child(7),.review-schedule-table td:nth-child(7){width:205px}.review-schedule-table .table-action-group{flex-wrap:nowrap;gap:6px}.review-schedule-table .table-action-button{padding:9px 12px;white-space:nowrap}.review-schedule-table td strong,.review-schedule-table td span,.reviewer-name-cell strong,.reviewer-name-cell span{display:block}.review-schedule-table td span,.reviewer-name-cell span{margin-top:3px;color:var(--color-muted);font-size:.86rem}.table-date-input{width:100%;min-width:0;border:1px solid rgba(120,165,213,.35);border-radius:10px;padding:10px;background:#fffffff2;color:var(--color-text);outline:none}.table-date-input:focus{border-color:#0a6ee1a6;box-shadow:0 0 0 3px #0a6ee11a}.reviewer-cell{display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:nowrap}.review-employee-card{display:grid;gap:22px;padding:24px}.review-employee-header h2,.reviewer-panel h3{margin:0;color:var(--color-text)}.review-employee-header p{margin:4px 0 0;color:var(--color-muted)}.review-date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reviewer-panel{display:grid;gap:14px;padding-top:18px;border-top:1px solid rgba(106,160,220,.18)}.reviewer-row{grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(140px,1fr)) auto auto;align-items:end;padding:16px;border-radius:var(--radius-lg);background:#e9f3ff8a;border:1px solid rgba(106,160,220,.14)}.reviewer-modal-panel{width:min(920px,100%)}.reviewer-search-panel{display:grid;gap:14px;margin-bottom:20px;padding:18px;border-radius:var(--radius-lg);background:#e9f3ff75;border:1px solid rgba(106,160,220,.14)}.reviewer-combobox{position:relative}.reviewer-combobox-input{padding-right:44px}.reviewer-combobox:after{content:"v";position:absolute;right:16px;top:45px;color:var(--color-muted);font-size:.78rem;font-weight:900;pointer-events:none}.reviewer-combobox-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;gap:8px;max-height:240px;overflow-y:auto;padding:10px;background:var(--color-surface-strong);border:1px solid rgba(106,160,220,.22);border-radius:var(--radius-md);box-shadow:var(--shadow-strong);z-index:4}.reviewer-combobox-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;padding:11px 12px;border:1px solid rgba(106,160,220,.14);border-radius:10px;background:#fffffff0;color:var(--color-text);text-align:left;cursor:pointer}.reviewer-combobox-option:hover:not(:disabled){border-color:#0a6ee161;box-shadow:0 8px 16px #1e5c9a14}.reviewer-combobox-option:disabled{cursor:not-allowed;opacity:.58}.reviewer-combobox-option span{color:var(--color-muted);font-size:.86rem}.reviewer-combobox-option small{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--color-primary);font-weight:800}.reviewer-config-card{display:grid;grid-template-columns:minmax(220px,1.1fr) repeat(2,minmax(180px,1fr));gap:18px;align-items:start;padding:22px;border-radius:var(--radius-lg);background:#e9f3ff8a;border:1px solid rgba(106,160,220,.14)}.reviewer-config-card .reviewer-primary-toggle,.reviewer-config-card .button{align-self:end}.reviewer-config-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:2px}.reviewer-config-actions .reviewer-primary-toggle{min-height:auto}.reviewer-primary-toggle{min-height:52px;display:inline-flex;align-items:center;gap:8px;color:var(--color-text);font-weight:800}.reviewer-primary-toggle input{width:18px;height:18px;accent-color:var(--color-primary)}.reviewer-empty{margin:0;color:var(--color-muted)}.my-review-list,.assigned-review-item,.assigned-self-review,.assigned-self-review-section,.assigned-self-review-group,.review-form-shell,.rubric-section,.rating-group{display:grid;gap:14px}.my-review-card,.review-form-shell{background:#ffffffc7;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.my-review-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;color:var(--color-text);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.my-review-card:hover{border-color:#0a6ee152;box-shadow:var(--shadow-strong);transform:translateY(-1px)}.my-review-card-current{background:linear-gradient(135deg,#e9f3ffeb,#ffffffdb)}.my-review-card h2,.review-form-header h2,.rubric-section-title h3{margin:8px 0 4px;color:var(--color-text)}.my-review-card p,.rubric-section-title p,.rating-question p{margin:0;color:var(--color-muted)}.my-review-card>div>small{display:block;margin-top:6px;color:var(--color-muted)}.my-review-card-meta{display:grid;justify-items:end;gap:6px;min-width:150px}.my-review-card-meta strong{text-transform:capitalize}.my-review-card-meta small{color:var(--color-muted);font-weight:800}.assigned-review-item{gap:0}.assigned-review-preview-action{display:flex;justify-content:flex-end;margin:-1px 12px 0;padding:14px 18px;border:1px solid rgba(106,160,220,.16);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#f4f8fce6}.assigned-self-review{margin:-1px 12px 0;padding:18px;border:1px solid rgba(106,160,220,.16);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#f4f8fce6}.assigned-review-modal-panel{width:min(1100px,100%)}.assigned-review-reference-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px;flex-wrap:wrap}.assigned-self-review-modal{margin:0;padding:0;border:0;border-radius:0;background:transparent}.assigned-self-review-header,.assigned-self-review-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.assigned-self-review-header h3,.assigned-self-review-section h4{margin:4px 0 0;color:var(--color-text)}.assigned-self-review-section{padding-top:14px;border-top:1px solid rgba(106,160,220,.14)}.assigned-self-review-group{padding:14px;border:1px solid rgba(106,160,220,.14);border-radius:var(--radius-md);background:#ffffffc2}.assigned-self-review-row{padding-top:12px;border-top:1px solid rgba(106,160,220,.12)}.assigned-self-review-row span,.assigned-self-review-overall strong{color:var(--color-text);font-weight:800}.assigned-self-review-row p,.assigned-self-review-overall p{margin:4px 0 0;color:var(--color-muted);white-space:pre-wrap}.assigned-self-review-overall{padding:14px;border-radius:var(--radius-md);background:#ffffffc7}.review-form-shell{padding:28px}.review-form-header,.rubric-section-title,.review-form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.completion-meter{width:min(280px,100%);height:12px;overflow:hidden;border-radius:999px;background:#6aa0dc29}.completion-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#0a6ee1,#38a36c);transition:width .18s ease}.employee-final-result{display:grid;gap:16px;padding:18px;border:1px solid rgba(56,163,108,.2);border-radius:var(--radius-lg);background:#38a36c12}.employee-final-score{display:grid;gap:4px}.employee-final-score span,.employee-final-details span,.employee-final-summary span,.employee-final-date{color:var(--color-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.employee-final-score strong{color:#236f4a;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.employee-final-score p,.employee-final-summary p{margin:0;color:var(--color-text)}.employee-final-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.employee-final-details article{display:grid;gap:4px;padding:14px;border:1px solid rgba(106,160,220,.16);border-radius:14px;background:#ffffffc7}.employee-final-details strong{color:var(--color-text);font-size:1.25rem}.employee-final-details small{color:var(--color-muted);font-weight:800}.employee-final-summary{display:grid;gap:6px}.employee-final-summary p{line-height:1.65;white-space:pre-wrap}.rubric-section{padding-top:22px;border-top:1px solid rgba(106,160,220,.16)}.rubric-section-title strong{color:var(--color-primary);white-space:nowrap}.rating-group{margin:0;padding:18px;border:1px solid rgba(106,160,220,.16);border-radius:var(--radius-lg);background:#e9f3ff6b}.rating-group legend{padding:0 8px;color:var(--color-text);font-weight:800}.rating-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,auto);gap:14px 18px;align-items:center;padding:16px;border-radius:14px;background:#ffffffc7;border:1px solid rgba(106,160,220,.14)}.rating-row-error{border-color:#cc456257}.rating-question label,.overall-comment span{display:block;color:var(--color-text);font-weight:800}.rating-row textarea,.overall-comment textarea{grid-column:1 / -1;width:100%;resize:vertical;border:1px solid rgba(120,165,213,.35);border-radius:12px;padding:12px 14px;background:#fffffff0;color:var(--color-text);outline:none}.rating-row textarea:focus,.overall-comment textarea:focus{border-color:#0a6ee1a6;box-shadow:0 0 0 3px #0a6ee11a}.star-rating{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px}.star-meter{display:inline-flex;align-items:center;gap:3px}.star-shell{position:relative;display:inline-block;width:30px;height:30px;color:#5776924d;font-size:1.65rem;line-height:30px}.star-symbol{display:block;width:100%;height:100%;background:linear-gradient(90deg,#f5a524 var(--star-fill, 0%),rgba(87,118,146,.3) var(--star-fill, 0%));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;line-height:30px;pointer-events:none;white-space:nowrap}.star-hit{position:absolute;top:0;bottom:0;border:none;padding:0;background:transparent;cursor:pointer}.star-hit-left{left:0;width:50%}.star-hit-right{right:0;width:50%}.star-hit-whole{top:0;right:0;bottom:0;left:0;width:100%}.star-rating-disabled .star-hit{cursor:not-allowed}.star-readout{min-width:46px;color:var(--color-muted);font-weight:800;text-align:right}.star-exact{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);font-weight:800}.star-exact select{width:74px;border:1px solid rgba(120,165,213,.35);border-radius:10px;padding:8px 10px;background:#fff;color:var(--color-text);font-weight:800}.overall-comment{display:grid;gap:10px}.overall-comment small{color:var(--color-muted);font-weight:700}.review-form-actions{justify-content:flex-end}.admin-review-record,.admin-record-section,.admin-submission-content,.admin-rubric-section,.admin-rating-group,.admin-journal-list,.admin-objective-list,.admin-kpi-list{display:grid;gap:16px}.admin-review-record{gap:22px}.admin-view-tabs,.admin-tab-list{display:flex;align-items:stretch;gap:6px;overflow-x:auto;scrollbar-width:thin}.admin-view-tabs{padding:6px;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-lg);background:#ffffffbd;box-shadow:var(--shadow-card)}.admin-view-tabs button,.admin-tab-list button{flex:1 0 auto;min-height:44px;border:1px solid transparent;border-radius:8px;padding:10px 16px;background:transparent;color:var(--color-muted);font:inherit;font-weight:800;white-space:nowrap;cursor:pointer}.admin-view-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:10px}.admin-view-tabs button>span{min-width:24px;padding:2px 6px;border-radius:999px;background:#5776921f;font-size:.78rem}.admin-view-tabs button:hover,.admin-tab-list button:hover{color:var(--color-text);background:#e9f3ffad}.admin-view-tabs button.admin-tab-active,.admin-tab-list button.admin-tab-active{border-color:#0a6ee142;background:#0a6ee11a;color:var(--color-primary)}.admin-reviewer-tabs{padding-bottom:4px;border-bottom:1px solid rgba(106,160,220,.16)}.admin-reviewer-tabs button{display:grid;gap:2px;text-align:left}.admin-reviewer-tabs button small{color:inherit;font-size:.72rem}.admin-rubric-tabs{width:min(420px,100%);padding-top:4px}.admin-record-summary,.admin-record-section,.admin-submission{background:#ffffffc7;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.admin-record-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px}.admin-record-summary h2,.admin-section-heading h2{margin:8px 0 4px;color:var(--color-text)}.admin-record-summary p,.admin-section-heading p{margin:0;color:var(--color-muted)}.admin-record-dates{display:grid;gap:5px;justify-items:end;color:var(--color-muted)}.admin-record-dates strong{color:var(--color-text)}.admin-record-section{padding:24px}.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:4px}.admin-section-heading>span{color:var(--color-muted);font-weight:800}.admin-submission{overflow:hidden;border-radius:var(--radius-lg);box-shadow:none}.admin-submission-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.admin-submission-header>span:first-child{display:grid;gap:4px;min-width:0;margin-right:auto}.admin-submission-header small,.admin-objective-row small{color:var(--color-muted)}.admin-submission>.admin-empty-copy{padding:0 20px 20px}.admin-submission-content{padding:0 20px 20px;border-top:1px solid rgba(106,160,220,.16)}.admin-submission-meta{display:flex;justify-content:space-between;gap:16px;padding-top:18px;color:var(--color-muted);font-weight:800}.admin-rubric-section{padding-top:18px;border-top:1px solid rgba(106,160,220,.16)}.admin-rubric-section h3,.admin-rating-group h4{margin:0;color:var(--color-text)}.admin-rating-group{padding:16px;border-radius:var(--radius-lg);background:#e9f3ff6b;border:1px solid rgba(106,160,220,.14)}.admin-rating-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:18px;padding:14px 16px;border-radius:var(--radius-md);background:#ffffffd1;border:1px solid rgba(106,160,220,.12)}.admin-rating-row p,.admin-overall-comment p,.admin-empty-copy{margin:6px 0 0;color:var(--color-muted);white-space:pre-wrap}.admin-overall-comment{padding:16px;border-radius:var(--radius-md);background:#f4f8fce6}.admin-empty-copy{margin:0}.admin-journal-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-objective-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:20px;width:100%;padding:18px;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-lg);background:#ffffffe6;color:var(--color-text);text-align:left;cursor:pointer}.admin-objective-row:hover{border-color:#0a6ee161;box-shadow:0 8px 18px #1e5c9a14}.admin-objective-row>span:first-child{display:grid;gap:5px}.admin-objective-modal{width:min(880px,100%)}.admin-objective-modal>p,.kpi-comments-modal>p{margin:-8px 0 20px;color:var(--color-muted);white-space:pre-wrap}.admin-finish-modal{width:min(900px,100%);max-height:min(88vh,900px);overflow-y:auto}.final-lock-notice,.finalization-issues{display:grid;gap:5px;margin-bottom:18px;padding:14px 16px;border-radius:14px}.final-lock-notice{border:1px solid rgba(56,163,108,.24);background:#38a36c14;color:#236f4a}.final-lock-notice span,.finalization-issues small{color:var(--color-muted)}.finalization-issues{border:1px solid rgba(204,69,98,.24);background:#cc456212}.finalization-issues p{margin:0;color:#9e2948;font-weight:750}.final-score-summary{display:grid;gap:18px}.final-score-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:center;padding:22px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#123e67,#176b73);color:#fff}.final-score-hero:after{content:"";position:absolute;width:180px;height:180px;right:-65px;bottom:-105px;border-radius:50%;background:#ffffff1a}.final-score-hero>span,.final-score-hero>strong{grid-row:span 2}.final-score-hero>span{align-self:end;color:#ffffffb8;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.final-score-hero>strong{font-size:clamp(3rem,8vw,5rem);line-height:.95}.final-score-hero>div{align-self:end;font-size:1.15rem;font-weight:850}.final-score-hero p{align-self:start;margin:0;color:#ffffffbd}.final-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.final-category-grid article{display:grid;gap:5px;padding:17px;border:1px solid rgba(106,160,220,.18);border-radius:14px;background:#e9f3ff6b}.final-category-grid span,.final-category-grid small,.final-category-grid p{color:var(--color-muted)}.final-category-grid strong{color:var(--color-text);font-size:1.4rem}.final-category-grid p{margin:2px 0 0;font-size:.82rem}.final-reviewer-breakdown{display:grid;gap:8px}.final-reviewer-breakdown .admin-section-heading{margin:2px 0 4px}.final-reviewer-breakdown h3{margin:4px 0 0}.final-reviewer-row{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(100px,1fr));gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:#f4f8fce6;color:var(--color-muted);font-size:.86rem}.final-reviewer-row>span:first-child{display:grid;gap:2px;color:var(--color-text)}.final-reviewer-row small{color:var(--color-muted)}.final-summary-editor{display:grid;gap:6px;margin-top:20px}.final-summary-editor small{color:var(--color-muted)}.final-summary-editor textarea{margin-top:5px}.final-summary-readonly{margin-top:20px;padding:18px;border-left:4px solid var(--color-primary);border-radius:0 14px 14px 0;background:#e9f3ff6b}.final-summary-readonly p{margin:8px 0 0;color:var(--color-text);line-height:1.7;white-space:pre-wrap}.final-finish-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.journal-entry-shell,.journal-card,.journal-empty-state{position:relative;overflow:hidden;background:#ffffffd1;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.journal-entry-shell{margin-bottom:22px;padding:28px}.journal-entry-shell:after,.journal-card:after{content:"";position:absolute;inset:auto -40px -46px auto;width:140px;height:140px;background:radial-gradient(circle,rgba(10,110,225,.12),transparent 68%);pointer-events:none}.journal-entry-header{margin-bottom:20px}.journal-entry-header h2,.journal-empty-state h2,.journal-card-header h2{margin:12px 0 6px;color:var(--color-text)}.journal-entry-header p,.journal-empty-state p,.journal-card-header p,.journal-note-body p{margin:0;color:var(--color-muted)}.journal-entry-form{display:grid;gap:18px}.journal-toolbar{margin-bottom:18px}.journal-toolbar-compact{grid-template-columns:minmax(180px,220px) minmax(180px,220px) auto auto;align-items:end;gap:14px}.journal-filter-actions{display:flex;align-items:end}.journal-add-action{justify-content:flex-end}.journal-filter-actions .button,.journal-add-action .button{min-width:0;white-space:nowrap}.journal-textarea-field{display:grid;gap:10px}.journal-entry-textarea{grid-column:1 / -1}.journal-textarea{width:100%;min-height:120px;resize:vertical;border:1px solid rgba(120,165,213,.35);border-radius:16px;padding:14px 16px;background:#fffffff2;color:var(--color-text);outline:none}.journal-textarea:focus{border-color:#0a6ee1a6;box-shadow:0 0 0 4px #0a6ee11a}.journal-form-actions{display:flex;justify-content:flex-end}.journal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.journal-card{display:grid;gap:14px;min-height:0;padding:22px 24px;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);color:inherit;cursor:pointer;font:inherit;text-align:left;background:linear-gradient(180deg,#f8fbfff5,#fffffffa),#ffffffd1;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.journal-card:hover{box-shadow:var(--shadow-strong);border-color:#0a6ee13d;transform:translateY(-2px)}.journal-card:focus-visible{outline:4px solid rgba(10,110,225,.18);outline-offset:3px}.journal-card:nth-child(3n){background:linear-gradient(180deg,#f3f9fffa,#fffffffa),#ffffffd1}.journal-card:nth-child(4n){background:linear-gradient(180deg,#f6fbfffa,#fffffffa),#ffffffd1}.journal-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;color:var(--color-muted);font-size:.95rem;font-weight:600}.journal-card-meta-separator{color:#6aa0dccc}.journal-card-content{margin:0;color:var(--color-text);white-space:pre-wrap;line-height:1.7;font-size:1.15rem}.journal-empty-state,.journal-loading-shell,.journal-pagination-shell{margin-top:22px}.journal-empty-state{padding:36px 28px;text-align:center}.journal-loading-shell{padding:32px;border-radius:var(--radius-xl);background:#ffffff8a}.journal-pagination-shell{overflow:hidden;margin-top:18px}.journal-modal-panel{width:min(720px,100%)}.journal-detail-note{display:grid;gap:16px;padding:20px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffac4c7,#fffffff2),#fff;border:1px solid rgba(106,160,220,.18)}.journal-detail-note p{margin:0;color:var(--color-text);white-space:pre-wrap}.journal-detail-note small{color:var(--color-muted);font-weight:800}.table-link{color:var(--color-primary);font-weight:800;text-decoration:none}.table-link:hover{text-decoration:underline}.table-link-button{border:none;padding:0;background:transparent;cursor:pointer;font:inherit;text-align:left}.kpi-objective-form,.kpi-detail-section{margin-bottom:20px}.kpi-objective-modal{width:min(780px,100%)}.kpi-comments-modal{width:min(760px,100%)}.kpi-comment-add-modal{width:min(620px,100%)}.modal-backdrop-stacked{z-index:60}.modal-backdrop-deep{z-index:70}.kpi-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.kpi-wide-field{grid-column:1 / -1}.button-danger{border-color:#be2d374d;background:#fff;color:#a9232d}.button-danger:hover{border-color:#a9232d;background:#be2d3712}.app-dialog-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0a1e3485;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-dialog{width:min(100%,480px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-strong);box-shadow:0 24px 64px #08264847}.app-dialog-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-size:1.1rem;font-weight:900}.app-dialog-warning .app-dialog-icon{background:#fff1cf;color:#a56200}.app-dialog-error .app-dialog-icon{background:#ffe1e8;color:var(--color-error)}.app-dialog-success .app-dialog-icon{background:#ddf7e6;color:#207a44}.app-dialog-content h2{margin:2px 0 8px;color:var(--color-text);font-size:1.15rem}.app-dialog-content p{margin:0;color:var(--color-muted)}.app-dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.employee-status-active{color:#166b42;background:#36a2681f}.employee-status-archived{color:#705b23;background:#b58b2e24}.pm-objectives-workspace{padding:28px;border-bottom:1px solid rgba(106,160,220,.18)}.pm-objectives-workspace-modal{padding:0;border-bottom:0}.pm-objectives-header,.pm-objective-title-row,.pm-objective-meta,.pm-kpi-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.pm-objectives-header h2,.pm-objective-title-row h3{margin:5px 0;color:var(--color-text)}.pm-objectives-header p,.pm-objective-title-row p,.pm-kpi-summary p,.pm-kpi-comments>p{margin:0;color:var(--color-muted)}.pm-objective-list{margin-top:20px;border-top:1px solid rgba(106,160,220,.2)}.pm-objective-item{padding:22px 0;border-bottom:1px solid rgba(106,160,220,.2)}.pm-objective-meta{justify-content:flex-start;margin-top:14px}.pm-objective-meta .progress-cell{width:min(320px,100%)}.pm-kpi-list{margin-top:18px;padding-left:18px;border-left:3px solid rgba(10,110,225,.16)}.assigned-kpi-modal{width:min(1000px,100%)}.pm-kpi-list-modal{margin-top:0;padding-left:0;border-left:0}.pm-kpi-row{padding:16px 0;border-top:1px solid rgba(106,160,220,.15)}.pm-kpi-summary{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,240px) auto auto}.pm-kpi-summary strong,.pm-kpi-comments>strong{color:var(--color-text)}.pm-kpi-comments{margin-top:14px;padding:14px;background:#f4f8fcbf}.pm-kpi-comments .kpi-comment{margin-top:10px}.progress-cell,.kpi-progress-summary{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:10px;align-items:center;min-width:150px}.progress-track{display:block;height:10px;overflow:hidden;border-radius:999px;background:#6aa0dc29}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#0a6ee1,#38a36c)}.progress-cell strong,.kpi-progress-summary strong{color:var(--color-text);font-size:.9rem}.kpi-status-not_started{background:#5776921f;color:#315271}.kpi-status-in_progress{background:#0a6ee11f;color:var(--color-primary)}.kpi-status-completed{background:#1f7a4d1f;color:#1f7a4d}.kpi-status-on_hold{background:#f5a52429;color:#8a570f}.kpi-card-list{display:grid;gap:18px}.kpi-card{display:grid;gap:20px;padding:24px;background:#ffffffc7;border:1px solid rgba(106,160,220,.18);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.kpi-card-header{display:flex;justify-content:space-between;gap:18px;align-items:start}.kpi-card-header h2{margin:10px 0 0;color:var(--color-text);font-size:1.35rem;overflow-wrap:anywhere}.kpi-progress-summary{width:min(220px,100%);padding-top:10px}.kpi-edit-grid{padding-top:18px;border-top:1px solid rgba(106,160,220,.16)}.kpi-comments{display:grid;gap:14px;padding-top:18px;border-top:1px solid rgba(106,160,220,.16)}.kpi-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.kpi-comment-list{display:grid;gap:10px}.kpi-comment{padding:14px 16px;border-radius:var(--radius-md);background:#e9f3ff7a;border:1px solid rgba(106,160,220,.14)}.kpi-comment p,.kpi-empty-comments{margin:0;color:var(--color-text);white-space:pre-wrap}.kpi-comment small{display:block;margin-top:8px;color:var(--color-muted);font-weight:800}.kpi-empty-comments{color:var(--color-muted)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1200px){.dashboard-layout{grid-template-columns:260px minmax(0,1fr)}.employee-grid,.table-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-toolbar-compact{grid-template-columns:repeat(2,minmax(200px,1fr))}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1120px){.dashboard-shell{height:auto;padding:0;overflow-y:visible}.dashboard-layout{grid-template-columns:1fr;gap:0;height:auto}.dashboard-panel,.sidebar-panel{min-height:auto}.dashboard-panel{border-radius:0;height:auto;min-height:100vh;overflow-y:visible;padding-top:24px}.mobile-menu-button{display:inline-flex;min-height:44px}.dashboard-topbar{flex-wrap:wrap;margin-bottom:6px}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#12304f61;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:28}.sidebar-overlay-visible{opacity:1;pointer-events:auto}.sidebar-panel{position:fixed;top:0;left:0;width:min(88vw,320px);height:100vh;border-radius:0 28px 28px 0;border-left:none;z-index:30;transform:translate(-102%);transition:transform .22s ease;overflow-y:auto;padding-top:18px}.sidebar-panel-open{transform:translate(0)}.sidebar-mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-close{display:inline-flex;padding:10px 14px}}@media (max-width: 960px){.auth-layout{grid-template-columns:1fr;padding:20px}.auth-layout-centered{justify-content:stretch;align-content:start}.form-grid,.table-toolbar,.admin-review-toolbar,.review-calendar-grid,.review-batch-controls,.review-date-grid,.reviewer-row,.reviewer-config-card,.my-review-card,.rating-row,.admin-rating-row,.assigned-self-review-row,.pm-kpi-summary,.admin-objective-row,.final-category-grid,.final-reviewer-row,.employee-final-details,.dashboard-header,.table-pagination{grid-template-columns:1fr}.pm-objectives-header,.pm-objective-title-row,.pm-objective-meta{align-items:flex-start;flex-direction:column}.modal-header,.review-calendar-header,.review-employee-header,.reviewer-panel-header,.reviewer-config-actions,.review-toolbar-actions,.kpi-card-header{align-items:flex-start}.review-employee-header,.reviewer-panel-header,.reviewer-config-actions,.review-toolbar-actions,.review-form-header,.rubric-section-title,.review-form-actions,.assigned-self-review-header,.assigned-self-review-row,.admin-record-summary,.admin-section-heading,.admin-submission-meta,.journal-form-actions,.journal-filter-actions,.activity-filter-actions,.journal-card-header,.kpi-card-header,.final-finish-actions{flex-direction:column}.kpi-comment-form{grid-template-columns:1fr}.admin-record-summary,.admin-section-heading,.admin-submission-meta{align-items:flex-start}.admin-record-dates{justify-items:start}.admin-journal-list{grid-template-columns:1fr}.dashboard-actions,.my-review-card-meta,.form-actions{justify-content:stretch}.my-review-card-meta{justify-items:start}.assigned-self-review{margin-inline:0}.star-rating{justify-content:flex-start}.table-pagination{display:grid}.dashboard-shell{padding:0}.dashboard-layout{grid-template-columns:1fr;gap:0}.auth-hero,.auth-card,.dashboard-panel{padding:24px}.hero-highlights,.employee-grid,.dashboard-header,.journal-grid{grid-template-columns:1fr}.dashboard-panel,.sidebar-panel{min-height:auto}.dashboard-panel{border-radius:0;min-height:100vh;padding-top:24px}}@media (max-width: 640px){.auth-layout,.dashboard-shell{padding:14px}.dashboard-panel,.sidebar-panel,.auth-hero,.auth-card{padding:18px}.employee-grid,.journal-toolbar-compact{grid-template-columns:1fr}.dashboard-panel{padding-top:18px;border-radius:0}.sidebar-panel{border-radius:0 24px 24px 0}.sidebar-brand h2{font-size:1.75rem}.dashboard-header{gap:12px;margin-bottom:16px}.dashboard-header h1{font-size:1.9rem}.dashboard-copy{font-size:.94rem}.dashboard-actions,.form-actions,.review-toolbar-actions,.reviewer-panel-actions,.journal-form-actions,.journal-filter-actions,.activity-filter-actions,.final-finish-actions,.assigned-review-reference-actions,.dashboard-actions .button,.form-actions .button,.review-toolbar-actions .button,.reviewer-panel-actions .button,.journal-form-actions .button,.journal-filter-actions .button,.activity-filter-actions .button,.final-finish-actions .button,.assigned-review-reference-actions .button{width:100%}.button,.table-pagination-button,.mobile-menu-button{min-height:44px}input,select,textarea{font-size:16px}.form-surface,.review-calendar-panel,.journal-entry-shell,.kpi-card{border-radius:var(--radius-lg);padding:18px}.data-table-scroll{-webkit-overflow-scrolling:touch}.data-table{min-width:680px}.review-schedule-table{min-width:980px}.table-pagination-actions{width:100%;justify-content:space-between}.table-pagination-page{text-align:center}.review-calendar-panel,.google-calendar-placeholder{overflow-x:auto}.review-calendar-grid{min-width:640px;grid-template-columns:repeat(7,minmax(84px,1fr))}.review-calendar-day{min-height:82px;padding:8px}.employee-review-assignment-controls,.admin-review-meeting-controls,.google-calendar-placeholder-header,.review-calendar-header{align-items:stretch;flex-direction:column}.employee-review-assignment-controls .button,.admin-review-meeting-controls .button{width:100%}.modal-backdrop,.app-dialog-backdrop{padding:12px}.modal-panel{width:100%;max-height:calc(100vh - 24px);padding:18px;border-radius:var(--radius-lg)}.app-dialog{padding:18px;grid-template-columns:1fr;gap:12px}.app-dialog-icon{width:30px;height:30px}.app-dialog-actions{flex-direction:column-reverse}.app-dialog-actions .button{width:100%}}
