/* ==========================================================================
   M&F BPO / HRMS — shared stylesheet
   Used by: login.php, employee.php, manager.php, and every admin/*.php page
   (via admin/includes/bootstrap.php). Google Fonts are loaded via <link>
   tags in each page's <head>, not @import, so downloads happen in parallel.
   ========================================================================== */

:root{
  --navy-900:#0A2540; --navy-800:#0F2E4D; --navy-700:#173A5E;
  --teal-600:#0E8C82; --teal-500:#12A398; --teal-400:#5FCBC0; --teal-050:#E9F7F5;
  --amber-500:#E8A93A; --bg:#F3F6F7; --surface:#FFFFFF; --ink:#152430; --muted:#5C7080;
  --line:#E3EAEC; --danger:#D6564B; --danger-ink:#A9362F; --danger-bg:#FBEAE8;
  --good-bg:#E7F6EE; --good-ink:#1E8A54; --warn-bg:#FDF2E1; --warn-ink:#B4790E;
  --neutral-bg:#EEF1F3; --neutral-ink:#5C7080;
  --radius:14px; --shadow:0 8px 24px rgba(10,37,64,.08);
  color-scheme: light;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
*,*::before,*::after{border-radius:0!important;}
.clearance-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:18px}.clearance-hub-card{min-height:105px;margin:0;padding:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}.clearance-hub-card:hover,.clearance-hub-card[aria-pressed="true"]{border-color:var(--teal-500);background:var(--teal-050)}.clearance-hub-card span,.clearance-hub-card strong,.clearance-hub-card small{display:block}.clearance-hub-card span{color:var(--teal-600);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.clearance-hub-card strong{margin-top:8px;color:var(--navy-900);font:700 13px Sora,sans-serif}.clearance-hub-card small{margin-top:5px;font-size:11px;line-height:1.4}.clearance-panel[hidden]{display:none}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:'Sora',sans-serif;}
h1{margin:0;font-size:19px;color:var(--navy-900);}
p{color:var(--muted);line-height:1.55;font-size:13.5px;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;}
button{font-family:'Inter',sans-serif;cursor:pointer;}
.muted, small{color:var(--muted);}

/* ============ Auth pages (login.php, admin.php pre-auth) ============ */
.page{min-height:100vh;width:100%;max-width:none;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,var(--navy-900),var(--navy-800));}
.auth-card{width:100%;max-width:380px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px;}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;}
.brand-mark{
  width:36px;height:36px;border-radius:9px;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal-500),var(--teal-400));
  display:flex;align-items:center;justify-content:center;
  font-family:'Sora',sans-serif;font-weight:800;font-size:15px;color:var(--navy-900);
}
.brand-name{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;}
.brand-sub{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-600);}
p.lead{margin:0 0 22px;font-size:13.5px;color:var(--muted);}
.hint{margin-top:18px;font-size:12px;color:var(--muted);line-height:1.6;}
.hint code{background:var(--bg);padding:1px 5px;border-radius:4px;}
.forgot-password-link{display:block;margin-top:8px;color:var(--teal-600);font-size:12px;font-weight:600;text-align:right;text-decoration:none}.forgot-password-link:hover{text-decoration:underline}
.applicant-gate-card{max-width:560px;text-align:center;}
.applicant-gate-card .brand{text-align:left;}
.gate-icon{display:grid;place-items:center;width:54px;height:54px;margin:5px auto 18px;border-radius:50%;background:var(--teal-050);color:var(--teal-600);font-size:22px;font-weight:800;}
.gate-icon.is-rejected{background:var(--danger-bg);color:var(--danger-ink);}
.gate-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0;padding:18px 12px;border:1px solid var(--line);border-radius:11px;background:#fcfdfd;}
.gate-steps div{display:grid;justify-items:center;gap:7px;color:var(--muted);font-size:10px;}
.gate-steps span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-weight:700;}
.gate-steps .done span{border-color:var(--teal-400);background:var(--teal-400);color:var(--navy-900);}
.gate-steps .current{color:var(--teal-600);}.gate-steps .current span{border-color:var(--teal-600);background:var(--teal-600);color:#fff;}
.gate-actions{display:flex;justify-content:center;gap:18px;margin-top:22px;}
.review-status-page{min-height:100vh;background:linear-gradient(145deg,var(--navy-900),#0b3143);}
.review-status-shell{display:grid;place-items:center;width:100%;max-width:none;min-height:100vh;margin:0;padding:32px;}
.review-status-card{width:min(780px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:var(--surface);box-shadow:0 28px 80px rgba(0,0,0,.24);}
.review-status-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--line);}
.review-status-header .brand{margin:0;}.review-status-header>a{color:var(--muted);font-size:12px;font-weight:700;text-decoration:none;}.review-status-header>a:hover{color:var(--teal-600);}
.review-status-intro{display:grid;grid-template-columns:58px 1fr;align-items:start;gap:18px;padding:30px 34px 26px;}
.review-status-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--teal-050);color:var(--teal-600);font-size:22px;font-weight:800;}
.review-status-intro .eyebrow{display:block;margin-bottom:7px;}.review-status-intro h1{margin:0;color:var(--navy-900);font-size:27px;}.review-status-intro p{max-width:590px;margin:9px 0 0;color:var(--muted);font-size:13.5px;line-height:1.65;}
.review-timeline{display:grid;grid-template-columns:repeat(3,1fr);margin:0 34px;padding:22px 20px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;}
.review-step{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;min-width:0;padding:0 12px;}
.review-step:not(:last-child):after{content:'';position:absolute;z-index:0;top:16px;right:-10px;width:20px;height:1px;background:var(--line);}
.review-step>span{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font-size:11px;font-weight:800;}
.review-step small,.review-step strong{display:block;}.review-step small{margin-bottom:3px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}.review-step strong{color:var(--navy-900);font-size:11px;white-space:nowrap;}
.review-step.is-complete>span{border-color:var(--teal-400);background:var(--teal-400);color:var(--navy-900);}.review-step.is-current>span{border-color:var(--teal-600);background:var(--teal-600);color:#fff;box-shadow:0 0 0 5px rgba(13,148,136,.1);}.review-step.is-current small{color:var(--teal-600);}
.review-next-step{display:grid;grid-template-columns:30px 1fr;gap:12px;margin:16px 34px 30px;padding:15px 17px;border-radius:10px;background:var(--teal-050);color:var(--navy-900);}
.review-next-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--teal-600);color:#fff;font-family:'Sora',sans-serif;font-size:11px;font-weight:800;}.review-next-step strong{font-size:11px;}.review-next-step p{margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.5;}
.review-status-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 34px;border-top:1px solid var(--line);background:#fbfdfd;}.review-status-actions a{color:var(--teal-600);font-size:11px;font-weight:800;text-decoration:none;}.review-status-actions span{color:var(--muted);font-size:9.5px;}
.review-status-card.is-rejected .review-status-icon{background:var(--danger-bg);color:var(--danger-ink);}.review-status-card.is-rejected .review-status-intro{padding-bottom:34px;}
@media(max-width:650px){.review-status-shell{padding:16px}.review-status-intro{grid-template-columns:1fr;padding:25px 22px}.review-timeline{grid-template-columns:1fr;gap:18px;margin:0 22px}.review-step:not(:last-child):after{top:auto;right:auto;bottom:-10px;left:28px;width:1px;height:18px}.review-next-step{margin:14px 22px 24px}.review-status-actions{align-items:flex-start;flex-direction:column;padding:16px 22px}}
.applicant-documents-card{max-width:820px;}
.applicant-documents-card .brand .back-link{margin-left:auto;}
.initial-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;}
.initial-document-card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fcfdfd;}
.initial-document-card.is-uploaded{border-color:var(--teal-400);background:var(--teal-050);}
.initial-document-card h2{margin:9px 0 4px;font-size:15px;}.initial-document-card p{margin:0;color:var(--muted);font-size:10px;}
.document-check{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--neutral-bg);color:var(--muted);font-weight:800;}
.is-uploaded .document-check{background:var(--teal-600);color:#fff;}
.document-file{display:grid;gap:3px;padding:10px;border-radius:8px;background:#fff;font-size:10px;}.document-file span{color:var(--muted);}
.initial-document-card form{display:grid;gap:9px;margin-top:auto;}.initial-document-card input[type=file]{max-width:100%;font-size:10px;}.initial-document-card .btn-submit{margin:0;}
.waiting-confirmation{display:grid;gap:4px;margin-top:16px;padding:15px 17px;border:1px solid #f0d79a;border-radius:10px;background:var(--warn-bg);color:var(--warn-ink);font-size:11px;}.waiting-confirmation span{font-weight:400;}
@media(max-width:650px){.initial-document-grid{grid-template-columns:1fr;}}

/* ============ Forms (shared by auth cards + dashboard modules) ============ */
label{display:block;margin:16px 0 6px;font-size:12.5px;font-weight:600;color:var(--navy-900);}
input, select, textarea{font-family:'Inter',sans-serif;}
input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#FCFDFD;color:var(--ink);font-size:13.5px;}
input:focus{outline:2px solid var(--teal-400);outline-offset:1px;border-color:var(--teal-500);}
button, .button{
  display:inline-block;width:100%;margin-top:20px;padding:11px 15px;border:0;border-radius:9px;
  background:var(--teal-600);color:#fff;cursor:pointer;font:inherit;font-weight:600;font-size:13.5px;
  text-align:center;text-decoration:none;transition:background .15s ease;
}
button:hover, .button:hover{background:var(--teal-500);}
.error{margin:0 0 16px;padding:11px 12px;border-radius:9px;background:var(--danger-bg);color:var(--danger);font-size:13px;}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field.full{grid-column:1 / -1;}
.field label{margin:0;font-size:12.5px;font-weight:600;color:var(--navy-900);}
.field input, .field select, .field textarea{
  border:1px solid var(--line);border-radius:9px;padding:10px 12px;
  font-family:'Inter',sans-serif;font-size:13.5px;background:#FCFDFD;color:var(--ink);
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:2px solid var(--teal-400);outline-offset:1px;border-color:var(--teal-500);
}
.field textarea{resize:vertical;min-height:80px;}
.form-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:14px;}
.form-grid label{margin:0;}
.form-grid .full, .form-grid.full{grid-column:1 / -1;}
.form-grid button{margin:5px 0 0;}
.form-grid select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#FCFDFD;color:var(--ink);font:inherit;font-size:13.5px;}
.check{display:flex !important;align-items:center;gap:9px;}
.check input{width:auto;}

.btn-submit{
  width:100%;margin-top:16px;background:var(--teal-600);color:#fff;border:none;
  padding:12px 22px;border-radius:9px;font-weight:600;font-size:13.5px;cursor:pointer;
}
.btn-submit:hover{background:var(--teal-500);}

/* ============ Flash / notice banners ============ */
.flash, .notice{margin:0 0 16px;padding:11px 14px;border-radius:9px;font-size:13.5px;font-weight:500;}
.flash{background:var(--danger-bg);color:var(--danger);}
.flash.success, .notice.success{background:var(--good-bg);color:var(--good-ink);}
.flash.error, .notice.error{background:var(--danger-bg);color:var(--danger);}
.hr-flash{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 6px 14px;line-height:1.4;transition:opacity .2s ease,transform .2s ease}.hr-flash.is-hiding{opacity:0;transform:translateY(-5px)}.hr-flash-close{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:7px;background:transparent;color:currentColor;font-size:20px;line-height:1;cursor:pointer}.hr-flash-close:hover{background:rgba(255,255,255,.45)}

/* ============ Employee notifications ============ */
.notification-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.btn-mark-read{width:auto;margin:0;padding:9px 13px;font-size:12px;white-space:nowrap;}
.notification-list{display:grid;gap:10px;}
.employee-notification{display:flex;width:100%;margin:0;padding:16px 18px;gap:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);text-align:left;}
.employee-notification:hover{background:#FBFEFE;}
.employee-notification.unread{border-left:4px solid var(--teal-500);padding-left:15px;}
.notification-category{display:inline-flex;align-items:center;align-self:flex-start;padding:4px 8px;border-radius:20px;background:var(--neutral-bg);color:var(--neutral-ink);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.notification-category.leave{background:var(--good-bg);color:var(--good-ink);}.notification-category.incident{background:var(--warn-bg);color:var(--warn-ink);}.notification-category.schedule{background:var(--teal-050);color:var(--teal-600);}.notification-category.payslip{background:#EDF1FF;color:#4559A5;}
.notification-copy{display:grid;gap:3px;}.notification-copy strong{font-size:13.5px;}.notification-copy span,.notification-copy small{font-size:12px;color:var(--muted);line-height:1.45;}.notification-copy small{font-family:'JetBrains Mono',monospace;font-size:10.5px;}.notification-empty p{margin:0;text-align:center;}

/* ============ Dashboard shell (employee.php, manager.php, admin/*.php) ============ */
.app, .shell{display:grid;min-height:100vh;}
.app{grid-template-columns:264px minmax(0,1fr);}
.shell{display:flex;align-items:stretch;}
@media (max-width:900px){ .app{grid-template-columns:1fr;} }

.sidebar{
  background:linear-gradient(180deg,var(--navy-900) 0%, var(--navy-800) 100%);
  color:#fff;padding:28px 20px;display:flex;flex-direction:column;
  position:sticky;top:0;min-height:100vh;height:auto;align-self:stretch;border-right:none;
}
.shell .sidebar{width:245px;flex:0 0 245px;position:static;min-height:100vh;height:auto;}
.shell .content{flex:1;min-width:0;}
@media (max-width:900px){ .sidebar{position:relative;min-height:auto;height:auto;} }
.sidebar .brand{margin-bottom:32px;}
.sidebar a.brand{color:#fff;text-decoration:none;}
.sidebar .brand-name,.sidebar .brand-sub{display:block;}
.sidebar .brand-sub{color:var(--teal-400);}

.logo{display:block;color:#fff;font-size:1.2rem;font-weight:800;font-family:'Sora',sans-serif;text-decoration:none;letter-spacing:.02em;padding:4px 10px;margin-bottom:14px;}
.logo span{color:var(--teal-400);}
.side-label{padding:12px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-400);}

.employee-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);padding:16px;margin-bottom:24px;
}
.avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--amber-500),#F2C572);color:var(--navy-900);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;font-family:'Sora',sans-serif;font-weight:700;font-size:15px;margin-bottom:10px;
}
.avatar img{width:100%;height:100%;display:block;object-fit:cover;}
.employee-card .name{font-weight:600;font-size:14px;}
.employee-card .role{font-size:10.5px;color:#9FB3C4;margin-top:3px;}
.employee-card .id{font-size:11px;color:var(--teal-400);margin-top:8px;font-family:'JetBrains Mono',monospace;}
.employee-card .name,.employee-card .role,.employee-card .id,.employee-card-department{overflow-wrap:anywhere;line-height:1.4;}
.employee-card-department{margin-top:4px;color:#9FB3C4;font-size:11px;}

nav.mainnav{display:flex;flex-direction:column;gap:5px;flex:1;}
.nav-group{display:grid;gap:3px;}
.nav-parent{display:flex;align-items:center;justify-content:space-between;font-weight:700;}
.nav-parent::after{content:'▸';font-size:11px;transition:transform .16s ease;}
.nav-parent[aria-expanded="true"]::after{transform:rotate(90deg);}
.nav-submenu{display:none;gap:2px;margin:2px 0 7px 12px;padding:5px 5px 5px 10px;border-left:2px solid rgba(55,210,196,.55);border-radius:0 8px 8px 0;background:rgba(3,21,38,.28);}
.nav-submenu.open{display:grid;}
.nav-submenu .navlink{min-height:auto;padding:8px 10px;border-radius:7px;font-size:12px;font-weight:500;color:#B9CBD8;}
.nav-placeholder{opacity:.5;cursor:not-allowed;}
.row-actions,.decision-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.decision-actions{margin-top:18px}.btn-secondary{border:1px solid var(--line);background:#fff;color:var(--navy-900);border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer}.offer-card,.contract-card{display:grid;gap:18px}.offer-message,.contract-terms{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--neutral-bg)}.offer-message p,.contract-terms p{margin:8px 0 0;line-height:1.65}.contract-terms summary{font-weight:700;cursor:pointer}.contract-signature{display:grid;gap:14px}.contract-signature>label:not(.check-label){display:grid;gap:7px;font-weight:700}.contract-signature input[type=text],.contract-signature input:not([type]){width:100%;padding:11px;border:1px solid var(--line);border-radius:8px}.check-label{display:flex;align-items:flex-start;gap:9px;color:var(--muted);line-height:1.5}.signed-confirmation{padding:14px;border-radius:9px;background:var(--good-bg);color:var(--good-ink)}
.navlink{
  display:flex;align-items:center;gap:12px;margin:0;
  padding:11px 12px;border-radius:10px;
  font-size:13.5px;font-weight:500;color:#C7D6E1;
  background:transparent;border:none;text-align:left;width:100%;
  transition:background .15s ease, color .15s ease;
}
.navlink svg{flex-shrink:0;opacity:.85;}
.navlink:hover{background:rgba(255,255,255,.07);color:#fff;}
.navlink.active{background:var(--teal-600);color:#fff;}
.navlink.active svg{opacity:1;}
.nav-notification-count{display:grid;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;border-radius:999px;background:var(--amber-500);color:var(--navy-900);font-size:10px;font-weight:800;}

nav{display:grid;gap:4px;}
nav a, .signout{padding:11px 12px;border-radius:10px;color:#C7D6E1;text-decoration:none;font-size:13.5px;font-weight:500;transition:background .15s ease, color .15s ease;}
nav a:hover{background:rgba(255,255,255,.07);color:#fff;}
nav a.active{background:var(--teal-600);color:#fff;}
.signout{margin-top:auto;color:var(--teal-400);text-align:center;}

.shift-note{
  margin-top:20px;padding:14px;border-radius:12px;
  background:rgba(95,203,192,.1);border:1px solid rgba(95,203,192,.25);
  font-size:12px;color:var(--teal-400);line-height:1.5;
}
.shift-note strong{color:#fff;display:block;font-size:13px;margin-bottom:2px;}

main{padding:32px 40px 60px;max-width:1120px;}
.app>main,.shell>main{max-width:none;min-width:0;}
@media (max-width:640px){ main{padding:20px;} }
.content{flex:1;padding:32px 40px;overflow:auto;}
.content-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:25px;}
.content-header h1{font-size:26px;}
.content-header p{margin:6px 0 0;color:var(--muted);font-size:13.5px;}

.module{display:none;}
.module.active{display:block;animation:fade .25s ease;}
@keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.module-header{margin-bottom:24px;}
.eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-600);font-weight:600;}
.module-header h1{font-size:26px;margin:4px 0 6px;color:var(--navy-900);}
.module-header p{margin:0;color:var(--muted);font-size:14px;}

/* ============ Cards / panels / stats ============ */
.card{
  background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:22px 24px;margin-bottom:20px;border:1px solid var(--line);
}
.card h3{margin:0 0 14px;font-size:15px;color:var(--navy-900);}
.panel{margin-bottom:22px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.panel h2{margin:0 0 10px;font-size:15px;color:var(--navy-900);}
.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.panel-heading h2{margin:0;}
.panel-heading a{color:var(--teal-600);font-size:13px;text-decoration:none;}
.two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;}
.narrow{max-width:640px;}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:20px;}
.stat-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);}
.stat-box .num{font-family:'Sora',sans-serif;font-weight:700;font-size:24px;color:var(--navy-900);}
.stat-box .lbl{font-size:12px;color:var(--muted);margin-top:2px;}
.stats{display:grid;gap:16px;margin-bottom:22px;}
.stats.four{grid-template-columns:repeat(4, 1fr);}
.stat{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.stat strong{display:block;margin-top:8px;color:var(--navy-900);font-size:24px;font-family:'Sora',sans-serif;}
.grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px;}
.dashboard{width:min(100%, 900px);}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;}
.logout{color:var(--teal-600);text-decoration:none;font-size:12.5px;}

/* ============ DTR clock widget ============ */
.clock-widget{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.clock-ring{
  width:96px;height:96px;border-radius:50%;
  background:conic-gradient(var(--teal-500) 0deg 300deg, var(--line) 300deg 360deg);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.clock-ring-inner{width:76px;height:76px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;}
.clock-ring-inner .t{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:12px;color:var(--navy-900);}
.clock-ring-inner .l{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.clock-meta{display:flex;flex-direction:column;gap:6px;}
.status-pill{
  display:inline-flex;align-items:center;gap:6px;background:var(--good-bg);color:var(--good-ink);
  padding:4px 12px;border-radius:20px;font-size:12.5px;font-weight:600;width:fit-content;
}
.status-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--good-ink);}
.status-pill.is-late{background:var(--warn-bg);color:var(--warn-ink);}.status-pill.is-late::before{background:var(--warn-ink);}
.clock-meta .row{font-size:13px;color:var(--muted);}
.clock-meta .row strong{color:var(--ink);}
.clock-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.clock-action{margin:0;}
.clock-action button{width:auto;margin:0;}
.clock-action button:disabled{background:var(--neutral-bg);color:var(--neutral-ink);cursor:not-allowed;}
.clock-ring,.clock-ring-inner,.status-pill::before{border-radius:50%!important;}
.clock-widget .status-pill{border-radius:20px!important;}
.clock-actions .clock-action button{border-radius:10px!important;}
.dtr-summary-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,2fr);gap:14px;align-items:stretch;margin-bottom:20px;}
.dtr-summary-row>*{min-width:0;}
.dtr-clock-card{margin:0;padding:16px 18px;overflow:hidden;}
.dtr-clock-card h3{margin-bottom:14px;}
.dtr-clock-content{display:flex;align-items:center;gap:14px;min-width:0;}
.dtr-clock-card .clock-widget{width:100%;min-width:0;}
.dtr-clock-card .clock-meta{min-width:0;}
.dtr-cutoff-stats{grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px;margin:0;}
.dtr-cutoff-stats .stat-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:18px 12px;border-top:3px solid var(--teal-500);text-align:center;box-shadow:var(--shadow);}
.dtr-cutoff-stats .stat-box .num{font-size:24px;line-height:1.1;}
.dtr-cutoff-stats .stat-box .lbl{margin-top:8px;font-size:10.5px;line-height:1.35;}
@media(max-width:1180px){.dtr-summary-row{grid-template-columns:1fr}.dtr-cutoff-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.dtr-clock-content{align-items:flex-start;flex-direction:column}.dtr-clock-card .clock-actions{width:100%;flex-wrap:wrap}.dtr-cutoff-stats{grid-template-columns:repeat(2,1fr)}}

/* ============ DTR calendars (employee.php, manager.php) ============ */
.dtr-calendar-card{overflow:hidden;}
.calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;}
.calendar-heading h3{margin:0 0 4px;}
.calendar-heading p{margin:0;font-size:12.5px;}
.calendar-navigation{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;color:var(--navy-900);}
.calendar-navigation a{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;color:var(--teal-600);text-decoration:none;font-size:22px;line-height:1;}
.calendar-navigation a:hover{background:var(--teal-050);border-color:var(--teal-400);}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 14px;font-size:11px;color:var(--muted);}
.calendar-key::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;}
.calendar-key.present::before,.status-present{background:var(--good-bg);color:var(--good-ink);}
.calendar-key.late::before,.status-late{background:var(--warn-bg);color:var(--warn-ink);}
.calendar-key.leave::before,.status-on-leave{background:var(--neutral-bg);color:var(--neutral-ink);}
.calendar-key.absent::before,.status-absent{background:var(--danger-bg);color:var(--danger);}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);}
.calendar-weekday{padding:8px 6px;background:var(--bg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.calendar-day{min-height:92px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);}
.calendar-day.is-empty{background:#FAFBFB;}
.calendar-day time{display:block;margin-bottom:6px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--navy-900);}
.calendar-day.is-today time{display:grid;place-items:center;width:22px;height:22px;margin:-1px 0 5px;border-radius:50%;background:var(--teal-600);color:#fff;}
.calendar-status{display:block;width:max-content;max-width:100%;margin:3px 0;padding:2px 5px;border-radius:5px;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.calendar-day small{display:block;font-size:10px;color:var(--muted);}
.dtr-cutoff-row{display:flex;align-items:center;gap:10px;margin-top:5px}.dtr-cutoff-row p{margin:0}.dtr-cutoff-row button{width:auto;margin:0;padding:6px 10px;font-size:10.5px}.attendance-calendar-modal{width:min(96vw,1120px);max-height:96vh;padding:0;overflow:hidden;border:0;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 28px 80px rgba(7,28,44,.35)}.attendance-calendar-modal::backdrop{background:rgba(7,28,44,.68)}.attendance-calendar-shell{display:flex;flex-direction:column;max-height:96vh}.attendance-calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 19px 13px;border-bottom:1px solid var(--line)}.attendance-calendar-header h2{margin:0;color:var(--navy-900);font-size:18px}.attendance-calendar-header p{margin:3px 0 0;font-size:11px}.attendance-calendar-header button{display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border-radius:50%;background:var(--neutral-bg);color:var(--navy-900);font-size:21px;line-height:1}.attendance-calendar-body{padding:13px 19px 17px;overflow:hidden}.attendance-calendar-body .calendar-heading{align-items:center;margin-bottom:9px}.attendance-calendar-body .calendar-legend{margin:0}.attendance-calendar-body .calendar-day{min-height:clamp(44px,8vh,68px);padding:6px}.attendance-calendar-body .calendar-status{margin:3px 0 2px}.attendance-calendar-body .calendar-day small{font-size:9px}
.calendar-day.status-present .calendar-status,.calendar-day.status-in-progress .calendar-status{background:var(--good-bg);color:var(--good-ink);}
.calendar-day.status-late .calendar-status{background:var(--warn-bg);color:var(--warn-ink);}
.calendar-day.status-on-leave .calendar-status,.calendar-day.status-rest-day .calendar-status{background:var(--neutral-bg);color:var(--neutral-ink);}
.calendar-day.status-absent .calendar-status{background:var(--danger-bg);color:var(--danger);}

/* ============ Tables ============ */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;text-align:left;font-size:13.5px;}
th, td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;}
th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
td{color:var(--ink);}
tr:last-child td{border-bottom:none;}
td.mono, th.mono{font-family:'JetBrains Mono',monospace;}
.agent-stats-table th,
.agent-stats-table td{text-align:center;vertical-align:middle;}
.num-cell{font-family:'JetBrains Mono',monospace;}

details summary{cursor:pointer;color:var(--teal-600);}
details form{display:grid;gap:6px;min-width:180px;margin-top:8px;}
details input, details select{padding:8px;border:1px solid var(--line);border-radius:7px;background:#FCFDFD;color:var(--ink);}
details button{margin:0;padding:8px;}

/* ============ Pills / badges (status indicators) ============ */
.pill, .badge{padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;display:inline-block;}
.badge{text-transform:capitalize;background:var(--neutral-bg);color:var(--neutral-ink);}
.pill-good, .badge.active{background:var(--good-bg);color:var(--good-ink);}
.pill-warn{background:var(--warn-bg);color:var(--warn-ink);}
.pill-neutral, .badge.inactive{background:var(--neutral-bg);color:var(--neutral-ink);}
.pill-bad, .badge.locked{background:var(--danger-bg);color:var(--danger);}

/* ============ Buttons: compact / inline variants ============ */
.manage-button{width:auto;margin:0;padding:8px 14px;font-size:12.5px;}
.row-form{display:inline-flex;align-items:center;gap:6px;}
.row-form select{border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:12.5px;font-family:'Inter',sans-serif;}
.btn-mini{width:auto;margin:0;display:inline-block;border:none;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600;color:#fff;}
.btn-approve{background:var(--good-ink);}
.btn-disapprove{background:var(--danger);}
.btn-update{background:var(--navy-900);}
.btn-update:hover{background:var(--teal-600);}
.btn-link{background:var(--navy-900);color:#fff;border:none;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block;}
.btn-link:hover{background:var(--teal-600);}
.btn-download{
  width:auto;margin-top:14px;display:inline-flex;align-items:center;gap:6px;
  background:var(--navy-900);color:#fff;border:none;padding:9px 16px;
  border-radius:9px;font-size:12.5px;font-weight:600;text-decoration:none;
}
.btn-download:hover{background:var(--teal-600);}

/* ============ Payslips (employee.php) ============ */
.payslip-item{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;}
.payslip-summary{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--surface);gap:12px;flex-wrap:wrap;}
.payslip-summary .period{font-weight:600;font-size:14px;}
.payslip-summary .paydate{font-size:12px;color:var(--muted);}
.payslip-summary .net{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--teal-600);font-size:15px;}

/* ============ KPIs / performance evaluation (employee.php) ============ */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;}
.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);}
.kpi-card .kpi-label{font-size:12px;color:var(--muted);margin-bottom:8px;}
.kpi-card .kpi-value{font-family:'Sora',sans-serif;font-weight:700;font-size:22px;color:var(--navy-900);}
.kpi-bar{height:6px;border-radius:6px;background:var(--neutral-bg);margin-top:10px;overflow:hidden;}
.kpi-bar-fill{height:100%;border-radius:6px;background:var(--teal-500);}
.kpi-bar-fill.under{background:var(--amber-500);}
.kpi-target{font-size:11px;color:var(--muted);margin-top:6px;}

.eval-highlight{background:linear-gradient(135deg,var(--navy-900),var(--navy-700));color:#fff;border-radius:var(--radius);padding:22px 24px;margin-bottom:20px;}
.eval-highlight .rating{display:inline-block;background:var(--amber-500);color:var(--navy-900);font-weight:700;font-size:12.5px;padding:4px 12px;border-radius:20px;margin-bottom:12px;}
.eval-highlight p{margin:10px 0 0;font-size:13.5px;line-height:1.6;color:#D7E3EC;}
.eval-highlight .evaluator{font-size:12px;color:var(--teal-400);margin-top:12px;}

.leave-balance-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line);}
.leave-balance-row:last-child{border-bottom:none;}
.leave-balance-row .type{font-size:13.5px;font-weight:500;}
.leave-balance-note{margin:10px 0 20px;color:var(--muted);font-size:12px;line-height:1.5;}
.leave-balance-row .amt{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);}
.leave-balance-row .amt strong{color:var(--navy-900);}
.leave-balance-row .amt.is-over,.leave-balance-row .amt.is-over strong{color:var(--danger-ink);}
.incident-workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.incident-workspace-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:5px 11px;width:100%;min-height:116px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 5px 16px rgba(10,37,64,.05);text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.incident-workspace-card:hover,.incident-workspace-card:focus-visible{border-color:var(--teal-400);background:#fff;box-shadow:0 9px 22px rgba(10,37,64,.09);transform:translateY(-1px);outline:none}.incident-workspace-card.active{border-color:var(--teal-500);background:var(--teal-050);box-shadow:0 0 0 2px rgba(18,163,152,.08)}.incident-workspace-icon{display:grid;grid-row:1/3;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--teal-050);color:var(--teal-600);font-size:17px;font-weight:800}.incident-workspace-card.active .incident-workspace-icon{background:var(--teal-600);color:#fff}.incident-workspace-card span:nth-child(2){display:block;min-width:0}.incident-workspace-card strong,.incident-workspace-card small{display:block}.incident-workspace-card strong{margin:1px 0 4px;color:var(--navy-900);font-family:'Sora',sans-serif;font-size:13px}.incident-workspace-card small{font-size:10.5px;line-height:1.4}.incident-workspace-card b{grid-column:1/-1;align-self:end;width:max-content;padding:4px 8px;border-radius:999px;background:var(--neutral-bg);color:var(--neutral-ink);font-size:10px}.incident-workspace-card.active b{background:#fff;color:var(--teal-600)}.incident-workspace-panel{margin-bottom:0}.incident-workspace-panel[hidden]{display:none}
.leave-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.leave-workspace-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:5px 11px;width:100%;min-height:122px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 5px 16px rgba(10,37,64,.05);text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.leave-workspace-card:hover,.leave-workspace-card:focus-visible{border-color:var(--teal-400);background:#fff;box-shadow:0 9px 22px rgba(10,37,64,.09);transform:translateY(-1px);outline:none}.leave-workspace-card.active{border-color:var(--teal-500);background:var(--teal-050);box-shadow:0 0 0 2px rgba(18,163,152,.08)}.leave-workspace-icon{display:grid;grid-row:1/3;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--teal-050);color:var(--teal-600);font-size:17px;font-weight:800}.leave-workspace-card.active .leave-workspace-icon{background:var(--teal-600);color:#fff}.leave-workspace-card span:nth-child(2){display:block;min-width:0}.leave-workspace-card strong,.leave-workspace-card small{display:block}.leave-workspace-card strong{margin:1px 0 4px;color:var(--navy-900);font-family:'Sora',sans-serif;font-size:13px}.leave-workspace-card small{font-size:10.5px;line-height:1.4}.leave-workspace-card b{grid-column:1/-1;align-self:end;width:max-content;padding:4px 8px;border-radius:999px;background:var(--neutral-bg);color:var(--neutral-ink);font-size:10px}.leave-workspace-card.active b{background:#fff;color:var(--teal-600)}.leave-workspace-panel{margin-bottom:0}.leave-workspace-panel[hidden]{display:none}
.detail-list{display:grid;gap:0;}.detail-list div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;}.detail-list div:last-child{border-bottom:none;}.detail-list span{color:var(--muted);}.detail-list strong{text-align:right;color:var(--navy-900);}

.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin:28px 0 10px;}

/* ============ Modals / dialogs (admin account management) ============ */
.account-modal{width:min(94vw, 560px);padding:0;border:none;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 25px 65px rgba(10,37,64,.25);}
.account-modal::backdrop{background:rgba(10,37,64,.45);}
.applicant-overview-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:16px;margin-bottom:16px;padding:21px 24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(10,37,64,.06)}
.applicant-overview-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,var(--teal-500),var(--teal-400));color:var(--navy-900);font-family:'Sora',sans-serif;font-size:17px;font-weight:800}.applicant-overview-copy h1{margin:3px 0;color:var(--navy-900);font-size:24px}.applicant-overview-copy p{margin:0;color:var(--muted);font-size:12px}.applicant-stage-pill{padding:7px 10px;border-radius:999px;background:var(--neutral-bg);color:var(--neutral-ink);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ats-cv-open{width:auto;margin:0;padding:10px 15px;white-space:nowrap}
.applicant-facts-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(10,37,64,.05)}.applicant-fact{display:grid;gap:5px;min-width:0;padding:16px 19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.applicant-fact:nth-child(3n){border-right:0}.applicant-fact:nth-last-child(-n+3){border-bottom:0}.applicant-fact span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.applicant-fact strong{overflow:hidden;color:var(--navy-900);font-size:11.5px;text-overflow:ellipsis}.applicant-fact .fact-positive{color:var(--teal-600)}
.screening-decision-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:16px;padding:18px 20px;border:1px solid #b9dfd8;border-radius:13px;background:var(--teal-050)}.screening-decision-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff;color:var(--teal-600);font-family:'Sora',sans-serif;font-size:11px;font-weight:800}.screening-decision-card h2{margin:0;color:var(--navy-900);font-size:14px}.screening-decision-card p{margin:4px 0 0;color:var(--muted);font-size:10.5px}.screening-decision-actions{display:flex;align-items:center;gap:8px}.screening-decision-actions form{margin:0}.screening-decision-actions button{width:auto;margin:0;padding:9px 13px;font-size:10px}.screening-reject{background:#fff;color:var(--danger-ink);border:1px solid #e7bcbc}.screening-reject:hover{background:var(--danger-bg)}
.applicant-summary-card{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:start;gap:22px}.applicant-summary-card h2{margin:5px 0 0;font-size:15px}.applicant-summary-card>p{margin:0;color:var(--ink);font-size:12px;line-height:1.6}.applicant-summary-meta{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:14px;border-top:1px solid var(--line)}.applicant-summary-meta span{display:grid;gap:4px}.applicant-summary-meta small{color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase}.applicant-summary-meta strong{color:var(--navy-900);font-size:10.5px}
.ats-cv-modal{width:min(92vw,760px);max-height:90vh;padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(7,28,44,.35);}.ats-cv-modal::backdrop{background:rgba(7,28,44,.68);}
.ats-cv-toolbar{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border-bottom:1px solid var(--line);background:#fff;}.ats-cv-toolbar strong,.ats-cv-toolbar span{display:block;}.ats-cv-toolbar strong{color:var(--navy-900);font-size:13px;}.ats-cv-toolbar span{margin-top:2px;color:var(--muted);font-size:9px;}.ats-cv-toolbar>div:last-child{display:flex;align-items:center;gap:8px}.ats-cv-toolbar button{margin:0;padding:8px 12px;font-size:10px}.ats-cv-toolbar .ats-cv-close{width:32px;height:32px;padding:0;border-radius:50%;background:var(--neutral-bg);color:var(--navy-900);font-size:18px;}
.ats-cv-document{width:100%;margin:0;padding:38px 46px 46px;background:#fff;color:#1b2730;font-family:Arial,sans-serif;line-height:1.5;}.ats-cv-heading{padding-bottom:17px;border-bottom:2px solid #183041;}.ats-cv-heading h1{margin:0;color:#102433;font-family:Arial,sans-serif;font-size:27px;letter-spacing:.02em;text-transform:uppercase}.ats-cv-heading>strong{display:block;margin-top:5px;color:#315364;font-size:13px}.ats-cv-heading p{margin:7px 0 0;color:#4b5f69;font-size:10px}.ats-cv-links{display:flex;gap:12px}.ats-cv-links a{color:#0f766e}.ats-cv-document section{padding-top:17px}.ats-cv-document section h2{margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid #b9c8ce;color:#102433;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.ats-cv-document section p{margin:0;color:#344a55;font-size:10.5px}.ats-cv-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:7px}.ats-cv-entry h3{margin:0;color:#152d3a;font-family:Arial,sans-serif;font-size:11.5px}.ats-cv-entry strong,.ats-cv-entry span{color:#526873;font-size:10px}.ats-cv-document ul{margin:0;padding-left:18px;color:#344a55;font-size:10.5px}.ats-cv-keywords{display:flex;flex-wrap:wrap;gap:5px 22px;list-style-position:inside;padding:0!important}.ats-cv-keywords li{min-width:28%}
.applicant-documents-panel .panel-heading{margin-bottom:16px}.document-action-heading{text-align:center}.document-row-actions{display:flex;align-items:center;justify-content:center;gap:7px}.document-row-actions form{margin:0}.document-view-button,.document-receive-button,.document-reject-button{width:auto;margin:0}.document-view-button{padding:7px 14px;border:0;border-radius:8px;background:var(--navy-900);color:#fff;font-size:12px;font-weight:600}.document-view-button:hover{background:var(--teal-600)}.document-receive-button,.document-reject-button,.document-received-icon,.document-rejected-icon{display:grid;place-items:center;width:31px;height:31px;padding:0;border-radius:50%;font-size:17px;font-weight:800}.document-receive-button{border:1px solid #a8d8cf;background:var(--teal-050);color:var(--teal-600)}.document-receive-button:hover{background:var(--teal-500);color:var(--navy-900)}.document-reject-button{border:1px solid #e7bcbc;background:#fff;color:var(--danger-ink)}.document-reject-button:hover{background:var(--danger-bg)}.document-received-icon{background:var(--success-bg);color:var(--success-ink)}.document-rejected-icon{background:var(--danger-bg);color:var(--danger-ink)}
.document-preview-modal{position:relative;width:min(92vw,900px);height:min(88vh,720px);padding:0;overflow:hidden;border:0;border-radius:14px;background:#eef3f3;box-shadow:0 28px 80px rgba(7,28,44,.35)}.document-preview-modal::backdrop{background:rgba(7,28,44,.68)}.document-preview-modal iframe{display:block;width:100%;height:100%;border:0;background:#fff}.document-preview-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:1px solid rgba(10,37,64,.12);border-radius:50%;background:#fff;color:var(--navy-900);box-shadow:0 4px 14px rgba(7,28,44,.18);font-size:22px;line-height:1}.document-preview-close:hover{background:var(--neutral-bg)}
.document-reject-modal{width:min(92vw,480px);padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(7,28,44,.35)}.document-reject-modal::backdrop{background:rgba(7,28,44,.68)}.document-reject-modal form{display:grid;gap:15px;padding:22px}.document-reject-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.document-reject-heading h2{margin:4px 0 0;color:var(--navy-900);font-size:18px}.document-reject-modal form>p{margin:0;color:var(--muted);font-size:11px}.document-reject-modal label{display:grid;gap:7px;color:var(--navy-900);font-size:10px;font-weight:700}.document-reject-modal textarea{width:100%;resize:vertical}.document-reject-close{display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border-radius:50%;background:var(--neutral-bg);color:var(--navy-900);font-size:20px}.document-reject-submit{display:block;width:100%;margin:0;background:var(--danger-ink);color:#fff;opacity:1;visibility:visible}.document-reject-submit:hover{background:#8f2525;color:#fff}.document-upload-locked{padding:10px 12px;border-radius:9px;background:var(--neutral-bg);color:var(--muted);font-size:10px;font-weight:700;text-align:center}.document-rejection-reason{margin:8px 0 0!important;padding:9px 10px;border-radius:8px;background:var(--danger-bg);color:var(--danger-ink)!important;font-size:10px!important;line-height:1.45}
.replacement-label{display:block;margin-top:3px;color:var(--teal-600);font-size:8px;font-weight:800;text-transform:uppercase}.document-history{margin-top:16px;border-top:1px solid var(--line)}.document-history summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 4px;color:var(--navy-900);font-size:11px;font-weight:800;cursor:pointer}.document-history summary span{color:var(--muted);font-size:9px;font-weight:600}.document-history .table-wrap{margin-top:10px}.document-history table{background:var(--neutral-bg)}
.document-resubmitted-row{background:#fffaf0}.recruitment-review-alert{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;border:1px solid #efd49e;border-radius:12px;background:#fffaf0}.recruitment-review-alert>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--amber-500);color:var(--navy-900);font-weight:900}.recruitment-review-alert strong{color:var(--navy-900);font-size:12px}.recruitment-review-alert p{margin:3px 0 0;color:var(--muted);font-size:10px}.applicant-needs-review{background:#fffaf0}.resubmitted-document-badge{display:block;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:var(--amber-500);color:var(--navy-900);font-size:8px;font-weight:800;text-transform:uppercase}
@media(max-width:760px){.applicant-overview-card{grid-template-columns:48px 1fr}.applicant-stage-pill,.ats-cv-open{grid-column:2}.applicant-facts-card{grid-template-columns:1fr 1fr}.applicant-fact:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.applicant-fact:nth-child(2n){border-right:0}.applicant-fact:nth-last-child(-n+2){border-bottom:0}.screening-decision-card{grid-template-columns:42px 1fr}.screening-decision-actions{grid-column:1/-1}.applicant-summary-card{grid-template-columns:1fr}.applicant-summary-meta{grid-template-columns:1fr}.ats-cv-document{padding:30px 24px}.ats-cv-toolbar{align-items:flex-start}.ats-cv-entry{display:block}.ats-cv-entry>span{display:block;margin-top:3px}}
@media print{body:has(.ats-cv-modal[open]) *{visibility:hidden!important}.ats-cv-modal[open],.ats-cv-modal[open] *{visibility:visible!important}.ats-cv-modal[open]{position:absolute;inset:0;width:100%;max-height:none;margin:0;border-radius:0}.ats-cv-modal::backdrop,.ats-cv-toolbar{display:none!important}.ats-cv-document{width:100%;margin:0;padding:16mm;box-shadow:none}}
.applicant-cv-page{min-height:100vh;background:#eaf0f0}.applicant-cv-shell{width:min(900px,100%);max-width:none;margin:0 auto;padding:24px 28px 50px}.applicant-cv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}.applicant-cv-toolbar .brand{margin:0;color:var(--navy-900);text-decoration:none}.applicant-cv-toolbar .brand-name,.applicant-cv-toolbar .brand-sub{display:block}.applicant-cv-toolbar>div{display:flex;align-items:center;gap:10px}.applicant-cv-toolbar>div>a{color:var(--teal-600);font-size:10px;font-weight:800;text-decoration:none}.applicant-cv-toolbar button{width:auto;margin:0;padding:9px 13px;font-size:10px}.applicant-cv-document{box-shadow:0 14px 40px rgba(7,28,44,.08)}
@media(max-width:650px){.applicant-cv-shell{padding:14px}.applicant-cv-toolbar{align-items:flex-start;flex-direction:column}.applicant-cv-toolbar>div{width:100%;justify-content:space-between}}
@media print{.applicant-cv-page{background:#fff}.applicant-cv-toolbar{display:none}.applicant-cv-shell{width:100%;padding:0}.applicant-cv-document{padding:16mm;box-shadow:none}}
.modal-heading{display:flex;justify-content:space-between;gap:15px;padding:22px 24px 15px;border-bottom:1px solid var(--line);}
.modal-heading h2{margin:0;font-size:17px;color:var(--navy-900);}
.modal-heading p{margin:5px 0 0;}
.close-button{width:auto;height:34px;margin:0;padding:0 11px;background:var(--neutral-bg);color:var(--ink);font-size:1.2rem;line-height:1;border-radius:8px;}
.modal-actions{display:block;padding:8px 24px 18px;}
.modal-actions label{display:block;margin:0;padding:16px 0;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--navy-900);}
.modal-actions select, .modal-actions input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#FCFDFD;color:var(--ink);font:inherit;margin-top:6px;}
.modal-actions button{width:100%;margin:16px 0 0;padding:11px 16px;}
.password-reset-control{display:grid;gap:12px;padding:16px 24px 22px;border-top:1px solid var(--line);background:#fbfdfd}.password-reset-control strong,.password-reset-control small{display:block}.password-reset-control strong{color:var(--navy-900);font-size:12px}.password-reset-control small{margin-top:4px;font-size:10px;line-height:1.5}.password-reset-control form{margin:0}.password-reset-control button{width:100%;margin:0}

/* ============ Search / pagination (admin list pages) ============ */
.search-form{margin:18px 0;}
.search-form label{margin:0 0 7px;}
.search-form div{display:flex;gap:8px;}
.search-form button{width:auto;margin:0;white-space:nowrap;}
.search-form a, .pagination a{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--line);border-radius:9px;color:var(--teal-600);text-decoration:none;font-size:13px;}
.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px;}
.pagination span{color:var(--muted);font-size:13px;}
.table-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;}
.table-pagination span{min-width:210px;color:var(--muted);font-size:12px;text-align:center;}
.table-pagination button{width:auto;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--teal-600);font-size:12px;font-weight:700;}
.table-pagination button:hover:not(:disabled){border-color:var(--teal-500);background:var(--teal-050);}
.table-pagination button:disabled{opacity:.45;cursor:not-allowed;}
.employee-dtr-log-table th{font-size:10px}.employee-dtr-log-table td,.employee-dtr-log-table td .pill{font-size:12px}
.dtr-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dtr-page-header #openAttendanceCalendar{width:auto;min-height:34px;margin:0;padding:6px 10px;border:1px solid var(--teal-500);background:#fff;color:var(--teal-600);font-size:10px;font-weight:700;white-space:nowrap}.dtr-page-header #openAttendanceCalendar:hover{background:var(--teal-050)}
.attendance-sheet-card .table-pagination{padding:0 18px 16px;}
.overtime-review-card,.overtime-review-card .pill,.overtime-review-card input,.overtime-review-card button{border-radius:0!important;}
.overtime-review-card .overtime-decision-form{grid-template-columns:68px minmax(135px,1fr);gap:6px;min-width:230px;align-items:end;}
.overtime-review-card .overtime-decision-form label{display:flex;flex-direction:column;gap:3px;}
.overtime-review-card .overtime-decision-form input{height:34px;min-height:34px;margin:0;}
.overtime-review-card .overtime-decision-form>div{justify-content:flex-start;}
body .clearance-hub .clearance-hub-card,body .employee-workspace-hub .employee-workspace-card,body .interview-hub .interview-hub-card,body .payroll-hub .payroll-hub-card,body .request-hub .request-hub-card,body .employee-request-hub button,body .incident-workspace-grid .incident-workspace-card,body .leave-workspace-grid .leave-workspace-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;width:100%;min-height:105px;margin:0;padding:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;text-decoration:none;box-shadow:none;transform:none;cursor:pointer}
body .clearance-hub .clearance-hub-card:hover,body .employee-workspace-hub .employee-workspace-card:hover,body .interview-hub .interview-hub-card:hover,body .payroll-hub .payroll-hub-card:hover,body .request-hub .request-hub-card:hover,body .employee-request-hub button:hover,body .incident-workspace-grid .incident-workspace-card:hover,body .leave-workspace-grid .leave-workspace-card:hover{border-color:var(--teal-500);background:var(--teal-050);box-shadow:none;transform:none}
body .clearance-hub .clearance-hub-card[aria-pressed="true"],body .employee-workspace-hub .employee-workspace-card[aria-pressed="true"],body .interview-hub .interview-hub-card[aria-pressed="true"],body .payroll-hub .payroll-hub-card[aria-pressed="true"],body .request-hub .request-hub-card.active,body .employee-request-hub button[aria-selected="true"],body .incident-workspace-grid .incident-workspace-card.active,body .leave-workspace-grid .leave-workspace-card.active{border-color:var(--teal-500);background:var(--teal-050);box-shadow:none}
body .interview-hub .interview-hub-count,body .payroll-hub .payroll-hub-count,body .employee-workspace-hub .employee-workspace-card>span,body .clearance-hub .clearance-hub-card>span,body .request-hub .request-hub-card em,body .employee-request-hub button>span,body .incident-workspace-grid .incident-workspace-card>b,body .leave-workspace-grid .leave-workspace-card>b{display:block;position:static;order:-1;align-self:auto;width:auto;height:auto;margin:0;padding:0;background:transparent;color:var(--teal-600);font:700 10px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase}
body .interview-hub .interview-hub-title,body .payroll-hub .payroll-hub-title,body .employee-workspace-hub .employee-workspace-card strong,body .clearance-hub .clearance-hub-card strong,body .request-hub .request-hub-card strong,body .employee-request-hub button strong,body .incident-workspace-grid .incident-workspace-card strong,body .leave-workspace-grid .leave-workspace-card strong{display:block;align-self:auto;margin:8px 0 0;color:var(--navy-900);font:700 13px Sora,sans-serif}
body .interview-hub .interview-hub-description,body .payroll-hub .payroll-hub-copy,body .employee-workspace-hub .employee-workspace-card small,body .clearance-hub .clearance-hub-card small,body .request-hub .request-hub-card small,body .employee-request-hub button small,body .incident-workspace-grid .incident-workspace-card small,body .leave-workspace-grid .leave-workspace-card small{display:block;margin:5px 0 0;color:var(--muted);font:400 11px/1.4 Inter,sans-serif}
.request-hub .request-hub-mark,.incident-workspace-grid .incident-workspace-icon,.leave-workspace-grid .leave-workspace-icon{display:none}.request-hub .request-hub-card>b{position:static;align-self:auto;margin-top:5px;color:var(--muted);font-size:10px}

/* ============ HR clearance ============ */
.clearance-create-form{align-items:end;}
.clearance-create-form .field{margin-bottom:0;}
.clearance-create-form .field label{display:grid;gap:6px;width:100%;}
.clearance-create-form .field input,.clearance-create-form .field select,.clearance-create-form .field textarea{box-sizing:border-box;width:100%;}
.clearance-create-form .field textarea{min-height:72px;}
.clearance-create-form .clearance-open-button{grid-column:1 / -1;justify-self:start;width:auto;min-width:140px;}
.clearance-empty{margin-bottom:20px;}
.clearance-case{padding:0;overflow:hidden;}
.attendance-summary-inline>div{text-align:center}
.attendance-summary-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f8fbfb}.attendance-summary-inline>div{min-width:0;padding:14px 18px}.attendance-summary-inline span,.attendance-summary-inline strong,.attendance-summary-inline small{display:block}.attendance-summary-inline span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.attendance-summary-inline strong{margin-top:5px;color:var(--navy-900);font:700 18px Sora,sans-serif}.attendance-summary-inline small{margin-top:3px;color:var(--muted);font-size:9px}.attendance-summary-inline .needs-attention strong{color:var(--danger-ink)}@media(max-width:650px){.attendance-summary-inline{grid-template-columns:1fr}.attendance-summary-inline>div{padding:10px 18px}}
.clearance-ticket-summary{display:flex;align-items:center;gap:20px;padding:16px 22px;}
.clearance-ticket-summary [data-back-clearance-list]{width:auto;min-width:0;flex:0 0 auto;margin:0;white-space:nowrap;}
.clearance-list[hidden],.clearance-ticket[hidden]{display:none;}
.clearance-list .table-wrap{overflow-x:auto;}
.clearance-list table{min-width:850px;}
.clearance-search{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}.clearance-search h3{margin:0;}.clearance-search input{width:min(100%,280px);padding:9px 11px;border:1px solid var(--line);font:inherit;font-size:12px;}.clearance-list tr[hidden]{display:none;}
.clearance-ticket-summary::-webkit-details-marker{display:none;}
.clearance-ticket-summary:focus-visible{outline:2px solid var(--teal-500);outline-offset:-2px;}
.clearance-ticket-main{flex:1;min-width:0;}
.clearance-ticket-main h3{margin:4px 0 6px;}
.clearance-ticket-number{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;}
.clearance-ticket-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;}
.clearance-ticket-progress{color:var(--muted);white-space:nowrap;}
.clearance-ticket-blocked{color:#a33737;font-weight:700;white-space:nowrap;}
.clearance-ticket-action{padding:9px 12px;border:1px solid var(--teal-500);color:var(--teal-600);font-size:12px;font-weight:700;white-space:nowrap;}
.ticket-open-label,.clearance-ticket[open] .ticket-closed-label{display:none;}
.clearance-ticket[open] .ticket-open-label{display:inline;}
.clearance-ticket-body{border-top:1px solid var(--line);}
@media(max-width:700px){.clearance-ticket-summary{align-items:flex-start;flex-wrap:wrap;gap:10px;}.clearance-ticket-main{flex-basis:100%;}.clearance-ticket-status{flex:1;}}
.clearance-case-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px 16px;border-bottom:1px solid var(--line);}
.clearance-case-header h3{margin:0 0 6px;}
.clearance-case-meta{margin:0;color:var(--muted);font-size:12.5px;}
.clearance-case-meta strong{color:var(--ink);}
.clearance-case-note{display:flex;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line);background:#FCFDFD;font-size:12.5px;}
.clearance-case-note strong{flex:0 0 auto;color:var(--navy-900);}
.clearance-case-note span{color:var(--muted);}
.clearance-case .table-wrap{padding:5px 10px 12px;}
.clearance-case-actions{justify-content:flex-end;padding:0 22px 18px;margin-top:0;}
.clearance-case-actions form{margin:0;}
.clearance-case button:disabled,.clearance-case select:disabled,.clearance-case input:disabled{cursor:not-allowed;opacity:.6;}
.clearance-table{min-width:850px;}
.clearance-table th:nth-child(1){width:25%;}
.clearance-table th:nth-child(2){width:15%;}
.clearance-table th:nth-child(3){width:18%;}
.clearance-table th:nth-child(4){width:32%;}
.clearance-table th:nth-child(5){width:10%;text-align:right;}
.clearance-table td{vertical-align:middle;}
.clearance-table select,.clearance-table input{width:100%;min-width:0;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:12.5px;}
.clearance-action{text-align:right;white-space:nowrap;}
.clearance-action form{margin:0;}
.clearance-action .btn-mini{margin:0;}

/* Statutory benefits */
.statutory-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;}
.statutory-portal-card{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:142px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.statutory-portal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--teal-500);}
.statutory-agency-mark{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:12px;background:var(--navy-900);color:#fff;font-family:Sora,sans-serif;font-size:13px;font-weight:800;}
.statutory-philhealth .statutory-agency-mark{background:#08783e;}.statutory-pagibig .statutory-agency-mark{background:#1168a8;}
.statutory-portal-card strong{display:block;margin:2px 24px 7px 0;font-family:Sora,sans-serif;font-size:14px;}.statutory-portal-card small{display:block;color:var(--muted);font-size:12px;line-height:1.5;}.statutory-portal-card em{display:block;margin-top:10px;color:var(--teal-700);font-size:11px;font-style:normal;font-weight:700;}.statutory-open{position:absolute;top:18px;right:18px;color:var(--muted);font-size:18px;}
.statutory-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px;}
.statutory-action-card{position:relative;display:flex;align-items:center;gap:15px;min-height:112px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left;box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.statutory-action-card:hover{transform:translateY(-2px);border-color:var(--teal-500);}.statutory-action-card[aria-pressed="true"]{border-color:var(--teal-500);background:var(--teal-050);box-shadow:0 0 0 2px rgba(18,163,152,.1);}
.statutory-action-card>span:nth-child(2){min-width:0;}.statutory-action-card strong{display:block;font-family:Sora,sans-serif;font-size:15px;}.statutory-action-card small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45;}.statutory-action-card em{display:block;margin-top:8px;color:var(--teal-600);font-size:11px;font-style:normal;font-weight:700;}
.statutory-action-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:var(--navy-900);color:#fff;font-family:Sora,sans-serif;font-size:13px;font-weight:800;}.statutory-action-arrow{margin-left:auto;color:var(--muted);font-size:28px;line-height:1;}.statutory-editor{scroll-margin-top:18px;}.statutory-editor .panel{margin-bottom:20px;}.statutory-editor-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;}.statutory-editor-close:hover{border-color:var(--danger);color:var(--danger);}
@media(max-width:1000px){.statutory-portal-grid{grid-template-columns:1fr;}.statutory-portal-card{min-height:auto;}}
@media(max-width:760px){.statutory-action-grid{grid-template-columns:1fr;}}

/* Payroll compensation accordion */
.compensation-employee-list{display:grid;gap:10px;margin-top:16px;}.compensation-employee-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;}.compensation-employee-card[open]{border-color:#bfdedb;box-shadow:0 8px 20px rgba(10,37,64,.06)}.compensation-employee-card summary{display:flex;align-items:center;gap:13px;min-height:72px;padding:13px 16px;list-style:none;cursor:pointer}.compensation-employee-card summary::-webkit-details-marker{display:none}.compensation-employee-card summary:hover{background:#f8fbfb}.compensation-avatar{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:11px;background:var(--navy-900);color:#fff;font-family:Sora,sans-serif;font-size:12px;font-weight:800}.compensation-person{display:block;min-width:190px}.compensation-person strong,.compensation-person small{display:block}.compensation-person strong{font-family:Sora,sans-serif;font-size:13px}.compensation-person small{margin-top:4px;color:var(--muted);font-size:11px}.compensation-summary-rate{margin-left:auto;color:var(--navy-900);font-size:12px;font-weight:700}.compensation-chevron{color:var(--muted);font-size:20px;transition:transform .15s}.compensation-employee-card[open] .compensation-chevron{transform:rotate(180deg)}.compensation-edit-grid,.compensation-readonly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px;border-top:1px solid var(--line);background:#fbfdfd}.compensation-edit-grid>label{color:var(--ink);font-size:11px;font-weight:700}.compensation-edit-grid input,.compensation-edit-grid select{width:100%;margin-top:6px}.compensation-edit-grid fieldset{min-width:0;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.compensation-edit-grid legend{padding:0 5px;color:var(--muted);font-size:10px;font-weight:700}.compensation-workdays{grid-column:span 2}.compensation-deductions{grid-column:span 2}.compensation-workdays>div,.compensation-deductions>div{display:flex;flex-wrap:wrap;gap:7px 12px}.compensation-workdays label,.compensation-deductions label{display:flex;align-items:center;gap:4px;font-size:10px}.compensation-workdays input,.compensation-deductions input{width:auto;margin:0}.compensation-readonly-grid>div{padding:11px;border-radius:9px;background:#fff}.compensation-readonly-grid span,.compensation-readonly-grid strong{display:block}.compensation-readonly-grid span{color:var(--muted);font-size:9px;text-transform:uppercase}.compensation-readonly-grid strong{margin-top:5px;font-size:12px}.compensation-readonly-grid>div:nth-child(5),.compensation-readonly-grid>div:nth-child(6){grid-column:span 2}@media(max-width:900px){.compensation-edit-grid,.compensation-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compensation-summary-rate{display:none}}@media(max-width:620px){.compensation-person{min-width:0}.compensation-employee-card summary{align-items:flex-start;flex-wrap:wrap}.compensation-employee-card summary .pill{margin-left:53px}.compensation-chevron{margin-left:auto}.compensation-edit-grid,.compensation-readonly-grid{grid-template-columns:1fr}.compensation-workdays,.compensation-deductions,.compensation-readonly-grid>div:nth-child(5),.compensation-readonly-grid>div:nth-child(6){grid-column:auto}}
/* Payroll draft employee cards */
.payroll-run-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.payroll-run-heading h2{margin:4px 0 0}.payroll-run-heading p{margin:5px 0 0}.payroll-run-warning{display:flex;align-items:center;gap:14px;margin:14px 0;padding:13px 15px;border:1px solid #efd39d;border-radius:11px;background:var(--warn-bg)}.payroll-run-warning strong{color:var(--warn-ink);font-size:12px}.payroll-run-warning span{flex:1;color:#805c1d;font-size:11px}.payroll-run-warning button{border:0;background:transparent;color:var(--teal-600);font:700 11px Inter,sans-serif;cursor:pointer}.payroll-employee-list{display:grid;gap:10px;margin-top:16px}.payroll-employee-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.payroll-employee-card[open]{border-color:#bfdedb;box-shadow:0 8px 20px rgba(10,37,64,.06)}.payroll-employee-card>summary{display:flex;align-items:center;gap:13px;min-height:76px;padding:13px 16px;list-style:none;cursor:pointer}.payroll-employee-card>summary::-webkit-details-marker{display:none}.payroll-employee-card>summary:hover{background:#f8fbfb}.payroll-employee-avatar{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:11px;background:var(--teal-600);color:#fff;font-family:Sora,sans-serif;font-size:12px;font-weight:800}.payroll-employee-person{display:block;min-width:210px}.payroll-employee-person strong,.payroll-employee-person small,.payroll-employee-net small,.payroll-employee-net strong{display:block}.payroll-employee-person strong{font-family:Sora,sans-serif;font-size:13px}.payroll-employee-person small,.payroll-employee-net small{margin-top:4px;color:var(--muted);font-size:10px}.payroll-employee-attendance{margin-left:auto;color:var(--muted);font-size:11px}.payroll-employee-net{min-width:105px;text-align:right}.payroll-employee-net strong{margin-top:3px;color:var(--navy-900);font-size:14px}.payroll-employee-card[open]>.compensation-chevron{transform:rotate(180deg)}.payroll-exception-banner{padding:10px 18px;border-top:1px solid #f2d4cf;background:var(--danger-bg);color:var(--danger-ink);font-size:11px}.payroll-detail-columns{display:grid;grid-template-columns:.8fr 1.15fr 1.05fr;border-top:1px solid var(--line);background:#fbfdfd}.payroll-detail-columns>section{padding:17px 18px}.payroll-detail-columns>section+section{border-left:1px solid var(--line)}.payroll-detail-columns h4{margin:0 0 11px;color:var(--navy-900);font:700 11px Sora,sans-serif;text-transform:uppercase;letter-spacing:.05em}.payroll-detail-columns dl{display:grid;gap:7px;margin:0}.payroll-detail-columns dl>div{display:flex;justify-content:space-between;gap:14px}.payroll-detail-columns dt{color:var(--muted);font-size:10px}.payroll-detail-columns dd{margin:0;color:var(--ink);font-size:10px;font-weight:700;text-align:right}.payroll-detail-columns .payroll-total{margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}.payroll-detail-columns .payroll-total dt,.payroll-detail-columns .payroll-total dd{color:var(--navy-900);font-size:11px}.payroll-adjustment-section{padding:0 18px 17px;background:#fbfdfd}.payroll-adjustment-section .payroll-adjustment-box{margin:0}.payroll-adjustment-section .payroll-adjustment-box>summary{display:inline-flex;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.payroll-adjustment-section .payroll-adjustments{max-width:620px;grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-adjustment-section .payroll-adjustments .full{grid-column:1/-1}@media(max-width:900px){.payroll-detail-columns{grid-template-columns:1fr}.payroll-detail-columns>section+section{border-top:1px solid var(--line);border-left:0}.payroll-employee-attendance{display:none}}@media(max-width:650px){.payroll-run-warning{align-items:flex-start;flex-direction:column}.payroll-employee-card>summary{align-items:flex-start;flex-wrap:wrap}.payroll-employee-person{min-width:0}.payroll-employee-net{margin-left:53px;text-align:left}.payroll-employee-card>summary .pill{margin-left:auto}.payroll-adjustment-section .payroll-adjustments{grid-template-columns:1fr}.payroll-adjustment-section .payroll-adjustments .full{grid-column:auto}}

/* Automatic payroll rules and holiday calendar */
.payroll-detail-columns .payroll-wage-reduction{margin-top:4px;padding-top:8px;border-top:1px dashed #e8bbb4}.payroll-detail-columns .payroll-wage-reduction dt,.payroll-detail-columns .payroll-wage-reduction dd{color:var(--danger-ink)}.payroll-automatic-note{max-width:620px;margin:9px 0 0;padding:9px 11px;border-radius:8px;background:var(--teal-050);color:var(--teal-700);font-size:9.5px;line-height:1.4}.payroll-rule-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}.payroll-rule-strip article{padding:13px 16px}.payroll-rule-strip article+article{border-left:1px solid var(--line)}.payroll-rule-strip span,.payroll-rule-strip strong,.payroll-rule-strip small{display:block}.payroll-rule-strip span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.payroll-rule-strip strong{margin-top:4px;color:var(--navy-900);font:700 17px Sora,sans-serif}.payroll-rule-strip small{margin-top:3px;color:var(--muted);font-size:9px}.holiday-workspace{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(420px,1.25fr);gap:14px}.holiday-workspace>.card{margin:0;padding:17px 18px}.holiday-workspace h3{margin:0;font-size:15px}.holiday-workspace .muted{margin:5px 0 14px;font-size:9.5px;line-height:1.45}.holiday-workspace .field{margin-bottom:10px}.holiday-workspace .field label{font-size:9px}.holiday-workspace .field input,.holiday-workspace .field select{min-height:38px;padding:8px 10px;font-size:10px}.holiday-active-check{display:flex;align-items:center;gap:7px;margin:4px 0 13px;color:var(--muted);font-size:9.5px}.holiday-active-check input{width:auto}.holiday-workspace .btn-submit{width:auto;margin:0;padding:9px 14px;font-size:10px}.holiday-list-card{padding:0!important;overflow:hidden}.holiday-list-card .panel-heading{margin:0;padding:15px 17px;border-bottom:1px solid var(--line)}.holiday-list-card .panel-heading p{margin:4px 0 0}.holiday-record-list{display:grid}.holiday-record-list>p{padding:15px 17px}.holiday-record-list article{display:grid;grid-template-columns:minmax(160px,1fr) auto 72px;align-items:center;gap:10px;padding:10px 17px;border-bottom:1px solid var(--line)}.holiday-record-list article>div strong,.holiday-record-list article>div small{display:block}.holiday-record-list article>div strong{color:var(--navy-900);font-size:10px}.holiday-record-list article>div small{margin-top:3px;color:var(--muted);font-size:8.5px}.holiday-record-list form{margin:0;text-align:right}.holiday-record-list .btn-mini{min-width:64px;margin:0;padding:6px 8px;font-size:8px}.holiday-list-card>.pagination{padding:11px 17px}@media(max-width:900px){.holiday-workspace{grid-template-columns:1fr}}@media(max-width:600px){.payroll-rule-strip{grid-template-columns:1fr}.payroll-rule-strip article+article{border-top:1px solid var(--line);border-left:0}.holiday-record-list article{grid-template-columns:1fr auto}.holiday-record-list form{grid-column:1/-1;text-align:left}}

/* HR attendance workspace */
.attendance-filter{padding:0;overflow:hidden}.attendance-filter-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line);background:#f8fbfb}.attendance-filter-head span,.attendance-filter-head strong{display:block}.attendance-filter-head span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.attendance-filter-head strong{margin-top:4px;color:var(--navy-900);font:700 14px Sora,sans-serif}.attendance-filter-head>small{padding:5px 9px;border-radius:999px;background:var(--teal-050);color:var(--teal-600);font-size:9px;font-weight:800}.attendance-filter-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:16px 18px 10px}.attendance-filter .field{margin:0}.attendance-filter .field label{font-size:10px}.attendance-filter .field input,.attendance-filter .field select{min-height:39px;padding:8px 10px;font-size:11px}.attendance-filter-actions{display:flex;justify-content:flex-end;padding:0 18px 16px}.attendance-filter .btn-submit{width:auto;min-width:125px;margin:0;padding:9px 16px;font-size:11px;white-space:nowrap}.attendance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 18px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.attendance-summary-grid article{min-width:0;padding:14px 17px}.attendance-summary-grid article+article{border-left:1px solid var(--line)}.attendance-summary-grid article.needs-attention{background:#fffafa}.attendance-summary-grid span,.attendance-summary-grid strong,.attendance-summary-grid small{display:block}.attendance-summary-grid span{color:var(--muted);font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.attendance-summary-grid strong{margin-top:5px;color:var(--navy-900);font:700 18px Sora,sans-serif}.attendance-summary-grid small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.attendance-summary-grid .needs-attention strong{color:var(--danger-ink)}.attendance-sheet-card{padding:0;overflow:hidden}.attendance-sheet-heading{margin:0;padding:17px 18px;border-bottom:1px solid var(--line)}.attendance-sheet-heading h2{font-size:16px;white-space:nowrap}.attendance-sheet-heading p{margin:4px 0 0;color:var(--muted);font-size:9.5px}.attendance-sheet-heading .btn-link{width:auto;min-width:105px;margin:0;white-space:nowrap}.attendance-sheet-card .table-wrap{overflow-x:auto}.attendance-table{min-width:650px}.attendance-table th{padding:10px 14px;background:#f8fbfb;font-size:8.5px;letter-spacing:.05em;text-transform:uppercase}.attendance-table td{padding:11px 14px;vertical-align:middle}.attendance-table td>strong,.attendance-table td>small{display:block}.attendance-table td>strong{color:var(--navy-900);font-size:10.5px}.attendance-table td>small{margin-top:3px;color:var(--muted);font-size:8.5px}.attendance-table td:nth-child(3) strong{white-space:nowrap}.attendance-table td:nth-child(3) strong span{padding:0 3px;color:var(--muted)}.attendance-person{display:flex;align-items:center;gap:9px}.attendance-person>span{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:9px;background:var(--navy-900);color:#fff;font:700 9px Sora,sans-serif}.attendance-person strong,.attendance-person small{display:block}.attendance-person strong{color:var(--navy-900);font-size:10.5px;white-space:nowrap}.attendance-person small{margin-top:2px;color:var(--muted);font-size:8.5px}.attendance-table .pill{white-space:nowrap}.attendance-table td:last-child>small{margin-top:4px}@media(max-width:1050px){.attendance-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.attendance-filter-head{align-items:flex-start}.attendance-filter-fields{grid-template-columns:1fr}.attendance-filter-actions .btn-submit{width:100%}.attendance-summary-grid{grid-template-columns:1fr}.attendance-summary-grid article+article{border-top:1px solid var(--line);border-left:0}.attendance-sheet-heading{align-items:flex-start}.attendance-summary-grid small{white-space:normal}}
.employee-workspace-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.employee-workspace-card{min-height:92px;margin:0;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left;box-shadow:var(--shadow)}.employee-workspace-card[aria-pressed="true"]{border-color:var(--teal-500);background:var(--teal-050);box-shadow:0 0 0 2px rgba(24,154,145,.1)}.employee-workspace-card span,.employee-workspace-card strong,.employee-workspace-card small{display:block}.employee-workspace-card span{color:var(--teal-600);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.employee-workspace-card strong{margin-top:6px;color:var(--navy-900);font:700 13px Sora,sans-serif}.employee-workspace-card small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.employee-workspace-panel[hidden]{display:none}.attendance-workspace-panel>.module-header{margin-top:2px}@media(max-width:560px){.employee-workspace-hub{grid-template-columns:1fr}}

/* Employee and HR request centers */
.request-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.request-hub-card{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:96px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}.request-hub-card.active{border-color:var(--teal-500);background:var(--teal-050);box-shadow:0 0 0 2px rgba(24,154,145,.1)}.request-hub-mark{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:8px;background:var(--navy-900);color:#fff;font:700 8px Sora,sans-serif}.request-hub-card em,.request-hub-card strong,.request-hub-card small{display:block}.request-hub-card em{color:var(--teal-600);font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase}.request-hub-card strong{margin-top:4px;color:var(--navy-900);font:700 11px Sora,sans-serif}.request-hub-card small{margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.35}.request-hub-card b{position:absolute;right:11px;bottom:9px;color:var(--muted);font-size:8px}.request-list-card{padding:0;overflow:hidden}.request-list-card>.panel-heading{padding:17px 19px 13px;margin:0;border-bottom:1px solid var(--line)}.request-list-card>.panel-heading p,.request-list-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}.request-list-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 11px}.request-list-heading h2{margin:0;color:var(--navy-900);font-size:16px}.request-list-heading>span{color:var(--teal-600);font-size:9px;font-weight:800}.hr-request-list{display:grid;gap:9px}.hr-request-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.hr-request-card[open]{border-color:#b9ddd9;box-shadow:0 7px 18px rgba(7,28,44,.05)}.hr-request-card>summary{display:flex;align-items:center;gap:11px;min-height:62px;padding:11px 14px;list-style:none;cursor:pointer}.hr-request-card>summary::-webkit-details-marker{display:none}.request-employee-avatar{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:var(--navy-900);color:#fff;font:700 9px Sora,sans-serif}.request-summary-copy{min-width:190px}.request-summary-copy strong,.request-summary-copy small{display:block}.request-summary-copy strong{font-size:11px}.request-summary-copy small{margin-top:3px;color:var(--muted);font-size:9px}.hr-request-card summary time{margin-left:auto;color:var(--muted);font-size:9px}.hr-request-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px 18px;border-top:1px solid var(--line);background:#fbfdfd}.hr-request-body>section>span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.hr-request-body p{margin:6px 0 0;font-size:10.5px;line-height:1.55}.hr-request-body form{margin:0}.hr-request-body textarea{min-height:70px}.hr-request-body .btn-submit{width:auto;margin:0;padding:9px 14px;font-size:10px}.request-current-response{margin-top:13px;padding:11px;border-radius:9px;background:#fff}.request-current-response strong{font-size:9px}.request-history{padding:12px 18px;border-top:1px solid var(--line)}.request-history>strong{font-size:9px;text-transform:uppercase}.request-history p{display:grid;grid-template-columns:95px 1fr auto;gap:10px;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:9px}.request-history p>span{font-weight:800}.request-history small{color:var(--muted)}.employee-request-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:18px}.employee-request-hub button{min-height:86px;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left}.employee-request-hub button[aria-selected="true"]{border-color:var(--teal-500);background:var(--teal-050);box-shadow:0 0 0 2px rgba(24,154,145,.1)}.employee-request-hub button span{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:var(--navy-900);color:#fff;font-size:7px}.employee-request-hub button strong,.employee-request-hub button small{display:block}.employee-request-hub button strong{margin-top:6px;color:var(--navy-900);font:700 10.5px Sora,sans-serif}.employee-request-hub button small{margin-top:3px;color:var(--muted);font-size:8.5px}.employee-request-panel[hidden]{display:none}.request-leave-layout,.request-service-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.request-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-leave-layout .btn-submit,.request-service-layout .btn-submit{width:auto;margin:0;padding:9px 14px;font-size:10.5px}.request-history-card{padding:17px 19px}.employee-service-history{display:grid;gap:8px}.employee-service-history>article{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fbfdfd}.employee-service-history>article>div:first-child{display:flex;justify-content:space-between;gap:12px}.employee-service-history strong{font-size:10px}.employee-service-history small{color:var(--muted);font-size:8px}.employee-service-history>article>.pill{display:inline-block;margin-top:7px}.employee-service-history>article>p{margin:8px 0 0;color:var(--muted);font-size:9.5px;line-height:1.45}.employee-request-response{margin-top:9px;padding:9px;border-radius:8px;background:var(--good-bg)}.employee-request-response p{margin:4px 0 0;font-size:9.5px}@media(max-width:1100px){.request-hub,.employee-request-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.hr-request-body,.request-leave-layout,.request-service-layout{grid-template-columns:1fr}.request-history p{grid-template-columns:1fr}.request-summary-copy{min-width:0}.hr-request-card summary time{display:none}}@media(max-width:520px){.request-hub,.employee-request-hub,.request-date-grid{grid-template-columns:1fr}}

.request-leave-layout .field label,.request-service-layout .field label{display:flex;flex-direction:column;gap:6px;margin:0}.request-leave-layout .field input,.request-leave-layout .field select,.request-leave-layout .field textarea,.request-service-layout .field input,.request-service-layout .field select,.request-service-layout .field textarea{box-sizing:border-box;width:100%}
.compact-search{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;}
.compact-search input{width:180px;padding:8px 10px;}
.compact-search button{width:auto;flex:0 0 auto;margin:0;padding:8px 12px;}
.compact-search a{flex:0 0 auto;color:var(--teal-600);font-size:.85rem;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;}
.attendance-sheet-heading{align-items:center!important;min-height:72px;padding:14px 17px!important}.attendance-sheet-heading>div{min-width:0}.attendance-sheet-heading h2{line-height:1.2}.attendance-sheet-heading p{display:flex;align-items:center;gap:6px;line-height:1.2}.attendance-sheet-heading p span{color:#a8b6b8}.attendance-sheet-heading .btn-link{align-self:center}.attendance-sheet-card .table-wrap{overflow-x:visible}.attendance-table{width:100%;min-width:0;table-layout:fixed}.attendance-table th:nth-child(1){width:25%}.attendance-table th:nth-child(2){width:17%}.attendance-table th:nth-child(3),.attendance-table th:nth-child(4){width:13%}.attendance-table th:nth-child(5){width:15%}.attendance-table th:nth-child(6){width:17%}.attendance-table th,.attendance-table td{padding-right:12px;padding-left:12px}.attendance-table td:nth-child(3) strong,.attendance-table td:nth-child(4) strong{white-space:nowrap}.attendance-table .attendance-open-label{color:var(--warn-ink);white-space:nowrap}@media(max-width:760px){.attendance-sheet-card .table-wrap{overflow-x:auto}.attendance-table{min-width:680px;table-layout:auto}}
.attendance-table th:nth-child(1){width:21%}.attendance-table th:nth-child(2){width:15%}.attendance-table th:nth-child(3){width:17%}.attendance-table th:nth-child(4),.attendance-table th:nth-child(5){width:11%}.attendance-table th:nth-child(6){width:12%}.attendance-table th:nth-child(7){width:13%}.attendance-table th,.attendance-table td{padding-right:10px;padding-left:10px}.attendance-table td:nth-child(3) strong,.attendance-table td:nth-child(4) strong,.attendance-table td:nth-child(5) strong{white-space:nowrap}.attendance-table .attendance-shift strong{font-size:9.5px}.attendance-table .attendance-open-label{color:var(--warn-ink);white-space:nowrap}@media(max-width:850px){.attendance-sheet-card .table-wrap{overflow-x:auto}.attendance-table{min-width:820px;table-layout:auto}}
.attendance-table td:nth-child(3) strong{white-space:normal}.attendance-table .attendance-shift small{white-space:nowrap}
.attendance-sheet-card .table-wrap{overflow-x:auto}.attendance-table{min-width:900px}.attendance-table td:nth-child(3) strong,.attendance-table .attendance-shift strong{white-space:nowrap}
.attendance-table .attendance-ot-note{margin-top:5px;color:var(--teal-700);font-weight:700;white-space:nowrap}.dtr-ot-copy{display:block;margin-top:4px;color:var(--muted);font-size:9px}.dtr-ot-request{min-width:145px}.dtr-ot-request>summary{color:var(--teal-600);font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.dtr-ot-request form{display:grid;gap:6px;margin-top:7px}.dtr-ot-request input{min-width:150px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;font-size:9px}.dtr-ot-request .btn-mini{width:max-content;margin:0}.overtime-review-card{margin-top:16px;padding:0;overflow:hidden}.overtime-review-card>.panel-heading{margin:0;padding:16px 18px;border-bottom:1px solid var(--line)}.overtime-review-card>.panel-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}.overtime-review-card td>small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.overtime-decision-form{display:grid;grid-template-columns:70px minmax(130px,1fr);gap:6px;min-width:260px}.overtime-decision-form label{color:var(--muted);font-size:8px}.overtime-decision-form input{box-sizing:border-box;width:100%;min-height:32px;padding:6px 7px;border:1px solid var(--line);border-radius:7px;font-size:9px}.overtime-decision-form>div{grid-column:1/-1;display:flex;gap:5px}.overtime-decision-form .btn-mini{margin:0}
.employee-dtr-log-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.employee-dtr-log-heading h3{margin:0}.employee-dtr-log-heading p{margin:4px 0 0;color:var(--muted);font-size:9.5px}.employee-dtr-log-heading form{display:flex;align-items:center;gap:6px}.employee-dtr-log-heading input,.employee-dtr-log-heading select{min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;font-size:9px}.employee-dtr-log-heading .btn-mini{margin:0}@media(max-width:700px){.employee-dtr-log-heading{align-items:stretch;flex-direction:column}.employee-dtr-log-heading form{flex-wrap:wrap}}
@media(max-width:1100px){.attendance-sheet-card .table-wrap{overflow-x:auto}.attendance-table{min-width:850px;table-layout:fixed}}
.attendance-filter-fields{grid-template-columns:minmax(190px,1.25fr) minmax(180px,1fr) minmax(160px,.9fr) minmax(145px,.8fr) auto;align-items:end;gap:14px;padding:16px 22px 18px}.attendance-filter .field label{display:flex;flex-direction:column;align-items:stretch;gap:6px;line-height:1}.attendance-filter .field input,.attendance-filter .field select{box-sizing:border-box;width:100%;margin:0}.attendance-filter-actions{align-self:end;padding:0}.attendance-filter-actions .btn-submit{min-height:39px;margin:0;padding:9px 18px}@media(max-width:1050px){.attendance-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-filter-actions{grid-column:1/-1;justify-content:flex-end}}@media(max-width:650px){.attendance-filter-fields{grid-template-columns:1fr;padding:14px 16px}.attendance-filter-actions{grid-column:auto}.attendance-filter-actions .btn-submit{width:100%}}

/* ============ Notification bell (admin) ============ */
.notification-bell{position:relative;}
.notification-bell summary{position:relative;list-style:none;cursor:pointer;font-size:1.25rem;}
.notification-bell summary::-webkit-details-marker{display:none;}
.notification-bell summary span{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:1px 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem;text-align:center;}
.notification-menu{position:absolute;z-index:10;top:34px;right:0;width:min(92vw, 390px);padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);}
.notification-title{padding:5px 6px 10px;font-weight:700;color:var(--navy-900);}
.notification-menu a{display:block;padding:10px 7px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;}
.notification-menu a:hover{background:var(--bg);}
.notification-menu strong, .notification-menu small, .notification-menu em{display:block;}
.notification-menu small, .notification-menu em{margin-top:3px;color:var(--muted);font-size:.78rem;font-style:normal;}
.notification-menu form{margin-top:9px;}
.notification-menu form button{margin:0;}

/* ============ Responsive ============ */
@media (max-width:640px){ main{padding:20px;} }
@media (max-width:760px){.incident-workspace-grid,.leave-workspace-grid{grid-template-columns:1fr}.incident-workspace-card,.leave-workspace-card{min-height:104px}}
@media (max-width:900px){ .app{grid-template-columns:1fr;} .sidebar{position:relative;min-height:auto;height:auto;} }
@media (max-width:620px){
  .auth-card{padding:24px;}
  .shell{display:block;}
  .shell .sidebar{width:auto;min-height:auto;}
  .shell .sidebar nav{grid-template-columns:repeat(2, 1fr);}
  .signout{margin-top:10px;}
  .content{padding:22px;}
  .stats.four, .two-column, .form-grid{grid-template-columns:1fr;}
  .form-grid .full{grid-column:auto;}
  .modal-actions{padding:12px 18px;}
  .search-form div{flex-wrap:wrap;}
  .search-form input{flex:1;min-width:100%;}
  .compact-search{width:100%;}
  .compact-search input{flex:1;width:auto;min-width:0;}
  .pagination{gap:8px;}
  .grid{grid-template-columns:1fr;}
  .topbar{align-items:flex-start;flex-direction:column;gap:8px;}
  .calendar-heading{align-items:stretch;flex-direction:column;}
  .calendar-navigation{justify-content:space-between;}
  .calendar-day{min-height:68px;padding:5px;}
  .calendar-weekday{padding:7px 2px;font-size:9px;}
  .calendar-status{font-size:9px;padding:2px 3px;}
  .calendar-day small{display:none;}
  .notification-header{flex-direction:column;}.btn-mark-read{width:100%;}.employee-notification{padding:14px;flex-direction:column;gap:8px;}.employee-notification.unread{padding-left:11px;}
  .table-pagination{justify-content:center;flex-wrap:wrap;}.table-pagination span{order:-1;width:100%;}
}

.payroll-run-state{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;}
.payroll-run-state>.pill{align-self:flex-end;}
.payroll-run-state .payroll-actions{justify-content:flex-end;margin:10px 0 0;}
@media(max-width:620px){.payroll-run-heading{flex-wrap:wrap}.payroll-run-state{width:100%;align-items:flex-end}.payroll-run-state .payroll-actions{flex-wrap:wrap;justify-content:flex-end}}
.manager-team-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.manager-team-hub button{min-height:120px;padding:18px;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.manager-team-hub button[aria-pressed="true"]{border-color:var(--teal-500);background:var(--teal-050)}.manager-team-hub span,.manager-team-hub strong,.manager-team-hub small{display:block}.manager-team-hub span{color:var(--teal-600);font-size:11px;font-weight:700;text-transform:uppercase}.manager-team-hub strong{margin-top:8px;color:var(--navy-900);font:700 14px Sora,sans-serif}.manager-team-hub small{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4}.navlink[href]{text-decoration:none}.dtr-calendar-card[hidden],[data-team-panel][hidden]{display:none}@media(max-width:1000px){.manager-team-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.manager-team-hub{grid-template-columns:1fr}}
.team-roster-table th,.team-roster-table td{text-align:center;vertical-align:middle}
.team-roster-stats .stat-box{text-align:center}
.team-member-actions{display:flex;justify-content:center;gap:5px;white-space:nowrap}.team-action{display:inline-grid;place-items:center;width:34px;height:34px;padding:8px;border:0;color:#fff;cursor:pointer}.team-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.team-action-shift{background:#16b8c3}.team-action-evaluation{background:#7963e8}.team-action-reserved{background:#aab6bf;cursor:not-allowed}.team-action-dialog{width:min(480px,calc(100% - 32px));padding:24px;border:1px solid var(--line);color:var(--ink)}.team-action-dialog::backdrop{background:rgba(5,25,42,.55)}.team-action-dialog p{color:var(--muted);font-size:13px;line-height:1.5}.team-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.team-dialog-heading h3{margin:0}.team-dialog-heading button{border:0;background:transparent;color:var(--muted);font-size:25px;cursor:pointer}
.team-evaluation-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow-y:auto}.team-evaluation-dialog .form-grid{margin-top:18px}
.guided-eyebrow{color:var(--teal-600);font-size:10px;font-weight:800;letter-spacing:.08em}.guided-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:20px 0 4px}.guided-steps span{padding:9px 5px;border-bottom:3px solid var(--line);color:var(--muted);font-size:11px;text-align:center}.guided-steps span.active{color:var(--teal-600);border-color:var(--teal-500)}.guided-panel h4{margin:4px 0 5px;color:var(--navy-900);font-size:16px}.guided-panel>p{margin:0 0 16px;color:var(--muted);font-size:12px}.guided-panel .field{margin-bottom:13px}.guided-rating{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.guided-rating label{font-size:12px;font-weight:700}.guided-rating select{max-width:205px}.guided-score{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:15px;background:var(--teal-050)}.guided-score span{font-size:10px;font-weight:800;color:var(--teal-600)}.guided-score strong{font-size:20px;color:var(--navy-900)}.guided-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.guided-actions button[hidden],.guided-panel[hidden]{display:none}.guided-summary{border:1px solid var(--line)}.guided-summary div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px}.guided-summary div:last-child{border-bottom:0}.guided-summary span{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:520px){.guided-rating{align-items:stretch;flex-direction:column}.guided-rating select{max-width:none}.guided-steps b{display:none}}
.team-evaluation-dialog{box-sizing:border-box}.team-evaluation-dialog .team-dialog-heading>div{flex:1;min-width:0}.team-evaluation-dialog .team-dialog-heading h3{margin:4px 0 0;font-size:20px;line-height:1.3}.team-evaluation-dialog .team-dialog-heading button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin:0;padding:0;line-height:1}.team-evaluation-dialog .guided-panel{min-width:0}.team-evaluation-dialog .guided-panel .field{width:100%;min-width:0}.team-evaluation-dialog .guided-panel .field>label{display:flex;flex-direction:column;align-items:stretch;gap:7px;width:100%;line-height:1.35}.team-evaluation-dialog .guided-panel .field input,.team-evaluation-dialog .guided-panel .field select,.team-evaluation-dialog .guided-panel .field textarea{box-sizing:border-box;width:100%;min-width:0;margin:0}.team-evaluation-dialog .guided-panel .field textarea{min-height:90px}.team-evaluation-dialog .guided-actions button{width:auto;min-width:92px;margin:0;padding:10px 16px}.team-evaluation-dialog .guided-actions #evaluation-back{background:var(--neutral-bg);color:var(--navy-900)}
.team-evaluation-dialog{width:min(900px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:30px}@media(max-width:600px){.team-evaluation-dialog{padding:18px}}
.hr-management-hub{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.hr-management-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.hr-management-hub{grid-template-columns:1fr}}
.hr-workspace-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.hr-workspace-tabs[hidden]{display:none}.hr-workspace-tabs button{width:auto;margin:0;padding:9px 14px;border:1px solid var(--line);background:#fff;color:var(--navy-900);font-size:12px}.hr-workspace-tabs button[aria-pressed="true"]{border-color:var(--teal-600);background:var(--teal-050);color:var(--teal-600)}
.hr-management-hub[hidden],.hr-area-cards[hidden]{display:none}.hr-hub-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.hr-hub-heading #hr-hub-back{width:auto;flex:0 0 auto;margin:0}.hr-hub-heading #hr-hub-back[hidden]{display:none}@media(max-width:600px){.hr-hub-heading{flex-wrap:wrap}}
.hr-hub-heading #hr-hub-back{display:inline-flex;align-items:center;gap:8px;padding:8px 0;border:0;background:transparent;color:#008c83;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.hr-hub-heading #hr-hub-back::before{content:'\2190';font-size:1.2em;line-height:1}.hr-hub-heading #hr-hub-back:hover{color:#006c66}.hr-hub-heading #hr-hub-back:focus-visible{outline:2px solid #008c83;outline-offset:4px}
.hr-applicant-back{display:flex;justify-content:flex-end;margin-bottom:12px}.hr-applicant-back a{color:#008c83;font-size:13px;font-weight:600;text-decoration:none}.hr-applicant-back a:hover{color:#006c66}.hr-applicant-back a:focus-visible{outline:2px solid #008c83;outline-offset:4px}
.hr-hub-heading[hidden]{display:none}.hr-module-heading{position:relative;padding-right:150px}.hr-module-heading #hr-hub-back{position:absolute;right:0;top:0;display:inline-flex;align-items:center;gap:8px;width:auto;margin:0;padding:8px 0;border:0;background:transparent;color:#008c83;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.hr-module-heading #hr-hub-back::before{content:'\2190';font-size:1.2em;line-height:1}.hr-module-heading #hr-hub-back:hover{color:#006c66}.hr-module-heading #hr-hub-back:focus-visible{outline:2px solid #008c83;outline-offset:4px}@media(max-width:600px){.hr-module-heading{padding-right:0}.hr-module-heading #hr-hub-back{position:static;margin-bottom:10px}}
.module-header[hidden]{display:none}


/* Applicant CV profile: space between each label and its field so the focus ring doesn't cover the label text */
.cv-form .field label{display:flex;flex-direction:column;gap:8px;}

/* CV views: spacing between companies when an applicant lists more than one */
.ats-cv-job + .ats-cv-job{margin-top:12px;}

/* HR dashboard: work notification bell sits at the top right */
.hr-topbar{display:flex;justify-content:flex-end;margin-bottom:6px;}

/* Notification bells (HR, applicant and Super Admin): outlined icon on white, in the site's navy/teal theme */
.notification-bell summary{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--navy-900);font-size:0;box-shadow:0 4px 12px rgba(10,37,64,.06);transition:border-color .15s ease,color .15s ease;}
.notification-bell summary svg{display:block;}
.notification-bell summary:hover,.notification-bell[open] summary{border-color:var(--teal-500);color:var(--teal-600);}
.notification-bell summary:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;}
.notification-bell summary span{top:-7px;right:-7px;font-size:.7rem;font-weight:700;line-height:16px;}
.notification-bell .notification-menu{top:48px;z-index:30;}
.notification-bell .notification-menu strong{font-size:13px;color:var(--navy-900);}
.notification-bell .notification-menu small{font-size:12px;line-height:1.45;}
.hr-notification-empty,.hr-notification-more{margin:4px 7px 2px;font-size:12px;}
.notification-bell .notification-menu form button{width:100%;}

.assessment-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.assessment-result-actions .btn-mini{margin:0}
.assessment-reschedule-new{display:grid;grid-template-columns:1fr 1fr;gap:12px}.assessment-reschedule-new[hidden]{display:none}.assessment-reschedule-new .muted{grid-column:1/-1;margin:0;font-size:12.5px}
#assessment-reschedule-dialog,#final-assessment-reschedule-dialog,#reschedule-dialog{border:0;box-shadow:0 18px 50px rgba(5,25,42,.22),0 4px 12px rgba(5,25,42,.12)}#assessment-reschedule-dialog::backdrop,#final-assessment-reschedule-dialog::backdrop,#reschedule-dialog::backdrop{background:rgba(5,25,42,.35)}
.application-badge{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:5px 10px;background:var(--teal-400);color:var(--navy-900);font-size:11.5px;font-weight:700;letter-spacing:.02em}.application-badge span{width:7px;height:7px;background:currentColor;border-radius:50%!important}.application-badge.is-hired{background:#8FE0B4}.application-badge.is-closed{background:rgba(255,255,255,.16);color:#fff}
label>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),label>select,label>textarea,.field label+input,.field label+select,.field label+textarea{margin-top:8px}
.cv-form .field label>*,.clearance-create-form .field label>*,.request-leave-layout .field label>*,.request-service-layout .field label>*,.attendance-filter .field label>*,.team-evaluation-dialog .guided-panel .field>label>*{margin-top:0}
.clearance-create-form .field label,.request-leave-layout .field label,.request-service-layout .field label,.attendance-filter .field label,.team-evaluation-dialog .guided-panel .field>label{gap:8px}
.quarter-picker{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin-top:8px}.quarter-picker input[type=date]{flex:1 1 160px;width:auto;margin:0}.quarter-time{display:flex;align-items:stretch;border:1px solid var(--line);background:#FCFDFD}.quarter-time output{display:flex;align-items:center;justify-content:center;min-width:92px;padding:0 10px;font-size:13.5px;font-weight:600;color:var(--navy-900);font-variant-numeric:tabular-nums}.quarter-time .quarter-step{width:40px;margin:0;padding:0;background:var(--teal-050);color:var(--teal-600);font-size:18px;font-weight:700;line-height:1}.quarter-time .quarter-step:hover{background:var(--teal-500);color:#fff}.quarter-time .quarter-step:disabled{opacity:.35;cursor:not-allowed;background:var(--teal-050);color:var(--teal-600)}
.result-entry{display:grid;gap:8px;min-width:220px}.result-entry input[name=result_notes]{margin:0;padding:8px 10px;font-size:13px}
.result-choice{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#FCFDFD}.result-choice label{position:relative;margin:0;cursor:pointer}.result-choice label+label{border-left:1px solid var(--line)}
.result-choice input{position:absolute;width:1px;height:1px;opacity:0}.result-choice span{display:block;padding:7px 10px;color:var(--muted);font-size:12.5px;font-weight:600;text-align:center}
.result-choice .is-pass input:checked+span{background:var(--good-bg);color:var(--good-ink)}.result-choice .is-fail input:checked+span{background:var(--danger-bg);color:var(--danger-ink)}.result-choice input:focus-visible+span{outline:2px solid var(--teal-400);outline-offset:-2px}
.result-actions{display:grid;gap:8px;min-width:120px}.result-actions .btn-mini{width:100%;margin:0;text-align:center}
.hr-owner{display:inline-block;margin-top:3px;color:var(--teal-600);font-size:11.5px;font-weight:600}
.collapsible-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}.collapsible-card>summary::-webkit-details-marker{display:none}.collapsible-card>summary h3{margin:0}.collapsible-card>summary::after{content:"";flex:0 0 9px;width:9px;height:9px;margin-right:4px;border-right:2px solid var(--teal-600);border-bottom:2px solid var(--teal-600);transform:rotate(45deg);transition:transform .2s ease}.collapsible-card[open]>summary::after{transform:rotate(-135deg)}.collapsible-card>summary:focus-visible{outline:2px solid var(--teal-400);outline-offset:4px}.collapsible-card>.collapsible-body{margin-top:14px}
.form-grid label>textarea{display:block;width:100%;box-sizing:border-box;min-height:96px;resize:vertical;font-size:13.5px}
.requirements-upload-bar{position:sticky;bottom:12px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 14px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(5,25,42,.12)}.requirements-upload-bar span{color:var(--muted);font-size:13px;font-weight:600}.requirements-upload-bar .btn-submit{width:auto;min-width:220px;margin:0}.requirements-upload-bar .btn-submit:disabled{opacity:.5;cursor:not-allowed}.initial-file-pick{display:flex;flex-direction:column;gap:8px;margin:12px 0 0}.initial-file-pick input{margin:0}
.flash.is-floating{position:fixed;top:16px;right:16px;z-index:50;max-width:min(420px,calc(100vw - 32px));box-shadow:0 12px 30px rgba(5,25,42,.18)}
#offers .card.narrow{max-width:920px;margin-left:auto;margin-right:auto}
#offers .module-header{max-width:920px;margin-left:auto;margin-right:auto}
input[type=checkbox],input[type=radio]{width:auto;padding:0}
.contract-signature .check-label{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;font-weight:500;line-height:1.5;cursor:pointer}.contract-signature .check-label input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--teal-600)}
.signature-field{margin-top:16px}.signature-field-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12.5px;font-weight:600;color:var(--navy-900)}
.signature-clear{width:auto;margin:0;padding:4px 10px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;font-weight:600}.signature-clear:hover{background:var(--teal-050);color:var(--teal-600)}
.signature-pad{position:relative;height:170px;border:1px dashed var(--teal-500);background:#FCFDFD;background-image:linear-gradient(to right,var(--line),var(--line));background-size:calc(100% - 48px) 1px;background-position:24px 74%;background-repeat:no-repeat}.signature-pad canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}
.signature-hint{position:absolute;left:24px;top:calc(74% - 26px);color:#9AA9B2;font-size:13px;pointer-events:none}.signature-error{margin:6px 0 0;color:var(--danger-ink);font-size:12.5px;font-weight:600}
.signature-image{display:block;max-width:320px;width:100%;margin-top:10px;border-bottom:1px solid var(--line)}.signature-thumb{display:block;max-width:150px;margin-top:4px;background:#fff;border:1px solid var(--line)}
#offers .decision-actions{gap:4px}#offers .decision-actions button,#offers .decision-actions .btn-secondary{margin:0}
.hired-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:14px 18px;border:1px solid #9FDDBD;background:var(--good-bg);color:var(--good-ink);font-size:14px;line-height:1.5}.hired-banner strong{color:#14633C}.hired-banner small{display:block;margin-top:4px;color:var(--good-ink);font-size:12px;opacity:.85}.hired-banner .btn-link{width:auto;margin:0;white-space:nowrap}
.dtr-auto{display:block;margin-top:2px;color:#9A6B0B;font-size:11px;font-weight:600}.calendar-ot{display:block;color:var(--teal-600);font-size:10.5px;font-weight:700}.dtr-ot-request label{display:flex;flex-direction:column;gap:4px;margin:0 0 6px;font-size:11.5px}.dtr-ot-request label input{margin:0}
.calendar-key.holiday::before{background:#EDE7FB;border:1px solid #B9A6EC}.calendar-holiday{display:block;margin:2px 0;padding:2px 5px;font-size:10.5px;font-weight:700;line-height:1.25;color:#4B2E9A;background:#EDE7FB;border-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-holiday.is-special{color:#7A4A06;background:#FBF0DA}
.workday-picker{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.workday-picker legend{width:100%;margin-bottom:8px;padding:0;font-size:12.5px;font-weight:600;color:var(--navy-900)}.workday-picker legend small{margin-left:6px;color:var(--muted);font-weight:500}.workday-picker label{position:relative;margin:0;cursor:pointer}.workday-picker input{position:absolute;opacity:0;width:1px;height:1px}.workday-picker span{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:600}.workday-picker input:checked+span{border-color:var(--teal-500);background:var(--teal-050);color:var(--teal-600)}.workday-picker input:focus-visible+span{outline:2px solid var(--teal-400);outline-offset:2px}
#edit-employee{display:block;margin:0 0 4px}#edit-employee~.panel,#edit-employee~.two-column{margin-top:0}
.team-dialog-heading h3{flex:1;min-width:0}.team-dialog-heading button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin:0;padding:0;line-height:1}.team-action-dialog .shift-request-current{margin:-4px 0 14px;padding:10px 12px;background:var(--teal-050);color:var(--navy-900)}
.clock-action button[data-tip]{position:relative;overflow:visible}.clock-action button[data-tip]::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;width:max-content;max-width:300px;padding:8px 10px;border-radius:6px;background:var(--navy-900,#0b2236);color:#fff;font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 6px 18px rgba(5,25,42,.18);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease 0s,visibility 0s linear .12s}.clock-action button[data-tip]:hover::after,.clock-action button[data-tip]:focus-visible::after{opacity:1;visibility:visible;transition:opacity .12s ease .3s,visibility 0s linear .3s}
.clock-action:last-child button[data-tip]::after{left:auto;right:0}#early-clock-out-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}#early-clock-out-dialog .dialog-actions button{width:auto;margin:0}#early-clock-out-dialog .btn-danger{border:0;border-radius:8px;padding:11px 16px;background:#c0392b;color:#fff;font-weight:700;cursor:pointer}#early-clock-out-dialog .btn-danger:hover{background:#a93226}
.overtime-request-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;margin:4px 0 18px}.overtime-request-form .field{margin:0}.overtime-request-form .overtime-reason{grid-column:span 2}.overtime-request-form .overtime-submit button{width:100%;margin:0}.overtime-request-card td small,.overtime-review-card td small{display:block;color:var(--muted)}
.overtime-request-form .field,.overtime-request-form label{min-width:0}.overtime-request-form label{display:flex;flex-direction:column;gap:8px}.overtime-request-form select,.overtime-request-form input{width:100%;min-width:0;box-sizing:border-box;margin:0}
.hr-request-body form .field label{display:flex;flex-direction:column;align-items:stretch;gap:8px}.hr-request-body form .field select,.hr-request-body form .field textarea{width:100%;min-width:0;box-sizing:border-box;margin:0}.hr-request-body form .field textarea{min-height:96px;resize:vertical}
.attendance-heading-actions{display:flex;gap:8px;align-items:center}.attendance-heading-actions button{width:auto;margin:0}.attendance-edit-dialog{width:min(560px,calc(100% - 32px))}.attendance-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}.attendance-edit-grid .field{margin:0;min-width:0}.attendance-edit-grid .full{grid-column:1/-1}.attendance-edit-grid label,.dtr-correction-fields label{display:flex;flex-direction:column;gap:8px}.attendance-edit-grid input,.attendance-edit-grid select,.dtr-correction-fields input,.dtr-correction-fields select{width:100%;min-width:0;box-sizing:border-box;margin:0}.attendance-edit-dialog .btn-submit{width:100%;margin:0}.dtr-correction{margin:4px 0 16px;padding:12px;border:1px solid var(--line);background:#fff}.dtr-correction-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;cursor:pointer;font-weight:600}.dtr-correction-toggle input{width:auto!important;margin-top:3px}.dtr-correction-toggle small{display:block;font-weight:500;color:var(--muted)}.dtr-correction-fields{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.dtr-correction:has(input[name=apply_dtr]:checked) .dtr-correction-fields{display:grid}.dtr-correction-fields .field{margin:0}
.request-update-fields{margin:0;padding:0;border:0;min-width:0}.request-update-fields:disabled .btn-submit{background:var(--line);color:var(--muted);cursor:not-allowed}.request-update-fields:disabled select,.request-update-fields:disabled textarea{background:#f4f6f8;color:var(--muted)}
.incentive-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 4px}.incentive-form .field{margin:0;min-width:0}.incentive-form .full{grid-column:1/-1}.incentive-form label{display:flex;flex-direction:column;gap:8px}.incentive-form input:not([type=checkbox]),.incentive-form select{width:100%;min-width:0;box-sizing:border-box;margin:0}.incentive-form .btn-submit{width:auto;margin:0}.incentive-people{display:flex;flex-wrap:wrap;gap:8px;padding:0;border:0}.incentive-people legend{width:100%;margin-bottom:8px;font-size:12.5px;font-weight:600}.incentive-people label{flex-direction:row;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:500}.incentive-people input{width:auto;margin:0}.incentive-people label:has(input:checked){border-color:var(--teal-500);background:var(--teal-050)}.incentive-create{margin:12px 0 16px}.incentive-create summary small{margin-left:8px;color:var(--muted);font-weight:500}.incentive-item{padding:14px 0;border-top:1px solid var(--line)}.incentive-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.incentive-item header small,.incentive-table td small,.incentive-request-card td small{display:block;color:var(--muted)}.incentive-item>p{margin:6px 0 10px}.incentive-recipient-list{margin:0 0 10px;padding-left:18px}.incentive-review{display:flex;gap:8px;align-items:center}.incentive-review input{flex:1;margin:0}.incentive-review button{width:auto;margin:0}.incentive-apply-bar{display:flex;gap:12px;align-items:flex-end;justify-content:flex-end;margin-top:10px}.incentive-apply-bar label{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:600}.incentive-apply-bar select{margin:0}.incentive-apply-bar .btn-submit{width:auto;margin:0}.incentive-request-card{margin-top:16px}@media(max-width:720px){.incentive-form{grid-template-columns:1fr}}
.incentive-form{align-items:end}.incentive-form input:not([type=checkbox]),.incentive-form select{height:44px;padding-top:0;padding-bottom:0}.incentive-form .field-label{display:block;margin-bottom:8px;font-size:12.5px;font-weight:600;color:var(--navy-900)}.people-dropdown{position:relative}.people-dropdown summary{display:flex;align-items:center;height:44px;padding:0 40px 0 14px;border:1px solid var(--line);background:#fff;cursor:pointer;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.people-dropdown summary::-webkit-details-marker{display:none}.people-dropdown summary::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;border-right:2px solid var(--navy-900);border-bottom:2px solid var(--navy-900);transform:translateY(-70%) rotate(45deg)}.people-dropdown[open] summary{border-color:var(--teal-500)}.people-dropdown-menu{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;padding:6px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 24px rgba(5,25,42,.14)}.people-dropdown-menu label{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;font-weight:500}.people-dropdown-menu label:hover{background:var(--teal-050)}.people-dropdown-menu input{width:auto!important;height:auto!important;margin:0}
.incentive-kind{font-weight:700;color:var(--teal-600)}.incentive-kind.is-deduction{color:#b42318}
.incentive-history{margin-top:16px}.incentive-history summary small{margin-left:8px;color:var(--muted);font-weight:500}.incentive-history-filter{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:12px 0}.incentive-history-filter label{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:600}.incentive-history-filter input,.incentive-history-filter select{height:44px;margin:0}.incentive-history-filter .btn-submit{width:auto;height:44px;margin:0}.incentive-history td{white-space:pre-line;vertical-align:top}
.calendar-key.loa::before,.calendar-day.status-loa .calendar-status,.calendar-status.status-loa{background:#efe8fb;color:#5b3aa6}.loa-card{margin-bottom:16px}.loa-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.loa-form .field{margin:0;min-width:0}.loa-form .full{grid-column:1/-1}.loa-form label,.loa-review label{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:600}.loa-form input,.loa-form textarea,.loa-review input{width:100%;min-width:0;box-sizing:border-box;margin:0}.loa-form .btn-submit{width:auto;margin:0}.loa-card td small{display:block;color:var(--muted)}.loa-item{padding:14px 0;border-top:1px solid var(--line)}.loa-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.loa-item header small{display:block;color:var(--muted)}.loa-item>p{margin:8px 0}.loa-files{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.loa-file{display:inline-flex;flex-direction:column;padding:6px 10px;border:1px solid var(--line);background:#fff;font-size:13px;text-decoration:none}.loa-file small{color:var(--muted)}.loa-review{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:8px}.loa-review-actions{display:flex;gap:8px}.loa-review-actions button{width:auto;margin:0}@media(max-width:720px){.loa-form,.loa-review{grid-template-columns:1fr}}
.incident-form .field input[type=datetime-local],.incident-form .field select,.incident-form .field input[name=reported_name]{width:100%;box-sizing:border-box}.incident-form #reported_name{margin-top:8px}.incident-anonymous{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;cursor:pointer;font-weight:600}.incident-anonymous input{width:auto!important;margin-top:3px}.incident-anonymous small{display:block;font-weight:500;color:var(--muted)}#incidents td small{display:block;color:var(--muted)}#incidents .loa-file{margin:6px 6px 0 0}
.ir-stats{margin-bottom:16px}.ir-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.ir-filter label{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:600}.ir-filter select,.ir-filter input,.ir-filter .btn-submit{height:44px;margin:0;width:auto}.ir-item{border-top:1px solid var(--line)}.ir-item summary{display:flex;align-items:center;gap:12px;padding:14px 4px;cursor:pointer;list-style:none}.ir-item summary::-webkit-details-marker{display:none}.ir-main{flex:1;min-width:0}.ir-main small{display:block;color:var(--muted)}.ir-severity{min-width:72px;padding:4px 8px;text-align:center;font-size:12px;font-weight:700;background:var(--neutral-bg);color:var(--neutral-ink)}.severity-high .ir-severity{background:#fdecea;color:#b42318}.severity-critical .ir-severity{background:#b42318;color:#fff}.severity-medium .ir-severity{background:#fff4e5;color:#9a5b00}.ir-body{padding:0 4px 18px}.ir-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 12px}.ir-facts dt{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ir-facts dd{margin:4px 0 0}.ir-facts small{display:block;color:var(--muted)}.ir-description{margin:0 0 10px;padding:12px;background:#f7f9fb}.ir-update{display:grid;grid-template-columns:200px 1fr auto;gap:12px;align-items:end;margin:12px 0}.ir-update label{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:600}.ir-update select,.ir-update textarea{width:100%;box-sizing:border-box;margin:0}.ir-update textarea{min-height:44px}.ir-update .btn-submit{width:auto;margin:0;height:44px}.ir-history ol{margin:8px 0 0;padding-left:18px}.ir-history li{margin-bottom:6px}.ir-history li span{font-weight:600}.ir-history li small{margin-left:8px;color:var(--muted)}.ir-history li p{margin:4px 0 0;color:var(--navy-900)}.ir-empty{margin:12px 0 0}@media(max-width:820px){.ir-facts,.ir-update{grid-template-columns:1fr}}
.ir-hr-response{display:block;margin-top:6px;padding:8px 10px;background:var(--teal-050);color:var(--navy-900)}
#incidents .card:has(.ir-filter){padding-top:18px}#incidents .ir-filter{margin:0 0 14px;align-items:flex-end}#incidents .ir-filter label{justify-content:flex-end}#incidents .ir-filter label>select,#incidents .ir-filter label>input{height:44px!important;margin:0!important;padding:0 12px;border:1px solid var(--line);background:#fff;box-sizing:border-box;font:inherit;font-size:14px;color:var(--navy-900)}#incidents .ir-filter input[type=month]{min-width:180px}#incidents .ir-update{grid-template-columns:220px 1fr;align-items:start}#incidents .ir-update textarea{min-height:120px;resize:vertical}#incidents .ir-update .btn-submit{grid-column:1/-1;justify-self:end}@media(max-width:820px){#incidents .ir-update{grid-template-columns:1fr}}
#incidents .ir-update label>span small{font-weight:500}#incidents .ir-update select,#incidents .ir-update textarea{margin:0!important;padding:10px 12px;border:1px solid var(--line);border-radius:0;background:#fff;box-sizing:border-box;font:inherit;font-size:14px;color:var(--navy-900)}#incidents .ir-update select{height:44px}#incidents .ir-update select:focus,#incidents .ir-update textarea:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(15,140,128,.12)}
#incidents .ir-filter{gap:24px}#incidents .ir-filter label>select{min-width:170px;padding-right:32px}#incidents .ir-filter .btn-submit{padding:0 24px}
#incidents .ir-filter label{margin:0!important;padding:0!important}#incidents .ir-filter .btn-submit{align-self:flex-end;margin:0!important}
.separation-banner{margin:0 0 18px;padding:14px 18px;border:1px solid #f1c4bd;background:#fdecea;color:#7a271a;font-size:14px;line-height:1.5}.separation-banner strong{display:block;color:#b42318}.employment-ended-note{margin:0 0 4px;padding:12px 16px;border:1px solid var(--line);background:#f7f9fb;color:var(--muted)}.employment-ended-note strong{color:var(--navy-900);margin-right:6px}.clearance-save-form{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin:12px 0}.clearance-save-form .btn-submit{width:auto;margin:0}
.employee-directory-tools{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;padding-top:18px;padding-bottom:18px}.employee-directory-tools label{display:flex;flex-direction:column;gap:8px;margin:0;font-size:12.5px;font-weight:600}.employee-directory-tools input,.employee-directory-tools select{height:44px;margin:0;padding:0 12px;border:1px solid var(--line);background:#fff;box-sizing:border-box;font:inherit;font-size:14px}.employee-directory-tools input{width:300px;max-width:100%}.employee-directory-tools select{min-width:190px}.employee-directory{margin-top:16px}.employee-directory-heading h3{margin:0}.employee-directory-heading h3 .muted{font-weight:500;font-size:14px;margin-left:6px}.employee-directory-heading p{margin:4px 0 8px}
.employee-directory>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.employee-directory>summary::-webkit-details-marker{display:none}.employee-directory>summary p{margin:4px 0 0}.employee-directory[open]>summary{margin-bottom:12px}
.offboarding-case-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;border:1px solid var(--teal-500);background:#fff;color:var(--teal-600);font-weight:600;font-size:13px;text-decoration:none}.offboarding-case-link small{color:var(--muted);font-weight:500}.offboarding-case-link:hover{background:var(--teal-050)}.employment-ended-note .offboarding-case-link{display:flex;width:fit-content}
#incidents .field-label{display:block;margin-bottom:8px;font-size:12.5px;font-weight:600;color:var(--navy-900)}#incidents .incident-other-names{width:100%;box-sizing:border-box;margin-top:8px}.slot-reassign{margin-top:4px}.slot-reassign summary{cursor:pointer;color:var(--teal-600);font-size:12px;font-weight:600}.slot-reassign form{display:flex;gap:6px;align-items:center;margin-top:6px}.slot-reassign select{height:32px;margin:0;padding:0 8px;font-size:13px}.slot-reassign button{margin:0;width:auto}.attendance-edit-log{margin-top:16px}.attendance-edit-log summary small{margin-left:8px;color:var(--muted);font-weight:500}.attendance-edit-log td small{display:block;color:var(--muted)}

/* Requests hub: Leave, Overtime, Documents, Attendance, Payroll */
@media(min-width:1101px){.employee-request-hub{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}}

/* Attendance calendar: overtime rendered that day */
.calendar-key.overtime::before{background:#dbeafe;border:1px solid #93b4f5}
.calendar-day .calendar-overtime{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:10.5px;font-weight:700;line-height:1.4;white-space:nowrap}

/* ============ Ticketing system ============ */
.ticket-page{max-width:1180px;margin:0 auto;padding:24px 24px 48px}
.ticket-back{display:inline-block;margin-bottom:14px;color:var(--teal-600);font-size:13px;font-weight:600;text-decoration:none}
.ticket-page .card{margin-bottom:16px}
.ticket-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ticket-title-row h1{margin:6px 0 0;font-size:20px}
.ticket-number,.ticket-number-link{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--navy-900);font-size:13px;text-decoration:none}
.ticket-number{margin-right:8px}
.ticket-type{display:inline-block;padding:2px 7px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--neutral-bg);color:var(--neutral-ink)}
.ticket-type-request{background:var(--teal-050);color:var(--teal-600)}
.ticket-type-ir{background:var(--warn-bg);color:var(--warn-ink)}
.ticket-type-offboarding{background:#EFE8FB;color:#5B3AA6}
.ticket-table small.ticket-type{margin-top:4px}
.ticket-status{font-size:12px}
.ticket-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 18px;margin:16px 0 0}
.ticket-facts div{min-width:0}
.ticket-facts dt{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.ticket-facts dd{margin:3px 0 0;font-size:13px;color:var(--ink)}
.ticket-inline-flash{margin:14px 0 0}
.ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.ticket-panel h2{margin:0 0 12px;font-size:15px;color:var(--navy-900)}
.ticket-text{white-space:normal;color:var(--ink)}
.ticket-files{display:flex;flex-wrap:wrap;gap:6px}
.ticket-checklist{list-style:none;margin:8px 0 14px;padding:0}
.ticket-checklist li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.ticket-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.ticket-message{padding:11px 13px;border:1px solid var(--line);background:var(--surface)}
.ticket-message.is-mine{background:var(--teal-050);border-color:#CBEAE6}
.ticket-message.is-internal{background:#FFF8EA;border-color:#F1DDB0}
.ticket-message header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}
.ticket-message header time{margin-left:auto;color:var(--muted);font-size:11.5px}
.ticket-message p{margin:6px 0 4px;color:var(--ink);font-size:13.5px}
.ticket-internal-tag{padding:1px 6px;background:var(--warn-bg);color:var(--warn-ink);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ticket-reply-form textarea{width:100%;min-height:90px}
.ticket-reply-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.ticket-reply-row .btn-submit{width:auto;margin:0 0 0 auto;padding-left:22px;padding-right:22px}
.ticket-file-input{display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.ticket-internal-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink)}
.ticket-side .btn-submit{width:100%;margin-bottom:12px}
.ticket-side-form{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.ticket-side-form:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.ticket-side-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink)}
.ticket-side-form select,.ticket-side-form textarea{width:100%}
.ticket-side-form .btn-mini{align-self:flex-start}
.ticket-side-form p{margin:0}
/* Decision / outcome forms on the ticket page: label above its field, full width. */
.ticket-decision .field{margin:0 0 14px}
.ticket-decision .field label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink)}
.ticket-decision .field select,.ticket-decision .field input:not([type=checkbox]),.ticket-decision .field textarea{width:100%;max-width:100%;box-sizing:border-box}
.ticket-decision .field textarea{min-height:96px;resize:vertical}
.ticket-decision .dtr-correction-fields .field{margin:0}
.ticket-activity{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}
.ticket-activity li{padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.ticket-activity li small{display:block;margin-top:2px}
.ticket-priority{display:inline-block;padding:2px 7px;font-size:11px;font-weight:700;background:var(--neutral-bg);color:var(--neutral-ink)}
.ticket-priority-high{background:var(--warn-bg);color:var(--warn-ink)}
.ticket-priority-urgent{background:var(--danger-bg);color:var(--danger-ink)}
.ticket-priority-low{background:var(--good-bg);color:var(--good-ink)}
.ticket-queue-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ticket-queue-card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}
.ticket-queue-card span{font:700 20px Sora,sans-serif;color:var(--navy-900)}
.ticket-queue-card strong{font-size:12.5px;color:var(--muted)}
.ticket-queue-card.is-active,.ticket-queue-card:hover{border-color:var(--teal-500);background:var(--teal-050)}
.ticket-filter{display:grid;grid-template-columns:repeat(3,minmax(0,160px)) minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:14px}
.ticket-filter label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px;font-weight:600}
.ticket-filter select,.ticket-filter input{width:100%;margin:0}
.ticket-filter .btn-submit{width:auto;margin:0;padding-left:20px;padding-right:20px}
.ticket-table td small{display:block;margin-top:3px}
.ticket-table td a{text-decoration:none}
.ticket-badge-link{display:inline-block;margin:3px 0 0 6px;padding:1px 7px;background:var(--teal-050);color:var(--teal-600);font:600 11px 'JetBrains Mono',monospace;text-decoration:none;white-space:nowrap}
.ticket-away{color:var(--warn-ink)!important;font-weight:600}
.ticket-new-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.ticket-new-actions .btn-submit{width:auto;margin:0;padding-left:20px;padding-right:20px}
.ticket-moved-note{margin-bottom:14px}
.ticket-moved-note a{font-weight:700;color:inherit}
.team-action-resign{background:#d6564b}
@media(min-width:1001px){.manager-team-hub:has(> :nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.ticket-layout{grid-template-columns:1fr}.ticket-filter{grid-template-columns:1fr 1fr}.ticket-queue-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Incident report tab inside Tickets */
#incident-panel td small{display:block;color:var(--muted)}
#incident-panel .loa-file{margin:6px 6px 0 0}
#incident-panel .field-label{display:block;margin-bottom:8px;font-size:12.5px;font-weight:600;color:var(--navy-900)}
#incident-panel .incident-other-names{width:100%;box-sizing:border-box;margin-top:8px}
#incident-panel .incident-workspace-grid{margin-top:0}

/* Ticket page inside the portal layout (left navigation) */
.app .ticket-page{max-width:none;margin:0;padding:0}

/* Notification bell (top right of the employee portal) */
.portal-topbar{display:flex;justify-content:flex-end;margin:-14px 0 6px;position:relative;z-index:30}
.notif-wrap{position:relative}
.notif-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--navy-900);box-shadow:var(--shadow);cursor:pointer;text-decoration:none}
.notif-bell:hover,.notif-bell[aria-expanded=true]{border-color:var(--teal-500);color:var(--teal-600)}
.notif-badge{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--amber-500);color:var(--navy-900);font-size:10.5px;font-weight:800;border:2px solid var(--bg,#F1F4F6)}
.notif-panel{position:absolute;top:50px;right:0;width:min(420px,calc(100vw - 32px));max-height:min(560px,75vh);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px rgba(11,31,51,.18);overflow:hidden}
.notif-panel[hidden]{display:none}
.notif-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.notif-panel-head strong{font:700 15px Sora,sans-serif;color:var(--navy-900)}
.notif-panel-head form{margin:0}
.notif-panel-head .btn-mark-read{margin:0;padding:7px 12px;font-size:12px}
.notif-panel .notification-list{overflow-y:auto;padding:10px;gap:8px}
.notif-panel .employee-notification{box-shadow:none;padding:12px 14px}
.notif-panel .employee-notification.unread{padding-left:11px}
.notif-panel .notification-empty{box-shadow:none;margin:0}

/* Same notification look in every portal */
a.employee-notification{text-decoration:none;color:var(--ink)}
.notif-panel .employee-notification a{color:var(--teal-600);font-weight:700}
.notification-category.ticket,.notification-category.interview,.notification-category.assessment{background:var(--teal-050);color:var(--teal-600)}
.notification-category.request,.notification-category.applicant,.notification-category.documents{background:var(--neutral-bg);color:var(--neutral-ink)}
.notification-category.payroll,.notification-category.offer,.notification-category.contract{background:#EDF1FF;color:#4559A5}
.applicant-notification-tools .portal-topbar,.applicant-notification-tools .notif-wrap{margin:0}

/* Sidebar stays in view; Sign out is always at the bottom of the screen */
@media (min-width:901px){
  .app>.sidebar,.shell>.sidebar{position:sticky;top:0;height:100vh;min-height:0;align-self:start;overflow-y:auto}
  .sidebar>a[href$="logout.php"]{margin-top:auto!important;padding-top:14px}
}

/* Tickets: "New request" pop-up (same look as the attendance calendar) */
.new-request-modal{width:min(96vw,640px);max-height:92vh;padding:0;overflow:hidden;border:0;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 28px 80px rgba(7,28,44,.35)}
.new-request-modal::backdrop{background:rgba(7,28,44,.68)}
.new-request-shell{display:flex;flex-direction:column;max-height:92vh}
.new-request-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line)}
.new-request-header h2{margin:0;font-size:20px}
.new-request-header p{margin:4px 0 0;color:var(--muted);font-size:13px}
.new-request-header button{flex:0 0 36px;width:36px;height:36px;border:0;background:transparent;color:var(--muted);font-size:26px;line-height:1;cursor:pointer}
.new-request-body{padding:20px 24px 24px;overflow:auto}
.new-request-body .field{margin:0 0 14px}
.new-request-body label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink)}
.new-request-body select,.new-request-body input:not([type=checkbox]):not([type=hidden]),.new-request-body textarea{width:100%;max-width:100%;box-sizing:border-box}
.new-request-body textarea{min-height:96px;resize:vertical}
.new-request-body small{font-weight:400}
.new-request-body p.muted{margin:0 0 14px;font-size:13px;line-height:1.5}
.new-request-body .nr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.new-request-body .btn-submit{width:100%}
.request-start-card .btn-submit,.request-start-row .btn-submit{margin-top:6px}
.request-start-row{margin:4px 0 16px}
@media (max-width:560px){.new-request-body .nr-grid{grid-template-columns:1fr}}
.new-request-body [hidden]{display:none!important}
.leave-overview-card h4{margin:20px 0 8px;font-size:14px;color:var(--ink)}
.leave-overview-balance{display:grid;gap:4px;margin-top:6px}
.new-request-body .incident-form .form-grid{display:block}
.new-request-body .people-dropdown{width:100%}
.new-request-body .field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--ink)}
/* Collapsible cards on the Tickets page (click the title to show or hide) */
.collapsible-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}
.collapsible-card>summary::-webkit-details-marker{display:none}
.collapsible-card>summary h3{margin:0}
.collapsible-card[open]>summary{margin-bottom:12px}
.collapsible-hint::after{content:'';display:inline-block;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
.collapsible-card[open] .collapsible-hint::after{transform:rotate(-135deg)}
.collapsible-card>summary:focus-visible{outline:2px solid var(--teal-600);outline-offset:4px;border-radius:6px}

/* Team Management: Assign overtime form (inside the padding-less approvals card) */
.overtime-review-card .overtime-assign-form{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,2fr);align-items:start;gap:14px;margin:0;padding:16px 18px;border-bottom:1px solid var(--line)}
.overtime-review-card .overtime-assign-form .overtime-reason{grid-column:auto}
.overtime-review-card .overtime-assign-form label{gap:6px;font-size:12.5px;font-weight:600;line-height:1.2;color:var(--navy-900)}
.overtime-review-card .overtime-assign-form select,.overtime-review-card .overtime-assign-form input{height:42px;min-height:42px;padding:0 12px;font-size:14px;line-height:normal;margin:0!important}
.overtime-review-card .overtime-assign-form .overtime-submit{grid-column:1/-1}
.overtime-review-card .overtime-assign-form .overtime-submit button{width:auto;padding:0 22px;height:42px}
@media(max-width:900px){.overtime-review-card .overtime-assign-form{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-review-card .overtime-assign-form .overtime-reason{grid-column:1/-1}}

/* Super Admin overview: collapsible "Recent user activity" */
.admin-activity-card>summary h2{margin:0}
.admin-activity-card>summary a{margin-left:auto}
.admin-activity-card:not([open])>summary{margin-bottom:0;border-bottom:0}

/* Super Admin sidebar: collapsible "User Management" group */
.nav-group>summary{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:10px;color:#C7D6E1;font-size:13.5px;font-weight:500;cursor:pointer;list-style:none;transition:background .15s ease,color .15s ease}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:"";width:7px;height:7px;margin-right:3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.nav-group[open]>summary::after{transform:rotate(-135deg)}
.nav-group>summary:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-group>summary:focus-visible{outline:2px solid var(--teal-400);outline-offset:2px}
.nav-group-links{display:grid;gap:4px;margin-top:4px;padding-left:12px}
.settings-single{max-width:640px}
.account-details{display:grid;gap:0;margin:0}
.account-details>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.account-details>div:last-child{border-bottom:0}
.account-details dt{color:var(--muted);font-size:13.5px}
.account-details dd{margin:0;font-weight:600;font-size:13.5px;text-align:right}

/* Super Admin monitoring: Remarks flags and the entry opened from a flag notice */
.admin-activity-card>summary p{margin:4px 0 0}
.admin-activity-card[open]>summary{margin-bottom:12px}
.monitoring-remarks{min-width:150px}
.monitoring-flag{display:inline-block;margin:2px 4px 2px 0;padding:3px 8px;border-radius:999px;background:#FEF3C7;color:#92400E;font-size:11.5px;font-weight:600;line-height:1.3}
tr.monitoring-focus>td{background:#FFFBEB;box-shadow:inset 0 2px 0 #F59E0B,inset 0 -2px 0 #F59E0B}
tr.monitoring-focus>td:first-child{box-shadow:inset 3px 0 0 #F59E0B,inset 0 2px 0 #F59E0B,inset 0 -2px 0 #F59E0B}

/* ---------- IT Support tickets (Super Admin) ---------- */
.nav-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:8px;padding:0 5px;border-radius:999px;background:var(--amber-500,#F59E0B);color:var(--navy-900);font-size:10px;font-weight:800;vertical-align:1px}
.it-queue-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.it-queue-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy-900);font-size:13px;font-weight:600;text-decoration:none}
.it-queue-tab span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-2,#EEF2F5);font-size:12px}
.it-queue-tab.is-active{border-color:var(--teal-600);box-shadow:inset 0 0 0 1px var(--teal-600)}
.it-queue-tab.is-alert span{background:#FEE2E2;color:#B91C1C}
.it-filter-form>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.it-filter-form select{width:auto;min-width:150px}
.it-sub{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.it-row-overdue>td{background:#FEF2F2}
.it-overdue-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#FEE2E2;color:#B91C1C;font-size:11px;font-weight:700}
.it-back{color:var(--teal-600);font-size:13px;font-weight:600;text-decoration:none}
.it-ticket-head{margin-bottom:16px}
.it-ticket-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.it-ticket-title h2{margin:6px 0 0}
.it-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 24px;margin-top:12px}
.it-ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.it-ticket-main,.it-ticket-side{display:grid;gap:16px;min-width:0}
.it-ticket-main .panel,.it-ticket-side .panel{margin:0}
.it-text{white-space:normal;line-height:1.55}
.it-requester{margin-top:14px;padding-top:4px;border-top:1px solid var(--line)}
.it-side-form{display:grid;gap:8px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.it-side-form:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.it-side-form label{display:grid;gap:5px;font-size:13px;font-weight:600}
.it-side-form textarea{min-height:70px}
.it-side-form .btn-danger,.it-side-form button.btn-danger{background:#B91C1C}
.it-reply-form{margin-top:14px}
.it-overview{margin-bottom:16px}
.it-overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.it-overview-stats a{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--navy-900);text-decoration:none}
.it-overview-stats strong{font-size:22px}
.it-overview-stats span{color:var(--muted);font-size:12.5px}
.it-overview-stats a.is-alert{border-color:#FCA5A5;background:#FEF2F2}
.monitoring-ticket-link{display:inline-block;margin:2px 0;font-size:11.5px;font-weight:700;color:var(--teal-600);text-decoration:none;white-space:nowrap}
@media(max-width:1000px){.it-ticket-layout{grid-template-columns:1fr}}
.it-facts>div{display:grid;gap:3px;justify-content:start;align-content:start;padding:8px 0;border-bottom:0}
.it-facts dd{text-align:left}
.it-queue-head{display:grid;justify-items:start;gap:10px;margin-bottom:16px}
.it-queue-head p{margin:0}
.panel a.it-raise-btn,.it-raise-btn{display:inline-flex;align-items:center;padding:10px 18px;border-radius:8px;background:var(--teal-600);color:#fff;font-size:13.5px;font-weight:600;text-decoration:none}
.panel a.it-raise-btn:hover,.it-raise-btn:hover{background:var(--navy-900);color:#fff}
.it-raise-btn:focus-visible{outline:2px solid var(--teal-600);outline-offset:3px}

/* Collapsible cards: one arrow only (the summary's own arrow at the right) */
.collapsible-card > summary > .collapsible-hint{display:none}
.overtime-review-card.is-highlighted{box-shadow:0 0 0 3px var(--teal-600);transition:box-shadow .3s ease}
/* IT ticket: assign right under "Handled by" */
.it-assign-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}
.it-assign-form select{width:auto;min-width:170px;height:34px;padding:0 8px;font-size:13px}
.it-assign-form button{height:34px;padding:0 14px;font-size:13px}
.it-facts .it-assign-form{flex-wrap:nowrap}
.it-facts .it-assign-form select{flex:1 1 auto;min-width:0;width:auto!important}
.it-facts .it-assign-form button{flex:0 0 auto;width:auto!important;height:34px!important;min-height:0!important;padding:0 14px!important;margin:0!important;font-size:13px!important}
.it-facts .it-assign-form{flex-wrap:wrap;max-width:100%}
.it-facts .it-assign-form select{flex:1 1 100%;max-width:100%}
/* New request pop-up: "(optional)" stays on the label line so side-by-side fields line up */
.new-request-body .nr-optional{display:inline;font-weight:400;color:var(--muted);font-size:12px}
.new-request-body .nr-label-line{display:block}
.new-request-body [data-nr-form="it"] .nr-grid input,.new-request-body [data-nr-form="it"] .nr-grid select{height:40px;box-sizing:border-box}
.pill-muted{background:#E2E8F0;color:#475569}
.ticket-moved-note{background:#F1F5F9;border:1px solid #CBD5E1;color:#334155}
.leave-overview-card .leave-section-actions{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
.leave-request-btn{background:var(--teal-600);cursor:pointer}
.leave-request-btn:hover{background:var(--teal-700)}
.new-request-body [data-nr-kind-field][hidden]{display:none}
.server-pagination a{width:auto;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--teal-600);font-size:12px;font-weight:700;text-decoration:none}
.server-pagination a:not(.is-disabled):hover{border-color:var(--teal-500);background:var(--teal-050)}
.server-pagination .is-disabled{opacity:.45;cursor:not-allowed}
.list-search{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.list-search input[type=search]{flex:1 1 240px;max-width:360px;height:34px;margin:0;box-sizing:border-box}
.list-search .btn-mini{height:34px}
.list-search-clear{font-size:12.5px;color:var(--teal-700)}
.it-queue-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.it-queue-intro p{flex:1 1 320px;margin:0}
.ticket-type-it{background:#E0F2FE;color:#0369A1}
.ticket-table td small.it-overdue-tag{display:table;margin:4px 0 0}
.ticket-table td small.it-due{color:var(--muted)}
.it-overdue-line{margin:-4px 0 12px;font-size:13px;color:#B91C1C}
.it-overdue-line a{color:#B91C1C}
.ticket-type{white-space:nowrap}
.it-ticket-filter{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(200px,1.5fr) auto}
@media(max-width:900px){.it-ticket-filter{grid-template-columns:1fr 1fr}}
.nr-new-record{padding:14px;border:1px dashed var(--line);border-radius:10px;background:#FAFCFC}
.nr-new-record[hidden]{display:none}
.nr-new-record p{grid-column:1 / -1;margin:0;font-size:12.5px}
/* Team calendar: hover or focus a status pill to see who it covers */
.team-calendar .calendar-status.has-names{position:relative;overflow:visible;cursor:default}
.team-calendar .calendar-status.has-names:focus{outline:2px solid var(--teal-500);outline-offset:1px}
.calendar-status-names{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:30;min-width:150px;max-width:220px;padding:8px 10px;border-radius:8px;background:var(--navy-900);color:#fff;font-size:11.5px;font-weight:500;line-height:1.45;white-space:normal;box-shadow:0 6px 18px rgba(15,23,42,.22)}
.calendar-status-names span{display:block}
.calendar-status.has-names:hover .calendar-status-names,.calendar-status.has-names:focus .calendar-status-names{display:block}
.team-calendar .calendar-day:nth-child(7n) .calendar-status-names,.team-calendar .calendar-day:nth-child(7n-1) .calendar-status-names{left:auto;right:0}
.leave-pool{margin:4px 0 6px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#FAFCFC}
.leave-pool-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.leave-pool-head strong{display:block;font-size:14px;color:var(--navy-900)}
.leave-pool-head span{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.leave-pool-left{text-align:right}
.leave-pool-left strong{font-family:'JetBrains Mono',monospace;font-size:24px;line-height:1;color:var(--teal-700)}
.leave-pool.is-empty .leave-pool-left strong{color:var(--danger-ink)}
.leave-pool-bar{display:flex;height:8px;margin:14px 0 12px;border-radius:999px;background:#E6EDF0;overflow:hidden}
.leave-pool-bar span{display:block;height:100%}
.leave-pool .seg-vacation{background:var(--teal-600)}
.leave-pool .seg-sick{background:#6366F1}
.leave-pool .seg-emergency{background:#F59E0B}
.leave-pool-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--muted)}
.leave-pool-legend span{display:inline-flex;align-items:center;gap:6px}
.leave-pool-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.leave-pool-legend b{color:var(--navy-900);font-family:'JetBrains Mono',monospace;font-weight:600}
.leave-pool-legend .leave-pool-unpaid{color:var(--danger-ink);font-weight:600}
/* Payroll > Generate: New Entry and History sections */
.incentive-panel .incentive-create>summary,.incentive-panel .incentive-history>summary{justify-content:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#FAFCFC;font-size:14px;font-weight:700;color:var(--navy-900)}
.incentive-panel .incentive-create>summary small,.incentive-panel .incentive-history>summary small{flex:1;margin-left:4px;font-size:12px;font-weight:400;color:var(--muted)}
.incentive-panel .incentive-create>summary::after,.incentive-panel .incentive-history>summary::after{margin-left:auto}
.incentive-form{align-items:start}
.incentive-form label{font-size:12.5px;font-weight:600;color:var(--navy-900)}
.incentive-form .people-dropdown summary{font-size:14px;font-weight:400;color:var(--ink);border-radius:8px}
/* Holiday calendar: stack the Holiday type label like the other fields */
.holiday-workspace .field label{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.holiday-workspace .field select,.holiday-workspace .field input{width:100%;margin:0;box-sizing:border-box}
/* HR Management hub: four even cards; employee workspaces in thirds */
.hr-management-hub{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.hr-management-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hr-management-hub{grid-template-columns:1fr}}
.hr-area-cards[data-hr-tabs="employees"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-workspace-hub{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.employee-workspace-hub,.hr-area-cards[data-hr-tabs="employees"]{grid-template-columns:1fr}}
.payroll-run-warning-links{display:flex;gap:8px;flex-wrap:wrap}
.pay-setup-fields{margin:0;padding:14px;border:1px solid var(--line);border-radius:10px}
.pay-setup-fields legend{padding:0 6px;font-size:13px;font-weight:700;color:var(--navy-900)}
.pay-setup-fields legend small{font-weight:400;color:var(--muted)}
.pay-setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pay-setup-grid label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600}
.pay-setup-grid input,.pay-setup-grid select{width:100%;margin:0;box-sizing:border-box}
.pay-setup-deductions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;font-size:13px}
.pay-setup-deductions>span{font-size:12.5px;font-weight:600;color:var(--navy-900)}
.pay-setup-deductions label{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.pay-setup-deductions input{width:auto;margin:0}
@media(max-width:900px){.pay-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Leave & Overtime page */
.leave-overview-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.leave-overview-title h3{margin:0}
.leave-overview-title .leave-section-actions{margin:0}
/* HR Tickets: File offboarding */
.hr-ticket-actions{display:flex;justify-content:flex-end;margin:-6px 0 14px}
.hr-ticket-actions .btn-submit{width:auto}
#hr-offboarding-dialog form{max-width:560px}
/* Offboarding ticket: clearance checklist */
.ticket-clearance-table select,.ticket-clearance-table input{width:100%;margin:0;box-sizing:border-box}
.ticket-clearance-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ticket-clearance-actions form{margin:0}
.ticket-clearance-actions button{width:auto}
.ticket-clearance-hint{margin:8px 0 0;font-size:12px}
/* Team Tickets: File offboarding */
.team-tickets-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.team-tickets-head p{flex:1 1 320px;margin:0 0 12px}
.team-tickets-head .btn-mini{width:auto}
.ticket-clearance-table{width:100%;min-width:0!important;table-layout:fixed}
.ticket-clearance-table th:nth-child(1){width:38%}.ticket-clearance-table th:nth-child(2){width:26%}
.ticket-clearance-table td{vertical-align:middle;white-space:normal}
.leave-workspace-panel .panel-heading h2{font-size:17px}
/* Time & Attendance: one day at a time, compact columns (no sideways scrolling) */
.attendance-day-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.attendance-day-nav .btn-mini{width:auto;text-decoration:none}
.attendance-day-nav .btn-mini.is-disabled{background:var(--line);color:var(--muted);cursor:default}
.attendance-day-picker{margin:0}
.attendance-day-picker select{height:34px;margin:0;min-width:230px}
.attendance-day-count{margin-left:auto;font-size:12.5px;color:var(--muted)}
.attendance-daily-table{min-width:0!important;width:100%;table-layout:auto}
.attendance-daily-table th:last-child,.attendance-daily-table td:last-child{width:1%;white-space:nowrap;text-align:right}
.attendance-daily-table .attendance-time{white-space:nowrap}
.attendance-daily-table .attendance-time>div{display:flex;align-items:baseline;gap:6px}
.attendance-daily-table .attendance-time>div>span{width:28px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase}
.attendance-daily-table .attendance-time small{display:inline;margin-left:4px}
.attendance-day-row td{padding:10px 12px;background:#F3F7F8;font-size:12.5px;font-weight:700;color:var(--navy-900)}
.attendance-day-nav{padding:0 10px}
.attendance-heading-actions{display:flex;align-items:center;gap:8px}
.attendance-heading-actions>button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;min-width:140px;height:38px;margin:0;padding:0 16px;font-size:13px;font-weight:700;line-height:1;white-space:nowrap}
.attendance-heading-actions>button{min-width:140px!important;max-width:none!important}
/* Team Management: Leave of Absence review cards */
.loa-review-card{padding:18px 0;border-top:1px solid var(--line)}
.loa-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.loa-review-head strong{font-size:16px;color:var(--navy-900)}
.loa-review-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.loa-review-meta span{padding:3px 9px;border-radius:999px;background:#F1F5F7;font-size:12px;color:var(--ink)}
.loa-review-facts{display:grid;gap:10px;margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#FAFCFC}
.loa-review-facts>div{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline}
.loa-review-facts>div>span{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.loa-review-facts p{margin:0;font-size:14px;line-height:1.5}
.loa-review-facts .loa-files{display:flex;flex-wrap:wrap;gap:6px}
.loa-review-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.loa-review-form label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:600;color:var(--navy-900)}
.loa-review-form label small{font-weight:400}
.loa-review-form input[type=file],.loa-review-form textarea{width:100%;margin:0;box-sizing:border-box}
.loa-review-form textarea{min-height:46px;resize:vertical}
.loa-review-form .loa-review-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.loa-review-form .loa-review-actions .btn-mini{width:auto;min-width:120px;height:36px}
@media(max-width:760px){.loa-review-form{grid-template-columns:1fr}.loa-review-facts>div{grid-template-columns:1fr;gap:2px}}
.loa-review-form input[type=file],.loa-review-form textarea{height:46px!important;min-height:46px!important;padding:9px 12px!important;border:1px solid var(--line)!important;border-radius:8px;background:#fff;font-size:13.5px;line-height:1.4}
.loa-review-form input[type=file]{padding:8px 10px!important}
.loa-review-form textarea{resize:none}
.loa-review-form input[type=file],.loa-review-form textarea{margin:0!important;display:block}.loa-review-form label>span{display:block;min-height:18px}
.loa-review-form-single{grid-template-columns:1fr}
/* HR Leave & Time Off: collapsible sections and cases */
.leave-workspace-panel .collapsible-card>summary>div{display:flex;align-items:center;gap:10px}
.leave-workspace-panel .collapsible-card>summary h2{margin:0;font-size:17px}
.leave-workspace-panel .loa-card-intro{margin:0 0 6px;font-size:13px}
.loa-case>summary{display:flex;list-style:none;cursor:pointer;align-items:flex-start}
.loa-case>summary::-webkit-details-marker{display:none}
.loa-case>summary::after{content:"";flex:0 0 8px;width:8px;height:8px;margin:8px 4px 0 10px;border-right:2px solid var(--teal-600);border-bottom:2px solid var(--teal-600);transform:rotate(45deg);transition:transform .15s ease}
.loa-case[open]>summary::after{transform:rotate(-135deg);margin-top:12px}
.loa-case>summary>.pill{margin-left:auto}
.loa-case:not([open]){padding-bottom:14px}
.loa-case[open]>summary{margin-bottom:0}
.leave-workspace-panel .request-list-card>summary{padding:18px 18px 0}
.leave-workspace-panel .request-list-card>.loa-card-intro{padding:0 18px}
.leave-workspace-panel .request-list-card:not([open])>summary{padding-bottom:18px}
.team-roster-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.team-roster-head h3{margin:0}
.team-offboarding-btn{width:auto!important;margin:0;padding:9px 16px}
/* Team Management > Requests: collapsible sections (same as HR) */
.team-leave-section>summary>div{display:flex;align-items:center;gap:10px}
.team-leave-section>summary h3{margin:0}
.team-leave-section>p.muted{margin:0 0 6px}
/* Overtime approvals: Decision fields */
.overtime-review-card .overtime-decision-form{display:grid!important;grid-template-columns:76px minmax(150px,1fr)!important;gap:8px!important;min-width:250px;align-items:end}
.overtime-review-card .overtime-decision-form label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:11.5px;font-weight:600;color:var(--navy-900)}
.overtime-review-card .overtime-decision-form input{width:100%;height:36px!important;min-height:36px!important;margin:0!important;padding:0 10px!important;box-sizing:border-box;border:1px solid var(--line)!important;border-radius:8px;background:#fff;font-size:13px}
.overtime-review-card .overtime-decision-form .overtime-decision-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
.overtime-review-card .overtime-decision-form .overtime-decision-actions .btn-mini{width:100%;height:34px;margin:0}
