*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --lilac:#2563EB;--lilac-deep:#1D4ED8;--lilac-mid:#60A5FA;--lilac-pale:#E7EEFE;--lilac-xpale:#F4F8FE;--lilac-border:#BBD0F7;
  --gold:#A9750F;--gold-light:#FBF2DC;--gold-border:#E6C684;--gold-mid:#C28A1A;
  --surface:#FFFFFF;--surface-1:#F7F9FC;--surface-2:#EDF1F7;
  --surface-dark:#0E1729;--surface-dark-2:#16213A;
  --text:#0F1B2D;--text-2:#475569;--text-3:#94A3B8;
  --border:#E3E9F1;--border-2:#CBD7E6;
  --green:#15803D;--green-bg:#E9F8EF;--green-border:#9CDBB4;
  --red:#DC2626;--red-bg:#FCEDED;--red-border:#F0B4B4;
  --amber:#B45309;--amber-bg:#FBF1DE;--amber-border:#ECC983;
  --blue:#0E7490;--blue-bg:#E0F2F7;--blue-border:#9AD3E0;
  --sidebar:260px;
  --radius:7px;--radius-lg:12px;--radius-xl:18px;
  --gradient:linear-gradient(135deg,#3B82F6 0%,#2563EB 50%,#1D4ED8 100%);
  --shadow-xs:0 1px 2px rgba(30,41,59,0.06);
  --shadow:0 2px 8px rgba(30,41,59,0.08),0 1px 2px rgba(30,41,59,0.05);
  --shadow-md:0 8px 24px rgba(30,41,59,0.10),0 2px 6px rgba(30,41,59,0.06);
  --shadow-lg:0 20px 48px rgba(30,41,59,0.16),0 4px 12px rgba(30,41,59,0.10);
}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--surface-1);color:var(--text);font-size:14.5px;min-height:100vh;overflow-x:hidden;color-scheme:light;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--lilac-border);border-radius:4px;}

/* ── LAYOUT ── */
#layout{display:flex;min-height:100vh;}
#sidebar{width:var(--sidebar);background:var(--surface-dark);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;overflow:hidden;}
#sidebar::before{content:'';position:absolute;top:-80px;left:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(37,99,235,0.22) 0%,transparent 70%);pointer-events:none;}
#sidebar::after{content:'';position:absolute;bottom:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(37,99,235,0.18) 0%,transparent 70%);pointer-events:none;}
#content{margin-left:var(--sidebar);flex:1;}
.screen{display:none;padding:48px 56px;max-width:1020px;animation:pgIn 0.2s ease;}
.screen.active{display:block;}
@keyframes pgIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ── SIDEBAR ── */
.sb-top{padding:32px 28px 24px;position:relative;z-index:1;}
.sb-logo{display:flex;align-items:center;gap:11px;margin-bottom:28px;}
.sb-mark{width:36px;height:36px;background:var(--gradient);border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,99,235,0.45);}
.sb-mark svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;}
.sb-name{font-family:'Space Grotesk',sans-serif;font-size:18px;color:#fff;letter-spacing:-0.3px;}
.sb-name span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:500;color:rgba(255,255,255,0.3);letter-spacing:0.1em;text-transform:uppercase;margin-top:1px;}
.sb-org{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:0;}
.sb-org-name{font-size:13px;font-weight:600;color:rgba(255,255,255,0.9);}
.sb-org-user{font-size:11.5px;color:rgba(255,255,255,0.35);margin-top:2px;}
.sb-avatar{width:30px;height:30px;border-radius:50%;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px rgba(37,99,235,0.4);}
.sb-org-row{display:flex;align-items:center;gap:10px;}
.sb-nav{flex:1;padding:20px 16px;position:relative;z-index:1;}
.sb-section{font-size:9.5px;font-weight:700;color:rgba(255,255,255,0.2);letter-spacing:0.14em;text-transform:uppercase;padding:14px 12px 6px;}
.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:none;color:rgba(255,255,255,0.45);font-size:13.5px;font-weight:500;border-radius:var(--radius);cursor:pointer;transition:all 0.15s;text-align:left;font-family:inherit;margin-bottom:1px;position:relative;}
.nav-btn svg{width:16px;height:16px;flex-shrink:0;stroke-width:1.8;}
.nav-btn:hover{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.85);}
.nav-btn.active{background:rgba(37,99,235,0.2);color:#fff;font-weight:600;}
.nav-btn.active::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--gradient);border-radius:0 3px 3px 0;}
.nav-btn.active svg{filter:drop-shadow(0 0 5px rgba(37,99,235,0.8));}
.sb-footer{padding:20px 28px;border-top:1px solid rgba(255,255,255,0.06);position:relative;z-index:1;}
.sb-footer p{font-size:11px;color:rgba(255,255,255,0.2);line-height:1.6;}
.sb-divider{height:1px;background:rgba(255,255,255,0.07);margin:0 28px;}

/* ── TYPOGRAPHY ── */
.eyebrow{font-size:10px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--lilac-mid);margin-bottom:10px;}
.page-title{font-family:'Space Grotesk',sans-serif;font-size:32px;color:var(--text);letter-spacing:-0.8px;line-height:1.1;}
.page-sub{font-size:13.5px;color:var(--text-3);margin-top:6px;font-weight:400;}
.page-header{margin-bottom:36px;display:flex;justify-content:space-between;align-items:flex-start;}
.page-header-left{}
.page-header-right{display:flex;gap:8px;padding-top:4px;}
.section-label{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.section-label::after{content:'';flex:1;height:1px;background:var(--border);}

/* ── CARDS ── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;margin-bottom:16px;box-shadow:var(--shadow);}
.card-gold{border-color:var(--gold-border);background:linear-gradient(135deg,#FFFDF5,#FBF6E8);}

/* ── STAT CARDS ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 18px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:box-shadow 0.2s,transform 0.2s;}
.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.stat-card-accent{background:var(--lilac);border-color:var(--lilac);}
.stat-card-gold{background:linear-gradient(135deg,#FBEFCF,#F2DCA0);border-color:var(--gold-border);}
.stat-num{font-family:'Space Grotesk',sans-serif;font-size:28px;letter-spacing:-1px;color:var(--text);margin-bottom:4px;}
.stat-card-accent .stat-num{color:#fff;}
.stat-card-gold .stat-num{color:var(--gold);}
.stat-lbl{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:0.06em;}
.stat-card-accent .stat-lbl{color:rgba(255,255,255,0.65);}
.stat-card-gold .stat-lbl{color:var(--gold);opacity:0.85;}
.stat-sub{font-size:12px;color:var(--text-3);margin-top:6px;}
.stat-card-accent .stat-sub{color:rgba(255,255,255,0.55);}
.stat-badge{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.12);}
.stat-badge svg{width:16px;height:16px;stroke:rgba(255,255,255,0.7);fill:none;stroke-width:2;}
.stat-card:not(.stat-card-accent) .stat-badge{background:var(--lilac-pale);}
.stat-card:not(.stat-card-accent) .stat-badge svg{stroke:var(--lilac);}
.stat-card-gold .stat-badge{background:rgba(169,117,15,0.12);}
.stat-card-gold .stat-badge svg{stroke:var(--gold);}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 17px;border-radius:var(--radius);border:1px solid var(--border-2);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:500;cursor:pointer;transition:all 0.15s;font-family:inherit;}
.btn:hover{background:var(--surface-2);border-color:var(--lilac-border);box-shadow:var(--shadow-xs);}
.btn-primary{background-color:var(--lilac);background-image:var(--gradient);border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(37,99,235,0.35);}
.btn-primary:hover{background-color:var(--lilac);background-image:var(--gradient);color:#fff;box-shadow:0 4px 16px rgba(37,99,235,0.45);filter:brightness(1.08);}
.btn-primary:active,.btn-primary:focus{background-color:var(--lilac-deep);background-image:var(--gradient);color:#fff;}
.btn-gold{background-color:var(--gold-mid);background-image:linear-gradient(135deg,var(--gold-mid),var(--gold));border-color:var(--gold);color:#fff;box-shadow:0 2px 8px rgba(194,138,26,0.3);}
.btn-gold:hover{background-color:var(--gold-mid);background-image:linear-gradient(135deg,var(--gold-mid),var(--gold));color:#fff;box-shadow:0 4px 16px rgba(194,138,26,0.4);}
.btn-sm{padding:6px 12px;font-size:12.5px;}
.btn-danger{background:var(--red-bg);border-color:var(--red-border);color:var(--red);}
.btn-full{width:100%;justify-content:center;}
.btn-ghost{border-color:transparent;background:none;color:var(--text-3);box-shadow:none;}
.btn-ghost:hover{background:var(--lilac-xpale);color:var(--lilac);border-color:transparent;box-shadow:none;}
.btn-outline{background:transparent;border-color:var(--lilac-border);color:var(--lilac);}
.btn-outline:hover{background:var(--lilac-pale);}
.btn svg{width:14px;height:14px;flex-shrink:0;}

/* ── FORM ── */
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:11px;font-weight:700;color:var(--text-3);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.08em;}
input,select,textarea{width:100%;padding:10px 13px;border:1px solid var(--border-2);border-radius:var(--radius);font-size:13.5px;background:var(--surface);color:var(--text);outline:none;font-family:inherit;transition:all 0.15s;}
input:focus,select:focus,textarea:focus{border-color:var(--lilac);box-shadow:0 0 0 3px rgba(37,99,235,0.1);}
input,select,textarea,option{color-scheme:light;}
@media (forced-colors:active){.btn-primary,.btn-gold{forced-color-adjust:none;background:ButtonText;color:ButtonFace;border:1px solid ButtonText;}.nav-btn.active{forced-color-adjust:none;}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}

/* ── LIST ITEMS ── */
.list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:15px 18px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-xs);transition:all 0.15s;}
.list-item:hover{box-shadow:var(--shadow);border-color:var(--lilac-border);}
.list-item h3{font-size:14.5px;font-weight:600;color:var(--text);}
.list-item p{font-size:12.5px;color:var(--text-3);margin-top:2px;}
.list-item-actions{display:flex;gap:7px;}

/* ── ATTENDANCE CARDS ── */
.att-worker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:8px;box-shadow:var(--shadow-xs);transition:border-color 0.15s;}
.att-worker:hover{border-color:var(--lilac-border);}
.att-worker-holiday{border-color:var(--gold-border);background:linear-gradient(135deg,#FFFDF5,#FBF6E8);}
.att-name{font-size:14.5px;font-weight:600;color:var(--text);}
.att-rate{font-size:11.5px;color:var(--text-3);margin-top:1px;margin-bottom:12px;}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px;}
.status-btn{padding:8px 4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:12px;font-weight:600;cursor:pointer;text-align:center;transition:all 0.14s;color:var(--text-3);font-family:inherit;letter-spacing:0.01em;}
.status-btn:hover{border-color:var(--lilac-border);color:var(--lilac);background:var(--lilac-xpale);}
.status-btn.sel-present{background:var(--green-bg);border-color:var(--green-border);color:var(--green);}
.status-btn.sel-absent{background:var(--red-bg);border-color:var(--red-border);color:var(--red);}
.status-btn.sel-half{background:var(--amber-bg);border-color:var(--amber-border);color:var(--amber);}
.status-btn.sel-overtime{background:var(--blue-bg);border-color:var(--blue-border);color:var(--blue);}
.att-extras{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;}
.att-extras select,.att-extras input{font-size:12.5px;padding:7px 10px;background:var(--surface-1);}

/* ── MODAL ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,8,20,0.5);z-index:200;align-items:center;justify-content:center;backdrop-filter:blur(3px);}
.modal-overlay.open{display:flex;}
.modal{background:var(--surface);border-radius:var(--radius-xl);padding:36px;width:100%;max-width:500px;box-shadow:var(--shadow-lg);animation:mIn 0.2s cubic-bezier(0.22,1,0.36,1);}
@keyframes mIn{from{opacity:0;transform:scale(0.96) translateY(10px);}to{opacity:1;transform:none;}}
.modal-title{font-family:'Space Grotesk',sans-serif;font-size:22px;color:var(--text);margin-bottom:6px;}
.modal-sub{font-size:13px;color:var(--text-3);margin-bottom:22px;}
.modal-footer{display:flex;gap:10px;margin-top:24px;}
.modal-footer .btn{flex:1;}

/* ── WELCOME ── */
#welcome-modal .modal{max-width:540px;text-align:center;border:1px solid var(--lilac-border);}
.wlc-logo{width:68px;height:68px;background:var(--gradient);border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 8px 28px rgba(37,99,235,0.45);}
.wlc-logo svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:1.8;}
.wlc-greeting{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--lilac-mid);margin-bottom:10px;}
.wlc-name{font-family:'Space Grotesk',sans-serif;font-size:34px;color:var(--text);letter-spacing:-1px;margin-bottom:6px;}
.wlc-org{font-size:14px;color:var(--text-3);margin-bottom:6px;}
.wlc-date{font-size:12px;color:var(--text-3);margin-bottom:28px;padding:8px 16px;background:var(--surface-2);border-radius:50px;display:inline-block;}
.wlc-line{height:1px;background:var(--border);margin:20px 0;}

/* ── TOGGLE ── */
.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;}
.toggle{position:relative;width:42px;height:24px;flex-shrink:0;}
.toggle input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;inset:0;background:var(--border-2);border-radius:12px;transition:0.18s;cursor:pointer;}
.toggle input:checked+.toggle-slider{background:var(--lilac);}
.toggle-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:0.18s;box-shadow:0 1px 3px rgba(0,0,0,0.15);}
.toggle input:checked+.toggle-slider::before{transform:translateX(18px);}

/* ── TABS ── */
.view-tabs{display:flex;background:var(--surface-2);border-radius:var(--radius);padding:3px;margin-bottom:20px;border:1px solid var(--border);gap:2px;}
.view-tab{flex:1;padding:7px;text-align:center;font-size:13px;font-weight:600;border-radius:5px;cursor:pointer;color:var(--text-3);border:none;background:none;font-family:inherit;transition:all 0.15s;}
.view-tab.active{background:var(--surface);color:var(--lilac-deep);box-shadow:var(--shadow-xs);}

/* ── PAYROLL CARDS ── */
.pay-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;margin-bottom:10px;box-shadow:var(--shadow-xs);transition:all 0.15s;}
.pay-card:hover{box-shadow:var(--shadow);border-color:var(--lilac-border);}
.pay-card-name{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-0.2px;}
.pay-card-rate{font-size:12px;color:var(--text-3);margin-top:2px;margin-bottom:14px;}
.pay-line{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:7px;}
.pay-line span{color:var(--text-2);}
.pay-line strong{color:var(--text);}
.pay-total{display:flex;justify-content:space-between;font-size:15px;font-weight:700;border-top:1px solid var(--border);padding-top:13px;margin-top:9px;}
.pay-total .amt{color:var(--green);font-family:'Space Grotesk',sans-serif;font-size:18px;}
.pill{display:inline-block;padding:3px 10px;border-radius:50px;font-size:11px;font-weight:600;margin:2px 2px 8px 0;}
.pill-present{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border);}
.pill-half{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border);}
.pill-ot{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border);}
.pill-holiday{background:var(--gold-light);color:var(--gold);border:1px solid var(--gold-border);}
.pill-site{background:var(--lilac-pale);color:var(--lilac-deep);border:1px solid var(--lilac-border);}

/* ── TABLE ── */
.data-table{width:100%;border-collapse:collapse;font-size:13px;}
.data-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-3);padding:8px 12px;border-bottom:1.5px solid var(--border);}
.data-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tbody tr:hover td{background:var(--lilac-xpale);}
.table-scroll{overflow-x:auto;}

/* ── CALENDAR ── */
.cal-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:0;}
.cal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 26px 18px;border-bottom:1px solid var(--border);}
.cal-month{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--text);letter-spacing:-0.4px;}
.cal-nav{display:flex;gap:6px;}
.cal-nav-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:all 0.14s;}
.cal-nav-btn:hover{background:var(--lilac-pale);border-color:var(--lilac-border);color:var(--lilac);}
.cal-nav-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
.cal-site-select{font-size:12.5px;padding:7px 12px;border-radius:var(--radius);width:auto;max-width:200px;}
.cal-grid-header{display:grid;grid-template-columns:repeat(7,1fr);padding:10px 12px 6px;}
.cal-day-name{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-3);padding:4px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:10px 12px 14px;}
.cal-cell{aspect-ratio:1;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all 0.14s;position:relative;font-size:13px;font-weight:500;color:var(--text-2);}
.cal-cell:hover{background:var(--lilac-pale);color:var(--lilac);}
.cal-cell.other-month{color:var(--text-3);opacity:0.4;}
.cal-cell.today{font-weight:700;color:var(--lilac-deep);}
.cal-cell.today::after{content:'';position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--lilac);}
.cal-cell.selected{background:var(--lilac);color:#fff;box-shadow:0 2px 8px rgba(37,99,235,0.35);}
.cal-cell.selected::after{display:none;}
.cal-cell.has-data{font-weight:600;color:var(--text);}
.cal-dot{position:absolute;top:4px;right:5px;display:flex;gap:2px;}
.cal-dot-p{width:4px;height:4px;border-radius:50%;background:var(--green);}
.cal-dot-a{width:4px;height:4px;border-radius:50%;background:var(--red);}
.cal-dot-h{width:4px;height:4px;border-radius:50%;background:var(--gold-mid);}
.cal-cell.holiday-day{background:linear-gradient(135deg,#FBF4E0,#F5ECC8);}
.cal-cell.holiday-day .cal-day-num{color:var(--amber);}
.cal-day-num{font-size:13px;}
.cal-detail{border-top:1px solid var(--border);padding:24px 26px;background:var(--surface-1);}
.cal-detail-date{font-family:'Space Grotesk',sans-serif;font-size:18px;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.cal-detail-holiday{display:inline-flex;align-items:center;gap:5px;background:var(--gold-light);border:1px solid var(--gold-border);border-radius:50px;padding:3px 10px;font-size:11px;font-weight:600;color:var(--gold);}

/* ── HISTORY ── */
.hist-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:8px;display:flex;width:100%;justify-content:space-between;align-items:center;box-shadow:var(--shadow-xs);cursor:pointer;transition:all 0.15s;font-family:inherit;text-align:left;}
.hist-item:hover{box-shadow:var(--shadow);border-color:var(--lilac-border);transform:translateX(3px);}
.hist-period{font-size:14.5px;font-weight:600;color:var(--text);}
.hist-meta{font-size:12px;color:var(--text-3);margin-top:3px;}
.hist-amt{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--lilac-deep);}

/* ── WORKER DETAIL ── */
.wd-avatar{width:60px;height:60px;border-radius:16px;background:var(--lilac);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:20px;color:#fff;flex-shrink:0;}
.wd-header{display:flex;align-items:center;gap:18px;margin-bottom:28px;}
.wd-name{font-family:'Space Grotesk',sans-serif;font-size:26px;color:var(--text);letter-spacing:-0.6px;}
.wd-rate{font-size:13px;color:var(--text-3);margin-top:3px;}
.att-hist-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--border);}
.att-hist-row:last-child{border-bottom:none;}

/* ── SEARCH ── */
.search-wrap{position:relative;margin-bottom:20px;}
.search-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:var(--text-3);fill:none;stroke-width:2;pointer-events:none;}
.search-wrap input{padding-left:38px;}

/* ── NIS BOX ── */
.nis-note{background:var(--lilac-xpale);border:1px solid var(--lilac-border);border-radius:var(--radius);padding:11px 15px;margin-bottom:16px;font-size:12.5px;color:var(--lilac-deep);font-weight:500;}

/* ── EMPTY ── */
.empty{text-align:center;padding:64px 24px;}
.empty-icon{width:52px;height:52px;background:var(--lilac-pale);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.empty-icon svg{width:24px;height:24px;stroke:var(--lilac);fill:none;stroke-width:1.8;}
.empty h3{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--text);margin-bottom:6px;}
.empty p{font-size:13.5px;color:var(--text-3);line-height:1.6;}

/* ── ACTIVITY ── */
.act-item{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);}
.act-item:last-child{border-bottom:none;}
.act-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.act-text{font-size:13px;color:var(--text);line-height:1.5;}
.act-time{font-size:11px;color:var(--text-3);margin-top:2px;}

/* ── HOLIDAY BADGE ── */
.hol-badge{display:inline-flex;align-items:center;gap:6px;background:var(--gold-light);border:1px solid var(--gold-border);border-radius:50px;padding:5px 14px;font-size:12px;font-weight:600;color:var(--gold);margin-bottom:16px;}

/* ── PRINT ── */
@media print{
  #sidebar,#welcome-modal,.btn,.view-tabs,.page-header-right,.sb-nav,.search-wrap{display:none!important;}
  #content{margin-left:0!important;}
  .screen{padding:20px!important;max-width:100%!important;}
  .screen:not(.active){display:none!important;}
  .pay-card,.stat-card,.card{box-shadow:none!important;border:1px solid #ccc!important;break-inside:avoid;}
  .print-header{display:block!important;}
}
.print-header{display:none;margin-bottom:20px;border-bottom:2px solid var(--text);padding-bottom:14px;}
.print-header h2{font-family:'Space Grotesk',sans-serif;font-size:22px;}
.print-header p{font-size:13px;color:#555;margin-top:4px;}

/* ── TOAST ── */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--text);color:#fff;padding:11px 22px;border-radius:50px;font-size:13.5px;font-weight:500;z-index:999;box-shadow:var(--shadow-lg);animation:tIn 0.25s cubic-bezier(0.22,1,0.36,1);white-space:nowrap;}
@keyframes tIn{from{opacity:0;transform:translateX(-50%) translateY(12px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}

/* ── DISPLAY WEIGHTS ── */
.sb-name,.page-title,.modal-title,.stat-num,.wd-name,.cal-month,.cal-detail-date,.hist-amt,.wlc-name,.pay-total .amt,.empty h3,.print-header h2,.pay-card-name{font-weight:600;}
.stat-num{letter-spacing:-0.5px;padding-right:30px;}
.page-title{letter-spacing:-0.6px;}
/* ── VIBE: SHARP ── */
body.vibe-sharp{--radius:4px;--radius-lg:7px;--radius-xl:10px;--lilac:#1D4ED8;--lilac-deep:#1E3FAE;--surface-1:#F1F5F9;--surface-2:#E6ECF3;--border:#D6DEE9;--border-2:#B4C2D4;--gradient:linear-gradient(135deg,#2563EB,#1D4ED8);--surface-dark:#0B1220;--shadow-xs:0 0 0 1px rgba(30,41,59,0.05);--shadow:0 1px 2px rgba(30,41,59,0.10);--shadow-md:0 2px 8px rgba(30,41,59,0.12);--shadow-lg:0 12px 32px rgba(30,41,59,0.18);}
/* ── VIBE: INK ── */
body.vibe-ink{--radius:9px;--radius-lg:16px;--radius-xl:22px;--lilac:#4F46E5;--lilac-deep:#4338CA;--lilac-mid:#818CF8;--lilac-pale:#ECEBFE;--lilac-xpale:#F5F4FF;--lilac-border:#C9C5F6;--gradient:linear-gradient(135deg,#6366F1,#4F46E5 55%,#4338CA);--surface-dark:#0F1730;--surface-dark-2:#1C2750;--shadow-md:0 10px 30px rgba(49,46,129,0.14),0 3px 8px rgba(49,46,129,0.08);--shadow-lg:0 24px 56px rgba(49,46,129,0.20);}
/* ── VIBE SWITCH ── */
.vibe-label{font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.22);margin-bottom:8px;}
.vibe-switch{display:flex;gap:3px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:3px;margin-bottom:14px;}
.vibe-btn{flex:1;padding:6px 4px;border:none;background:none;color:rgba(255,255,255,0.4);font-size:11px;font-weight:600;border-radius:5px;cursor:pointer;font-family:inherit;letter-spacing:0.02em;transition:all 0.15s;}
.vibe-btn:hover{color:rgba(255,255,255,0.78);}
.vibe-btn.active{background:rgba(255,255,255,0.12);color:#fff;}
.stat-card-tint{background:var(--lilac-pale);border-color:var(--lilac-border);}
.stat-card-tint .stat-num{color:var(--lilac-deep);}
.stat-card-tint .stat-lbl{color:var(--lilac-deep);opacity:0.78;}
.stat-card-tint .stat-badge{background:var(--surface);}
.stat-card-tint .stat-badge svg{stroke:var(--lilac-deep);}
/* ── LOCATIONS & JOBS ── */
.loc-card{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px;box-shadow:var(--shadow-xs);}
.loc-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);}
.loc-header-left{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--text);}
.loc-jobs{background:var(--surface);}
.job-row-item{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border);}
.job-row-item:last-child{border-bottom:none;}
.job-completed{opacity:0.6;}
.job-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;}
.badge-active{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border);}
.badge-completed{background:var(--surface-2);color:var(--text-3);border:1px solid var(--border-2);}
.show-completed-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:10px 18px;font-size:12.5px;color:var(--lilac);cursor:pointer;border:none;border-bottom:1px solid var(--border);background:none;font-family:inherit;text-align:left;}
.show-completed-toggle:hover{background:var(--lilac-xpale);}
.add-job-btn{display:flex;align-items:center;gap:7px;width:100%;padding:11px 18px;font-size:12.5px;color:var(--lilac);cursor:pointer;border:none;background:none;font-family:inherit;text-align:left;}
.add-job-btn:hover{background:var(--lilac-xpale);}
/* ── ATTENDANCE V3 ── */
.att-job-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-3);margin-bottom:7px;}
.add-second-job{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--lilac);cursor:pointer;padding:6px 0;margin-top:4px;border:none;background:none;font-family:inherit;text-align:left;}
.add-second-job:hover{opacity:0.75;}
.second-job-block{background:var(--surface-1);border:1px solid var(--lilac-border);border-radius:var(--radius);padding:12px;margin-top:8px;}
.extra-job-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.extra-job-row select{flex:1;}
/* ── CALENDAR V3 ── */
#cal-table th{font-size:11px;}
#cal-table td{font-size:11px;}
/* ── PRINT ── */
@media print{
  #sidebar,#welcome-modal,.btn,.view-tabs,.page-header-right,.search-wrap,.att-save-area{display:none!important;}
  #content{margin-left:0!important;}
  .screen{padding:20px!important;max-width:100%!important;}
  .screen:not(.active){display:none!important;}
  .pay-card,.stat-card,.card{box-shadow:none!important;border:1px solid #ccc!important;break-inside:avoid;}
  .print-header{display:block!important;}
}
.print-header{display:none;margin-bottom:20px;border-bottom:2px solid var(--text);padding-bottom:14px;}


/* ── LOGIN / SYNC / AUDIT ── */
.login-overlay{position:fixed;inset:0;background:var(--surface-dark);z-index:200;display:none;align-items:center;justify-content:center;}
.login-overlay.open{display:flex;}
.login-box{background:var(--surface);border-radius:var(--radius-xl);padding:36px 32px;width:360px;max-width:92vw;box-shadow:var(--shadow-lg);}
.login-logo{font-family:'DM Serif Display',serif;font-size:26px;margin-bottom:2px;}
.login-sub{color:var(--text-2);font-size:13px;margin-bottom:20px;}
.login-error{color:var(--red);font-size:12.5px;min-height:18px;margin-bottom:8px;}
.login-forgot{background:none;border:none;color:var(--text-2);font-size:12.5px;cursor:pointer;font-family:inherit;padding:0;margin-top:14px;text-decoration:underline;}
.login-forgot:hover{color:var(--text);}
.login-forgot-msg{display:none;font-size:12.5px;color:var(--text-2);margin-top:10px;line-height:1.5;background:var(--surface-2);border-radius:var(--radius-lg);padding:10px 12px;}
.login-forgot-msg.open{display:block;}
.sync-status{font-size:11px;padding:3px 9px;border-radius:20px;display:inline-block;}
.sync-status.ok{background:var(--green-bg);color:var(--green);}
.sync-status.saving{background:var(--amber-bg);color:var(--amber);}
.sync-status.err{background:var(--red-bg);color:var(--red);}
.sb-session{padding:10px 28px 18px;position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.sb-logout{background:none;border:none;color:rgba(255,255,255,0.45);font-size:12px;cursor:pointer;font-family:inherit;padding:2px 4px;}
.sb-logout:hover{color:#fff;text-decoration:underline;}
.audit-table{width:100%;border-collapse:collapse;font-size:13px;}
.audit-table th{text-align:left;padding:11px 16px;background:var(--surface-2);color:var(--text-2);font-size:11.5px;text-transform:uppercase;letter-spacing:0.4px;font-weight:600;}
.audit-table td{padding:10px 16px;border-top:1px solid var(--border);vertical-align:top;}
.audit-when{white-space:nowrap;color:var(--text-2);width:170px;}
.audit-user{font-weight:600;white-space:nowrap;width:110px;}
