
:root{
  --bg:#f4f6f8;--panel:#ffffff;--text:#152033;--muted:#6b7483;--line:#e5e8ec;
  --nav:#0c111a;--nav2:#151d2a;--gold:#c9a24d;--gold2:#f2d27e;--green:#168b5b;
  --red:#d94a4a;--amber:#d18d12;--blue:#2764ff;--shadow:0 14px 35px rgba(10,20,40,.08);
}
body.dark{--bg:#0f141d;--panel:#171f2b;--text:#edf1f6;--muted:#9aa5b5;--line:#293446;--shadow:none}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;grid-template-columns:430px 1fr;background:#080c12}
.login-panel{background:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center}
.login-logo{width:210px;height:125px;object-fit:cover;object-position:center;margin-bottom:15px}
.login-panel h1{margin:0 0 6px;font-size:30px}.login-panel p{margin:0 0 26px;color:#657080}
.login-panel label{display:block;margin:13px 0 7px;font-size:13px;font-weight:700}
.login-panel input,.login-panel select,.modal input,.modal select,.modal textarea{width:100%;padding:12px 13px;border:1px solid #d7dce3;border-radius:10px;background:#fff}
.login-panel small{margin-top:16px;color:#7c8492}
.login-visual{background:linear-gradient(110deg,rgba(0,0,0,.80),rgba(0,0,0,.35)),url("assets/palux-logo.png") center/cover no-repeat;display:flex;align-items:flex-end;padding:70px}
.hero-copy{max-width:820px;color:#fff}.eyebrow{color:var(--gold2);letter-spacing:.2em;font-size:12px;font-weight:800}
.hero-copy h2{font-size:46px;line-height:1.1;margin:16px 0 28px}.hero-points{display:flex;flex-wrap:wrap;gap:10px}
.hero-points span{border:1px solid rgba(255,255,255,.3);padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.08)}
.primary-btn{background:linear-gradient(135deg,#b88c32,#e5c46f);border:0;color:#111;padding:12px 18px;border-radius:10px;font-weight:800}
.full{width:100%;margin-top:20px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:265px 1fr}
.sidebar{position:fixed;inset:0 auto 0 0;width:265px;background:linear-gradient(180deg,var(--nav),#080c12);color:#fff;display:flex;flex-direction:column;z-index:20}
.brand{height:96px;display:flex;align-items:center;padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{width:180px;height:75px;object-fit:cover;object-position:center}
.company-switcher{margin:12px 14px;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center}
.company-switcher small{display:block;color:#7f8a99;font-size:10px}.company-switcher strong{font-size:13px}.company-switcher button{background:none;border:0;color:#fff}
nav{padding:4px 10px 18px;overflow:auto;flex:1;min-height:0}
.nav-group-title{font-size:10px;color:#707c8e;letter-spacing:.16em;padding:16px 12px 7px}
.nav-item{width:100%;display:flex;gap:11px;align-items:center;background:none;color:#c8d0dc;border:0;padding:10px 12px;border-radius:9px;text-align:left;font-size:13px}
.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,rgba(201,162,77,.24),rgba(201,162,77,.07));color:#fff}
.nav-item.active{box-shadow:inset 3px 0 var(--gold)}
.nav-icon{width:20px;text-align:center}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ghost-btn{background:#151c27;border:1px solid #263143;color:#d6dde7;padding:9px;border-radius:9px}
.main{grid-column:2;min-width:0}
.topbar{height:78px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:15}
.topbar h1{font-size:23px;margin:0}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}
.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);background:var(--panel);border-radius:10px;position:relative;color:var(--text)}
.badge{position:absolute;right:-4px;top:-5px;background:var(--red);color:#fff;font-size:9px;padding:2px 5px;border-radius:20px}
.user-chip{display:flex;align-items:center;gap:10px;margin-left:8px}.avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#d2aa53,#8b6723);display:grid;place-items:center;font-weight:900;color:#111}
.user-chip small{display:block;color:var(--muted)}
.mobile-menu{display:none}
.content{padding:26px}
.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(4,1fr)}.two-col{grid-template-columns:1.45fr 1fr}.three-col{grid-template-columns:repeat(3,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px}
.kpi{display:flex;justify-content:space-between;align-items:flex-start}.kpi small{color:var(--muted);font-weight:700}.kpi h3{font-size:30px;margin:11px 0 4px}.trend{font-size:11px;color:var(--green)}.kpi-icon{width:42px;height:42px;border-radius:12px;background:rgba(201,162,77,.15);display:grid;place-items:center;font-size:20px}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.card-head h3{margin:0;font-size:16px}.card-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.secondary-btn,.danger-btn,.success-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 12px;border-radius:9px;font-weight:700;font-size:12px}
.success-btn{background:#e7f7f0;color:#167b54;border-color:#c6e9da}.danger-btn{background:#fff0f0;color:#b63333;border-color:#f2cece}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:12px}th{color:var(--muted);background:rgba(120,130,150,.05);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}
.status.green{background:#e7f7f0;color:#167b54}.status.red{background:#ffeaea;color:#bc3434}.status.amber{background:#fff6df;color:#9c6a00}.status.blue{background:#eaf0ff;color:#315bcc}.status.gray{background:#eef1f5;color:#687385}
.progress{height:8px;background:#eef1f4;border-radius:20px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#bb9139,#f0cf77)}
.chart{height:220px;display:flex;align-items:flex-end;gap:11px;padding:20px 8px 8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.bar{flex:1;min-width:18px;background:linear-gradient(180deg,#ebcb76,#aa7c28);border-radius:6px 6px 0 0;position:relative}.bar span{position:absolute;bottom:-22px;width:100%;text-align:center;color:var(--muted);font-size:10px}
.activity{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.activity:last-child{border:0}.activity-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);margin-top:5px}.activity p{margin:0;font-size:12px}.activity small{color:var(--muted)}
.toolbar{display:flex;gap:10px;justify-content:space-between;margin-bottom:14px}.toolbar .left,.toolbar .right{display:flex;gap:8px;flex-wrap:wrap}.search{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}
.module-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#101725,#1d2838);color:#fff;border-radius:18px;padding:23px;margin-bottom:17px}.module-hero h2{margin:0 0 6px}.module-hero p{margin:0;color:#aeb9c8}.module-hero .hero-stat{font-size:30px;color:var(--gold2);font-weight:900}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel)}.quick-card h4{margin:0 0 6px}.quick-card p{color:var(--muted);font-size:12px;margin:0 0 12px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:100;padding:20px}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--panel);border-radius:17px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head button{background:none;border:0;font-size:24px;color:var(--text)}.modal form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal form label{font-size:11px;font-weight:800;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1;margin:0}.modal textarea{min-height:95px}.toast{position:fixed;right:25px;bottom:25px;background:#101722;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(20px);transition:.25s;z-index:200}.toast.show{opacity:1;transform:none}
.ai-box{display:flex;gap:10px}.ai-box input{flex:1;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}.ai-answer{margin-top:15px;padding:17px;border-radius:12px;background:rgba(201,162,77,.10);border:1px solid rgba(201,162,77,.25);line-height:1.65}
.metric-line{display:grid;grid-template-columns:150px 1fr 55px;gap:10px;align-items:center;margin:12px 0;font-size:12px}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:780px){
  .login-screen{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:30px}
  .app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{grid-column:auto}.mobile-menu{display:block;background:none;border:0;font-size:22px;color:var(--text)}
  .topbar{padding:0 14px}.top-actions .user-chip div:last-child{display:none}.content{padding:15px}.kpi-grid,.three-col,.quick-grid{grid-template-columns:1fr}.module-hero{align-items:flex-start;gap:20px}.modal form{grid-template-columns:1fr}.field.full{grid-column:auto}
}


/* DRIVER APP */
.driver-shell .sidebar{background:linear-gradient(180deg,#111720,#070a0f)}
.driver-home{display:grid;gap:16px}
.driver-welcome{background:linear-gradient(125deg,#101722,#242e3d);color:#fff;border-radius:20px;padding:24px;display:flex;justify-content:space-between;align-items:center}
.driver-welcome h2{font-size:28px;margin:0 0 6px}.driver-welcome p{color:#b7c0cb;margin:0}
.driver-shift{font-size:13px;text-align:right}.driver-shift strong{display:block;font-size:24px;color:var(--gold2)}
.driver-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.driver-action{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;text-align:left;color:var(--text);box-shadow:var(--shadow)}
.driver-action .big-icon{font-size:28px;display:block;margin-bottom:12px}.driver-action h4{margin:0 0 5px}.driver-action p{margin:0;color:var(--muted);font-size:12px}
.required-banner{border:1px solid #e4c56f;background:linear-gradient(90deg,rgba(201,162,77,.20),rgba(201,162,77,.06));padding:16px;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.required-banner strong{display:block;margin-bottom:4px}.required-banner p{margin:0;color:var(--muted);font-size:12px}
.notification-card{display:flex;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.notification-card:last-child{border-bottom:0}
.notification-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(201,162,77,.15)}
.vehicle-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.vehicle-summary .mini{background:rgba(120,130,150,.06);border:1px solid var(--line);border-radius:12px;padding:14px}
.vehicle-summary small{display:block;color:var(--muted);margin-bottom:5px}
.inspection-stepper{display:flex;gap:8px;margin-bottom:18px;overflow:auto}
.step{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#eef1f5;color:#6e7785;font-size:11px;font-weight:800}
.step.active{background:#171f2b;color:#fff}.step.done{background:#e7f7f0;color:#167b54}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.photo-slot{border:1px dashed #bcc4cf;border-radius:14px;padding:12px;text-align:center;min-height:155px;background:rgba(120,130,150,.035);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px}
.photo-slot.required-missing{border-color:#d94a4a;background:#fff5f5}
.photo-slot img{width:100%;height:92px;object-fit:cover;border-radius:9px}
.photo-slot input{display:none}.photo-slot label{font-size:11px;font-weight:800;color:#8a6b27;cursor:pointer}
.photo-name{font-size:10px;color:var(--muted)}
.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.check-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px}
.check-item select{border:1px solid var(--line);border-radius:8px;padding:7px;background:var(--panel);color:var(--text)}
.damage-box{border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:15px}
.signature-pad{border:1px dashed #aeb7c4;border-radius:12px;height:110px;display:grid;place-items:center;color:var(--muted);background:rgba(120,130,150,.03)}
.schedule-list{display:grid;gap:10px}.schedule-day{display:grid;grid-template-columns:100px 1fr 140px 90px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px}
.schedule-day.today{border-color:#c9a24d;background:rgba(201,162,77,.08)}
.route-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}
.route-detail{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.route-detail .mini{border:1px solid var(--line);border-radius:12px;padding:13px}
.driver-nav-badge{margin-left:auto;background:#d94a4a;color:white;border-radius:20px;padding:1px 6px;font-size:9px}
.manager-photo-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.manager-photo-grid img{width:100%;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line);cursor:pointer}
.image-viewer-card{max-width:900px}.image-viewer-card img{max-width:100%;max-height:75vh;display:block;margin:auto;border-radius:12px}
.inspection-record{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.inspection-record-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.locked-route{opacity:.55}
@media(max-width:1000px){.driver-action-grid,.photo-grid{grid-template-columns:repeat(2,1fr)}.vehicle-summary,.route-detail{grid-template-columns:repeat(2,1fr)}.manager-photo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.driver-welcome{align-items:flex-start;flex-direction:column}.driver-shift{text-align:left}.driver-action-grid,.photo-grid,.checklist-grid,.vehicle-summary,.route-detail{grid-template-columns:1fr}.schedule-day{grid-template-columns:1fr 1fr;gap:7px}.manager-photo-grid{grid-template-columns:repeat(2,1fr)}}


/* FINAL READABILITY POLISH */
.nav-item{font-size:15px;min-height:43px;padding:11px 13px}
.nav-group-title{font-size:11px;font-weight:800;padding-top:18px}
.topbar h1{font-size:28px}
.topbar p{font-size:13px}
.kpi small{font-size:13px}
.kpi h3{font-size:38px}
.card-head h3{font-size:18px}
th{font-size:11px}
td{font-size:13px}
.quick-card h4{font-size:15px}
.quick-card p{font-size:13px}
.sidebar{width:285px}
.app-shell{grid-template-columns:285px 1fr}
.main{grid-column:2}

/* SMART SCHEDULE */
.schedule-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.schedule-tab{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:10px 14px;border-radius:10px;font-weight:800}
.schedule-tab.active{background:#171f2b;color:#fff;border-color:#171f2b}
.roster-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.roster-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.phone-link{color:#9a742b;font-weight:800;text-decoration:none}
.confirm-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}
.confirmed{background:#e7f7f0;color:#167b54}
.waiting{background:#fff6df;color:#9c6a00}
.declined{background:#ffeaea;color:#bc3434}
.calendar-board{display:grid;grid-template-columns:170px repeat(7,minmax(150px,1fr));overflow:auto;border:1px solid var(--line);border-radius:14px}
.calendar-cell{min-height:94px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}
.calendar-head{font-weight:900;background:rgba(120,130,150,.06);min-height:auto}
.employee-cell{font-weight:800;position:sticky;left:0;z-index:2}
.shift-chip{padding:8px;border-radius:9px;color:#fff;font-size:11px;font-weight:800;margin-bottom:5px}
.shift-blue{background:#2d7194}.shift-green{background:#26815e}.shift-gold{background:#9a742b}.shift-purple{background:#66559c}.shift-red{background:#b44c4c}
.sms-preview{border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(120,130,150,.04);white-space:pre-line;line-height:1.6}
.text-btn{background:#eaf0ff;color:#315bcc;border:1px solid #ccd9ff;padding:8px 10px;border-radius:8px;font-weight:800;font-size:11px}
.publish-panel{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px;border:1px solid rgba(201,162,77,.35);background:rgba(201,162,77,.09);border-radius:14px;margin-bottom:16px}

/* ACKNOWLEDGMENT LOCK */
.app-lock-overlay{position:fixed;inset:0;background:rgba(6,9,14,.88);z-index:90;display:grid;place-items:center;padding:20px}
.lock-card{max-width:620px;width:100%;background:var(--panel);border-radius:20px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.lock-icon{width:62px;height:62px;border-radius:18px;background:#fff0e4;display:grid;place-items:center;font-size:30px;margin-bottom:16px}
.lock-card h2{font-size:28px;margin:0 0 8px}
.lock-card p{color:var(--muted);line-height:1.6}
.ack-item{border:1px solid var(--line);border-radius:14px;padding:15px;margin:12px 0}
.ack-item h4{margin:0 0 5px}
.ack-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.ack-modal-card{max-width:700px}
.dark-text{color:#8a6b27}
.ack-content{border-left:4px solid var(--gold);padding:14px 16px;background:rgba(201,162,77,.08);border-radius:0 12px 12px 0;line-height:1.65}
.signature-input{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-size:18px;font-family:cursive}
.locked-nav .nav-item:not([data-page="driveracknowledgments"]){opacity:.35;pointer-events:none}
@media(max-width:780px){
  .sidebar{width:285px}.main{grid-column:auto}
  .topbar h1{font-size:22px}
  .calendar-board{grid-template-columns:130px repeat(7,145px)}
}

.schedule-main-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.unassigned-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.unassigned-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1.4fr auto;gap:12px;align-items:center;border:1px solid #e8cf8a;background:rgba(201,162,77,.08);border-radius:12px;padding:13px;margin-bottom:10px}
.unassigned-row small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}
@media(max-width:1000px){.unassigned-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.publish-panel{align-items:flex-start;flex-direction:column}.schedule-main-actions{width:100%}.schedule-main-actions button{flex:1}.unassigned-row{grid-template-columns:1fr}}

.profile-photo-card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.profile-photo-wrap{width:170px;height:170px;border-radius:50%;overflow:hidden;border:5px solid rgba(201,162,77,.28);box-shadow:0 15px 35px rgba(0,0,0,.12);margin-bottom:14px}
.profile-photo-wrap img{width:100%;height:100%;object-fit:cover}
.profile-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#d5ad58,#8f6824);font-size:48px;font-weight:900;color:#111}
.upload-profile-btn{display:inline-block;margin:8px 0 10px;cursor:pointer}
.upload-profile-btn input{display:none}


/* RESTORED COLORFUL SCHEDULE — SIGNED / UNSIGNED ONLY */
.schedule-legend{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  align-items:center;
  padding:12px 4px 16px;
  color:var(--text);
  font-size:12px;
  font-weight:800;
}
.schedule-legend span{display:flex;align-items:center;gap:7px}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.confirmed-dot{background:#28a765}
.signed-dot{background:#2f6de0}
.unsigned-dot{background:#ef7f22}
.waiting-dot{background:#e2a327}
.declined-dot{background:#d84040}
.off-dot{background:#c7cbd1}
.shift-ack{
  display:inline-flex;
  align-items:center;
  margin-top:6px;
  padding:3px 6px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  background:rgba(255,255,255,.92);
}
.shift-ack.signed{color:#2368d8}
.shift-ack.unsigned{color:#dc6f16}


/* OWNER EMPLOYEE PROFILE */
.employee-name-link{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--text);padding:0;cursor:pointer;text-align:left}
.employee-name-link:hover strong{text-decoration:underline}
.employee-list-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d2aa53,#8b6723);color:#111;font-weight:900;overflow:hidden;flex:0 0 36px}
.employee-list-avatar img{width:100%;height:100%;object-fit:cover}
.profile-back-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}
.employee-profile-header{background:linear-gradient(125deg,#111823,#263244);color:#fff;border-radius:20px;padding:24px;display:grid;grid-template-columns:auto 1fr 220px;gap:22px;align-items:center;margin-bottom:16px}
.employee-profile-photo{width:145px;height:145px;border-radius:50%;position:relative;border:5px solid rgba(220,181,95,.55);overflow:visible}
.employee-profile-photo>img,.employee-profile-placeholder{width:100%;height:100%;border-radius:50%;object-fit:cover}
.employee-profile-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#d9b45f,#8e6826);font-size:42px;font-weight:900;color:#111}
.photo-edit-button{position:absolute;right:0;bottom:5px;width:39px;height:39px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer}
.photo-edit-button input{display:none}
.employee-profile-title h2{font-size:32px;margin:7px 0 5px}.employee-profile-title p{margin:0 0 12px;color:#bbc5d2}
.employee-profile-badges{display:flex;gap:8px;flex-wrap:wrap}
.profile-completion small{display:block;color:#aeb9c8;margin-bottom:7px}.profile-completion strong{font-size:30px;color:var(--gold2)}.profile-completion .progress{margin-top:10px;background:rgba(255,255,255,.15)}
.profile-tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 14px}
.profile-tab{white-space:nowrap;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-weight:800}
.profile-tab.active{background:#171f2b;color:#fff;border-color:#171f2b}
.profile-section{display:none}.profile-section.active{display:block}
.profile-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.profile-detail{border:1px solid var(--line);border-radius:12px;padding:13px;background:rgba(120,130,150,.035)}
.profile-detail small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.profile-action-btn{width:100%;text-align:left;padding:12px;margin-bottom:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font-weight:800}
.profile-action-btn:hover{border-color:#c9a24d;background:rgba(201,162,77,.08)}
@media(max-width:900px){.employee-profile-header{grid-template-columns:auto 1fr}.profile-completion{grid-column:1/-1}.profile-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.employee-profile-header{grid-template-columns:1fr;text-align:center}.employee-profile-photo{margin:auto}.employee-profile-badges{justify-content:center}.profile-back-row{align-items:flex-start;flex-direction:column}}


/* SUNDAY-FIRST + EMPLOYEE PROFILE CLICK FIX */
.employee-name-link,
table .secondary-btn{
  position:relative;
  z-index:2;
  pointer-events:auto;
}
.employee-name-link{
  min-width:170px;
}


/* ASSOCIATE TIME CLOCK — NO OTHER DESIGN CHANGES */
.timeclock-status{display:flex;align-items:center;gap:15px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.timeclock-status h2{margin:4px 0}.timeclock-status p{margin:0;color:var(--muted)}
.timeclock-icon{width:58px;height:58px;border-radius:16px;background:rgba(201,162,77,.16);display:grid;place-items:center;font-size:29px}
.timeclock-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.clock-action{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--panel);color:var(--text);display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}
.clock-action span{font-size:22px}.clock-action strong{font-size:15px}.clock-action small{color:var(--muted)}
.clock-action.clock-in:not(.disabled){border-color:#9fd7bf;background:#eefaf5}
.clock-action.break-start:not(.disabled){border-color:#e6cd87;background:#fff9e9}
.clock-action.break-end:not(.disabled){border-color:#a9c1ef;background:#f1f5ff}
.clock-action.clock-out:not(.disabled){border-color:#efb2b2;background:#fff2f2}
.clock-action.disabled{opacity:.42;cursor:not-allowed}
.work-location-notice{margin-top:16px;border:1px solid rgba(201,162,77,.35);background:rgba(201,162,77,.08);border-radius:12px;padding:14px}
.work-location-notice p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.time-record-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.time-record-row{display:flex;justify-content:space-between;padding:13px;border-bottom:1px solid var(--line)}
.time-record-row:last-child{border-bottom:0}
.driver-action-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:1200px){.driver-action-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.timeclock-actions,.driver-action-grid{grid-template-columns:1fr}}


/* ASSOCIATE HOME + PERMANENT BOTTOM TIME CLOCK FIX */
.driver-home{padding-bottom:110px}
.associate-home-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.associate-home-status{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow)}
.associate-home-status small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:7px}
.associate-home-status strong{display:block;font-size:22px;margin-bottom:4px}
.associate-home-status span{font-size:12px;color:var(--muted)}
.associate-main-actions{grid-template-columns:repeat(4,1fr)}
.associate-clock-bar{
  position:fixed;
  left:285px;
  right:0;
  bottom:0;
  min-height:78px;
  z-index:80;
  background:rgba(13,18,27,.97);
  border-top:1px solid rgba(255,255,255,.12);
  box-shadow:0 -12px 30px rgba(0,0,0,.24);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 24px;
  color:#fff;
  backdrop-filter:blur(14px);
}
.associate-clock-summary{display:flex;align-items:center;gap:11px;min-width:150px}
.associate-clock-summary small{display:block;color:#9fa9b7;font-size:10px}
.associate-clock-summary strong{font-size:15px}
.clock-live-dot{width:12px;height:12px;border-radius:50%;background:#4bb77d;box-shadow:0 0 0 5px rgba(75,183,125,.15)}
.associate-clock-buttons{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px;flex:1;max-width:700px}
.associate-clock-buttons button{
  border:1px solid rgba(255,255,255,.15);
  background:#1e2938;
  color:#fff;
  border-radius:10px;
  padding:11px 13px;
  font-weight:800;
}
.associate-clock-buttons button:not(:disabled):hover{background:#c9a24d;color:#111}
.associate-clock-buttons button:disabled{opacity:.35;cursor:not-allowed}
.clock-details-btn{border:1px solid #c9a24d;background:transparent;color:#f2d27e;padding:10px 13px;border-radius:10px;font-weight:800}
body.dark .associate-clock-bar{background:rgba(7,10,15,.98)}
@media(max-width:1100px){
  .associate-home-status-grid,.associate-main-actions{grid-template-columns:repeat(2,1fr)}
  .associate-clock-bar{left:285px;flex-wrap:wrap}
  .associate-clock-buttons{order:3;width:100%;max-width:none}
}
@media(max-width:780px){
  .associate-clock-bar{left:0;padding:10px 12px}
  .associate-clock-summary{min-width:0}
  .clock-details-btn{font-size:11px}
  .associate-clock-buttons{grid-template-columns:repeat(2,1fr)}
  .driver-home{padding-bottom:180px}
}
@media(max-width:560px){
  .associate-home-status-grid,.associate-main-actions{grid-template-columns:1fr}
}


/* COMPANY ADMINISTRATION + ROLE ACCESS */
.company-setup-modal{max-width:760px}
.company-setup-modal form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.company-brand-card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.company-logo-upload{width:170px;height:170px;border-radius:24px;border:4px solid rgba(201,162,77,.28);overflow:hidden;margin-bottom:14px}
.company-logo-upload img{width:100%;height:100%;object-fit:contain;background:#fff}
.company-logo-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#d7b25e,#8b6522);font-size:40px;font-weight:900;color:#111}
.upload-company-logo{display:inline-block;cursor:pointer}.upload-company-logo input{display:none}
.subscription-card{position:relative}.subscription-card.selected-plan{border-color:#c9a24d;box-shadow:0 0 0 2px rgba(201,162,77,.15)}
@media(max-width:700px){.company-setup-modal form{grid-template-columns:1fr}}


/* PALUX CHAT — ADDITIVE ONLY */
.chat-shell{display:grid;grid-template-columns:300px 1fr;background:var(--panel);border:1px solid var(--line);border-radius:17px;overflow:hidden;min-height:650px;box-shadow:var(--shadow)}
.chat-sidebar{border-right:1px solid var(--line);background:rgba(120,130,150,.035);overflow:auto;max-height:760px}
.chat-sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:17px 16px 10px}.chat-sidebar-head h3{margin:0;font-size:15px}.chat-sidebar-head small{color:var(--muted)}
.private-head{border-top:1px solid var(--line);margin-top:10px}.chat-add-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);font-size:20px}
.chat-list{padding:0 9px 10px}.chat-list-item{width:100%;display:flex;gap:11px;align-items:center;text-align:left;border:0;background:transparent;color:var(--text);padding:11px;border-radius:11px}.chat-list-item:hover,.chat-list-item.active{background:rgba(201,162,77,.13)}
.chat-list-item span:last-child{min-width:0}.chat-list-item strong{display:block;font-size:13px}.chat-list-item small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:205px}
.chat-channel-icon,.chat-person-avatar{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:0 0 38px;background:linear-gradient(135deg,#d2aa53,#8b6723);color:#111;font-weight:900;overflow:hidden}.chat-person-avatar{border-radius:50%}.chat-person-avatar img{width:100%;height:100%;object-fit:cover}
.chat-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.chat-header h3{margin:0}.chat-header p{margin:3px 0 0;color:var(--muted);font-size:11px}
.chat-messages{padding:21px;overflow:auto;max-height:560px;min-height:420px;background:linear-gradient(180deg,rgba(120,130,150,.025),transparent)}
.chat-message{display:flex;gap:10px;margin-bottom:17px;max-width:78%}.chat-message.mine{margin-left:auto;flex-direction:row-reverse}.chat-message-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d9dee6;color:#344054;font-size:10px;font-weight:900;flex:0 0 34px}
.chat-bubble{background:var(--panel);border:1px solid var(--line);border-radius:4px 14px 14px 14px;padding:11px 13px;box-shadow:0 5px 14px rgba(10,20,40,.05)}.chat-message.mine .chat-bubble{background:rgba(201,162,77,.15);border-color:rgba(201,162,77,.3);border-radius:14px 4px 14px 14px}.chat-meta{display:flex;gap:9px;align-items:center}.chat-meta strong{font-size:12px}.chat-meta span{font-size:9px;color:var(--muted)}.chat-bubble p{margin:6px 0 0;line-height:1.5;font-size:13px}
.chat-composer{padding:15px 18px;border-top:1px solid var(--line)}.chat-composer textarea{width:100%;min-height:78px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text)}.chat-composer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px}.chat-composer-actions span{font-size:10px;color:var(--muted)}
.chat-empty{text-align:center;color:var(--muted);padding:100px 20px}.chat-empty span{font-size:36px}.chat-empty h3{color:var(--text)}
.chat-role-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;border:1px solid var(--line);padding:12px;border-radius:10px}.chat-role-checks label{font-size:12px}
@media(max-width:900px){.chat-shell{grid-template-columns:240px 1fr}.chat-list-item small{max-width:145px}}
@media(max-width:700px){.chat-shell{grid-template-columns:1fr}.chat-sidebar{max-height:280px;border-right:0;border-bottom:1px solid var(--line)}.chat-message{max-width:92%}.chat-composer-actions{align-items:stretch;flex-direction:column}.chat-composer-actions button{width:100%}.chat-role-checks{grid-template-columns:1fr}}


/* PALUX ENHANCED CHAT COMPOSER */
.enhanced-chat-composer{position:relative;padding:12px 16px 14px;background:var(--panel)}
.chat-input-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:16px;padding:8px;background:rgba(120,130,150,.035)}
.chat-tool-row{display:flex;gap:5px;align-items:center;padding-bottom:2px}
.chat-tool-btn{width:39px;height:39px;border:0;border-radius:10px;background:transparent;color:var(--text);display:grid;place-items:center;font-size:19px;cursor:pointer}
.chat-tool-btn:hover{background:rgba(201,162,77,.14)}
.chat-tool-btn input{display:none}
.chat-tool-btn.recording{background:#ffe8e8;color:#cf3030;animation:paluxPulse 1s infinite}
@keyframes paluxPulse{50%{transform:scale(1.08);box-shadow:0 0 0 7px rgba(207,48,48,.10)}}
.enhanced-chat-composer textarea{min-height:46px!important;max-height:130px;resize:none;border:0!important;background:transparent!important;padding:11px 6px!important;outline:none}
.chat-send-btn{width:45px;height:45px;border:0;border-radius:12px;background:linear-gradient(135deg,#b88c32,#e5c46f);color:#111;font-size:20px;font-weight:900}
.chat-send-btn:hover{transform:translateY(-1px)}
.chat-composer-footer{display:flex;justify-content:space-between;gap:10px;padding:7px 4px 0;color:var(--muted);font-size:10px}
.emoji-picker{position:absolute;left:16px;bottom:90px;width:310px;display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:11px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.16);z-index:20}
.emoji-picker button{border:0;background:transparent;border-radius:8px;padding:7px;font-size:20px}
.emoji-picker button:hover{background:rgba(201,162,77,.14)}
.chat-attachment-preview{padding:0 0 9px}
.chat-preview-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:rgba(120,130,150,.045);padding:9px;border-radius:12px;max-width:430px}
.chat-preview-card img{width:55px;height:55px;object-fit:cover;border-radius:9px}
.chat-preview-card audio{width:240px;height:36px}
.chat-preview-card div{flex:1;min-width:0}.chat-preview-card strong,.chat-preview-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-preview-card small{color:var(--muted)}
.chat-preview-card button{border:0;background:transparent;color:var(--text);font-size:22px}
.preview-file-icon{font-size:30px}
.chat-media{margin-top:9px}.chat-media img{display:block;max-width:330px;max-height:260px;object-fit:cover;border-radius:11px;cursor:pointer}.chat-media small{display:block;margin-top:5px;color:var(--muted)}
.chat-audio{margin-top:9px;padding:9px;border:1px solid var(--line);border-radius:11px;background:rgba(120,130,150,.04)}.chat-audio span{display:block;font-size:11px;font-weight:800;margin-bottom:6px}.chat-audio audio{width:280px;max-width:100%}
.chat-file{display:flex;align-items:center;gap:9px;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:11px;color:var(--text);text-decoration:none}.chat-file>span{font-size:25px}.chat-file strong,.chat-file small{display:block}.chat-file small{color:var(--muted)}
.chat-message-tools{display:flex;align-items:center;gap:4px;margin-top:8px}.chat-message-tools button{border:0;background:transparent;border-radius:8px;padding:3px 5px}.chat-message-tools button:hover{background:rgba(120,130,150,.10)}.chat-message-tools span{font-size:10px;background:rgba(120,130,150,.08);border-radius:999px;padding:3px 6px}
@media(max-width:700px){
  .chat-input-row{grid-template-columns:1fr auto}.chat-tool-row{grid-column:1/-1}.emoji-picker{left:10px;right:10px;width:auto;grid-template-columns:repeat(7,1fr)}
  .chat-composer-footer{flex-direction:column}.chat-media img{max-width:100%}
}


/* CHAT NOTIFICATIONS ONLY — ENHANCED CHAT UI UNCHANGED */
.notification-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.chat-notification{border-left:4px solid #c9a24d;background:rgba(201,162,77,.055)}
#notificationBadge{min-width:17px;text-align:center}
@media(max-width:650px){
  .notification-card{align-items:flex-start}
  .notification-actions{width:100%;margin-top:7px}
}


/* MESSAGE ACTIONS + TECHNICAL SUPPORT */
.chat-message-tools button{font-size:10px;font-weight:800;color:var(--muted)}
.chat-message-tools button:hover{color:var(--text)}
.edited-label{font-size:9px;color:var(--muted);margin-left:3px}
.support-primary-card{text-align:center}
.support-logo{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;margin:0 auto 14px;background:linear-gradient(135deg,#d8b15a,#8d6724);font-size:38px;font-weight:900;color:#111}
.support-primary-card h2{margin:8px 0 4px}.support-primary-card>p{color:var(--muted);margin-top:0}
.support-contact-list{display:grid;gap:10px;margin:20px 0;text-align:left}
.support-contact-list a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px;color:var(--text);text-decoration:none}
.support-contact-list a:hover{border-color:#c9a24d;background:rgba(201,162,77,.07)}
.support-contact-list a>span{font-size:24px}.support-contact-list small,.support-contact-list strong{display:block}.support-contact-list small{color:var(--muted);margin-bottom:3px}
.support-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.support-actions a{text-decoration:none}


/* ASSET HISTORY */
.asset-assignment-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;padding:15px;background:rgba(120,130,150,.04)}
.asset-assignment-card p{margin:4px 0;color:var(--muted)}
.asset-history-entry{display:grid;grid-template-columns:18px 1fr;gap:12px;position:relative;padding-bottom:20px}
.asset-history-entry:not(:last-child)::before{content:"";position:absolute;left:7px;top:16px;bottom:0;width:2px;background:var(--line)}
.asset-history-dot{width:16px;height:16px;border-radius:50%;background:#c9a24d;box-shadow:0 0 0 5px rgba(201,162,77,.12);margin-top:3px;z-index:1}
.asset-history-body{border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--panel)}
.asset-history-head{display:flex;justify-content:space-between;gap:12px}.asset-history-head span{color:var(--muted);font-size:12px}
.asset-history-body p{margin:7px 0;color:var(--text)}.asset-history-body small{color:var(--muted)}


/* FLEET VEHICLE PROFILE */
.vehicle-profile-hero{background:linear-gradient(125deg,#111823,#263244);color:#fff;border-radius:20px;padding:24px;display:grid;grid-template-columns:auto 1fr 220px;gap:22px;align-items:center;margin-bottom:16px}
.vehicle-profile-icon{width:120px;height:120px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#d7b25e,#8c6724);font-size:58px}
.vehicle-profile-hero h2{font-size:32px;margin:7px 0 5px}.vehicle-profile-hero p{color:#bbc5d2;margin:0 0 12px}
.vehicle-profile-hero .profile-completion span{display:block;color:#aeb9c8;font-size:11px}
.vehicle-section{display:none}.vehicle-section.active{display:block}
@media(max-width:850px){.vehicle-profile-hero{grid-template-columns:auto 1fr}.vehicle-profile-hero .profile-completion{grid-column:1/-1}}
@media(max-width:600px){.vehicle-profile-hero{grid-template-columns:1fr;text-align:center}.vehicle-profile-icon{margin:auto}}


/* TRAINING CENTER MANAGEMENT */
.training-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.training-card-head h4{margin:0 0 4px}.training-card-head p{margin:0;color:var(--muted);font-size:12px}
.training-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 13px}
.training-meta span{font-size:10px;font-weight:800;color:var(--muted);border:1px solid var(--line);padding:4px 7px;border-radius:999px}
.training-profile-hero{background:linear-gradient(125deg,#111823,#263244);color:#fff;border-radius:20px;padding:24px;display:grid;grid-template-columns:auto 1fr 220px;gap:22px;align-items:center;margin-bottom:16px}
.training-profile-icon{width:110px;height:110px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#d7b25e,#8c6724);font-size:48px;color:#111}
.training-profile-hero h2{font-size:30px;margin:7px 0 5px}.training-profile-hero p{color:#bbc5d2;margin:0 0 12px}
.training-section{display:none}.training-section.active{display:block}
@media(max-width:850px){.training-profile-hero{grid-template-columns:auto 1fr}.training-profile-hero .profile-completion{grid-column:1/-1}}
@media(max-width:600px){.training-profile-hero{grid-template-columns:1fr;text-align:center}.training-profile-icon{margin:auto}}


/* EMPLOYEE DOCUMENT UPLOAD */
.employee-document-upload{display:inline-flex;align-items:center;cursor:pointer}
.employee-document-upload input{display:none}
.empty-documents{text-align:center;padding:42px 20px;color:var(--muted)}
.empty-documents span{display:block;font-size:42px;margin-bottom:10px}
.empty-documents h3{color:var(--text);margin:0 0 6px}
.danger-text{color:#c94b4b!important}

/* COMPANY SETTINGS */
.settings-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:14px}
.settings-list-row,.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:14px 0}
.settings-list-row:last-child,.settings-toggle-row:last-child{border-bottom:0}
.settings-list-row p,.settings-toggle-row p{margin:4px 0 0;color:var(--muted)}
.settings-toggle-row input{width:20px;height:20px}
.permission-matrix{overflow:auto}.permission-matrix table{min-width:1000px;width:100%;border-collapse:collapse}
.permission-matrix th,.permission-matrix td{padding:10px;border-bottom:1px solid var(--line);text-align:center}
.permission-matrix th:first-child,.permission-matrix td:first-child{text-align:left;position:sticky;left:0;background:var(--panel)}
@media(max-width:700px){.settings-form-grid{grid-template-columns:1fr}.settings-list-row{align-items:flex-start;flex-direction:column}}


/* PAYROLL & DIRECT DEPOSIT */
.payroll-status-card{position:relative;overflow:hidden}
.payroll-period-total{padding:16px;border-radius:14px;background:linear-gradient(135deg,rgba(201,162,77,.18),rgba(201,162,77,.06));margin-bottom:14px}
.payroll-period-total small{display:block;color:var(--muted);margin-bottom:6px}.payroll-period-total strong{font-size:26px}
.payroll-total-row{background:rgba(201,162,77,.08);font-size:15px}
.provider-connect-box{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:15px;background:rgba(120,130,150,.04)}
.provider-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#d7b25e,#8d6724);font-size:27px;font-weight:900;color:#111}
.provider-connect-box p{margin:4px 0 0;color:var(--muted)}


/* COMPANY-WIDE PAYROLL DIRECTORY */
.payroll-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.payroll-filter-group{display:flex;gap:9px;flex-wrap:wrap;flex:1}
.payroll-filter-group input,.payroll-filter-group select{min-width:160px}
.payroll-directory-wrap{overflow:auto}
.payroll-employee-cell{display:flex;align-items:center;gap:10px;min-width:190px}
.payroll-employee-cell small{display:block;color:var(--muted);margin-top:3px}
.employee-list-avatar.large{width:78px;height:78px;font-size:24px}
.payroll-employee-hero{background:linear-gradient(125deg,#111823,#263244);color:#fff;border-radius:20px;padding:24px;display:grid;grid-template-columns:auto 1fr 230px;gap:22px;align-items:center;margin-bottom:16px}
.payroll-employee-hero h2{font-size:30px;margin:7px 0 5px}.payroll-employee-hero p{color:#bbc5d2;margin:0 0 12px}
.payroll-employee-hero .profile-completion span{display:block;color:#aeb9c8;font-size:11px}
.payroll-section{display:none}.payroll-section.active{display:block}
@media(max-width:850px){.payroll-employee-hero{grid-template-columns:auto 1fr}.payroll-employee-hero .profile-completion{grid-column:1/-1}}
@media(max-width:700px){.payroll-toolbar{align-items:stretch}.payroll-filter-group{flex-direction:column}.payroll-filter-group input,.payroll-filter-group select{width:100%}.payroll-employee-hero{grid-template-columns:1fr;text-align:center}.payroll-employee-hero .employee-list-avatar{margin:auto}}

/* PAYROLL PROVIDER WIZARD */
.provider-wizard{display:grid;gap:14px}.provider-wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.provider-wizard-steps span{font-size:10px;font-weight:800;text-align:center;border:1px solid var(--line);border-radius:999px;padding:7px;color:var(--muted)}
.provider-wizard-steps span.active{background:rgba(201,162,77,.15);border-color:#c9a24d;color:var(--text)}
.provider-wizard-intro{margin:0;color:var(--muted);line-height:1.55}.provider-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.provider-choice-card{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;background:var(--panel)}
.provider-choice-card:hover{border-color:#c9a24d;background:rgba(201,162,77,.06)}.provider-choice-card input{position:absolute;right:9px;top:9px}
.provider-choice-card:has(input:checked){border-color:#c9a24d;box-shadow:0 0 0 2px rgba(201,162,77,.12)}
.provider-choice-logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#d7b25e,#8d6724);font-weight:900;color:#111}
.provider-choice-card small{display:block;color:var(--muted);margin-top:3px}.provider-log-list{display:grid;gap:10px;max-height:420px;overflow:auto}
.provider-log-entry{border:1px solid var(--line);border-radius:12px;padding:12px}.provider-log-entry p{margin:5px 0;color:var(--text)}.provider-log-entry small{color:var(--muted)}
@media(max-width:700px){.provider-choice-grid{grid-template-columns:1fr}.provider-wizard-steps{grid-template-columns:1fr 1fr}}


/* MY PAY FOR ALL PAID ROLES */
.private-pay-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:var(--muted)}

/* PALUX AI KNOWLEDGE */
.palux-ai-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.palux-ai-sidebar{align-self:start}.full-btn{width:100%}.palux-ai-library-item{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.palux-ai-library-item small{display:block;color:var(--muted);margin-top:3px}.palux-ai-doc-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(201,162,77,.14);color:#9a6d13;font-weight:900}.palux-ai-chat-card{padding:0;overflow:hidden;min-height:720px;display:flex;flex-direction:column}.palux-ai-chat-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.palux-ai-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#d9b75c,#8a641e);color:#111;font-size:22px;font-weight:900}.palux-ai-chat-header h3{margin:0}.palux-ai-chat-header p{margin:3px 0 0;color:var(--muted);font-size:12px}.palux-ai-online{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4fb476;margin-right:5px}.palux-ai-header-badge{margin-left:auto;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;color:var(--muted)}.palux-ai-suggestions{display:flex;gap:8px;overflow:auto;padding:12px 16px;border-bottom:1px solid var(--line)}.palux-ai-suggestions button{white-space:nowrap;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 11px;font-size:11px;color:var(--text)}.palux-ai-messages{flex:1;overflow:auto;padding:20px}.palux-ai-message{display:flex;gap:10px;margin-bottom:18px;max-width:86%}.palux-ai-message.user{margin-left:auto;flex-direction:row-reverse}.palux-ai-message-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;background:#e8ebef;font-size:10px;font-weight:900;color:#38414d}.palux-ai-message.assistant .palux-ai-message-avatar{background:linear-gradient(135deg,#d9b75c,#8a641e);color:#111;font-size:16px}.palux-ai-bubble{border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:var(--panel);min-width:220px}.palux-ai-message.user .palux-ai-bubble{background:linear-gradient(135deg,#1c2633,#2c394b);color:#fff;border-color:transparent}.palux-ai-message-meta{display:flex;gap:10px;align-items:center;font-size:11px;margin-bottom:7px}.palux-ai-message-meta span{color:var(--muted);font-size:10px}.palux-ai-bubble h4{margin:3px 0 9px}.palux-ai-answer p{margin:5px 0;line-height:1.55}.palux-ai-source{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:10px}.palux-ai-source span{border-radius:999px;background:rgba(201,162,77,.13);color:#9a6d13;padding:5px 7px;font-weight:900}.palux-ai-source small{color:var(--muted)}.palux-ai-message-actions{display:flex;gap:10px;margin-top:10px}.palux-ai-message-actions button{border:0;background:transparent;color:var(--muted);padding:0;font-size:10px}.palux-ai-composer{border-top:1px solid var(--line);padding:14px 16px}.palux-ai-composer textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:13px;padding:12px;font:inherit;background:var(--panel);color:var(--text)}.palux-ai-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.palux-ai-composer-actions span{font-size:10px;color:var(--muted)}@media(max-width:900px){.palux-ai-layout{grid-template-columns:1fr}.palux-ai-sidebar{order:2}}@media(max-width:650px){.palux-ai-message{max-width:96%}.palux-ai-composer-actions{flex-direction:column;align-items:stretch}}

/* OPERATIONS WORKFLOW FIXES */
.schedule-day-cell{position:relative;min-height:80px}
.schedule-add-btn{position:absolute;right:5px;top:5px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--text);font-weight:900;cursor:pointer;opacity:.72}
.schedule-day-cell:hover .schedule-add-btn{opacity:1;border-color:#c9a24d;background:rgba(201,162,77,.13)}
.applicant-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:11px 0;cursor:pointer}
.applicant-row>div:nth-child(2){flex:1}.applicant-row p{margin:0}.applicant-row small{color:var(--muted)}
.empty-stage{padding:18px 0;text-align:center;color:var(--muted)}

/* SCHEDULE NAVIGATION & DISPATCH PLANNING */
.dispatch-planning-card{margin-top:16px}
.planning-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}
@media(max-width:800px){.planning-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.planning-kpis{grid-template-columns:1fr}}

/* HIRING PIPELINE STAGES */
@media(min-width:1180px){
  .hiring-pipeline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* WEEKLY SCORECARD */
.scorecard-upload-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(120deg,rgba(201,162,77,.12),var(--panel))}
.scorecard-upload-banner h3{margin:5px 0}.scorecard-upload-banner p{margin:0;color:var(--muted)}
.scorecard-progress-chart{height:240px;display:flex;align-items:flex-end;gap:18px;padding:20px 10px 0;border-bottom:1px solid var(--line)}
.scorecard-progress-column{height:100%;flex:1;min-width:46px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}
.scorecard-progress-value{font-size:11px;font-weight:800}.scorecard-progress-bar{width:70%;max-width:58px;border-radius:8px 8px 0 0;background:#c9a24d;min-height:12px}
.scorecard-progress-bar.fantastic{background:linear-gradient(180deg,#56b87b,#2f8253)}.scorecard-progress-bar.great{background:linear-gradient(180deg,#d8b24f,#9e7920)}.scorecard-progress-bar.fair{background:linear-gradient(180deg,#e39448,#b15b1d)}.scorecard-progress-bar.poor{background:linear-gradient(180deg,#d66a6a,#9f3030)}
.scorecard-progress-column small{font-size:10px;color:var(--muted)}
.scorecard-analysis-item{display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding:10px 0}.scorecard-analysis-item:last-child{border-bottom:0}
.scorecard-analysis-item span{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:rgba(201,162,77,.14);color:#9a6d13;font-weight:900}.scorecard-analysis-item p{margin:3px 0;line-height:1.45}
.scorecard-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.scorecard-metric-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--panel)}.scorecard-metric-card small{display:block;color:var(--muted);margin-bottom:6px}.scorecard-metric-card strong{font-size:20px}
.latest-scorecard-dashboard-card{margin-top:16px}.latest-scorecard-content{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.latest-scorecard-content>div{border:1px solid var(--line);border-radius:14px;padding:14px}.latest-scorecard-content small{display:block;color:var(--muted);margin-bottom:7px}.latest-scorecard-content strong{font-size:22px;display:block;margin-bottom:7px}.latest-scorecard-content span{font-size:11px;color:var(--muted)}
@media(max-width:900px){.scorecard-metric-grid{grid-template-columns:repeat(3,1fr)}.latest-scorecard-content{grid-template-columns:1fr}}
@media(max-width:600px){.scorecard-upload-banner{align-items:stretch;flex-direction:column}.scorecard-upload-banner .primary-btn{width:100%}.scorecard-metric-grid{grid-template-columns:1fr 1fr}.scorecard-progress-chart{overflow:auto}}

/* DASHBOARD SCORECARD ACTIONS */
.dashboard-scorecard-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-scorecard-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:700px){
  .dashboard-scorecard-actions,.dashboard-scorecard-footer{align-items:stretch;flex-direction:column}
  .dashboard-scorecard-actions button,.dashboard-scorecard-footer button{width:100%}
}

/* PALUX FINAL BETA SAAS */
.trial-status-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid rgba(201,162,77,.4);background:linear-gradient(120deg,rgba(201,162,77,.16),var(--panel));border-radius:16px;padding:15px 18px;margin-bottom:16px}
.trial-status-banner.urgent{border-color:#d16b5f;background:linear-gradient(120deg,rgba(209,107,95,.13),var(--panel))}
.trial-status-banner strong,.trial-status-banner small{display:block}.trial-status-banner strong{font-size:18px;margin:4px 0}.trial-status-banner small{color:var(--muted)}
.billing-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.billing-plan-card{position:relative}.billing-plan-card.selected{border-color:#c9a24d;box-shadow:0 0 0 2px rgba(201,162,77,.12)}
.billing-plan-tag{position:absolute;right:12px;top:12px;border-radius:999px;padding:5px 8px;background:rgba(201,162,77,.14);font-size:10px;font-weight:800;color:#946914}
.billing-plan-price{margin:16px 0}.billing-plan-price strong{font-size:34px;display:block}.billing-plan-price small{color:var(--muted)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#111823,#2b3748)}
.auth-card{width:min(520px,100%);background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.signup-card{width:min(760px,100%)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.auth-brand h2,.auth-brand p{margin:0}.auth-brand p{color:#66717e;margin-top:4px}
.signup-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.signup-progress span{border:1px solid #dfe4ea;border-radius:999px;padding:7px;text-align:center;font-size:10px;font-weight:800;color:#77818c}.signup-progress .active{border-color:#c9a24d;background:rgba(201,162,77,.12);color:#745215}
.auth-secondary-actions{display:flex;justify-content:space-between;margin-top:12px}.auth-link{display:block;margin:14px auto 0}
.setup-stepper{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;margin-bottom:16px}.setup-stepper div{text-align:center;color:var(--muted)}.setup-stepper span{width:30px;height:30px;margin:auto;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:11px;font-weight:900}.setup-stepper small{display:block;margin-top:5px;font-size:9px}.setup-stepper .active span{background:#c9a24d;color:#111;border-color:#c9a24d}.setup-stepper .complete span{background:#4caa73;color:#fff;border-color:#4caa73}
.setup-wizard-card{max-width:960px;margin:auto}.setup-wizard-card>h3{font-size:22px;margin-top:0}.setup-wizard-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.setup-complete-state{text-align:center;padding:35px 15px}.setup-complete-icon{width:74px;height:74px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#4caa73;color:#fff;font-size:32px;font-weight:900}
@media(max-width:900px){.billing-plan-grid{grid-template-columns:1fr}.setup-stepper{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.trial-status-banner{align-items:stretch;flex-direction:column}.trial-status-banner button{width:100%}.signup-progress{grid-template-columns:1fr 1fr}.auth-secondary-actions{flex-direction:column;gap:8px}}

/* FUNCTIONAL INTEGRATIONS CENTER */
.integration-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.integration-summary strong,.integration-summary small{display:block}.integration-summary strong{font-size:28px;margin:5px 0}.integration-summary small{color:var(--muted)}
.integration-security-note{display:flex;gap:10px;align-items:center;max-width:520px;border:1px solid var(--line);border-radius:14px;padding:12px}.integration-security-note p{margin:0;color:var(--muted);font-size:11px}
.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.integration-card{display:flex;flex-direction:column;gap:14px}.integration-card.connected{border-color:rgba(74,174,114,.45)}
.integration-card-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.integration-card-top h3,.integration-card-top p{margin:0}.integration-card-top p{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}
.integration-service-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#d9b75c,#8a641e);font-weight:900;color:#111}.integration-service-icon.large{width:52px;height:52px;font-size:17px}
.integration-state{font-size:10px;font-weight:800;white-space:nowrap}.integration-state.online{color:#3c9a63}.integration-state.offline{color:var(--muted)}
.integration-permission-preview{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px}.integration-permission-preview span{font-size:10px;color:var(--muted)}
.integration-account-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.integration-account-details>div{border:1px solid var(--line);border-radius:12px;padding:10px}.integration-account-details small{display:block;color:var(--muted);font-size:8px;margin-bottom:5px}.integration-account-details strong{font-size:11px;word-break:break-word}
.integration-actions{display:flex;gap:8px;align-items:center;margin-top:auto}.integration-actions .danger-text{margin-left:auto}
.integration-modal-heading{display:flex;gap:12px;align-items:center}.integration-modal-heading p{margin:4px 0 0;color:var(--muted)}
.integration-permission-box{border:1px solid var(--line);border-radius:13px;padding:12px}.integration-permission-box p{margin:7px 0;color:var(--muted);font-size:11px}
@media(max-width:900px){.integration-grid{grid-template-columns:1fr}.integration-summary{align-items:stretch;flex-direction:column}}
@media(max-width:620px){.integration-card-top{grid-template-columns:auto 1fr}.integration-state{grid-column:2}.integration-account-details{grid-template-columns:1fr}.integration-actions{align-items:stretch;flex-direction:column}.integration-actions button{width:100%}.integration-actions .danger-text{margin-left:0}}

/* CONNECTED EMAIL DISPLAY */
.connected-email-badge{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:7px 10px;background:var(--panel);cursor:pointer;max-width:250px}
.connected-email-badge span{font-size:10px}.connected-email-badge.connected span{color:#43a66c}.connected-email-badge.not-connected span{color:var(--muted)}
.connected-email-badge small{display:block;font-size:7px;color:var(--muted);letter-spacing:.08em}.connected-email-badge strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.connected-email-settings-card{margin-bottom:16px}
.connected-email-large{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.connected-email-large small{display:block;color:var(--muted);font-size:8px;letter-spacing:.08em;margin-bottom:5px}.connected-email-large strong{display:block;font-size:17px}.connected-email-large p{margin:5px 0 0;color:var(--muted);font-size:11px}
@media(max-width:760px){.connected-email-badge{display:none}.connected-email-large{grid-template-columns:auto 1fr}.connected-email-large button{grid-column:1/-1;width:100%}}

/* FINAL CONNECTED EMAIL & BILLING CORRECTION */
.connected-owner-chip{cursor:pointer;min-width:220px}
.owner-chip-details{display:flex;flex-direction:column;min-width:0}
.owner-chip-details span{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:var(--muted);margin-top:3px}
.owner-chip-details em{font-style:normal;font-size:8px;font-weight:800;margin-top:2px}
.verified-email-label{color:#3e9d64}.unverified-email-label{color:#b0791d}
.login-account-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.billing-plan-card .primary-btn,.billing-plan-card .secondary-btn{width:100%}
@media(max-width:760px){.connected-owner-chip{min-width:auto}.owner-chip-details span,.owner-chip-details em{display:none}}

/* CREATE COMPANY REGISTRATION FIX */
.company-signup-screen{position:fixed;inset:0;z-index:9999;overflow:auto;background:linear-gradient(135deg,#111823,#2b3748);padding:24px}
.company-signup-screen.hidden{display:none}
.company-signup-screen .auth-shell{min-height:calc(100vh - 48px)}
@media(max-width:600px){.company-signup-screen{padding:12px}.company-signup-screen .auth-shell{min-height:calc(100vh - 24px)}}

/* COMPANY EMAIL CENTER */
.email-center-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.email-center-actions button[disabled]{opacity:.45;cursor:not-allowed}
.email-action-label{font-size:12px!important;line-height:1.35}
@media(max-width:650px){.email-center-actions{flex-direction:column}.email-center-actions button{width:100%}}

/* FINAL PAYCOM & PALUX WALLET */
.paycom-featured-card{margin-bottom:16px;border-color:rgba(201,162,77,.45);background:linear-gradient(120deg,rgba(201,162,77,.09),var(--panel))}
.paycom-featured-heading{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;margin-bottom:14px}.paycom-featured-heading h3,.paycom-featured-heading p{margin:0}.paycom-featured-heading h3{margin:4px 0}.paycom-featured-heading p{color:var(--muted);line-height:1.45}
.paycom-featured-card button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.paycom-featured-heading{grid-template-columns:auto 1fr}.paycom-featured-heading>.status{grid-column:2}.paycom-featured-card .support-actions{flex-direction:column}.paycom-featured-card .support-actions button{width:100%}}

/* RC1 WALLET-ONLY & QUICK START IMPORT */
.quickstart-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.quickstart-summary-grid>div{border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--panel)}
.quickstart-summary-grid small{display:block;color:var(--muted);margin-bottom:5px}
.quickstart-summary-grid strong{font-size:22px}
@media(max-width:700px){.quickstart-summary-grid{grid-template-columns:1fr 1fr}}

/* HIRING SCREENING WORKFLOW */
.hiring-pipeline-grid .card{min-width:0}

/* VISIBLE HIRING ACTIONS */
.hiring-applicant-row{align-items:center}
.applicant-main{min-width:0;flex:1}
.applicant-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.applicant-actions .text-btn{padding:5px 7px;border-radius:7px;border:1px solid var(--line);background:var(--panel)}
.applicant-actions .pass-action{color:#2d8d58;border-color:rgba(45,141,88,.35)}
@media(max-width:700px){.hiring-applicant-row{align-items:flex-start}.applicant-actions{width:100%;justify-content:flex-start;margin-top:7px}}

/* RTS CASE MANAGEMENT */
.rts-investigation-actions{display:flex;gap:8px;flex-wrap:wrap}
.rts-investigation-actions button{min-width:140px}
@media(max-width:650px){.rts-investigation-actions{flex-direction:column}.rts-investigation-actions button{width:100%}}

/* COACHING RECORD ACTIONS */
.coaching-record-actions{display:flex;gap:8px;flex-wrap:wrap}
.coaching-record-actions button{min-width:140px}
@media(max-width:650px){.coaching-record-actions{flex-direction:column}.coaching-record-actions button{width:100%}}

/* DELIVERY QUALITY ACTIONS */
.delivery-quality-actions{display:flex;gap:8px;flex-wrap:wrap}
.delivery-quality-actions button{min-width:120px}
@media(max-width:650px){.delivery-quality-actions{flex-direction:column}.delivery-quality-actions button{width:100%}}

/* REPORT GENERATOR */
.empty-state{padding:30px;text-align:center;color:var(--muted)}
.empty-state strong{display:block;color:var(--text);margin-bottom:6px}

/* PRIVATE PALUX AI SESSIONS */
.ai-private-session-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ai-private-session-notice p{flex:1;min-width:240px;margin:0}
.ai-private-session-notice button{margin-left:auto}
@media(max-width:650px){.ai-private-session-notice{align-items:flex-start}.ai-private-session-notice button{width:100%;margin-left:0}}

/* TRUE USER-ISOLATED PALUX AI */
.ai-private-session-notice strong strong{color:var(--accent)}

/* PALUX SAFETY SHIELD */
.safety-shield-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid rgba(200,60,60,.4);background:linear-gradient(120deg,rgba(190,45,45,.12),var(--panel));border-radius:18px;padding:18px;margin-bottom:16px}
.safety-shield-card h3,.safety-shield-card p{margin:0}.safety-shield-card h3{margin:5px 0}.safety-shield-card p,.safety-shield-card small{color:var(--muted)}.safety-shield-card small{grid-column:1/-1}
.palux-sos-button{width:190px;min-height:76px;border:0;border-radius:18px;background:linear-gradient(145deg,#d94a4a,#8f1f1f);color:#fff;box-shadow:0 12px 30px rgba(150,30,30,.28);cursor:pointer;touch-action:none;user-select:none}
.palux-sos-button span,.palux-sos-button strong{display:block}.palux-sos-button span{font-size:9px;letter-spacing:.12em;margin-bottom:5px}.palux-sos-button strong{font-size:15px}.palux-sos-button.holding{animation:sosHold 3s linear forwards}
@keyframes sosHold{0%{box-shadow:inset 0 0 0 0 rgba(255,255,255,.35)}100%{box-shadow:inset 190px 0 0 rgba(255,255,255,.28)}}
.emergency-modal-warning{border:1px solid rgba(200,60,60,.4);background:rgba(200,60,60,.09);border-radius:14px;padding:13px}.emergency-modal-warning p{margin:5px 0 0;color:var(--muted)}
.danger-primary-btn{width:100%;border:0;border-radius:12px;padding:13px;background:#b42d2d;color:#fff;font-weight:900;cursor:pointer}
.safety-incident-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.safety-shield-card{grid-template-columns:1fr}.palux-sos-button{width:100%}.safety-incident-actions{flex-direction:column}.safety-incident-actions button{width:100%}}

/* SAFETY SHIELD VISIBILITY FIX */
.driver-home > .safety-shield-card{
  margin-top:14px;
  margin-bottom:14px;
  position:relative;
  z-index:2;
}
.driver-home .palux-sos-button{
  display:block;
  visibility:visible;
  opacity:1;
}

/* MANAGER SAFETY ALERT VISIBILITY */

.manager-welcome-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(204,163,67,.35);background:linear-gradient(120deg,rgba(204,163,67,.12),var(--panel));border-radius:18px;padding:16px;margin-bottom:16px}
.manager-welcome-banner h3,.manager-welcome-banner p{margin:0}.manager-welcome-banner h3{margin:4px 0}.manager-welcome-banner p{color:var(--muted)}
.manager-welcome-status{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.manager-welcome-status span{width:10px;height:10px;border-radius:50%;background:#39b878;box-shadow:0 0 0 5px rgba(57,184,120,.12)}
@media(max-width:700px){.manager-welcome-banner{flex-direction:column;align-items:flex-start}}
.manager-safety-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(200,60,60,.45);background:linear-gradient(120deg,rgba(190,45,45,.14),var(--panel));border-radius:18px;padding:16px;margin-bottom:16px}
.manager-safety-alert-banner h3,.manager-safety-alert-banner p{margin:0}.manager-safety-alert-banner h3{margin:4px 0}.manager-safety-alert-banner p{color:var(--muted)}
.critical-notification{border-left:4px solid #b42d2d;background:rgba(180,45,45,.08);cursor:pointer}
@media(max-width:700px){.manager-safety-alert-banner{flex-direction:column;align-items:flex-start}.manager-safety-alert-banner .support-actions{width:100%}.manager-safety-alert-banner button{width:100%}}

/* SAFETY MAP & LIVE TRACKING */
.safety-map-panel{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel)}
.safety-map-panel iframe{width:100%;height:270px;border:0;border-radius:12px;margin-bottom:10px;background:var(--soft)}
.safety-map-panel small{display:block;margin-top:8px;color:var(--muted)}
.safety-location-history{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px}
@media(max-width:650px){.safety-map-panel iframe{height:220px}.safety-map-panel .support-actions{flex-direction:column}.safety-map-panel button{width:100%}}

/* SAFETY ALERT SOUND & DAILY PACKAGE RECONCILIATION */
.good-text{color:#2d8d58}
.warning-text{color:#b67a16}
.manager-safety-alert-banner{animation:safetyPulse 1.8s ease-in-out infinite}
@keyframes safetyPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(180,45,45,0)}
  50%{box-shadow:0 0 0 5px rgba(180,45,45,.08)}
}

/* EXACT DAILY DISPATCH PACKAGE CONTROL */
.daily-package-control{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:18px;margin:0 0 18px}
.daily-package-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.daily-package-heading h3,.daily-package-heading p{margin:0}.daily-package-heading h3{margin:4px 0}.daily-package-heading p{color:var(--muted)}
.daily-package-rate{min-width:120px;text-align:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--soft)}
.daily-package-rate small{display:block;color:var(--muted);margin-bottom:5px}.daily-package-rate strong{font-size:27px}
.daily-package-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.daily-package-form{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--soft)}
.daily-package-form h4{margin:0 0 12px}
.daily-package-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.daily-package-reconciliation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:14px}
.daily-package-reconciliation>div{border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--panel)}
.daily-package-reconciliation small{display:block;color:var(--muted);margin-bottom:5px}
.daily-package-reconciliation strong{font-size:20px}
@media(max-width:850px){.daily-package-two-col{grid-template-columns:1fr}.daily-package-reconciliation{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.daily-package-heading{flex-direction:column}.daily-package-rate{width:100%}.daily-package-fields,.daily-package-reconciliation{grid-template-columns:1fr 1fr}}

/* COMPACT DAILY DISPATCH — MATCH ORIGINAL PALUX SIZE */
.daily-package-control{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:14px;
  padding:12px;
  margin:0 0 12px;
}
.daily-package-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}
.daily-package-heading h3{
  margin:2px 0;
  font-size:15px;
}
.daily-package-heading p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}
.daily-package-rate{
  min-width:88px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px;
  background:var(--soft);
}
.daily-package-rate small{
  display:block;
  color:var(--muted);
  font-size:8px;
  margin-bottom:2px;
}
.daily-package-rate strong{font-size:18px}
.daily-package-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.daily-package-form{
  border:1px solid var(--line);
  border-radius:11px;
  padding:10px;
  background:var(--soft);
}
.daily-package-form h4{
  margin:0 0 8px;
  font-size:12px;
}
.daily-package-form .field{margin-bottom:7px}
.daily-package-form label{font-size:9px}
.daily-package-form input,
.daily-package-form select,
.daily-package-form textarea{
  min-height:30px;
  padding:6px 8px;
  font-size:10px;
}
.daily-package-form textarea{min-height:48px}
.daily-package-form .primary-btn{
  min-height:31px;
  padding:7px 10px;
  font-size:10px;
}
.daily-package-fields{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.daily-package-reconciliation{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin-top:9px;
}
.daily-package-reconciliation>div{
  border:1px solid var(--line);
  border-radius:9px;
  padding:7px;
  background:var(--panel);
}
.daily-package-reconciliation small{
  display:block;
  color:var(--muted);
  font-size:8px;
  margin-bottom:2px;
}
.daily-package-reconciliation strong{font-size:14px}
@media(max-width:850px){
  .daily-package-two-col{grid-template-columns:1fr}
  .daily-package-reconciliation{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:520px){
  .daily-package-heading{flex-direction:column}
  .daily-package-rate{width:100%}
  .daily-package-fields,.daily-package-reconciliation{grid-template-columns:1fr 1fr}
}

/* NETRADYNE DRIVER•I */
.netradyne-actions{display:flex;gap:7px;flex-wrap:wrap}
.netradyne-actions button{min-width:120px}
@media(max-width:650px){
  .netradyne-actions{flex-direction:column}
  .netradyne-actions button{width:100%}
}

/* NETRADYNE VISIBILITY FIX */
.netradyne-shortcut-card{margin-bottom:14px}
.netradyne-shortcut-card h3,.netradyne-shortcut-card p{margin:0}
.netradyne-shortcut-card h3{margin:4px 0}
.netradyne-shortcut-card p{color:var(--muted)}

/* DAILY DISPATCH — SLIGHTLY LARGER, ORIGINAL PALUX PROPORTIONS */
.daily-package-control{
  padding:14px !important;
  margin-bottom:14px !important;
}
.daily-package-heading h3{
  font-size:16px !important;
}
.daily-package-heading p{
  font-size:12px !important;
}
.daily-package-rate{
  min-width:98px !important;
  padding:9px !important;
}
.daily-package-rate strong{
  font-size:21px !important;
}
.daily-package-form{
  padding:11px !important;
}
.daily-package-form h4{
  font-size:13px !important;
}
.daily-package-form label{
  font-size:10px !important;
}
.daily-package-form input,
.daily-package-form select,
.daily-package-form textarea{
  min-height:33px !important;
  padding:7px 9px !important;
  font-size:11px !important;
}
.daily-package-form textarea{
  min-height:54px !important;
}
.daily-package-form .primary-btn{
  min-height:34px !important;
  padding:8px 11px !important;
  font-size:11px !important;
}
.daily-package-reconciliation>div{
  padding:8px !important;
}
.daily-package-reconciliation strong{
  font-size:16px !important;
}

.required-training-lock-card{text-align:center;max-width:760px;margin:auto}.required-training-lock-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:rgba(180,45,45,.12);color:#b42d2d;font-size:26px;font-weight:900}.training-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.training-module-card,.training-question,.training-review-text{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--soft)}.training-module-card p{margin:5px 0 0;color:var(--muted);font-size:11px}.training-choice{display:block;padding:7px 8px;margin-top:5px;border:1px solid var(--line);border-radius:9px}@media(max-width:850px){.training-module-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.training-module-grid{grid-template-columns:1fr}}

/* ASSOCIATE SAFETY TRAINING TEST PORTAL */
.required-training-associate-card{border-left:4px solid #b42d2d}
.training-complete-banner{display:flex;justify-content:space-between;align-items:center;gap:14px}
.training-complete-banner h3,.training-complete-banner p{margin:0}
.training-complete-banner h3{margin:4px 0}
.training-complete-banner p{color:var(--muted)}
@media(max-width:650px){.training-complete-banner{align-items:flex-start;flex-direction:column}}

/* OPERATIONS MANAGER TRAINING ASSIGNMENT */
.training-module-button{
  width:100%;
  text-align:left;
  cursor:pointer;
  color:inherit;
  font:inherit;
}
.training-module-button span{
  display:inline-block;
  margin-top:8px;
  font-size:10px;
  font-weight:700;
  color:var(--accent);
}
.training-module-button:hover{
  transform:translateY(-1px);
  border-color:var(--accent);
}

/* TRAINING RECOVERY — NO DESIGN CHANGE */
.training-module-button{cursor:pointer}
.training-module-button:focus{outline:2px solid var(--accent);outline-offset:2px}

/* COMPLETE TRAINING WORKFLOW — EXISTING PALUX DESIGN */
.training-module-button{width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit}
.training-module-button:hover{border-color:var(--accent)}
.training-module-button span{display:inline-block;margin-top:7px;font-size:10px;font-weight:700;color:var(--accent)}
.required-training-associate-card{border-left:4px solid #b42d2d}
.training-complete-banner{display:flex;justify-content:space-between;align-items:center;gap:14px}
@media(max-width:650px){.training-complete-banner{flex-direction:column;align-items:flex-start}}

/* CLICKABLE TRAINING SUMMARY CARDS — SAME PALUX DESIGN */
.training-kpi-button{
  display:block;
  width:100%;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:inherit;
  cursor:pointer;
}
.training-kpi-button > *{
  height:100%;
}
.training-kpi-button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:14px;
}

/* CREATE FULL TEST VISIBLE CONFIRMATION */
#modalForm .work-location-notice{
  margin-bottom:10px;
}

/* CLICKABLE DASHBOARD KPI CARDS — SAME PALUX DESIGN */
.dashboard-kpi-button{
  display:block;
  width:100%;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:inherit;
  cursor:pointer;
}
.dashboard-kpi-button > *{height:100%}
.dashboard-kpi-button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:14px;
}

/* PALUX WORKSPACE LOADER — ORIGINAL LOGIN DESIGN PRESERVED */
.palux-workspace-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:rgba(8,12,18,.94);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility .18s ease;
  pointer-events:none;
  touch-action:auto;
}

.palux-workspace-loader.show{
  opacity:1;
  visibility:visible;
  pointer-events:none;
}

.palux-workspace-loader-card{
  width:min(320px,86vw);
  padding:30px 26px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(20,26,35,.96);
  text-align:center;
  color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}

.palux-workspace-loader-mark{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,#f3c34d,#b8790d);
  color:#111722;
  font-size:28px;
  font-weight:900;
}

.palux-workspace-loader-card strong{
  display:block;
  font-size:22px;
  letter-spacing:.18em;
}

.palux-workspace-loader-card p{
  margin:7px 0 18px;
  color:rgba(255,255,255,.72);
}

.palux-workspace-loader-line{
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.1);
}

.palux-workspace-loader-line span{
  display:block;
  width:45%;
  height:100%;
  border-radius:inherit;
  background:#d7a62a;
  animation:paluxWorkspaceLoading .8s ease-in-out infinite;
}

@keyframes paluxWorkspaceLoading{
  0%{transform:translateX(-105%)}
  100%{transform:translateX(245%)}
}

.firebase-connection-status{display:block;margin-top:7px;font-weight:700;color:#8a6a16}
.firebase-connection-status.connected{color:#18794e}
.firebase-connection-status.offline{color:#b42318}
body[data-cloud-status="error"] .topbar::after{
  content:"";display:none!important;position:fixed;right:18px;bottom:18px;z-index:9998;
  padding:9px 12px;border-radius:10px;background:#8f1d1d;color:#fff;font-size:12px;font-weight:800
}

/* PALUX COMMERCIAL LOGIN */
.commercial-login-footer{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:13px;font-size:12px;color:var(--muted)}
.commercial-trial-link{border:0;background:transparent;color:var(--gold);font:inherit;font-weight:800;cursor:pointer;padding:0}
.commercial-trial-link:hover{text-decoration:underline}
.developer-only.hidden,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.developer-only:not(.hidden){position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}
.commercial-onboarding-note{display:flex;flex-direction:column;gap:3px;margin:14px 0 18px;padding:12px 14px;border:1px solid rgba(197,147,28,.28);border-radius:12px;background:rgba(197,147,28,.07)}
.commercial-onboarding-note span{font-size:12px;color:var(--muted)}

.signup-error-box{
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid #d92d20;
  border-radius:10px;
  background:#fff1f0;
  color:#8f1d1d;
  font-size:13px;
  font-weight:750;
  line-height:1.4;
}
.signup-error-box.hidden{display:none}

.emergency-sidebar-shortcut{padding:10px 12px 8px;border-top:1px solid rgba(255,255,255,.08);background:#080c12}
.emergency-sidebar-shortcut button{width:100%;display:flex;align-items:center;gap:10px;border:1px solid rgba(217,74,74,.55);background:linear-gradient(135deg,rgba(217,74,74,.28),rgba(217,74,74,.10));color:#fff;padding:10px 11px;border-radius:10px;text-align:left}
.emergency-sidebar-shortcut button:hover{background:linear-gradient(135deg,rgba(217,74,74,.42),rgba(217,74,74,.16))}
.emergency-sidebar-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#d94a4a;color:#fff;font-weight:900;font-size:17px;flex:0 0 28px}
.emergency-sidebar-shortcut strong{display:block;font-size:12px;line-height:1.2}
.emergency-sidebar-shortcut small{display:block;color:#f4b6b6;font-size:9px;margin-top:3px}

.notification-card.unread{border-left:4px solid #d59b24;background:rgba(213,155,36,.07)}
.notification-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}


/* MOBILE ASSOCIATE CHAT COMPOSER VISIBILITY FIX — keeps time clock and design unchanged */
@media(max-width:780px){
  .driver-shell .chat-shell{margin-bottom:190px;min-height:calc(100vh - 250px)}
  .driver-shell .chat-main{padding-bottom:0;min-height:620px}
  .driver-shell .enhanced-chat-composer{
    position:sticky;
    bottom:178px;
    z-index:86;
    box-shadow:0 -10px 24px rgba(0,0,0,.12);
  }
  .driver-shell .chat-messages{padding-bottom:24px;max-height:none;min-height:420px}
  .driver-shell .chat-input-row{align-items:flex-end}
  .driver-shell #channelMessageInput{font-size:16px;min-height:48px!important}
}
@media(max-width:560px){
  .driver-shell .chat-shell{margin-bottom:205px}
  .driver-shell .enhanced-chat-composer{bottom:194px;padding:10px}
  .driver-shell .chat-tool-row{gap:4px}
  .driver-shell .chat-tool-btn{width:34px;height:34px}
}

/* MOBILE ASSOCIATE MENU LAYER FIX — keep existing layout, only prevent time clock overlay */
@media (max-width:780px){
  .sidebar.open{
    z-index:120;
  }
}

/* MOBILE SIDEBAR FOOTER VISIBILITY FINAL FIX
   Keep Theme and Logout visible above the permanent associate time-clock bar. */
@media (max-width:780px){
  .sidebar.open{
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    padding-bottom:260px;
  }
  .sidebar.open #navMenu{
    flex:0 0 auto;
    padding-bottom:16px;
  }
  .sidebar.open .emergency-sidebar-shortcut{
    flex:0 0 auto;
  }
  .sidebar.open .sidebar-footer{
    position:fixed;
    left:0;
    bottom:178px;
    width:285px;
    z-index:130;
    margin-top:0;
    background:#080c12;
    box-shadow:0 -12px 28px rgba(0,0,0,.36);
    border-top:1px solid rgba(255,255,255,.13);
    padding:12px;
  }
}
@media (max-width:560px){
  .sidebar.open{
    padding-bottom:278px;
  }
  .sidebar.open .sidebar-footer{
    bottom:194px;
  }
}


/* ALL-ROLE PROFILE PHOTO + MOBILE MENU FINAL STABILITY FIX
   This does not alter desktop navigation or the time-clock workflow. */
@media (max-width:780px){
  body.palux-mobile-menu-open{overflow:hidden;}
  body.palux-mobile-menu-open .associate-clock-bar{display:none!important;}
  body.palux-mobile-menu-open .sidebar.open{
    display:flex;
    flex-direction:column;
    height:100dvh;
    max-height:100dvh;
    padding-bottom:0!important;
    overflow:hidden!important;
    z-index:220;
  }
  body.palux-mobile-menu-open .sidebar.open #navMenu{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    padding-bottom:18px;
  }
  body.palux-mobile-menu-open .sidebar.open .emergency-sidebar-shortcut{
    flex:0 0 auto;
  }
  body.palux-mobile-menu-open .sidebar.open .sidebar-footer{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    flex:0 0 auto;
    margin-top:0!important;
    padding:12px!important;
    background:#080c12;
    z-index:230;
    box-shadow:0 -10px 24px rgba(0,0,0,.32);
  }
}

/* PALUX MOBILE MENU PRIVACY/STABILITY PATCH 2026-07-18
   The menu owns the full viewport while open; the time clock cannot cover it. */
@media (max-width:780px){
  body.palux-mobile-menu-open .associate-clock-bar{display:none!important;visibility:hidden!important;pointer-events:none!important;}
  body.palux-mobile-menu-open .sidebar.open{
    position:fixed!important;inset:0 auto 0 0!important;height:100dvh!important;max-height:100dvh!important;
    width:min(86vw,360px)!important;display:flex!important;flex-direction:column!important;
    overflow:hidden!important;padding:0!important;z-index:9999!important;
  }
  body.palux-mobile-menu-open .sidebar.open .brand,
  body.palux-mobile-menu-open .sidebar.open .company-switcher{flex:0 0 auto!important;}
  body.palux-mobile-menu-open .sidebar.open #navMenu{
    flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;
    padding-bottom:24px!important;-webkit-overflow-scrolling:touch!important;
  }
  body.palux-mobile-menu-open .sidebar.open .emergency-sidebar-shortcut{flex:0 0 auto!important;}
  body.palux-mobile-menu-open .sidebar.open .sidebar-footer{
    display:grid!important;visibility:visible!important;opacity:1!important;position:relative!important;
    left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;flex:0 0 auto!important;
    margin:0!important;padding:12px!important;background:#080c12!important;z-index:10000!important;
  }
}

/* Clickable email addresses: opens the user device email application. */
.palux-email-link,.palux-email-open{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer;overflow-wrap:anywhere}
.palux-email-link:hover,.palux-email-open:hover{opacity:.72}
.owner-chip-details .palux-email-open{display:block}

/* Hiring mobile card actions and professional rejection modal */
.modal-action-row{display:flex;gap:12px;justify-content:flex-end;align-items:center}
.danger-primary{background:#b42318!important;border-color:#b42318!important}
.hiring-applicant-row{position:relative;padding-right:132px}
.hiring-applicant-row .applicant-actions{position:absolute;right:12px;top:12px;display:flex;gap:8px;align-items:center;justify-content:flex-end}
.hiring-applicant-row .applicant-main{min-width:0}
.hiring-applicant-row .applicant-main strong{display:block;overflow-wrap:anywhere}
@media(max-width:700px){
  .hiring-pipeline-grid{grid-template-columns:1fr!important}
  .hiring-applicant-row{display:grid!important;grid-template-columns:56px minmax(0,1fr) auto!important;align-items:start!important;gap:12px!important;padding:16px!important}
  .hiring-applicant-row .avatar{grid-column:1;grid-row:1 / span 2}
  .hiring-applicant-row .applicant-main{grid-column:2;grid-row:1 / span 2;padding-right:0!important}
  .hiring-applicant-row .applicant-actions{grid-column:3;grid-row:1;position:static!important;width:auto!important;margin:0!important;justify-content:flex-end!important;align-self:start;white-space:nowrap}
  .hiring-applicant-row .applicant-actions .text-btn{padding:7px 10px;font-size:14px}
  .modal-action-row{flex-direction:column-reverse;align-items:stretch}
  .modal-action-row button{width:100%}
}

/* Employee employment-status control: keep HR actions visible at the top of the profile. */
.employee-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.employee-inactive-btn{border-color:#b42318!important;color:#b42318!important;background:#fff7f6!important}
.employee-inactive-btn:hover{background:#fee4e2!important}
@media(max-width:760px){.profile-back-row{align-items:flex-start;gap:10px}.employee-profile-actions{width:100%;justify-content:flex-start}.employee-profile-actions .secondary-btn,.employee-profile-actions .primary-btn{flex:1 1 auto}}

.employee-active-btn{border-color:#168a5b!important;color:#0f6f48!important;background:#e9f8f1!important}
.employee-active-btn:hover{background:#d7f2e5!important}

/* PALUX MOBILE MESSAGE BAR FINAL FIX — only the associate chat on phones */
@media(max-width:780px){
  .driver-shell .enhanced-chat-composer{
    background:var(--panel);
    border-top:1px solid var(--line);
    box-shadow:0 -10px 28px rgba(0,0,0,.16);
    overflow:visible;
  }
  .driver-shell .chat-input-row{min-width:0}
  .driver-shell #channelMessageInput{min-width:0;width:100%;font-size:16px}
  .driver-shell .chat-send-btn{flex:0 0 auto}
  .driver-shell .chat-messages{-webkit-overflow-scrolling:touch}
}

/* PALUX Archive 35: clickable Notification Activity Center KPI cards */
.kpi-button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:inherit;font:inherit;color:inherit;cursor:pointer;border-radius:inherit}
.kpi-button>.card{height:100%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.kpi-button:hover>.card,.kpi-button:focus-visible>.card{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.10);border-color:rgba(212,168,46,.55)}
.kpi-button:focus-visible{outline:3px solid rgba(212,168,46,.35);outline-offset:3px}

/* Live incoming-message banner: visible on every PALUX page for five seconds. */
.palux-live-message-banner{
  position:fixed;
  top:86px;
  right:22px;
  width:min(430px,calc(100vw - 32px));
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(193,148,45,.35);
  border-radius:16px;
  background:var(--panel,#fff);
  color:var(--text,#111827);
  box-shadow:0 18px 50px rgba(15,23,42,.22);
  opacity:0;
  transform:translateY(-14px) scale(.98);
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
  z-index:10000;
}
.palux-live-message-banner.show{opacity:1;transform:none;pointer-events:auto}
.palux-live-message-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(193,148,45,.14);font-size:21px}
.palux-live-message-content{min-width:0}
.palux-live-message-content strong{display:block;font-size:14px;line-height:1.25;margin-bottom:4px}
.palux-live-message-content p{margin:0;color:var(--muted,#64748b);font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palux-live-message-actions{display:flex;align-items:center;gap:7px}
.palux-live-message-open{border:0;border-radius:10px;padding:9px 11px;background:linear-gradient(135deg,#c3982f,#e4bd57);color:#101722;font-weight:800;white-space:nowrap;cursor:pointer}
.palux-live-message-close{border:0;background:transparent;color:var(--muted,#64748b);font-size:25px;line-height:1;padding:4px;cursor:pointer}
@media(max-width:768px){
  .palux-live-message-banner{top:76px;left:14px;right:14px;width:auto;grid-template-columns:auto minmax(0,1fr);padding:12px}
  .palux-live-message-actions{grid-column:1/-1;justify-content:flex-end}
  .palux-live-message-open{flex:1}
}

/* Unread marker for the exact channel or person who sent a new message. */
.chat-list-item{position:relative}
.chat-list-item>span:nth-child(2){min-width:0;flex:1}
.chat-unread-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:auto;border-radius:999px;background:#c3982f;color:#fff;font-size:11px;font-weight:900;line-height:1;box-shadow:0 2px 7px rgba(15,23,42,.18);flex:0 0 auto}
.chat-list-item.active .chat-unread-badge{background:#111827}

/* PALUX launch accessibility: live time and open employee scorecard metrics */
.palux-live-clock{min-width:118px;padding:8px 12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:var(--card,#fff);text-align:right;line-height:1.15}.palux-live-clock strong{display:block;font-size:14px;font-variant-numeric:tabular-nums}.palux-live-clock small{display:block;margin-top:3px;opacity:.68;font-size:10px}.scorecard-open-card{display:block;width:100%;padding:0;border:0;background:transparent;text-align:inherit;cursor:pointer;border-radius:16px}.scorecard-open-card>.card{height:100%;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.scorecard-open-card:hover>.card,.scorecard-open-card:focus-visible>.card{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.12);border-color:#d5ae24}.scorecard-open-card:focus-visible{outline:3px solid rgba(213,174,36,.35);outline-offset:3px}.scorecard-metric-detail{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:var(--card,#fff)}.scorecard-metric-detail-value{display:grid;place-items:center;min-width:92px;height:92px;border-radius:50%;background:#111827;color:#f4c430;font-size:34px;font-weight:800}.scorecard-metric-detail h3{margin:0 0 6px}.scorecard-metric-detail p{margin:0;opacity:.72}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media(max-width:900px){.palux-live-clock{display:none}.employee-scorecard-open-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.employee-scorecard-open-grid{grid-template-columns:1fr}.scorecard-metric-detail{align-items:flex-start}.scorecard-metric-detail-value{min-width:72px;height:72px;font-size:26px}}

/* PALUX MOBILE TIME CLOCK — clock in, meal start, meal end, clock out */
@media(max-width:780px){
  body:has(#associateClockBar:not(.hidden)) .main{padding-bottom:210px!important;}
  #associateClockBar.associate-clock-bar:not(.hidden){
    display:grid!important;
    grid-template-columns:1fr auto;
    grid-template-areas:"summary details" "buttons buttons";
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:auto!important;
    min-height:0!important;
    gap:8px!important;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;
    z-index:110!important;
  }
  #associateClockBar .associate-clock-summary{grid-area:summary;min-width:0!important;}
  #associateClockBar .associate-clock-summary small{font-size:9px!important;white-space:nowrap;}
  #associateClockBar .associate-clock-summary strong{font-size:13px!important;}
  #associateClockBar .clock-details-btn{grid-area:details;padding:7px 9px!important;font-size:10px!important;}
  #associateClockBar .associate-clock-buttons{
    grid-area:buttons;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    max-width:none!important;
  }
  #associateClockBar .associate-clock-buttons button{
    min-width:0!important;
    padding:9px 3px!important;
    border-radius:9px!important;
    font-size:10px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
}
@media(max-width:390px){
  #associateClockBar .associate-clock-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body:has(#associateClockBar:not(.hidden)) .main{padding-bottom:255px!important;}
}

/* PALUX Wallet metric cards — clickable details */
.wallet-metric-card{cursor:pointer;border-radius:inherit;transition:transform .16s ease,box-shadow .16s ease}
.wallet-metric-card>.card{height:100%}
.wallet-metric-card:hover{transform:translateY(-2px)}
.wallet-metric-card:focus-visible{outline:3px solid rgba(214,168,27,.45);outline-offset:3px}
.wallet-metric-card:active{transform:translateY(0)}

/* PALUX daily Safety & Quality calendar */
.palux-performance-calendar-card{margin-top:16px;overflow:hidden}.calendar-month{min-width:150px;text-align:center}.performance-summary{margin:14px 0}.palux-calendar-weekdays,.palux-performance-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.palux-calendar-weekdays{padding:8px 0;color:#667085;font-size:12px;font-weight:800;text-align:center}.palux-performance-day{min-height:112px;border:1px solid #e3e7ee;border-radius:14px;background:#fff;padding:10px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer;transition:.18s ease}.palux-performance-day:hover{border-color:#d4a900;box-shadow:0 8px 24px rgba(21,30,45,.08);transform:translateY(-1px)}.palux-performance-day.outside{opacity:.42}.palux-performance-day.today{outline:2px solid #d4a900}.palux-performance-day.has-data{background:linear-gradient(180deg,#fffdf4,#fff)}.day-number{font-weight:900;font-size:15px;color:#111827}.day-count{font-size:10px;color:#667085}.day-score{font-size:11px;font-weight:800;border-radius:999px;padding:4px 7px;width:max-content}.day-score.safety{background:#e8f7ee;color:#1f7a4c}.day-score.quality{background:#fff4cf;color:#8a6600}.day-empty{font-size:10px;color:#98a2b3;margin-top:auto}@media(max-width:760px){.palux-calendar-weekdays,.palux-performance-calendar{gap:4px}.palux-performance-day{min-height:82px;padding:6px;border-radius:10px}.day-score{font-size:9px;padding:3px 4px}.day-count{display:none}.palux-performance-calendar-card .card-head{align-items:flex-start}.palux-performance-calendar-card .support-actions{width:100%;flex-wrap:wrap}.calendar-month{min-width:110px;font-size:13px}.performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* PALUX 89 empty workspace onboarding */
.palux-empty-workspace-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;border:1px solid rgba(197,147,28,.32);background:linear-gradient(135deg,rgba(197,147,28,.10),rgba(255,255,255,.96))}
.palux-empty-workspace-banner h3{margin:5px 0 6px}.palux-empty-workspace-banner p{margin:0;max-width:760px;color:var(--muted);line-height:1.5}
body[data-cloud-status="retry"] .topbar::after,body[data-cloud-status="saving"] .topbar::after,body[data-cloud-status="saved"] .topbar::after{display:none}
@media(max-width:720px){.palux-empty-workspace-banner{align-items:flex-start;flex-direction:column}}


/* ================================================================
   PALUX ARCHIVE 90 — URGENT NATIVE MOBILE HEADER + DASHBOARD FIX
   Keeps iPhone content below the status bar and makes the dashboard
   compact enough for real daily use without changing desktop design.
   ================================================================ */
html{
  width:100%;
  min-height:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  background:var(--panel,#fff);
}
body{
  width:100%;
  min-height:100dvh;
  overflow-x:hidden;
}

@media (max-width:780px){
  .app-shell,.main{width:100%;max-width:100%;min-width:0;}
  .main{overflow-x:hidden;}

  /* The topbar owns the iPhone safe area. Nothing may sit behind the clock,
     signal, Dynamic Island, or battery indicator. */
  .topbar{
    box-sizing:border-box!important;
    height:auto!important;
    min-height:calc(76px + env(safe-area-inset-top))!important;
    padding:calc(10px + env(safe-area-inset-top)) 12px 10px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:stretch!important;
    column-gap:9px!important;
    top:0!important;
    overflow:visible!important;
    background:var(--panel,#fff)!important;
    isolation:isolate;
  }
  .topbar .mobile-menu{
    width:42px!important;
    height:42px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border-radius:12px!important;
    font-size:24px!important;
    line-height:1!important;
    z-index:2;
  }
  .topbar>div:not(.top-actions){min-width:0!important;overflow:hidden!important;}
  .topbar h1{
    margin:0!important;
    font-size:22px!important;
    line-height:1.08!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .topbar p{
    margin:5px 0 0!important;
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .top-actions{
    min-width:0!important;
    gap:6px!important;
    justify-content:flex-end!important;
  }
  .top-actions .palux-live-clock{display:none!important;}
  .top-actions .icon-btn{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    border-radius:12px!important;
    padding:0!important;
  }
  .top-actions .user-chip{
    margin-left:0!important;
    gap:0!important;
    flex:0 0 auto!important;
  }
  .top-actions .avatar{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .top-actions .avatar img{width:100%!important;height:100%!important;object-fit:cover!important;}
  .top-actions .owner-chip-details{display:none!important;}
  .badge{right:-3px!important;top:-6px!important;}

  .content{
    box-sizing:border-box!important;
    width:100%!important;
    padding:14px 12px calc(26px + env(safe-area-inset-bottom))!important;
  }
  .manager-welcome-banner,.manager-safety-alert-banner{
    margin-bottom:14px!important;
    padding:18px!important;
    border-radius:18px!important;
  }
  .manager-welcome-banner h3,.manager-safety-alert-banner h3{
    margin:7px 0 7px!important;
    font-size:23px!important;
    line-height:1.15!important;
  }
  .manager-welcome-banner p,.manager-safety-alert-banner p{
    font-size:14px!important;
    line-height:1.45!important;
  }
  .manager-welcome-status{font-size:17px!important;}

  /* Four KPIs remain visible without forcing a very long one-card-per-row page. */
  .kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .dashboard-kpi-button{min-width:0!important;}
  .dashboard-kpi-button>.card{
    min-height:154px!important;
    padding:14px!important;
    border-radius:15px!important;
  }
  .kpi h3{font-size:32px!important;margin:12px 0 5px!important;}
  .kpi small{font-size:12px!important;line-height:1.25!important;}
  .kpi .trend{font-size:11px!important;line-height:1.3!important;}
  .kpi-icon{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    font-size:18px!important;
  }
  .two-col,.three-col{grid-template-columns:1fr!important;}
  .card{max-width:100%;}
}

@media (max-width:430px){
  .topbar{
    grid-template-columns:40px minmax(0,1fr) auto!important;
    column-gap:7px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .topbar .mobile-menu,.top-actions .icon-btn,.top-actions .avatar{
    width:38px!important;height:38px!important;flex-basis:38px!important;
  }
  .topbar h1{font-size:20px!important;}
  .topbar p{font-size:11px!important;}
  .top-actions{gap:5px!important;}
  .dashboard-kpi-button>.card{min-height:148px!important;padding:13px!important;}
  .kpi h3{font-size:29px!important;}
  .kpi-icon{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:16px!important;}
}

@media (max-width:350px){
  #quickAddBtn{display:none!important;}
  .kpi-grid{grid-template-columns:1fr!important;}
}


/* PALUX Archive 92: cloud status is shown only inside real authenticated screens;
   never create synthetic floating sync banners from body attributes. */
body .topbar::after{display:none!important;content:none!important;}

/* PALUX Archive 101 — secure card checkout and import feedback */
.card-payment-notice{border:1px solid rgba(203,157,44,.35);background:linear-gradient(135deg,rgba(255,250,235,.96),rgba(255,255,255,.98))}
.payment-card-brands{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.payment-card-brands strong{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #d9dce3;border-radius:9px;background:#fff;color:#202633;font-size:.78rem;letter-spacing:.03em;box-shadow:0 2px 8px rgba(15,23,42,.05)}
#weeklyScorecardImportPreview:empty{display:none}
#weeklyScorecardImportPreview .work-location-notice{margin:0}
@media(max-width:680px){.payment-card-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-card-brands strong{justify-content:center}}

/* Archive 104: mobile browser resume and fast authenticated startup */
body.palux-login-hydrating .app-shell{opacity:1}
.modal.hidden,#ackModal.hidden,#imageViewer.hidden,.company-signup-screen.hidden{pointer-events:none!important}

.modal:not(.hidden),#ackModal:not(.hidden),#imageViewer:not(.hidden),.company-signup-screen:not(.hidden){pointer-events:auto!important}

/* ARCHIVE 105: never expose associate time controls before authentication */
body:not(.palux-authenticated) #associateClockBar{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* Archive 106: manager-controlled schedule patterns and shift colors */
.schedule-pattern-btn{display:block;margin:8px auto 0;border:1px solid rgba(15,23,42,.18);background:#fff;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer;color:#344054}
.schedule-pattern-btn:hover{border-color:#d7ad3f;color:#7a5600}
.sms-preview{white-space:pre-wrap}
@media(max-width:820px){.schedule-pattern-btn{font-size:9px;padding:4px 6px}}

/* PALUX ARCHIVE 110 — native store billing safety and private admin console */
html.palux-native-app .palux-web-commercial-only,
body.palux-native-app .palux-web-commercial-only { display:none !important; }
.mobile-billing-note { margin-top:14px; padding:12px 14px; border:1px solid rgba(17,24,39,.12); border-radius:12px; background:rgba(17,24,39,.035); display:flex; flex-direction:column; gap:4px; }
.mobile-billing-note small { line-height:1.45; }
.four-col { grid-template-columns:repeat(4,minmax(0,1fr)); }
.platform-admin-kpis .card h3 { font-size:1.9rem; }
@media (max-width:900px){
  .four-col,.platform-admin-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px){
  .four-col,.platform-admin-kpis { grid-template-columns:1fr; }
}



/* PALUX Archive 117 — accepted-card indicators are responsive but checkout
   remains plan-based. */
.payment-card-brands button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(17,24,39,.13);
  background:var(--panel);
  color:var(--text);
  border-radius:9px;
  padding:7px 10px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.payment-card-brands button:hover,
.payment-card-brands button:focus-visible{
  border-color:#c9a24d;
  box-shadow:0 0 0 2px rgba(201,162,77,.13);
  outline:none;
}
