/* HR Cello v5.18.0 — Cello Ocean UI refresh. Loaded last so every module shares one visual language. */
:root{
  --ink:#17324d;
  --muted:#6b7d90;
  --line:#dce7ed;
  --bg:#f2f8fa;
  --card:#ffffff;
  --ok:#16866b;
  --warn:#d99a18;
  --bad:#d95c68;
  --blue:#247f98;
  --violet:#7167c9;
  --accent:#1d8797;
  --accent-dark:#0f5f70;
  --accent-soft:#e6f4f6;
  --accent-soft-2:#f0f8f9;
  --shadow:0 12px 34px rgba(25,79,91,.075);
}
html{background:#f2f8fa}
body{background:linear-gradient(180deg,#eef7f9 0,#f7fafb 260px,#f3f7f9 100%);color:var(--ink)}
.side{background:linear-gradient(180deg,#f9fdfe 0%,#f4fafb 100%);border-right-color:#d8e6ea}
.brand{color:#123d4b}.brand img{border-color:#c9dde2;box-shadow:0 6px 18px rgba(15,95,112,.12)}
.nav a{color:#375467}.nav a:hover{background:#eaf4f6;color:#123d4b}.nav a.active{background:linear-gradient(135deg,#0f5f70,#238b9b);color:#fff;box-shadow:0 8px 20px rgba(15,95,112,.2)}
.nav-count{background:#d95c68}.side-note{background:#f6fbfc;border-color:#d9e8ec}
.page-title{color:#17324d}.eyebrow{color:#668093}.card{border-color:#dce7ed;box-shadow:var(--shadow)}
.card-head h2,.card h2,.card h3{color:#17324d}
.btn{background:linear-gradient(135deg,#0f6878,#248d9c);color:#fff;box-shadow:0 4px 12px rgba(15,104,120,.12)}
.btn:hover{opacity:1;filter:brightness(.98);transform:translateY(-1px)}
.btn.alt{background:#fff;color:#176a79;border-color:#cbdfe4;box-shadow:none}.btn.alt:hover{background:#edf7f8;border-color:#a9cdd4}
.btn.soft{background:#e9f3f5;color:#24586a;box-shadow:none}.btn.bad{background:#d95c68}.btn.ok{background:#16866b}
input,select,textarea{border-color:#cedee4;background:#fff;color:#17324d}input:focus,select:focus,textarea:focus{border-color:#248d9c;box-shadow:0 0 0 3px rgba(36,141,156,.14)}
.table th{color:#688093}.table tr:hover td{background:#f7fbfc}.badge{background:#e7f2f6;color:#286479}.badge.pending{background:#fff4d7;color:#8b6310}.badge.active,.badge.approved{background:#e7f6f0;color:#117058}.badge.rejected,.badge.locked{background:#ffedf0;color:#b74451}.badge.manager{background:#eeeafd;color:#655bb2}.badge.admin{background:#155f70;color:#fff}
.alert{background:#e7f6f0;border-color:#bfe5d8;color:#176b59}.alert.bad{background:#ffeff1;border-color:#f2c8ce;color:#a74450}
.progress{background:#e6eef1}.progress>span{background:linear-gradient(90deg,#1d8797,#43a9a4)}
.tabs{background:#e9f2f4}.tabs a.active{background:#176b7b;color:#fff}.today .date-num{background:#176b7b}.day.today{box-shadow:inset 0 0 0 2px #248d9c}
.stat-icon{background:#e8f4f7;color:#247f98}.stat:nth-child(2) .stat-icon{background:#e7f6f0;color:#16866b}.stat:nth-child(3) .stat-icon{background:#efecfb;color:#7167c9}.stat:nth-child(4) .stat-icon{background:#fff4df;color:#bb7b12}.stat:nth-child(5) .stat-icon{background:#ffedf0;color:#d95c68}
.employee-quick-action{background:#f7fbfc;border-color:#dce8ec}.employee-quick-action>span{background:#e7f2f5}.employee-quick-action.primary{background:linear-gradient(135deg,#105f70,#248d9c);color:#fff}.employee-quick-action.primary>span{background:rgba(255,255,255,.16);color:#fff}
.notice-action{color:#17778a}.notice-dot{background:#d95c68}.notification-filters button.active{background:#176b7b!important;color:#fff!important}
.demo-avatar,.avatar-lg{background:#176b7b}.demo-module-grid>a:hover{border-color:#8dbdc6}.demo-module-grid b{color:#17324d}

/* Schedule: consistent Cello Ocean colors without changing shift semantics. */
.schedule-v2-tabs{border-color:#d7e6ea;background:#f8fcfd}.schedule-v2-tabs a.active{background:linear-gradient(135deg,#105f70,#248d9c);color:#fff}
.schedule-v2-workflow,.schedule-v2-employee-state{border-color:#cfe2e7;background:#f5fafb}.schedule-v2-workflow>div:first-child>span,.schedule-v2-employee-state span{background:#dff1f4;color:#176b7b}
.schedule-v2-scroll{border-color:#d5e4e8;box-shadow:0 9px 25px rgba(27,83,96,.065)}
.schedule-v2-matrix thead th,.schedule-v2-coverage-row th{background:#eef6f8!important;color:#49677a}.schedule-v2-day-head b{color:#17324d}.schedule-v2-day-head.is-today{box-shadow:inset 0 -3px #248d9c}.schedule-v2-cell.is-today{box-shadow:inset 0 0 0 2px #248d9c}
.schedule-v2-cell>button:hover:not([aria-disabled="true"]),.schedule-v2-cell>button:focus-visible:not([aria-disabled="true"]){outline-color:#248d9c;box-shadow:0 7px 16px rgba(24,111,127,.16)}
.schedule-v2-cell.full>button,.schedule-v2-cell.full .schedule-v2-readonly{background:#e8f2fb;color:#27658c;border-color:#c5daea}.schedule-v2-cell.part_morning>button,.schedule-v2-cell.part_morning .schedule-v2-readonly{background:#e9f7f0;color:#177255;border-color:#bee5d5}.schedule-v2-cell.part_afternoon>button,.schedule-v2-cell.part_afternoon .schedule-v2-readonly{background:#fff5df;color:#936311;border-color:#f0d798}.schedule-v2-cell.off>button,.schedule-v2-cell.off .schedule-v2-readonly{background:#f0f4f6;color:#607786;border-color:#d7e0e5}
.schedule-v2-quota.ok,.schedule-v2-row-status.ok,.schedule-v2-coverage-row td.ok{color:#117058;background:#eaf7f2}.schedule-v2-quota.bad,.schedule-v2-row-status.bad,.schedule-v2-coverage-row td.bad{color:#b74451;background:#fff0f2}.schedule-v2-row-status.pending{color:#8b6310;background:#fff6df}
.schedule-v2-legend i.full{background:#3b82a3}.schedule-v2-legend i.part_morning{background:#26966f}.schedule-v2-legend i.part_afternoon{background:#e1a126}.schedule-v2-legend i.off{background:#8ba0ad}
.schedule-v2-drawer aside{background:#fafdfe}.schedule-v2-shift-options input:checked+span{border-color:#176b7b;background:linear-gradient(135deg,#105f70,#248d9c);box-shadow:0 7px 17px rgba(15,104,120,.18)}
.schedule-v2-preview{border-color:#d9e7eb;background:#f5fafb}.schedule-v2-preview-loading span{border-top-color:#248d9c}.schedule-v2-history-dot{background:#248d9c}.employee-counterpart{background:#e8f4f7;color:#175d6d}
.schedule-v2-employee-state.premonth,.self-schedule-callout.active,.self-schedule-callout.calendar-first{border-color:#a8dac8;background:linear-gradient(135deg,#eaf8f2,#f4fbf8)}.schedule-v2-employee-state.premonth span{background:#16866b}.schedule-v2-cell.is-premonth-editable{background:#fbfefd}.premonth-calendar-cell:hover{background:#eaf8f2}

/* Employee schedule summary requested in v5.18.0. */
.schedule-employee-kpis{display:grid;grid-template-columns:1.2fr repeat(3,.8fr) 1.25fr;gap:9px;margin:0 0 12px}.schedule-employee-kpis article{display:grid;gap:3px;min-height:82px;padding:11px 12px;border:1px solid #d9e7eb;border-radius:13px;background:#f8fcfd}.schedule-employee-kpis span{font-size:10px;font-weight:850;letter-spacing:.055em;color:#6b8190;text-transform:uppercase}.schedule-employee-kpis b{font-size:18px;color:#17324d}.schedule-employee-kpis small{font-size:10px;color:#718492}.schedule-employee-kpis .ok{border-color:#bfe4d6;background:#edf8f4}.schedule-employee-kpis .ok b{color:#117058}.schedule-employee-kpis .warn{border-color:#efdca9;background:#fff9e9}.schedule-employee-kpis .warn b{color:#8d6515}.schedule-employee-kpis .pending{border-color:#c7dfe5;background:#eff8fa}.schedule-employee-kpis .pending b{color:#176b7b}
.schedule-v2-mobile-quota-list article em{width:auto!important;min-width:42px!important;padding:0 7px!important;border-radius:999px!important;font-size:9px!important}.schedule-v2-mobile-quota-list article em.pending{background:#fff4d7;color:#8b6310}

/* Secondary modules follow the same accent instead of black-heavy controls. */
.profile-modal-card,.attendance-card,.payroll-card{border-color:#d9e7eb}.profile-modal .modal-icon{background:#e7f3f6;color:#176b7b}.file-picker:hover{border-color:#9dcbd4!important;background:#f2fafb!important}
.holiday-dashboard-icon{background:#fff3da}.self-schedule-dashboard-alert{border-color:#b8dce3;background:#f1fafb}.special-day-schedule-link{border-color:#afd3da;background:#f4fafb}

@media(max-width:1100px){.schedule-employee-kpis{grid-template-columns:repeat(5,minmax(125px,1fr));overflow-x:auto;padding-bottom:3px}.schedule-employee-kpis article{min-width:125px}}
@media(max-width:700px){
  .schedule-employee-kpis{grid-template-columns:repeat(5,132px);margin-bottom:9px;scrollbar-width:none}.schedule-employee-kpis::-webkit-scrollbar{display:none}.schedule-employee-kpis article{min-height:72px;padding:9px 10px}.schedule-employee-kpis b{font-size:16px}
  .schedule-v2-employee-view .schedule-v2-mobile-coverage{display:grid!important}.schedule-v2-employee-view .schedule-v2-day-head.has-coverage-error:after{display:none!important}
  .schedule-v2-mobile-quotas summary span{color:#234d5c}.schedule-v2-mobile-quota-list article em.ok{background:#e7f6f0;color:#117058}.schedule-v2-mobile-quota-list article em.bad{background:#ffedf0;color:#b74451}
}
@media(max-width:520px){
  .schedule-v2-employee-view .schedule-v2-mobile-coverage{display:grid!important}
  .side{background:#f8fcfd}.main{background:transparent}
}

/* Attendance/Kiosk also follows the new palette. */
.attendance-tabs a.active{background:linear-gradient(135deg,#105f70,#248d9c);color:#fff}.attendance-today{background:linear-gradient(135deg,#fff 18%,#eaf6f7)}.attendance-main-button{background:linear-gradient(145deg,#157184,#2b97a5);box-shadow:0 20px 45px rgba(21,113,132,.24)}.attendance-scan-glyph,.attendance-kiosk-steps b{background:#176b7b}.attendance-scan-button:focus-visible{outline-color:rgba(36,141,156,.25)}.qr-countdown{background:#eaf3f5}.attendance-kiosk-page{background:radial-gradient(circle at top,#e5f3f6 0,#f5f9fa 48%,#edf4f5 100%);color:#17324d}.attendance-kiosk-card{border-color:#d4e4e8;box-shadow:0 24px 70px rgba(25,79,91,.10)}.attendance-kiosk-offline-info{border-color:#d4e5e9;background:#f2f8f9}.attendance-scanner-frame span{background:#46bcc3;box-shadow:0 0 16px #46bcc3}.attendance-scanner-status-dot{background:#46bcc3;box-shadow:0 0 0 4px rgba(70,188,195,.12)}
