:root{
  --bg-1:#030814;
  --bg-2:#071325;
  --bg-3:#0b2240;
  --bg-4:#11315c;
  --sidebar:#061120;
  --sidebar-2:#08172c;
  --shell:#eff4fb;
  --card:#ffffff;
  --card-soft:#f7faff;
  --card-tint:#eef5ff;
  --text:#0f172a;
  --text-2:#22314d;
  --muted:#6d7c92;
  --line:#dbe6f2;
  --line-strong:#c8d7ea;
  --primary:#3b82f6;
  --primary-strong:#1d4ed8;
  --primary-soft:#dbeafe;
  --teal:#06b6d4;
  --success:#16a34a;
  --warning:#ea580c;
  --danger:#dc2626;
  --sidebar-text:#dce8f8;
  --sidebar-muted:#8ea5c7;
  --shadow-xl:0 28px 70px rgba(3,10,24,.38);
  --shadow-lg:0 16px 38px rgba(15,23,42,.18);
  --shadow-md:0 10px 24px rgba(15,23,42,.12);
  --radius-xl:30px;
  --radius-lg:22px;
  --radius:18px;
  --radius-sm:14px;
  --font:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Public login */
.login-body{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px;
  background:
    radial-gradient(circle at 12% 10%, rgba(14,165,233,.30), transparent 28%),
    radial-gradient(circle at 90% 8%, rgba(132,204,22,.18), transparent 24%),
    linear-gradient(135deg,#020817 0%,#07172c 48%,#12325f 100%);
}
.login-shell-public{
  width:min(1080px,100%);
}
.login-shell-public > .flash{margin-bottom:16px}
.login-panel{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:18px;
  align-items:stretch;
  padding:18px;
  border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 34px 90px rgba(0,0,0,.36);
  backdrop-filter:blur(16px);
}
.login-brand-side{
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:18px;
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 20% 18%,rgba(132,204,22,.28),transparent 22%),
    radial-gradient(circle at 90% 16%,rgba(56,189,248,.30),transparent 24%),
    linear-gradient(150deg,rgba(4,13,29,.96),rgba(15,45,84,.94));
  border:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-brand-side:after{
  content:"";position:absolute;right:-120px;bottom:-140px;width:430px;height:430px;border-radius:999px;
  border:58px solid rgba(56,189,248,.10);pointer-events:none;
}
.login-logo-wrap{
  width:min(470px,94%);
  height:min(470px,94%);
  border-radius:56px;
  background:rgba(255,255,255,.10);
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 70px rgba(0,0,0,.28),0 0 80px rgba(132,204,22,.12);
  position:relative;
  z-index:1;
}
.login-logo-wrap img{width:92%;height:92%;object-fit:contain}
.login-brand-side h1{font-size:4.4rem;line-height:.95;color:#fff;margin:0;letter-spacing:.02em}
.login-brand-side p{max-width:520px;color:#dbeafe;font-size:1.05rem}
.login-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:relative;z-index:1}
.login-feature-grid div{
  padding:14px;border-radius:18px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.13);
}
.login-feature-grid strong{display:block;color:#fff;font-size:.92rem}
.login-feature-grid span{display:block;margin-top:4px;color:#b8cbea;font-size:.78rem}
.login-form-card{
  padding:34px;
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);
  border:1px solid rgba(219,230,242,.90);
  box-shadow:0 24px 58px rgba(3,10,24,.24);
  align-self:center;
}
.login-form-head span{
  display:inline-flex;margin-bottom:10px;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#2563eb;
}
.login-form-head h2{font-size:2.1rem;margin-bottom:8px}
.login-form-head p{margin-bottom:18px}
.login-actions{align-items:center}
.login-actions .btn{min-height:46px}
@media (max-width:850px){
  .login-body{padding:14px;place-items:start center}
  .login-panel{grid-template-columns:1fr;padding:12px;border-radius:26px}
  .login-brand-side{min-height:360px;padding:14px;border-radius:22px}
  .login-logo-wrap{width:min(310px,86vw);height:min(310px,86vw);border-radius:46px}
  .login-logo-wrap img{width:92%;height:92%}
  .login-brand-side h1{font-size:3rem}
  .login-feature-grid{grid-template-columns:1fr}
  .login-form-card{padding:22px;border-radius:22px}
  .login-actions .btn{width:100%;text-align:center}
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(circle at 10% 0%, rgba(56,189,248,.16), transparent 23%),
    radial-gradient(circle at 100% 0%, rgba(59,130,246,.22), transparent 22%),
    radial-gradient(circle at 50% 100%, rgba(59,130,246,.10), transparent 30%),
    linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 35%, var(--bg-3) 70%, var(--bg-4) 100%);
}
a{color:var(--primary-strong);text-decoration:none}
a:hover{text-decoration:none}

.app-shell{display:flex;min-height:100vh;gap:24px;padding:22px}
.sidebar{
  width:270px;flex:0 0 270px;padding:18px 16px 18px;border-radius:26px;
  background:
    linear-gradient(180deg, rgba(5,17,33,.96) 0%, rgba(8,23,44,.96) 100%),
    radial-gradient(circle at top right, rgba(59,130,246,.20), transparent 25%);
  border:1px solid rgba(148,163,184,.10);
  box-shadow:var(--shadow-xl);
  display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden;
}
.sidebar:before{
  content:"";position:absolute;inset:-1px auto auto -20px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle, rgba(56,189,248,.22), transparent 70%);pointer-events:none;
}
.brand-lockup{display:flex;align-items:center;gap:14px;padding:10px 10px 12px;position:relative;z-index:1}
.brand-mark{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:0 0 46px;
  font-size:.86rem;font-weight:900;letter-spacing:.08em;color:#fff;
  background:linear-gradient(135deg,#2563eb 0%,#38bdf8 100%);
  box-shadow:0 14px 30px rgba(37,99,235,.34);
}
.brand-title{font-size:1rem;font-weight:800;color:#fff;line-height:1.15}
.brand-subtitle{margin-top:4px;font-size:.78rem;color:var(--sidebar-muted);line-height:1.35}
.sidebar-nav{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}
.sidebar-link{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;
  color:var(--sidebar-text);font-weight:700;letter-spacing:-.01em;
  transition:transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.sidebar-link:hover{background:rgba(255,255,255,.05);color:#fff;transform:translateX(2px)}
.sidebar-link.active{
  color:#08111f;
  background:linear-gradient(180deg,#f8fbff 0%,#dbeafe 100%);
  box-shadow:0 12px 24px rgba(11,23,42,.18);
}
.sidebar-icon{
  width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;
  border-radius:9px;background:rgba(255,255,255,.07);font-size:.86rem;
}
.sidebar-link.active .sidebar-icon{background:#fff;color:var(--primary-strong)}
.sidebar-foot{margin-top:auto;padding:16px 12px 6px;border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:1}
.sidebar-note{font-size:.76rem;font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:#f8fbff}
.sidebar-version{margin-top:6px;font-size:.8rem;color:var(--sidebar-muted);line-height:1.45}

.main-shell{flex:1;min-width:0}
.content-topbar{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:6px 8px 18px;
}
.topbar-back-btn{margin-bottom:10px}
.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b9d6ff}
.page-title{margin:.35rem 0 0;font-size:2.2rem;line-height:1.02;letter-spacing:-.04em;color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.18)}
.topbar-usercard{
  display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.07) 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow-md);backdrop-filter:blur(10px);
}
.topbar-usertext{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;color:#fff}
.topbar-usertext .role{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#d8e8ff}
.btnlink{
  padding:10px 13px;border-radius:12px;color:#fff;font-weight:800;
  background:linear-gradient(180deg, rgba(59,130,246,.28) 0%, rgba(37,99,235,.24) 100%);
  border:1px solid rgba(191,219,254,.20);
}
.btnlink:hover{background:linear-gradient(180deg, rgba(59,130,246,.38) 0%, rgba(37,99,235,.32) 100%)}

.container{
  background:linear-gradient(180deg, rgba(243,247,253,.97) 0%, rgba(235,241,249,.97) 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow-xl);
  border-radius:30px;
  padding:26px;
  position:relative;overflow:hidden;
}
.container:before{
  content:"";position:absolute;inset:0 0 auto 0;height:140px;
  background:linear-gradient(180deg, rgba(255,255,255,.42), transparent 100%);
  pointer-events:none;
}
.container > *{position:relative;z-index:1}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,252,255,.98) 100%);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:22px;
}
.card + .card{margin-top:0}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)}
h1,h2,h3{margin:0 0 10px;letter-spacing:-.03em;color:#091121}
h1{font-size:2rem}
h2{font-size:1.5rem}
h3{font-size:1.14rem}
p{margin:6px 0 0;color:var(--muted);line-height:1.55}
hr{border:none;border-top:1px solid var(--line);margin:18px 0}

.form label{display:block;font-size:.84rem;color:var(--muted);font-weight:800;letter-spacing:.01em;margin:12px 0 8px}
input,select,textarea{
  width:100%;padding:13px 14px;border-radius:15px;border:1px solid var(--line-strong);
  background:#fff;font:inherit;color:var(--text);transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
input:hover,select:hover,textarea:hover{border-color:#b6cae4}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.12), 0 8px 20px rgba(37,99,235,.08);
}
textarea{min-height:112px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{
  appearance:none;border:none;border-radius:14px;padding:11px 15px;cursor:pointer;
  background:linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
  color:#fff;font-weight:800;letter-spacing:-.01em;
  box-shadow:0 12px 24px rgba(37,99,235,.22);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.02);box-shadow:0 16px 28px rgba(37,99,235,.24)}
.btn.light{background:linear-gradient(180deg,#fff 0%,#eff5fc 100%);color:var(--text);box-shadow:var(--shadow-md);border:1px solid var(--line)}
.btn.light:hover{box-shadow:0 14px 28px rgba(15,23,42,.14)}
.btn.danger{background:linear-gradient(180deg,#ef4444 0%,#dc2626 100%);box-shadow:0 12px 24px rgba(220,38,38,.18)}
.small{font-size:.9rem;color:var(--muted)}
.badge{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:#f8fafc;color:#334155;border:1px solid var(--line);font-size:.78rem;font-weight:800;letter-spacing:.02em;
}
.badge:empty{display:none}
.badge[data-status="IN_LUCRU"], .badge.in_lucru{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.badge[data-status="NOUA"], .badge.noua{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}
.badge[data-status="ASIGNATA"], .badge.asignata{background:#fef3c7;border-color:#fde68a;color:#92400e}
.badge[data-status="FINALIZATA"], .badge.finalizata,.badge[data-status="INCHISA"], .badge.inchisa{background:#e2e8f0;border-color:#cbd5e1;color:#334155}
.badge.ok{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.badge.warn{background:#ffedd5;border-color:#fdba74;color:#9a3412}
.badge.danger{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}
.status-pill{
  display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;
  font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;
  background:#e2e8f0;color:#475569;border:1px solid #cbd5e1;
}
.status-pill.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.status-pill.muted{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}
.flash{border-radius:16px;padding:14px 16px;margin:0 0 16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-md)}
.flash.ok{border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4 0%,#ecfdf5 100%)}
.flash.bad{border-color:#fecaca;background:linear-gradient(180deg,#fef2f2 0%,#fff1f2 100%)}
.flash.warn{border-color:#fed7aa;background:linear-gradient(180deg,#fff7ed 0%,#fffbeb 100%)}
.flash-toast{
  position:sticky;top:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 16px;transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.flash-toast-body{display:flex;align-items:flex-start;gap:12px;font-weight:700;color:#10223f}
.flash-toast-icon{
  display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;
  background:#dbeafe;color:#1d4ed8;font-size:.74rem;font-weight:900;flex:0 0 28px;
}
.flash.ok .flash-toast-icon{background:#dcfce7;color:#166534}
.flash.bad .flash-toast-icon{background:#fee2e2;color:#b91c1c}
.flash-toast-close{
  border:none;background:transparent;color:#64748b;font-size:1rem;font-weight:900;cursor:pointer;
  width:28px;height:28px;border-radius:10px;flex:0 0 28px;
}
.flash-toast-close:hover{background:rgba(15,23,42,.06)}
.flash-toast.is-dismissed{opacity:0;transform:translateY(-10px);visibility:hidden;pointer-events:none}

.live-update-toast{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:120;
  display:flex;
  align-items:center;
  gap:12px;
  max-width:min(520px,calc(100vw - 32px));
  padding:12px 14px;
  border:1px solid rgba(56,217,255,.42);
  border-radius:16px;
  background:rgba(3,13,24,.96);
  color:#e9fbff;
  box-shadow:0 18px 50px rgba(0,0,0,.42),0 0 24px rgba(56,217,255,.16);
  opacity:0;
  transform:translateY(16px);
  pointer-events:none;
  transition:.18s ease;
}
.live-update-toast.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.live-update-toast span{font-weight:900}
.live-update-toast button{
  border:1px solid rgba(162,255,61,.65);
  border-radius:12px;
  background:linear-gradient(135deg,#a2ff3d,#38d9ff);
  color:#04101b;
  font-weight:1000;
  padding:9px 12px;
  cursor:pointer;
  white-space:nowrap;
}

.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.notification-bell:hover{background:rgba(255,255,255,.18)}
.notification-bell-icon{font-size:.82rem;letter-spacing:.02em}
.notification-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border:2px solid #0b2240;font-size:.72rem;line-height:16px;text-align:center;font-weight:900}
.notification-strip{margin:-4px 4px 14px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(135deg,rgba(17,34,64,.78),rgba(22,52,95,.62));box-shadow:0 18px 40px rgba(3,10,24,.18);backdrop-filter:blur(12px)}
.notification-strip-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;color:#dbeafe;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.notification-strip-head a{color:#fff;text-decoration:none}
.notification-strip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}
.notification-pill{display:block;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(219,231,244,.82);color:#25314a;text-decoration:none;box-shadow:0 10px 22px rgba(3,10,24,.12)}
.notification-pill.is-unread{background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);border-color:#93c5fd}
.notification-pill strong{display:block;margin-bottom:4px;color:#0b1324}
.notification-pill span{display:block;color:#64748b;font-size:.84rem;line-height:1.35}
.notification-page-card{overflow:hidden}
.notification-list{display:grid;gap:10px}
.notification-row{display:flex;gap:14px;padding:14px;border:1px solid #dbe7f4;border-radius:18px;background:#f8fbff;color:#22314d;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.notification-row:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.08);border-color:#bfdbfe}
.notification-row.is-unread{background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);border-color:#93c5fd}
.notification-row-icon{flex:0 0 42px;width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b2240,#2563eb);color:#fff;font-weight:900}
.notification-row-body{min-width:0;flex:1}
.notification-row-title{display:flex;justify-content:space-between;gap:10px;align-items:center}
.notification-row-title strong{color:#0b1324}
.notification-row-title span{padding:4px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.72rem;font-weight:900}
.notification-row p{margin:6px 0;color:#42526b;line-height:1.45}
.notification-row small{color:#7a8aa0;font-weight:700}
.empty-state{padding:28px;border:1px dashed #cbd5e1;border-radius:18px;text-align:center;background:#f8fbff;color:#64748b}
.empty-state h3{margin:0 0 6px;color:#0b1324}
.empty-state p{margin:0}
.employee-notice-box{margin:14px 0 16px;padding:14px;border-radius:20px;background:linear-gradient(135deg,#ecfeff 0%,#eff6ff 55%,#ffffff 100%);border:1px solid #bfdbfe;box-shadow:0 14px 28px rgba(37,99,235,.10)}
.employee-notice-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.employee-notice-head strong{color:#0b1324;font-size:1rem}
.employee-notice-head a{font-weight:900;color:#1d4ed8;text-decoration:none}
.employee-notice-item{display:block;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.86);border:1px solid #dbeafe;color:#22314d;text-decoration:none}
.employee-notice-item+.employee-notice-item{margin-top:8px}
.employee-notice-item.is-unread{border-color:#60a5fa;box-shadow:inset 4px 0 0 #2563eb}
.employee-notice-item b{display:block;color:#0b1324;margin-bottom:4px}
.employee-notice-item span{display:block;color:#64748b;font-size:.86rem;line-height:1.35}
.employee-job-accordion{display:block;border:1px solid #dbeafe;border-radius:16px;background:rgba(255,255,255,.88);overflow:hidden}
.employee-job-accordion+.employee-job-accordion{margin-top:8px}
.employee-job-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;list-style:none}
.employee-job-summary::-webkit-details-marker{display:none}
.employee-job-main{display:block;min-width:0}
.employee-job-main b{margin-bottom:4px}
.employee-job-main small{display:block;color:#64748b;font-size:.82rem;line-height:1.35;font-weight:700}
.employee-job-caret{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.74rem;font-weight:900}
.employee-job-accordion[open] .employee-job-caret{background:#dbeafe}
.employee-job-body{margin:0;border:none;border-top:1px solid #e7f0fb;border-radius:0;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.push-test-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:0 0 18px;padding:16px;border-radius:20px;border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);box-shadow:0 12px 24px rgba(37,99,235,.08)}
.push-test-card h3{margin:.2rem 0 .3rem;color:#0b1324}
.push-test-card p{margin:0 0 6px;color:#64748b;line-height:1.45}
.push-test-status{grid-column:1/-1}
.push-test-card.is-compact-ok{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 100%)}
.push-test-card.is-compact-ok h3{margin-bottom:.15rem}
.ok-text{color:#15803d!important;font-weight:900}
.bad-text{color:#b91c1c!important;font-weight:900}

.table{width:100%;border-collapse:separate;border-spacing:0}
.table thead th{
  color:#62748e;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  padding:12px 10px;border-bottom:1px solid var(--line-strong);
}
.table tbody td{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-2)}
.table tbody tr{transition:transform .12s ease, box-shadow .12s ease}
.table tbody tr:hover td{background:#fbfdff}
.table tbody tr:hover td:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}
.table tbody tr:hover td:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}
.table td b{display:inline-block;color:#0b1324;font-size:.98rem}
.table td .small{margin-top:4px}
.table td:last-child a{
  display:inline-flex;align-items:center;padding:7px 11px;border-radius:10px;
  background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;font-weight:800;white-space:nowrap;
}
.table td:last-child a:hover{background:#dbeafe}

.jobs-recent-panel{margin:16px 0 10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%)}
.jobs-recent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.jobs-recent-card{display:grid;gap:6px;padding:13px;border:1px solid #dbe7f4;border-radius:16px;background:rgba(255,255,255,.86);color:var(--text);box-shadow:0 10px 22px rgba(15,23,42,.06);transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease}
.jobs-recent-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,23,42,.11)}
.jobs-recent-card strong{font-size:1rem;color:#0b1324}
.jobs-recent-card span:not(.badge){color:#53657f;font-size:.9rem}
.jobs-recent-card small{color:#72839b;font-weight:800}
.jobs-recent-card.is-hot{border-color:#bfdbfe;background:linear-gradient(180deg,#fff 0%,#eff6ff 100%)}
.jobs-recent-card.is-cool{opacity:.74}
.jobs-row-priority td b{font-weight:900}
.jobs-row-muted{opacity:.72}
.jobs-row-muted:hover{opacity:1}
.jobs-actions{display:flex;gap:8px;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap}
.jobs-actions form{margin:0;display:inline-flex}
.btn.tiny{padding:7px 11px;border-radius:10px;font-size:.86rem}

.kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kpi .card{
  padding:18px 18px 16px;
  background:linear-gradient(180deg,#fff 0%, #f6faff 100%);
  border:1px solid #d9e6f5;
  position:relative;overflow:hidden;
}
.kpi .card:before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,#38bdf8 0%, #2563eb 100%);
}
.kpi .v{font-size:1.7rem;font-weight:900;letter-spacing:-.04em;color:#071326;margin-bottom:2px}
.kpi .t{color:var(--muted);font-size:.85rem;font-weight:700}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.tab{
  padding:9px 12px;border-radius:999px;border:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);color:var(--text);font-weight:800;
}
.tab.active{background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);border-color:#bfdbfe;color:var(--primary-strong)}

.container > .card:first-child{margin-bottom:18px}
.card .card{box-shadow:none;border-radius:18px;background:linear-gradient(180deg,#f9fbff 0%,#f2f7ff 100%)}

/* dashboard-specific visual polish using generic structure */
.card .actions a.btn + a.btn.light,
.card .actions .btn.light{min-width:unset}
.card ul,.card ol{margin:8px 0 0 18px;color:var(--text-2)}
.card li{margin:6px 0}

/* nicer pills that come from plain text sections */
.card .small b,
.small strong{color:#0b1324}

/* tables and forms within blue theme */
select option{color:#111827;background:#fff}

/* clickable row support if added later */
.row-link{cursor:pointer}
.click-row{cursor:pointer}
.pwa-install-btn{
  position:fixed;
  right:18px;
  bottom:18px;
  bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:60;
  border:none;
  border-radius:999px;
  padding:13px 18px;
  background:linear-gradient(180deg,#2563eb 0%, #1d4ed8 100%);
  color:#fff;
  font-weight:800;
  box-shadow:0 18px 38px rgba(37,99,235,.32);
  cursor:pointer;
}
.pwa-install-btn:hover{filter:brightness(1.03)}

@media (max-width:1220px){.kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){
  .app-shell{display:block;padding:14px}
  .sidebar{width:auto;flex:none;padding:14px;gap:12px;position:sticky;top:0;z-index:20;margin-bottom:14px}
  .sidebar-nav{flex-direction:row;flex-wrap:wrap}
  .sidebar-foot{display:none}
  .content-topbar{padding:6px 4px 14px;flex-direction:column;align-items:flex-start}
  .container{padding:18px;border-radius:22px}
  .grid.two{grid-template-columns:1fr}
  .pwa-install-btn{right:14px;left:14px;bottom:14px;bottom:calc(14px + env(safe-area-inset-bottom))}
}
@media (max-width:720px){
  .row{grid-template-columns:1fr}
  .kpi{grid-template-columns:1fr}
  .page-title{font-size:1.65rem}
  .topbar-usercard{width:100%;justify-content:space-between}
  .notification-strip{margin:0 0 12px;border-radius:18px}
  .notification-strip-list{grid-template-columns:1fr}
  .notification-row{padding:12px}
  .push-test-card{grid-template-columns:1fr}
  .table{display:block;overflow:auto}
  .sidebar-link{padding:10px 12px}
}

.rights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0 8px}
.hidden{display:none!important}


/* ===== professional polish: layout, admin, planner ===== */
.app-shell{max-width:1680px;margin:0 auto;padding:18px;align-items:flex-start}
.sidebar{width:248px;flex-basis:248px;border-radius:24px;padding:16px 14px;box-shadow:0 18px 44px rgba(2,8,23,.34)}
.sidebar-group{margin:14px 12px 4px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sidebar-muted)}
.brand-mark.logo-only{width:58px;height:58px;padding:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.brand-logo{max-width:100%;max-height:100%;display:block}
.content-topbar{padding:2px 4px 14px}
.page-title{font-size:2rem}
.container{padding:24px;border-radius:28px}
.card{padding:20px;border-radius:24px;box-shadow:0 12px 28px rgba(15,23,42,.10)}
.table.compact-table thead th{padding:10px 10px}
.table.compact-table tbody td{padding:11px 10px}
.actions{align-items:center}
.btn,.btnlink{font-size:.94rem}

.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.section-head.compact{margin-bottom:12px}
.dashboard-crew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.dashboard-crew-card{
  padding:14px 16px;border-radius:18px;border:1px solid #dbe7f4;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.08)
}
.dashboard-crew-card strong{display:block;margin-bottom:6px;color:#0b1324}
.dashboard-crew-card .small{display:block;line-height:1.45}
.dashboard-audit-list{display:grid;gap:10px}
.dashboard-audit-item{
  display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #dbe7f4;border-radius:16px;background:#f8fbff
}
.dashboard-audit-item b{display:block;color:#0b1324}
.dashboard-audit-item span{display:block}
.dashboard-audit-item strong{white-space:nowrap;color:#1d4ed8}
.filter-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 2px}
.filter-chip{
  display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid #dbe7f4;background:#f8fbff;color:#22314d;font-weight:800
}
.filter-chip.active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}
.chip-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{
  display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:999px;
  border:1px solid #dbe7f4;background:#f8fbff;color:#22314d;font-size:.78rem;font-weight:900;white-space:nowrap
}
.chip.ok{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.chip.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.chip.neutral{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.compact-head-chips{justify-content:flex-end}
.row.row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.quick-filter-row{grid-template-columns:minmax(180px,.45fr) minmax(240px,.55fr)}
.align-end{align-self:end}
.table-hover tbody tr:hover td{background:#eef6ff}
.text-danger{color:#b91c1c!important;font-weight:900}
.row-warning td{background:#fff7ed!important}
.row-muted{opacity:.68}
.row-muted:hover{opacity:1}
.table-total-row th,.table-total-row td{background:#edf4ff!important;color:#0b1324;border-top:1px solid #bfdbfe}
.safety-item{text-decoration:none;color:inherit}
.safety-item:hover{border-color:#93c5fd;background:#eff6ff}
.timesheet-card .report-totals-bar{margin-bottom:10px}
.approval-table td:last-child{min-width:190px}
.approval-table td:last-child form{margin:2px 0}
.approval-table td:last-child .btn{width:100%;justify-content:center}
.timesheet-summary-table td:nth-child(n+2),
.timesheet-summary-table th:nth-child(n+2){text-align:right}
.timesheet-summary-table td:first-child,
.timesheet-summary-table th:first-child{text-align:left}
.approval-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.approval-kpi-card{
  padding:12px 14px;border-radius:16px;border:1px solid #dbe7f4;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)
}
.approval-kpi-card strong{display:block;font-size:1.25rem;color:#0b1324}
.approval-kpi-card span{display:block;color:#64748b;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.approval-panel .table td:last-child a,.approval-panel .table td:last-child button{margin:2px 0}
.job-doc-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 14px}
.job-doc-card{padding:12px 14px;border-radius:16px;border:1px solid #dbe7f4;background:#f8fbff}
.job-doc-card strong{display:block;font-size:1.2rem;color:#0b1324}
.job-doc-card span{display:block;color:#64748b;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.file-kind-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.72rem;font-weight:900;border:1px solid #bfdbfe}
.file-kind-badge.pdf{background:#fff1f2;color:#be123c;border-color:#fecdd3}
.job-timeline{display:grid;gap:10px}
.job-timeline-item{
  display:flex;gap:14px;padding:12px 14px;border-radius:16px;border:1px solid #dbe7f4;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)
}
.job-timeline-date{flex:0 0 120px;color:#64748b;font-size:.82rem;font-weight:800}
.job-timeline-main b{display:block;color:#0b1324;margin-bottom:4px}
.planner-checklist{display:grid;gap:10px}
.planner-check{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid #dbe7f4;background:#f8fbff}
.planner-check.is-ok{border-color:#bbf7d0;background:#f0fdf4}
.planner-check.is-warn{border-color:#fed7aa;background:#fff7ed}
.planner-check b{color:#0b1324}
.entry-helper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 12px}
.entry-helper-card{padding:12px 14px;border-radius:16px;border:1px solid #dbe7f4;background:#f8fbff}
.entry-helper-card.is-active{border-color:#93c5fd;background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);box-shadow:0 12px 24px rgba(37,99,235,.08)}
.entry-helper-card strong{display:block;color:#0b1324;margin-bottom:4px}
.safety-list{display:grid;gap:10px}
.safety-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid #dbe7f4;background:#f8fbff}
.safety-item strong{color:#0b1324}
.eyebrow-soft{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#5f7ba1;margin-bottom:4px}
.section-head h2{margin-bottom:4px}
.section-head p{margin:0}

.metric-card{position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:22px;background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);border:1px solid #dbe7f4;box-shadow:0 12px 24px rgba(15,23,42,.08)}
.metric-card::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#38bdf8 0%,#2563eb 100%)}
.metric-card span{display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#60748f;margin-bottom:8px}
.metric-card strong{display:block;font-size:2rem;line-height:1;color:#0b1324}
.metric-card small{display:block;margin-top:8px;color:#71829b;font-size:.82rem}
.admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.admin-alerts-card{margin-bottom:18px}
.admin-alert-list{margin:0;padding-left:18px;color:#23314a}
.admin-alert-list li+li{margin-top:8px}
.admin-console{display:grid;gap:16px}
.admin-hero-panel{
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
  border-color:#cfe0f5;background:linear-gradient(135deg,#ffffff 0%,#f3f8ff 62%,#eef6ff 100%);
  box-shadow:0 14px 30px rgba(15,23,42,.09)
}
.admin-hero-panel h2{font-size:1.55rem;line-height:1.08;margin-bottom:5px}
.admin-hero-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:320px}
.admin-tabs{
  display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid #dbe7f4;border-radius:18px;
  background:rgba(255,255,255,.72);box-shadow:0 10px 22px rgba(15,23,42,.06)
}
.admin-tab{
  appearance:none;border:1px solid transparent;background:transparent;color:#31435d;cursor:pointer;
  min-height:40px;padding:9px 12px;border-radius:13px;font:inherit;font-weight:900;
  display:inline-flex;align-items:center;gap:8px
}
.admin-tab:hover{background:#f3f8ff;border-color:#dbe7f4}
.admin-tab.active{background:linear-gradient(180deg,#0f2d55 0%,#1d4ed8 100%);border-color:#1d4ed8;color:#fff;box-shadow:0 12px 22px rgba(37,99,235,.20)}
.admin-tab span{
  min-width:24px;height:24px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
  background:#eef5ff;color:#1d4ed8;font-size:.76rem
}
.admin-tab.active span{background:rgba(255,255,255,.18);color:#fff}
.admin-panel{display:none}
.admin-panel.active{display:block}
.admin-people-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);align-items:start}
.admin-create-card{position:sticky;top:14px}
.admin-table-toolbar{
  display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px;align-items:end;
  margin:2px 0 12px;padding:12px;border:1px solid #dbe7f4;border-radius:16px;background:#f8fbff
}
.admin-search-box span{
  display:block;margin:0 0 5px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b
}
.admin-search-box input,.admin-table-toolbar select{min-height:42px;padding:10px 12px;border-radius:12px}
.admin-data-table{font-size:.93rem}
.admin-data-table td:last-child{min-width:170px}
.admin-data-table td:last-child a,
.admin-data-table td:last-child button{
  display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:11px;
  font-size:.86rem;white-space:nowrap
}
.admin-data-table td:last-child a.btn.light{background:linear-gradient(180deg,#fff 0%,#eff5fc 100%);color:#0f172a;border:1px solid var(--line);box-shadow:none}
.admin-data-table td:last-child button.btn.light{box-shadow:none}
.admin-data-table td:last-child .actions{gap:7px;margin-top:0;justify-content:flex-end}
.admin-data-table .inline-edit-row td{background:#f8fbff;border:1px solid #dbe7f4;border-radius:16px}
.inline-edit-form{padding:4px 2px 2px}
.admin-reset-request-list{display:grid;gap:12px}
.admin-reset-request-item{
  display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:14px;
  padding:14px;border:1px solid #dbe7f4;border-radius:18px;background:#f8fbff
}
.admin-reset-request-meta{
  padding:12px;border-radius:15px;background:#fff;border:1px solid #e4edf8
}
.admin-reset-request-meta strong{display:block;color:#0b1324;font-size:1rem;margin-bottom:5px}
.admin-reset-request-meta span,.admin-reset-request-meta small{display:block;color:#64748b;font-weight:700;line-height:1.4}
.admin-reset-request-item form{margin:0}
.rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:12px}
.toggle-line{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #dbe7f4;border-radius:14px;background:#f8fbff;font-weight:700;color:#22314d}
.toggle-line input{width:auto;margin-top:2px}

body.employee-shell-body{background:
  radial-gradient(circle at 15% 0%, rgba(56,189,248,.10), transparent 24%),
  radial-gradient(circle at 85% 0%, rgba(59,130,246,.15), transparent 22%),
  linear-gradient(180deg, #071529 0%, #0b2240 48%, #102b50 100%)}
.lead-shell{max-width:520px;margin:0 auto;display:block;padding:10px 10px 22px}
.role-lead .sidebar{display:none}
.role-lead .main-shell{min-width:0}
.role-lead .content-topbar{padding:0 4px 10px}
.role-lead .container{padding:16px;border-radius:22px}
.role-lead .notification-strip{margin:0 0 12px;border-radius:18px}
.role-lead .notification-strip-list{grid-template-columns:1fr}
.role-lead .topbar-usercard{padding:9px 11px}
.role-lead .page-title{font-size:1.3rem}
.role-lead .card{padding:16px;border-radius:20px}
.employee-shell{max-width:460px;margin:0 auto;display:block;padding:10px 10px 22px}
.sidebar-employee{display:none}
.main-shell-employee{min-width:0}
.content-topbar-employee{display:flex}
.container-employee{background:transparent;border:none;box-shadow:none;padding:0;border-radius:0;overflow:visible}
.container-employee:before{display:none}
.container-employee > *{position:static}
.page-my_timesheet .my-timesheet-mobile-grid,
.page-notifications .grid.two{grid-template-columns:1fr;gap:12px}
.page-my_timesheet .my-timesheet-form-card,
.page-notifications .notification-page-card{padding:16px;border-radius:20px}
.page-my_timesheet .mobile-section-kicker{font-size:.68rem;letter-spacing:.11em;margin-bottom:6px;color:#6b7f99;text-transform:uppercase;font-weight:900}
.page-my_timesheet .my-timesheet-form-card h1,
.page-my_timesheet .my-timesheet-form-card h2,
.page-notifications .notification-page-card h2{font-size:1.85rem;line-height:1.02}
.page-my_timesheet .employee-notice-box{margin:10px 0 12px;padding:12px;border-radius:18px}
.content-topbar-mobile{display:flex;align-items:flex-start;justify-content:flex-start;padding:0 2px 10px}
.content-topbar-mobile > div:last-child{display:none}
.content-topbar-mobile .eyebrow{display:none}
.content-topbar-mobile .page-title{font-size:1.18rem;line-height:1.1;text-shadow:none}
.content-topbar-mobile .topbar-back-btn{margin:0 0 8px;padding:8px 12px;border-radius:12px}
.compact-role-shell{
  display:grid;gap:10px;margin:0 0 12px;padding:12px;border:1px solid rgba(219,231,244,.92);border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(246,250,255,.98) 100%);box-shadow:0 16px 34px rgba(15,23,42,.10)
}
.compact-role-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.compact-role-brand{display:flex;align-items:center;gap:10px;min-width:0}
.compact-role-logo{
  width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;
  background:linear-gradient(180deg,#0b2240 0%,#163c74 100%);box-shadow:0 10px 22px rgba(11,34,64,.18);flex:0 0 40px
}
.compact-role-logo img{max-width:26px;max-height:26px;display:block}
.compact-role-brand strong{display:block;color:#0b1324;font-size:.98rem;line-height:1.1}
.compact-role-brand small{display:block;margin-top:3px;color:#64748b;font-size:.76rem;font-weight:700}
.compact-role-actions{display:flex;align-items:center;gap:8px}
.compact-role-logout{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border-radius:12px;
  background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;font-weight:900;text-decoration:none
}
.notification-bell.is-compact{width:36px;height:36px;border-radius:12px;background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;box-shadow:none}
.notification-bell.is-compact:hover{background:#dbeafe}
.compact-role-nav{display:flex;gap:8px;overflow:auto;padding-bottom:2px}
.compact-role-nav::-webkit-scrollbar{display:none}
.compact-role-link{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:40px;padding:10px 13px;border-radius:999px;
  background:#f3f8ff;border:1px solid #dbeafe;color:#274266;font-weight:800;text-decoration:none
}
.compact-role-link.active{background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);border-color:#1d4ed8;color:#fff;box-shadow:0 12px 20px rgba(37,99,235,.20)}
.page-my_timesheet .employee-notice-head strong{font-size:.95rem}
.page-my_timesheet .employee-notice-item{padding:10px 11px;border-radius:14px}
.page-my_timesheet .employee-notice-item b{font-size:.98rem;line-height:1.25}
.page-my_timesheet .employee-notice-item span{font-size:.82rem}
.page-my_timesheet .employee-job-summary{padding:10px 11px}
.page-my_timesheet .employee-job-main b{font-size:.98rem;line-height:1.25}
.page-my_timesheet .employee-job-main small{font-size:.8rem}
.page-my_timesheet .employee-job-caret{font-size:.7rem;padding:5px 9px}
.page-my_timesheet .employee-notice-item .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-my_timesheet .employee-notice-item .actions form{margin:0}
.page-my_timesheet .employee-notice-item .actions .btn,
.page-my_timesheet .employee-notice-item .actions .btn.light{width:100%;justify-content:center;text-align:center;padding:10px 12px}
.page-my_timesheet .employee-notice-item .actions a.btn.light{display:flex;align-items:center;justify-content:center}
.page-my_timesheet .form label{margin:10px 0 6px;font-size:.79rem}
.page-my_timesheet input,
.page-my_timesheet select,
.page-my_timesheet textarea{padding:12px 13px;border-radius:14px}
.page-my_timesheet textarea{min-height:88px}
.page-my_timesheet .actions.mobile-actions .btn,
.page-my_timesheet .actions.mobile-actions .btn.light{width:100%;justify-content:center}
.page-my_timesheet .mobile-sticky-submit{position:sticky;bottom:10px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0));padding-top:8px}
.employee-month-status{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.employee-month-status>div{
  min-height:76px;
  border:1px solid rgba(56,217,255,.34);
  border-radius:18px;
  padding:12px 14px;
  background:linear-gradient(145deg,rgba(7,24,39,.96),rgba(4,15,28,.98));
  box-shadow:inset 0 1px 0 rgba(125,249,255,.12),0 12px 28px rgba(0,0,0,.20);
}
.employee-month-status span{
  display:block;
  color:var(--cyber-cyan);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.employee-month-status strong{
  display:block;
  margin-top:5px;
  color:var(--text);
  font-size:1.55rem;
  line-height:1;
}
.employee-month-status small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-weight:800;
}
.lead-month-status{margin-top:0}
.page-notifications .notification-page-card{overflow:visible}
.page-notifications .section-head.compact{margin-bottom:10px}
.page-notifications .push-test-card{margin-bottom:14px;padding:14px;border-radius:18px}
.page-notifications .notification-list{gap:8px}
.page-notifications .notification-row{padding:12px;border-radius:16px}
.page-notifications .notification-row-title strong{font-size:.98rem}
.page-notifications .notification-row p{font-size:.86rem;line-height:1.38}

@media (max-width:720px){
  .role-lead .lead-shell{padding:8px 8px 18px}
  .role-lead .content-topbar{padding:0 2px 8px}
  .role-lead .page-title{font-size:1.08rem}
  .employee-shell{padding:8px 8px 18px}
  .page-my_timesheet .employee-notice-item .actions{grid-template-columns:1fr}
  .page-notifications .push-test-card{grid-template-columns:1fr}
  .compact-role-shell{padding:10px 10px 11px;border-radius:20px}
  .compact-role-head{align-items:flex-start}
  .compact-role-brand strong{font-size:.92rem}
  .compact-role-nav{gap:7px}
  .compact-role-link{min-height:38px;padding:9px 12px}
}

.planner-grid{align-items:start}
.planner-main-card{padding:20px 20px 18px}
.planner-chip-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.planner-filter{margin-bottom:14px}
.planner-filter-row{grid-template-columns:minmax(220px,.9fr) minmax(220px,.8fr)}
.planner-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 18px}
.planner-stat{padding:12px 14px;border:1px solid #dbe7f4;border-radius:16px;background:#f8fbff}
.planner-stat strong{display:block;font-size:1.1rem;color:#0b1324}
.planner-stat span{display:block;margin-top:3px;font-size:.82rem;color:#71829b}
.planner-job-list{display:grid;gap:14px}
.planner-job-card{padding:16px 18px;border-radius:18px;border:1px solid #dbe7f4;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%)}
.planner-job-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.planner-job-title{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:baseline}
.planner-job-title strong{font-size:1rem;color:#081120}
.planner-job-title span{font-size:1rem;font-weight:700;color:#22314d}
.planner-job-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:#71829b;font-size:.88rem}
.planner-job-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.planner-hours{min-width:86px;text-align:center;padding:9px 12px;border-radius:14px;background:#eff6ff;border:1px solid #cfe2ff;color:#1d4ed8;font-weight:800}
.planner-people{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.person-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border-radius:999px;background:#eff6ff;border:1px solid #dbeafe;color:#183b73;font-weight:700}
.person-pill.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.person-hours{font-size:.82rem;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.65)}
.planner-empty{padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;margin-top:14px}
.planner-empty.compact{margin-top:8px}
.planner-side{display:grid;gap:16px}
.side-card{padding:18px}
.side-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.stack-list{display:grid;gap:9px}
.stack-item{padding:10px 12px;border-radius:14px;background:#f8fbff;border:1px solid #dbe7f4;color:#22314d;font-weight:700}
.detail-item strong{display:block;margin-bottom:4px}
.warning-card{border-left:4px solid #f59e0b}
.danger-card{border-left:4px solid #ef4444}
.ok-card{border-left:4px solid #22c55e}

.planner-v2-shell{display:grid;gap:18px}
.planner-lead-hero{padding:20px}
.planner-day-switch{min-width:min(100%,260px)}
.planner-day-switch label{margin-top:0}
.planner-day-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.planner-v2-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.planner-v2-stat{padding:14px 16px;border:1px solid #dbe7f4;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.planner-v2-stat span{display:block;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6a7f99;margin-bottom:6px}
.planner-v2-stat strong{display:block;font-size:1.3rem;color:#0b1324}
.planner-v2-grid{align-items:start}
.planner-current-job{padding:14px 16px;border:1px solid #bfdbfe;border-radius:18px;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%)}
.planner-current-job-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.planner-current-job-head strong{display:block;color:#0b1324;font-size:1.02rem;line-height:1.25}
.planner-summary-list{display:grid;gap:10px}
.planner-summary-item{padding:12px 14px;border:1px solid #dbe7f4;border-radius:16px;background:#f8fbff}
.planner-summary-item strong{display:block;color:#102033}
.planner-summary-item span{display:block;margin-top:4px;font-size:.84rem;color:#64748b}

.dashboard-grid{align-items:start}
.dashboard-hero .planner-chip-row{justify-content:flex-start}
.dashboard-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.chart-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:10px;align-items:end;min-height:220px}
.chart-bar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}
.chart-bar-value{font-size:.78rem;font-weight:800;color:#5b6f8d}
.chart-bar-track{width:100%;max-width:44px;height:150px;border-radius:16px;background:#eef5ff;border:1px solid #dbe7f4;display:flex;align-items:flex-end;padding:5px}
.chart-bar-fill{width:100%;border-radius:12px;background:linear-gradient(180deg,#38bdf8 0%, #2563eb 100%)}
.chart-bar-label{font-size:.75rem;font-weight:800;color:#64748b}
.mix-card-list{display:grid;gap:12px}
.mix-card{padding:14px 16px;border:1px solid #dbe7f4;border-radius:16px;background:#f8fbff}
.mix-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.mix-card-head span{font-weight:700;color:#5f718c}
.mix-card-head strong{font-size:1.05rem;color:#0b1324}
.mix-bar{height:10px;border-radius:999px;background:#dbeafe;overflow:hidden}
.mix-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8 0%, #2563eb 100%)}
.mix-bar-alt{background:#e0f2fe}
.mix-bar-alt span{background:linear-gradient(90deg,#0ea5e9 0%, #0284c7 100%)}
.mix-bar-warn{background:#ffedd5}
.mix-bar-warn span{background:linear-gradient(90deg,#fb923c 0%, #ea580c 100%)}
.dashboard-link-row{display:flex;justify-content:space-between;gap:14px;align-items:center}
.dashboard-link-row strong{white-space:nowrap}
.dashboard-alert-detail{display:block;margin-top:8px;color:#64748b;font-weight:700}
.dashboard-alert-detail:hover{color:#1d4ed8}
.dashboard-link-row a{display:inline-flex;align-items:center;margin-left:8px;color:#1d4ed8;font-weight:900}
.report-totals-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.report-total-card{padding:14px 16px;border:1px solid #dbe7f4;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.report-total-card span{display:block;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:6px}
.report-total-card strong{display:block;font-size:1.5rem;line-height:1.05;color:#0b1324}

@media (max-width:1220px){
  .admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-people-grid{grid-template-columns:1fr}
  .admin-create-card{position:static}
  .admin-table-toolbar{grid-template-columns:1fr 1fr}
  .planner-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner-v2-stats{grid-template-columns:1fr}
  .dashboard-stat-grid{grid-template-columns:1fr 1fr}
  .chart-bars{grid-template-columns:repeat(7,minmax(0,1fr))}
  .report-totals-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .app-shell{padding:12px}
  .sidebar{width:auto;flex-basis:auto}
  .admin-stats-grid,.planner-summary-strip,.rights-grid,.dashboard-stat-grid,.report-totals-bar{grid-template-columns:1fr}
  .row.row-3,.quick-filter-row{grid-template-columns:1fr}
  .compact-head-chips{justify-content:flex-start}
}
@media (max-width:720px){
  .planner-job-top,.section-head,.side-card-head{flex-direction:column;align-items:flex-start}
  .admin-hero-panel{flex-direction:column}
  .admin-hero-actions{min-width:0;width:100%;justify-content:flex-start}
  .admin-tabs{overflow:auto;flex-wrap:nowrap}
  .admin-tab{white-space:nowrap}
  .admin-table-toolbar{grid-template-columns:1fr}
  .admin-reset-request-item{grid-template-columns:1fr}
  .planner-filter-row{grid-template-columns:1fr}
  .planner-day-row{grid-template-columns:1fr}
  .planner-current-job-head{flex-direction:column;align-items:flex-start}
  .planner-chip-row,.planner-job-actions{justify-content:flex-start}
  .chart-bars{grid-template-columns:repeat(4,minmax(0,1fr))}
}


/* execution checklist / employee picker */
.selector-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 10px}
.selector-actions{display:flex;gap:8px;flex-wrap:wrap}
.selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0 6px}
.selector-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #dbe7f4;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);cursor:pointer;transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease}
.selector-card:hover{border-color:#bfdbfe;box-shadow:0 10px 20px rgba(37,99,235,.08);transform:translateY(-1px)}
.selector-card input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#2563eb}
.selector-card span{display:block;font-weight:800;color:#102033;line-height:1.25}
.selector-card:has(input:checked){border-color:#93c5fd;background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);box-shadow:0 12px 22px rgba(37,99,235,.12)}
.selector-grid + label{margin-top:14px}
@supports not selector(:has(*)){
  .selector-card.is-checked{border-color:#93c5fd;background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);box-shadow:0 12px 22px rgba(37,99,235,.12)}
}
@media (max-width:720px){.selector-grid{grid-template-columns:1fr}}

.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.module-card{
  display:block;padding:16px 16px 15px;border-radius:20px;border:1px solid #dbe7f4;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 22px rgba(15,23,42,.08);
  color:#14243a;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.module-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(37,99,235,.14);border-color:#bfdbfe}
.module-card-icon{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;
  border-radius:14px;background:linear-gradient(135deg,#0b2240,#2563eb);color:#fff;font-weight:900;font-size:.92rem;
}
.module-card strong{display:block;color:#0b1324;font-size:1rem;margin-bottom:4px}
.module-card small{display:block;color:#64748b;line-height:1.4;font-size:.84rem}
.dashboard-module-grid{margin-top:12px}
.lead-module-grid{margin-top:12px}
.employee-module-shell{display:grid;gap:12px}
.employee-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-quick-switch{
  display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid #dbe7f4;border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);box-shadow:0 12px 28px rgba(15,23,42,.08)
}
.employee-quick-pill{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:999px;
  background:#eef5ff;border:1px solid #d5e5fb;color:#1b3155;font-weight:800;text-decoration:none
}
.employee-quick-pill.active{background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);border-color:#1d4ed8;color:#fff;box-shadow:0 12px 22px rgba(37,99,235,.22)}
.employee-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.employee-snapshot-card{
  padding:14px 15px;border-radius:20px;border:1px solid #dbe7f4;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 22px rgba(15,23,42,.08)
}
.employee-snapshot-card span{display:block;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6a7f99;margin-bottom:6px}
.employee-snapshot-card strong{display:block;font-size:1.28rem;color:#0b1324}
.employee-snapshot-card small{display:block;margin-top:6px;color:#64748b;line-height:1.35}
.employee-focus-card{
  padding:18px 18px 16px;border-radius:24px;border:1px solid #bfdbfe;
  background:linear-gradient(135deg,#eef6ff 0%,#ffffff 48%,#f4fbff 100%);box-shadow:0 18px 36px rgba(37,99,235,.10)
}
.employee-focus-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.employee-focus-head h1{font-size:1.5rem;line-height:1.05;margin:0}
.employee-focus-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.employee-focus-stat{padding:12px 13px;border-radius:18px;border:1px solid #dbe7f4;background:rgba(255,255,255,.84)}
.employee-focus-stat span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6a7f99;margin-bottom:5px}
.employee-focus-stat strong{display:block;font-size:1.06rem;color:#0b1324}
.employee-home-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.module-card.compact{padding:14px 15px}
.employee-job-mini-grid{display:grid;gap:10px}
.employee-notice-item-strong{border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 10px 22px rgba(15,23,42,.06)}
.employee-mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chip-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:999px;
  background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;font-weight:800;text-decoration:none;font-size:.8rem
}
.employee-action-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.employee-action-chip{
  padding:12px 13px;border-radius:18px;border:1px solid #dbe7f4;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)
}
.employee-action-chip span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6a7f99;margin-bottom:5px}
.employee-action-chip strong{display:block;font-size:1.1rem;color:#0b1324}
.planner-quick-switch{
  display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid #dbe7f4;border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);box-shadow:0 12px 28px rgba(15,23,42,.08)
}
.planner-quick-pill{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:999px;
  background:#eef5ff;border:1px solid #d5e5fb;color:#1b3155;font-weight:800;text-decoration:none
}
.planner-quick-pill:hover,.employee-quick-pill:hover{border-color:#93c5fd;background:#dbeafe}
.planner-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.planner-status-chip{
  padding:12px 13px;border-radius:18px;border:1px solid #dbe7f4;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)
}
.planner-status-chip span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6a7f99;margin-bottom:5px}
.planner-status-chip strong{display:block;font-size:1.08rem;color:#0b1324}
.planner-manual-reminder{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
  padding:12px;
  border:1px solid #dbe7f4;
  border-radius:16px;
  background:#f8fbff;
}
.planner-manual-reminder span{color:#64748b;font-size:.9rem;font-weight:700}
.planner-focus-card{
  margin-top:14px;padding:16px;border-radius:22px;border:1px solid #bfdbfe;
  background:linear-gradient(135deg,#eef6ff 0%,#ffffff 52%,#f7fbff 100%);box-shadow:0 16px 34px rgba(37,99,235,.10)
}
.planner-focus-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.planner-focus-head strong{display:block;color:#0b1324;font-size:1.05rem;line-height:1.25}
.planner-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.planner-focus-chip{padding:12px 13px;border-radius:18px;border:1px solid #dbe7f4;background:rgba(255,255,255,.86)}
.planner-focus-chip span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6a7f99;margin-bottom:5px}
.planner-focus-chip strong{display:block;font-size:1.08rem;color:#0b1324}
.lead-job-item{display:block;text-decoration:none}
.lead-job-item-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.lead-hero-card .section-head{margin-bottom:10px}
.planner-section-bar{padding:14px 16px}
.planner-pos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.planner-pos-card{
  display:block;padding:18px;border-radius:22px;border:1px solid #dbe7f4;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 12px 26px rgba(15,23,42,.08);
  color:#10233f;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease
}
.planner-pos-card:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 18px 34px rgba(37,99,235,.16)}
.planner-pos-card.is-disabled{pointer-events:none;opacity:.55;filter:grayscale(.12)}
.planner-pos-icon{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;border-radius:14px;
  background:linear-gradient(135deg,#0b2240,#2563eb);color:#fff;font-weight:900;font-size:1rem
}
.planner-pos-card strong{display:block;font-size:1rem;color:#0b1324;margin-bottom:6px}
.planner-pos-card small{display:block;color:#64748b;line-height:1.4;font-size:.84rem}
.planner-choice-card{min-height:180px}
.planner-flow-card{display:none}
.employee-job-accordion-rich{border-radius:20px;border-color:#d6e6fb;box-shadow:0 12px 26px rgba(15,23,42,.06)}
.employee-job-summary-side{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.employee-job-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.employee-job-meta-card{padding:11px 12px;border-radius:16px;border:1px solid #dbe7f4;background:#f8fbff}
.employee-job-meta-card span{display:block;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6a7f99;margin-bottom:5px}
.employee-job-meta-card strong{display:block;color:#0b1324;font-size:.92rem;line-height:1.3}

.page-my_timesheet .my-timesheet-form-card h1,
.page-my_timesheet .my-timesheet-form-card h2{font-size:1.7rem}
.page-my_timesheet .stack-item form .btn.danger{width:100%}

.planner-section-team #planner-job,
.planner-section-team #planner-review,
.planner-section-team #planner-summary,
.planner-section-team #planner-submit,
.planner-section-team #planner-activity,
.planner-section-team #planner-leaves-card,
.planner-section-team #planner-entries,
.planner-section-team #planner-flow,
.planner-section-job #planner-team,
.planner-section-job #planner-review,
.planner-section-job #planner-summary,
.planner-section-job #planner-submit,
.planner-section-job #planner-activity,
.planner-section-job #planner-leaves-card,
.planner-section-job #planner-entries,
.planner-section-job #planner-flow,
.planner-section-timesheet #planner-team,
.planner-section-timesheet #planner-job,
.planner-section-timesheet #planner-review,
.planner-section-timesheet #planner-summary,
.planner-section-timesheet #planner-activity,
.planner-section-timesheet #planner-leaves-card,
.planner-section-timesheet #planner-entries,
.planner-section-timesheet #planner-flow,
.planner-section-activity #planner-team,
.planner-section-activity #planner-job,
.planner-section-activity #planner-review,
.planner-section-activity #planner-summary,
.planner-section-activity #planner-submit,
.planner-section-activity #planner-leaves-card,
.planner-section-activity #planner-entries,
.planner-section-activity #planner-flow,
.planner-section-check #planner-team,
.planner-section-check #planner-job,
.planner-section-check #planner-submit,
.planner-section-check #planner-activity,
.planner-section-check #planner-leaves-card,
.planner-section-flow #planner-team,
.planner-section-flow #planner-job,
.planner-section-flow #planner-review,
.planner-section-flow #planner-summary,
.planner-section-flow #planner-submit,
.planner-section-flow #planner-activity,
.planner-section-flow #planner-leaves-card,
.planner-section-flow #planner-entries{display:none}
.planner-section-flow .planner-flow-card{display:block}

@media (max-width:1220px){
  .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .employee-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .employee-focus-stats,
  .planner-focus-grid,
  .employee-job-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .module-grid,
  .employee-module-grid,
  .lead-module-grid{grid-template-columns:1fr}
  .planner-pos-grid{grid-template-columns:1fr}
  .employee-home-action-grid,
  .employee-action-strip,
  .planner-status-strip,
  .employee-snapshot-grid,
  .employee-focus-stats,
  .planner-focus-grid,
  .employee-job-meta-grid{grid-template-columns:1fr}
  .employee-quick-switch,
  .planner-quick-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .compact-role-head{flex-direction:column;align-items:flex-start}
  .compact-role-actions{width:100%;justify-content:space-between}
  .employee-focus-head,
  .planner-focus-head,
  .employee-job-summary-side{flex-direction:column;align-items:flex-start}
}

/* Lead PWA: simplified POS-style workflow */
.role-lead.page-planner .container{max-width:760px}
.lead-pos-shell{display:grid;gap:12px}
.lead-pos-top{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px;border-radius:12px;background:#ffffff;border:1px solid #d8e4f2;box-shadow:0 10px 22px rgba(15,23,42,.08)
}
.lead-pos-kicker{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.lead-pos-top h2{margin:2px 0 0;font-size:1.35rem;line-height:1.1;color:#0b1324}
.lead-pos-top p{margin:4px 0 0;color:#64748b;font-weight:800}
.lead-pos-date{display:flex;gap:8px;align-items:center}
.lead-pos-date input{min-width:144px;padding:10px 11px;border-radius:8px}
.lead-pos-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lead-pos-status div{
  padding:12px;border-radius:10px;background:#f8fafc;border:1px solid #d8e4f2
}
.lead-pos-status span{display:block;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.lead-pos-status strong{display:block;margin-top:4px;font-size:1.12rem;color:#0b1324;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-pos-back{display:flex;gap:8px;flex-wrap:wrap}
.lead-pos-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lead-pos-tile{
  min-height:134px;padding:14px;border-radius:12px;color:#fff;text-decoration:none;
  display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 24px rgba(15,23,42,.14);
  border:1px solid rgba(255,255,255,.24)
}
.lead-pos-tile span{
  width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.2);font-weight:900
}
.lead-pos-tile strong{display:block;margin-top:14px;font-size:1.12rem;line-height:1.12;color:#fff}
.lead-pos-tile small{display:block;margin-top:6px;color:rgba(255,255,255,.86);line-height:1.35;font-weight:700}
.lead-pos-tile.is-disabled{pointer-events:none;opacity:.55;filter:grayscale(.1)}
.tile-team{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.tile-flow{background:linear-gradient(135deg,#1d4ed8,#38bdf8)}
.tile-check{background:linear-gradient(135deg,#7c2d12,#f97316)}
.tile-leave{background:linear-gradient(135deg,#334155,#64748b)}
.tile-job{background:linear-gradient(135deg,#14532d,#22c55e)}
.tile-activity{background:linear-gradient(135deg,#7e22ce,#c084fc)}
.tile-docs{background:linear-gradient(135deg,#92400e,#f59e0b)}
.tile-note{background:linear-gradient(135deg,#334155,#0f172a)}
.lead-choice-menu .lead-pos-tile{min-height:190px}
.lead-pos-panel{
  border-radius:12px;padding:14px;background:#ffffff;border:1px solid #d8e4f2;
  box-shadow:0 12px 26px rgba(15,23,42,.08)
}
.lead-pos-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.lead-pos-panel-head h3{margin:2px 0 0;font-size:1.28rem;line-height:1.12;color:#0b1324}

.role-employee .compact-role-nav{display:none}
.employee-pos-shell{max-width:620px;margin:0 auto;gap:12px}
.employee-pos-top{border-radius:24px;padding:16px;background:linear-gradient(135deg,#ffffff 0%,#eef6ff 100%)}
.employee-pos-status{min-width:min(100%,360px)}
.employee-pos-back{margin-top:-2px}
.employee-pos-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-pos-menu .lead-pos-tile{border-radius:24px;min-height:146px}
.employee-current-job{border-radius:22px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.employee-pos-panel{border-radius:22px}

@media (max-width:720px){
  .role-employee .compact-role-shell{padding:10px;border-radius:20px;margin-bottom:10px}
  .role-employee .compact-role-brand small{display:none}
  .employee-pos-shell{max-width:none}
  .employee-pos-top{align-items:flex-start;flex-direction:column;border-radius:20px}
  .employee-pos-status{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .employee-pos-status div{padding:10px 8px}
  .employee-pos-status strong{font-size:1rem}
  .employee-pos-menu{gap:8px}
  .employee-pos-menu .lead-pos-tile{min-height:124px;border-radius:20px;padding:13px}
  .employee-pos-menu .lead-pos-tile strong{font-size:1rem}
  .employee-pos-menu .lead-pos-tile small{font-size:.78rem}
  .employee-current-job,.employee-pos-panel{border-radius:20px}
}
.lead-crew-list{display:grid;gap:8px;margin:8px 0 12px}
.lead-crew-row{
  display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid #d8e4f2;background:#f8fafc
}
.lead-crew-row input{width:20px;height:20px;accent-color:#2563eb}
.lead-crew-row b{display:block;color:#0b1324;line-height:1.2}
.lead-crew-row small{display:block;margin-top:3px;color:#64748b;font-weight:700}
.lead-crew-row.is-checked{background:#eff6ff;border-color:#93c5fd}
.lead-primary-action{width:100%;margin-top:12px;justify-content:center}
.lead-current-job{
  padding:12px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;margin-bottom:12px
}
.lead-current-job b{display:block;color:#0b1324;line-height:1.25}
.lead-current-job span{display:block;margin-top:5px;color:#475569;font-weight:700}
.lead-current-job.compact{margin-bottom:0}
.lead-job-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin-top:10px}
.lead-job-actions .btn{justify-content:center;width:100%}
.lead-inline-form{display:flex;margin:0}
.lead-check-list,.lead-entry-list{display:grid;gap:8px}
.lead-check-list div,.lead-entry-list div{
  padding:12px;border-radius:10px;border:1px solid #d8e4f2;background:#f8fafc
}
.lead-check-list div.is-ok{border-color:#bbf7d0;background:#f0fdf4}
.lead-check-list div.is-warn{border-color:#fed7aa;background:#fff7ed}
.lead-check-list b,.lead-entry-list b{display:block;color:#0b1324;line-height:1.25}
.lead-check-list span,.lead-entry-list span{display:block;margin-top:4px;color:#64748b;font-weight:700;line-height:1.35}

/* Romanian date input with custom calendar picker */
.date-ro-control{
  position:relative;
  display:block;
  width:100%;
  align-items:center;
}
.date-ro-control input{width:100%;cursor:pointer}
.date-ro-button{
  min-width:52px;
  min-height:44px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid #d8e4f2;
  background:#f8fafc;
  color:#0b1324;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.date-ro-button:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.date-ro-picker{
  position:absolute;
  z-index:80;
  top:calc(100% + 8px);
  right:0;
  width:min(312px, calc(100vw - 32px));
  padding:12px;
  border-radius:18px;
  border:1px solid #d8e4f2;
  background:#fff;
  box-shadow:0 22px 50px rgba(15,23,42,.24);
}
.date-ro-picker-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.date-ro-picker-head strong{text-align:center;color:#0b1324;font-size:.96rem}
.date-ro-picker-head button,
.date-ro-picker-grid button{
  border:0;
  border-radius:12px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:900;
  min-height:38px;
  cursor:pointer;
}
.date-ro-picker-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
  align-items:center;
}
.date-ro-weekday{
  text-align:center;
  color:#64748b;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
}
.date-ro-empty{min-height:38px}
.date-ro-picker-grid button{background:#f8fafc;color:#0b1324}
.date-ro-picker-grid button:hover{background:#dbeafe;color:#1d4ed8}
.date-ro-picker-grid button.is-selected{background:#2563eb;color:#fff;box-shadow:0 8px 16px rgba(37,99,235,.24)}

@media (max-width:720px){
  .role-lead.page-planner .container{padding:0}
  .lead-pos-shell{gap:10px}
  .lead-pos-top{align-items:flex-start;flex-direction:column;border-radius:10px}
  .lead-pos-date{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}
  .lead-pos-date input{min-width:0;width:100%}
  .lead-pos-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .lead-pos-status div{padding:10px 8px}
  .lead-pos-status strong{font-size:1rem}
  .lead-pos-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lead-pos-tile{min-height:126px;padding:12px;border-radius:10px}
  .lead-pos-tile strong{font-size:1rem}
  .lead-pos-tile small{font-size:.78rem}
  .lead-choice-menu{grid-template-columns:1fr}
  .lead-choice-menu .lead-pos-tile{min-height:150px}
  .lead-pos-panel{border-radius:10px;padding:12px}
  .lead-pos-panel-head{align-items:flex-start}
  .lead-job-actions{grid-template-columns:1fr 1fr}
  .date-ro-picker{left:0;right:auto;width:min(300px, calc(100vw - 36px))}
}

/* Field/PWA polish: clearer upload choices and cleaner lead workflow */
.field-upload-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:8px 0 10px;
}
.field-upload-grid.compact{gap:8px;margin:0}
.field-upload-card{
  display:block;
  padding:13px;
  border:1px solid #dbe7f4;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 22px rgba(15,23,42,.07);
}
.field-upload-card.single{margin:0}
.field-upload-card span{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.field-upload-card b{
  display:block;
  margin-bottom:9px;
  color:#0b1324;
  font-size:.98rem;
  line-height:1.2;
}
.field-upload-card input[type=file]{
  width:100%;
  font-size:.82rem;
  color:#334155;
}
.field-upload-card:focus-within{
  border-color:#93c5fd;
  box-shadow:0 0 0 4px rgba(59,130,246,.14),0 10px 22px rgba(15,23,42,.07);
}
.role-lead.page-planner .lead-pos-shell{
  max-width:620px;
  margin:0 auto;
}
.role-lead.page-planner .lead-pos-top,
.role-lead.page-planner .lead-pos-panel{
  border-radius:24px;
}
.role-lead.page-planner .lead-pos-top{
  padding:16px;
  background:linear-gradient(135deg,#ffffff 0%,#eef6ff 100%);
}
.role-lead.page-planner .lead-pos-tile{
  border-radius:24px;
}
.role-lead.page-planner .lead-current-job{
  border-radius:18px;
}

@media (max-width:720px){
  .field-upload-grid{grid-template-columns:1fr}
  .role-lead.page-planner .lead-pos-shell{max-width:none}
  .role-lead.page-planner .lead-pos-top,
  .role-lead.page-planner .lead-pos-panel,
  .role-lead.page-planner .lead-pos-tile{border-radius:20px}
  .role-lead.page-planner .lead-pos-tile{min-height:118px}
}

/* Admin PWA: mobile-first control surface */
.admin-mobile-home{display:none}

@media (max-width:720px){
  .admin-mobile-body{background:linear-gradient(180deg,#061528 0%,#0b2240 42%,#eef4fb 42%,#eef4fb 100%)}
  .admin-mobile-shell{
    display:block;
    max-width:520px;
    margin:0 auto;
    padding:10px 10px 20px;
  }
  .admin-mobile-shell .sidebar{display:none}
  .admin-mobile-shell .main-shell{min-width:0}
  .admin-mobile-shell .content-topbar{
    padding:4px 2px 10px;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .admin-mobile-shell .content-topbar > div:first-child{min-width:0}
  .admin-mobile-shell .eyebrow{font-size:.66rem;color:#9fc5ff}
  .admin-mobile-shell .page-title{
    font-size:1.35rem;
    line-height:1.1;
    margin-top:4px;
    letter-spacing:-.03em;
  }
  .admin-mobile-shell .topbar-usercard{
    padding:8px;
    border-radius:16px;
    gap:8px;
    box-shadow:none;
  }
  .admin-mobile-shell .topbar-usertext{display:none}
  .admin-mobile-shell .btnlink{padding:9px 11px;border-radius:12px;font-size:.86rem}
  .admin-mobile-shell .topbar-back-btn{margin:0 0 8px;padding:9px 12px;border-radius:14px}
  .admin-mobile-shell .notification-strip{
    display:none;
  }
  .admin-mobile-home{
    display:block;
    margin:0 0 12px;
    padding:12px;
    border:1px solid rgba(191,219,254,.22);
    border-radius:24px;
    background:linear-gradient(135deg,rgba(15,35,66,.92),rgba(20,62,112,.78));
    box-shadow:0 18px 38px rgba(2,8,23,.22);
  }
  .admin-mobile-home-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    margin-bottom:10px;
    color:#fff;
  }
  .admin-mobile-home-head span{
    display:block;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#a9ccff;
  }
  .admin-mobile-home-head strong{display:block;margin-top:3px;font-size:1.18rem;letter-spacing:-.03em}
  .admin-mobile-home-head a{
    color:#fff;
    font-size:.78rem;
    font-weight:900;
    padding:7px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
  }
  .admin-mobile-action-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .admin-mobile-action{
    min-height:106px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:12px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.18);
    background:linear-gradient(180deg,#ffffff 0%,#eef6ff 100%);
    color:#0b1324;
    box-shadow:0 10px 22px rgba(2,8,23,.16);
  }
  .admin-mobile-action:first-child{
    grid-column:1 / -1;
    min-height:96px;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    background:linear-gradient(135deg,#ffffff 0%,#dbeafe 100%);
  }
  .admin-mobile-action:first-child span{
    width:46px;
    height:46px;
    border-radius:16px;
  }
  .admin-mobile-action:first-child b{margin-top:0;font-size:1.08rem}
  .admin-mobile-action:first-child small{font-size:.8rem}
  .admin-mobile-action.active{outline:3px solid rgba(59,130,246,.22)}
  .admin-mobile-action span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:linear-gradient(135deg,#1d4ed8,#38bdf8);
    color:#fff;
    font-size:.78rem;
    font-weight:900;
  }
  .admin-mobile-action b{display:block;margin-top:10px;font-size:.96rem;line-height:1.1;color:#071120}
  .admin-mobile-action small{display:block;margin-top:4px;color:#64748b;font-size:.76rem;font-weight:800;line-height:1.25}
  .admin-mobile-shell .container{
    padding:12px;
    border-radius:24px;
    box-shadow:0 16px 34px rgba(15,23,42,.16);
    overflow:visible;
  }
  .admin-mobile-body.page-dashboard .admin-mobile-shell .container{
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .admin-mobile-body.page-dashboard .admin-mobile-shell .container > :not(.flash){
    display:none;
  }
  .admin-mobile-shell .card{padding:14px;border-radius:22px}
  .admin-mobile-shell h1{font-size:1.35rem}
  .admin-mobile-shell h2{font-size:1.22rem}
  .admin-mobile-shell h3{font-size:1.05rem}
  .admin-mobile-shell .section-head{gap:8px}
  .admin-mobile-shell .actions{display:grid;grid-template-columns:1fr;gap:8px}
  .admin-mobile-shell .actions .btn,
  .admin-mobile-shell .actions a.btn{width:100%;justify-content:center;text-align:center}
  .admin-mobile-shell .report-totals-bar,
  .admin-mobile-shell .planner-v2-stats,
  .admin-mobile-shell .planner-status-strip,
  .admin-mobile-shell .job-doc-summary{grid-template-columns:1fr 1fr}
  .admin-mobile-shell input,
  .admin-mobile-shell select,
  .admin-mobile-shell textarea{font-size:16px;border-radius:14px}
  .admin-mobile-shell .table{font-size:.88rem}
  .admin-mobile-shell .approval-panel table,
  .admin-mobile-body.page-leaves .admin-mobile-shell table{
    display:block;
    overflow:visible;
  }
  .admin-mobile-shell .approval-panel thead,
  .admin-mobile-body.page-leaves .admin-mobile-shell table thead{display:none}
  .admin-mobile-shell .approval-panel tbody,
  .admin-mobile-shell .approval-panel tr,
  .admin-mobile-shell .approval-panel td,
  .admin-mobile-body.page-leaves .admin-mobile-shell table tbody,
  .admin-mobile-body.page-leaves .admin-mobile-shell table tr,
  .admin-mobile-body.page-leaves .admin-mobile-shell table td{display:block;width:100%}
  .admin-mobile-shell .approval-panel tr,
  .admin-mobile-body.page-leaves .admin-mobile-shell table tr{
    margin-bottom:10px;
    padding:12px;
    border:1px solid #dbe7f4;
    border-radius:18px;
    background:#f8fbff;
  }
  .admin-mobile-shell .approval-panel td,
  .admin-mobile-body.page-leaves .admin-mobile-shell table td{
    border:0;
    padding:5px 0;
  }
  .admin-mobile-shell .approval-panel td:last-child,
  .admin-mobile-body.page-leaves .admin-mobile-shell table td:last-child{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding-top:10px;
  }
  .admin-mobile-shell .approval-panel td form,
  .admin-mobile-body.page-leaves .admin-mobile-shell table td form{display:block !important}
  .admin-mobile-shell .approval-panel td .btn,
  .admin-mobile-body.page-leaves .admin-mobile-shell table td .btn{width:100%;text-align:center}
  .admin-mobile-body.page-jobs .admin-mobile-shell .grid.two{
    display:flex;
    flex-direction:column;
  }
  .admin-mobile-body.page-jobs .admin-mobile-shell .job-create-card{
    order:-1;
  }
  .admin-mobile-body.page-jobs .admin-mobile-shell .jobs-table{
    display:block;
    overflow-x:auto;
  }
}

/* MacOS soft theme polish - visual only, no layout logic changes */
:root{
  --glass:rgba(255,255,255,.72);
  --glass-strong:rgba(255,255,255,.88);
  --glass-dark:rgba(8,23,44,.72);
  --ease-out:cubic-bezier(.2,.8,.2,1);
}

html{scroll-behavior:smooth}

body{
  background:
    radial-gradient(circle at 18% 8%, rgba(56,189,248,.22), transparent 26%),
    radial-gradient(circle at 86% 12%, rgba(132,204,22,.16), transparent 24%),
    radial-gradient(circle at 52% 92%, rgba(37,99,235,.16), transparent 34%),
    linear-gradient(135deg,#020817 0%,#071528 44%,#102e57 100%);
}

.app-shell{gap:26px;padding:24px}

.sidebar{
  background:linear-gradient(180deg,rgba(5,17,33,.78),rgba(7,20,38,.70));
  border-color:rgba(255,255,255,.16);
  box-shadow:0 30px 80px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(24px) saturate(1.35);
  -webkit-backdrop-filter:blur(24px) saturate(1.35);
}

.sidebar:after{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:22px;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.06);
}

.brand-mark{
  background:linear-gradient(135deg,rgba(132,204,22,.95),rgba(14,165,233,.95) 58%,rgba(37,99,235,.95));
  box-shadow:0 16px 36px rgba(14,165,233,.28), inset 0 1px 0 rgba(255,255,255,.25);
}

.sidebar-link{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid transparent;
}

.sidebar-link:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  opacity:0;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  transition:opacity .22s var(--ease-out);
}

.sidebar-link:hover{
  background:rgba(255,255,255,.06);
  transform:translateX(4px) scale(1.01);
  border-color:rgba(255,255,255,.08);
}

.sidebar-link:hover:before,
.sidebar-link.active:before{opacity:1}

.sidebar-link.active{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(219,234,254,.88));
  box-shadow:0 18px 34px rgba(2,8,23,.22), inset 0 1px 0 rgba(255,255,255,.85);
}

.sidebar-icon{
  transition:transform .22s var(--ease-out), background .22s var(--ease-out);
}

.sidebar-link:hover .sidebar-icon{transform:scale(1.08) rotate(-2deg)}

.topbar-usercard,
.notification-strip{
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
}

.container{
  background:linear-gradient(180deg,rgba(249,252,255,.90),rgba(235,242,250,.88));
  border-color:rgba(255,255,255,.36);
  box-shadow:0 34px 90px rgba(2,8,23,.30), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
}

.card{
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,251,255,.82));
  border-color:rgba(203,213,225,.76);
  box-shadow:0 18px 42px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out);
}

.card:hover{
  border-color:rgba(147,197,253,.78);
  box-shadow:0 24px 52px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.86);
}

.btn,
.btnlink{
  transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out), filter .18s var(--ease-out), background .18s var(--ease-out);
}

.btn:hover,
.btnlink:hover{transform:translateY(-2px)}

input,
select,
textarea{
  background:rgba(255,255,255,.86);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.module-card,
.planner-pos-card,
.employee-home-action,
.employee-action-chip,
.admin-mobile-action,
.lead-pos-tile{
  transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out), filter .22s var(--ease-out);
}

.module-card:hover,
.planner-pos-card:hover,
.employee-home-action:hover,
.admin-mobile-action:hover{
  transform:translateY(-3px) scale(1.01);
  box-shadow:0 24px 48px rgba(15,23,42,.16);
}

.table tbody tr:hover td{background:rgba(239,246,255,.72)}

@keyframes appFadeUp{
  from{opacity:0;transform:translateY(10px) scale(.992)}
  to{opacity:1;transform:none}
}

@keyframes softPulse{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:.88;transform:scale(1.04)}
}

@media (prefers-reduced-motion:no-preference){
  .container{animation:appFadeUp .42s var(--ease-out) both}
  .card{animation:appFadeUp .36s var(--ease-out) both}
  .sidebar:before{animation:softPulse 8s ease-in-out infinite}
}

@media (max-width:720px){
  .app-shell{padding:12px;gap:14px}
  .sidebar{border-radius:24px}
  .container{border-radius:26px}
  .card:hover{transform:none}
}

@media (prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* PGV Cyberpunk operations theme - visual override only */
:root{
  --bg-1:#02060b;
  --bg-2:#03111f;
  --bg-3:#061d2d;
  --bg-4:#09283a;
  --shell:rgba(5,16,27,.78);
  --card:rgba(7,20,33,.78);
  --card-soft:rgba(9,28,44,.72);
  --card-tint:rgba(12,42,61,.74);
  --text:#e8fbff;
  --text-2:#c4d7e7;
  --muted:#89a7bb;
  --line:rgba(82,211,255,.26);
  --line-strong:rgba(162,255,61,.38);
  --primary:#38d9ff;
  --primary-strong:#7df9ff;
  --primary-soft:rgba(56,217,255,.16);
  --teal:#1fffd2;
  --success:#a2ff3d;
  --warning:#ffb020;
  --danger:#ff4d6d;
  --sidebar-text:#d9f8ff;
  --sidebar-muted:#7ba5ba;
  --shadow-xl:0 30px 90px rgba(0,0,0,.46);
  --shadow-lg:0 20px 54px rgba(0,0,0,.34);
  --shadow-md:0 12px 34px rgba(0,0,0,.28);
  --cyber-panel:rgba(5,16,27,.76);
  --cyber-panel-strong:rgba(8,25,39,.88);
  --cyber-cyan:#38d9ff;
  --cyber-lime:#a2ff3d;
  --cyber-amber:#ffb020;
  --cyber-red:#ff4d6d;
}

body,
.login-body{
  color:var(--text);
  background:
    linear-gradient(rgba(56,217,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,217,255,.04) 1px, transparent 1px),
    linear-gradient(135deg,#02060b 0%,#03111f 36%,#061d2d 70%,#09283a 100%) !important;
  background-size:42px 42px,42px 42px,auto !important;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(90deg, transparent 0%, rgba(56,217,255,.08) 50%, transparent 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 7px);
  opacity:.22;
}

.sidebar:before,
.login-brand-side:after{display:none}

.app-shell{gap:28px}

.sidebar{
  background:linear-gradient(180deg,rgba(3,13,24,.88),rgba(4,22,35,.72)) !important;
  border-color:rgba(56,217,255,.30) !important;
  box-shadow:0 0 0 1px rgba(162,255,61,.08), 0 28px 80px rgba(0,0,0,.52), inset 0 1px 0 rgba(125,249,255,.16) !important;
}

.sidebar:after{
  border-color:rgba(56,217,255,.12);
  box-shadow:inset 0 0 34px rgba(56,217,255,.05);
}

.brand-title,
.page-title,
h1,h2,h3,
.card strong,
.module-card strong,
.topbar-usertext strong{
  color:var(--text);
  letter-spacing:0;
}

.brand-subtitle,
p,
.small,
.sidebar-version,
.module-card small,
.metric-card small,
.topbar-usertext .role{
  color:var(--muted);
}

.brand-mark,
.sidebar-icon,
.module-card-icon,
.notification-bell-icon,
.admin-mobile-action span{
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan) 48%,#2563eb) !important;
  color:#03111f !important;
  box-shadow:0 0 18px rgba(56,217,255,.28), inset 0 1px 0 rgba(255,255,255,.30) !important;
}

.brand-logo{filter:drop-shadow(0 0 10px rgba(56,217,255,.38))}

.sidebar-link{
  color:var(--sidebar-text);
  border-color:transparent;
}

.sidebar-link:hover{
  background:rgba(56,217,255,.08) !important;
  border-color:rgba(56,217,255,.18) !important;
}

.sidebar-link.active{
  color:#03111f !important;
  background:linear-gradient(135deg,rgba(162,255,61,.95),rgba(56,217,255,.90)) !important;
  box-shadow:0 0 28px rgba(56,217,255,.28), inset 0 1px 0 rgba(255,255,255,.50) !important;
}

.sidebar-link.active span:not(.sidebar-icon){color:#03111f}
.sidebar-link.active .sidebar-icon{background:rgba(3,17,31,.92)!important;color:var(--cyber-lime)!important}

.eyebrow,
.eyebrow-soft,
.sidebar-group,
label,
.section-head .eyebrow,
.compact-role-head small{
  color:#8feeff !important;
  letter-spacing:.08em;
}

.content-topbar{padding-top:8px}

.topbar-usercard,
.notification-strip,
.compact-role-shell{
  background:linear-gradient(135deg,rgba(5,23,36,.88),rgba(9,37,55,.72)) !important;
  border-color:rgba(56,217,255,.28) !important;
  box-shadow:0 0 0 1px rgba(162,255,61,.06), 0 20px 48px rgba(0,0,0,.36), inset 0 1px 0 rgba(125,249,255,.14) !important;
}

.notification-strip-head span,
.notification-strip-head a,
.notification-pill strong{color:var(--text)}

.notification-pill,
.stack-item,
.safety-item,
.dashboard-crew-card,
.dashboard-audit-item,
.jobs-recent-card,
.planner-v2-stat,
.planner-status-chip,
.planner-summary-item,
.planner-empty,
.kw-summary-item,
.report-total-card,
.approval-kpi-card,
.metric-card,
.mix-card{
  background:linear-gradient(180deg,rgba(8,24,38,.82),rgba(7,20,33,.70)) !important;
  border-color:rgba(56,217,255,.24) !important;
  color:var(--text);
  box-shadow:inset 0 1px 0 rgba(125,249,255,.10), 0 14px 34px rgba(0,0,0,.22) !important;
}

.container{
  background:linear-gradient(180deg,rgba(5,16,27,.82),rgba(7,22,35,.74)) !important;
  border-color:rgba(56,217,255,.34) !important;
  box-shadow:0 0 0 1px rgba(162,255,61,.08), 0 34px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(125,249,255,.16) !important;
}

.container:before{
  background:linear-gradient(90deg,rgba(56,217,255,.18),rgba(162,255,61,.10),rgba(56,217,255,.04)) !important;
  opacity:.45;
}

.card,
.login-form-card{
  background:linear-gradient(180deg,rgba(8,24,38,.86),rgba(6,19,31,.76)) !important;
  border:1px solid rgba(56,217,255,.28) !important;
  color:var(--text);
  box-shadow:0 0 0 1px rgba(162,255,61,.04), 0 20px 54px rgba(0,0,0,.30), inset 0 1px 0 rgba(125,249,255,.14) !important;
}

.card:hover{
  border-color:rgba(162,255,61,.44) !important;
  box-shadow:0 0 0 1px rgba(162,255,61,.10), 0 26px 64px rgba(0,0,0,.34), 0 0 30px rgba(56,217,255,.10), inset 0 1px 0 rgba(125,249,255,.20) !important;
}

.dashboard-hero,
.lead-hero-card,
.planner-lead-hero{
  border-top:1px solid rgba(162,255,61,.48) !important;
}

.kpi .card,
.metric-card,
.approval-kpi-card,
.report-total-card{
  position:relative;
  overflow:hidden;
}

.kpi .card:before,
.metric-card:before,
.approval-kpi-card:before,
.report-total-card:before{
  background:linear-gradient(90deg,var(--cyber-cyan),var(--cyber-lime)) !important;
  box-shadow:0 0 18px rgba(56,217,255,.45);
}

.kpi .v,
.metric-card strong,
.report-total-card strong,
.approval-kpi-card strong,
.planner-v2-stat strong,
.planner-summary-item strong,
.kw-summary-item strong{
  color:#f4feff !important;
  text-shadow:0 0 14px rgba(56,217,255,.22);
}

.kpi .t,
.metric-card span,
.report-total-card span,
.approval-kpi-card span,
.planner-v2-stat span,
.planner-summary-item span,
.planner-empty,
.kw-summary-item span,
th{
  color:#8feeff !important;
}

.module-card,
.planner-pos-card,
.lead-pos-tile,
.employee-home-action,
.employee-action-chip,
.admin-mobile-action,
.filter-chip,
.btn,
.btn.light,
button,
.compact-role-link{
  border-color:rgba(56,217,255,.28) !important;
}

.module-card,
.planner-pos-card,
.lead-pos-tile{
  background:linear-gradient(145deg,rgba(9,30,47,.86),rgba(5,18,31,.72)) !important;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.12), 0 18px 42px rgba(0,0,0,.24) !important;
}

.module-card:hover,
.planner-pos-card:hover,
.lead-pos-tile:hover,
.admin-mobile-action:hover{
  border-color:rgba(162,255,61,.48) !important;
  box-shadow:0 0 28px rgba(56,217,255,.18), 0 24px 56px rgba(0,0,0,.30) !important;
}

.btn,
button.btn,
input[type=submit]{
  color:#03111f !important;
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan)) !important;
  box-shadow:0 0 22px rgba(56,217,255,.20), inset 0 1px 0 rgba(255,255,255,.35) !important;
}

.btn.light,
.btnlink,
.filter-chip,
.compact-role-link,
.date-ro-picker button{
  color:var(--text) !important;
  background:linear-gradient(180deg,rgba(12,38,58,.88),rgba(8,26,42,.78)) !important;
  border-color:rgba(56,217,255,.26) !important;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.12), 0 10px 28px rgba(0,0,0,.20) !important;
}

.btn.danger,
button.danger{
  color:#fff !important;
  background:linear-gradient(135deg,#ff3159,#ff7a45) !important;
  border-color:rgba(255,77,109,.50) !important;
}

input,
select,
textarea{
  color:var(--text) !important;
  background:rgba(3,13,24,.82) !important;
  border-color:rgba(56,217,255,.28) !important;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.08), 0 0 0 1px rgba(162,255,61,.02) !important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(162,255,61,.74) !important;
  box-shadow:0 0 0 3px rgba(56,217,255,.14), 0 0 22px rgba(56,217,255,.18) !important;
}

::placeholder{color:#6f91a6!important}

.table{
  color:var(--text);
}

.table th,
.table td{
  border-color:rgba(56,217,255,.18) !important;
}

.table tbody tr:hover td{
  background:rgba(56,217,255,.08) !important;
}

.badge,
.chip,
.status-pill{
  background:rgba(56,217,255,.12) !important;
  border-color:rgba(56,217,255,.28) !important;
  color:var(--primary-strong) !important;
}

.badge.in_lucru,
.badge-status.badge-in_lucru,
.status-pill.ok,
.chip.ok,
.ok-card{
  border-color:rgba(162,255,61,.42) !important;
  color:var(--cyber-lime) !important;
}

.warning-card,
.chip.warn,
.status-pill.warn{
  border-color:rgba(255,176,32,.46) !important;
  color:var(--cyber-amber) !important;
}

.danger-card,
.flash.bad{
  border-color:rgba(255,77,109,.48) !important;
}

.flash{
  background:linear-gradient(180deg,rgba(7,22,35,.94),rgba(5,18,30,.88)) !important;
  color:var(--text) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(125,249,255,.14) !important;
}

.flash.ok{
  border-color:rgba(162,255,61,.44) !important;
}

.flash.bad{
  background:linear-gradient(180deg,rgba(55,12,24,.88),rgba(26,9,18,.82)) !important;
}

.date-ro-picker,
.dropdown-menu{
  background:rgba(5,16,27,.96) !important;
  border-color:rgba(56,217,255,.32) !important;
  box-shadow:0 24px 58px rgba(0,0,0,.42) !important;
}

.chart-bar-track,
.mix-bar{
  background:rgba(56,217,255,.10) !important;
  border-color:rgba(56,217,255,.18) !important;
}

.chart-bar-fill,
.mix-bar span{
  background:linear-gradient(180deg,var(--cyber-lime),var(--cyber-cyan)) !important;
  box-shadow:0 0 18px rgba(56,217,255,.34);
}

.pgv-core-dashboard{
  margin:0 0 18px;
  padding:10px;
  border:1px solid rgba(56,217,255,.34);
  border-radius:28px;
  background:
    linear-gradient(rgba(56,217,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,217,255,.04) 1px, transparent 1px),
    linear-gradient(145deg,rgba(2,8,16,.96),rgba(5,22,35,.88));
  background-size:42px 42px,42px 42px,auto;
  box-shadow:0 0 0 1px rgba(162,255,61,.08),0 28px 78px rgba(0,0,0,.42),inset 0 1px 0 rgba(125,249,255,.16);
  overflow:hidden;
}

.pgv-core-scroll{
  overflow-x:auto;
  border-radius:22px;
  scrollbar-color:rgba(56,217,255,.48) rgba(3,13,24,.8);
}

.pgv-core-svg{
  display:block;
  width:100%;
  min-width:1080px;
  height:auto;
  border-radius:20px;
}

.pgv-core-svg text{
  user-select:none;
}

.pgv-core-svg a{
  cursor:pointer;
  text-decoration:none;
}

.pgv-core-svg a:hover .pc-panel,
.pgv-core-svg a:hover .pc-hot{
  stroke:#a2ff3d;
  filter:drop-shadow(0 0 8px rgba(56,217,255,.28));
}

@media (max-width:980px){
  .pgv-core-dashboard{
    padding:8px;
    border-radius:22px;
  }
  .pgv-core-svg{
    min-width:980px;
  }
}

.admin-mobile-body{
  background:
    linear-gradient(rgba(56,217,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,217,255,.04) 1px, transparent 1px),
    linear-gradient(180deg,#02060b 0%,#03111f 48%,#061d2d 100%) !important;
  background-size:36px 36px,36px 36px,auto !important;
}

.admin-mobile-home{
  background:linear-gradient(145deg,rgba(6,25,39,.94),rgba(4,15,27,.86)) !important;
  border-color:rgba(56,217,255,.34) !important;
  box-shadow:0 0 0 1px rgba(162,255,61,.08), 0 22px 52px rgba(0,0,0,.38), inset 0 1px 0 rgba(125,249,255,.16) !important;
}

.admin-mobile-action{
  background:linear-gradient(145deg,rgba(10,34,52,.92),rgba(5,18,31,.82)) !important;
  color:var(--text) !important;
}

.admin-mobile-action:first-child{
  background:linear-gradient(135deg,rgba(162,255,61,.16),rgba(56,217,255,.18),rgba(8,24,38,.88)) !important;
}

.admin-mobile-action b{color:var(--text) !important}
.admin-mobile-action small{color:var(--muted) !important}

.employee-shell-body,
.lead-shell-body{
  background:
    linear-gradient(rgba(56,217,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,217,255,.035) 1px, transparent 1px),
    linear-gradient(180deg,#02060b 0%,#03111f 50%,#061d2d 100%) !important;
  background-size:36px 36px,36px 36px,auto !important;
}

@media (max-width:720px){
  .content-topbar,
  .container{
    border-radius:24px;
  }
  .page-title{font-size:1.48rem}
  .card,
  .module-card,
  .admin-mobile-action{
    box-shadow:0 14px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(125,249,255,.12) !important;
  }
}

/* Cyberpunk readability fixes for dense approval/payroll tables */
.table tbody td{
  color:#d8eef7 !important;
}

.table td b,
.table td strong,
.employee-name-cell b,
.timesheet-summary-table td:first-child b,
.approval-table td:nth-child(2) b,
.card .small b,
.small strong{
  color:#f2feff !important;
  text-shadow:0 0 12px rgba(56,217,255,.22);
}

.table .small,
.approval-table .small,
.timesheet-summary-table .small{
  color:#9fbed0 !important;
}

.table td:last-child a:not(.btn){
  color:#03111f !important;
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan)) !important;
  border-color:rgba(56,217,255,.38) !important;
}

.row-muted{opacity:.88}
.row-muted td{
  background:rgba(5,18,31,.42) !important;
}

.row-warning td{
  background:rgba(255,176,32,.10) !important;
}

.table-total-row th,
.table-total-row td{
  background:linear-gradient(180deg,rgba(10,34,52,.95),rgba(5,18,31,.90)) !important;
  color:#f2feff !important;
  border-top:1px solid rgba(162,255,61,.42) !important;
}

/* Cyberpunk UI corrections: job tabs and reports */
.tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(56,217,255,.36) !important;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(12,38,58,.94),rgba(6,21,34,.86)) !important;
  color:#dffaff !important;
  font-weight:900;
  line-height:1;
  text-shadow:0 0 10px rgba(56,217,255,.18);
  box-shadow:inset 0 1px 0 rgba(125,249,255,.14), 0 10px 26px rgba(0,0,0,.22) !important;
}

.tab:hover{
  border-color:rgba(162,255,61,.56) !important;
  color:#ffffff !important;
  transform:translateY(-1px);
  box-shadow:0 0 24px rgba(56,217,255,.18), 0 14px 34px rgba(0,0,0,.28) !important;
}

.tab.active{
  border-color:rgba(162,255,61,.78) !important;
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan)) !important;
  color:#03111f !important;
  text-shadow:none;
  box-shadow:0 0 28px rgba(56,217,255,.26), inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.page-reports .report-shell{
  padding:24px;
  overflow:hidden;
}

.page-reports .report-brand{
  position:relative;
  align-items:stretch;
  padding:20px;
  margin-bottom:18px;
  border:1px solid rgba(56,217,255,.34) !important;
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 0%,rgba(162,255,61,.15),transparent 34%),
    radial-gradient(circle at 86% 0%,rgba(56,217,255,.18),transparent 36%),
    linear-gradient(145deg,rgba(9,30,47,.95),rgba(4,15,26,.90)) !important;
  box-shadow:0 0 0 1px rgba(162,255,61,.06), 0 22px 58px rgba(0,0,0,.30), inset 0 1px 0 rgba(125,249,255,.16);
}

.page-reports .report-brand:before{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:0;
  height:2px;
  background:linear-gradient(90deg,var(--cyber-lime),var(--cyber-cyan),transparent);
  opacity:.85;
}

.page-reports .report-brand__left{
  align-items:center;
}

.page-reports .report-brand__logo{
  width:78px;
  height:78px;
  border:1px solid rgba(56,217,255,.36) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 0 24px rgba(56,217,255,.18), 0 16px 34px rgba(0,0,0,.28) !important;
}

.page-reports .report-brand__title{
  color:#f4feff;
  font-size:1.72rem;
  text-shadow:0 0 18px rgba(56,217,255,.18);
}

.page-reports .report-brand__meta,
.page-reports .report-filters-note{
  color:#9fbed0 !important;
}

.page-reports .report-brand__badge{
  align-self:center;
  border:1px solid rgba(162,255,61,.42);
  background:rgba(162,255,61,.10) !important;
  color:var(--cyber-lime) !important;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.10), 0 0 24px rgba(162,255,61,.10);
}

.page-reports .section-head{
  padding:16px 18px;
  border:1px solid rgba(56,217,255,.22);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(8,26,42,.66),rgba(5,18,31,.46));
}

.page-reports .section-head h2,
.page-reports h3{
  color:#f4feff;
}

.page-reports .section-head p{
  max-width:900px;
  color:#b9d7e6;
}

.page-reports .report-actions{
  gap:10px;
}

.page-reports .report-type-nav{
  padding:10px;
  border:1px solid rgba(56,217,255,.20);
  border-radius:20px;
  background:rgba(3,13,24,.34);
}

.page-reports .report-actions .btn{
  min-width:0;
  white-space:nowrap;
}

.page-reports .report-filter-panel{
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(56,217,255,.22);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(5,18,31,.74),rgba(3,13,24,.58));
}

.page-reports .report-export-actions{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(56,217,255,.16);
}

.page-reports .report-totals-bar{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  margin-top:16px;
}

.page-reports .report-total-card{
  min-height:82px;
  border-radius:18px;
}

.page-reports .report-data-table{
  border:1px solid rgba(56,217,255,.22);
  border-radius:18px;
  overflow:hidden;
  background:rgba(3,13,24,.44);
}

.page-reports .report-data-table thead th{
  background:linear-gradient(180deg,rgba(10,44,64,.92),rgba(5,24,39,.92)) !important;
  border-bottom:1px solid rgba(162,255,61,.28) !important;
}

.page-reports .report-data-table tbody tr:nth-child(even) td{
  background:rgba(56,217,255,.035) !important;
}

.page-reports .report-data-table .row-warning td{
  background:rgba(255,176,32,.12) !important;
}

.page-reports .report-data-table .table-total-row th,
.page-reports .report-data-table .table-total-row td{
  background:linear-gradient(180deg,rgba(10,34,52,.95),rgba(5,18,31,.90)) !important;
  color:#f2feff !important;
  border-top:1px solid rgba(162,255,61,.42) !important;
}

@media (max-width:900px){
  .page-reports .report-shell{padding:16px}
  .page-reports .report-brand{
    flex-direction:column;
    align-items:flex-start;
    border-radius:22px;
  }
  .page-reports .report-brand__badge{
    width:100%;
    justify-content:center;
  }
  .page-reports .report-type-nav{
    overflow:auto;
    flex-wrap:nowrap;
  }
}

/* Weekly planning */
.weekly-plan-shell,
.lead-week-shell{
  display:grid;
  gap:18px;
}

.weekly-plan-hero,
.weekly-form-card,
.lead-week-main-card{
  position:relative;
  overflow:hidden;
}

.weekly-plan-titlebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px;
  border:1px solid rgba(56,217,255,.22);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(5,18,31,.72),rgba(3,13,24,.50));
}

.weekly-plan-titlebar > div:first-child{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.weekly-plan-titlebar strong{
  color:#f2feff;
  font-size:1.1rem;
}

.weekly-week-nav{
  justify-content:flex-end;
}

.weekly-plan-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.weekly-board{
  display:grid;
  grid-template-columns:repeat(6,minmax(190px,1fr));
  gap:12px;
  align-items:start;
}

.weekly-day-column{
  min-height:280px;
  border:1px solid rgba(56,217,255,.24);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(8,24,38,.82),rgba(5,18,31,.68));
  box-shadow:inset 0 1px 0 rgba(125,249,255,.10),0 18px 38px rgba(0,0,0,.24);
  overflow:hidden;
}

.weekly-day-column.is-today{
  border-color:rgba(162,255,61,.50);
  box-shadow:0 0 28px rgba(162,255,61,.10), inset 0 1px 0 rgba(125,249,255,.14);
}

.weekly-day-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid rgba(56,217,255,.18);
  background:rgba(56,217,255,.06);
}

.weekly-day-head span{
  color:#8feeff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}

.weekly-day-head strong{
  color:#f2feff;
  white-space:nowrap;
}

.weekly-day-list{
  display:grid;
  gap:10px;
  padding:12px;
}

.weekly-assignment-card{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid rgba(56,217,255,.22);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(3,13,24,.74),rgba(8,26,42,.58));
}

.weekly-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}

.weekly-card-top b{
  color:#f2feff;
  line-height:1.25;
}

.weekly-card-actions{
  gap:6px;
  align-items:center;
}

.weekly-card-actions form{
  margin:0;
}

.weekly-empty{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border:1px dashed rgba(56,217,255,.22);
  border-radius:16px;
  color:#7ea2b7;
  text-align:center;
}

.weekly-member-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-top:8px;
}

.weekly-member-pill{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:10px 12px;
  border:1px solid rgba(56,217,255,.24);
  border-radius:14px;
  background:rgba(3,13,24,.58);
  color:var(--text);
  font-weight:800;
}

.weekly-member-pill input{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.lead-week-shell{
  max-width:760px;
  margin:0 auto;
  padding-bottom:78px;
}

.lead-week-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.lead-week-top h2{
  margin:0;
  color:#f2feff;
}

.lead-week-top p{
  margin:4px 0 0;
  color:#9fbed0;
}

.lead-week-main-card{
  border-color:rgba(162,255,61,.38) !important;
  background:
    radial-gradient(circle at 8% 0%,rgba(162,255,61,.13),transparent 34%),
    linear-gradient(180deg,rgba(8,24,38,.92),rgba(5,18,31,.82)) !important;
}

.lead-week-kicker{
  color:#8feeff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.lead-week-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin:8px 0 12px;
}

.lead-week-title-row h3{
  margin:0;
  color:#f2feff;
  font-size:1.5rem;
  line-height:1.1;
}

.lead-week-detail{
  margin:8px 0;
  color:#b9d7e6;
}

.lead-week-note{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(56,217,255,.20);
  border-radius:14px;
  color:#dffaff;
  background:rgba(56,217,255,.06);
}

.lead-week-actions{
  margin-top:16px;
}

.lead-week-actions form{
  margin:0;
}

.lead-week-timeline{
  display:grid;
  gap:10px;
}

.lead-week-day{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:10px;
  align-items:stretch;
  padding:10px;
  border:1px solid rgba(56,217,255,.22);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,24,38,.78),rgba(5,18,31,.64));
}

.lead-week-day.is-today{
  border-color:rgba(162,255,61,.45);
}

.lead-week-day-date{
  display:grid;
  place-items:center;
  align-content:center;
  border-radius:14px;
  background:rgba(56,217,255,.09);
  color:#8feeff;
  font-weight:900;
}

.lead-week-day-date span{
  font-size:.78rem;
}

.lead-week-day-date b{
  color:#f2feff;
}

.lead-week-day-body{
  display:grid;
  gap:8px;
}

.lead-week-mini-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 8px;
  padding:10px 12px;
  border:1px solid rgba(56,217,255,.18);
  border-radius:14px;
  background:rgba(3,13,24,.50);
}

.lead-week-mini-card strong{
  color:#f2feff;
}

.lead-week-mini-card small{
  color:#9fbed0;
}

.lead-week-mini-card .status-pill{
  grid-row:1 / span 2;
  grid-column:2;
  align-self:center;
}

.lead-week-off{
  display:flex;
  align-items:center;
  min-height:52px;
  color:#7ea2b7;
}

.lead-week-bottom-nav{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:50;
  width:min(720px,calc(100% - 28px));
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding:8px;
  border:1px solid rgba(56,217,255,.28);
  border-radius:20px;
  background:rgba(3,13,24,.92);
  box-shadow:0 18px 44px rgba(0,0,0,.38), inset 0 1px 0 rgba(125,249,255,.12);
  backdrop-filter:blur(14px);
}

.lead-week-bottom-nav a{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:42px;
  border-radius:14px;
  color:#9fbed0;
  font-weight:900;
}

.lead-week-bottom-nav a.active{
  color:#03111f;
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan));
}

@media (max-width:1280px){
  .weekly-board{
    grid-template-columns:repeat(3,minmax(220px,1fr));
  }
  .weekly-plan-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .weekly-board,
  .weekly-plan-kpis{
    grid-template-columns:1fr;
  }
  .weekly-plan-titlebar,
  .lead-week-top,
  .lead-week-title-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .weekly-week-nav,
  .weekly-plan-titlebar .actions{
    justify-content:flex-start;
  }
}

/* TrackGPS fleet integration */
.fleet-shell{display:grid;gap:16px}
.fleet-hero{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  overflow:hidden;
}
.fleet-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.fleet-filter{display:grid;gap:14px}
.fleet-check{
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(56,217,255,.28);
  border-radius:16px;
  background:rgba(3,13,24,.52);
  color:var(--text)!important;
}
.fleet-check input{width:auto!important;box-shadow:none!important}
.fleet-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.fleet-grid{align-items:start}
.fleet-map-card{overflow:hidden}
.fleet-map-stage{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border:1px solid rgba(56,217,255,.30);
  border-radius:22px;
  background:
    radial-gradient(circle at 28% 24%,rgba(162,255,61,.12),transparent 28%),
    radial-gradient(circle at 74% 64%,rgba(56,217,255,.14),transparent 30%),
    linear-gradient(rgba(56,217,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,217,255,.045) 1px, transparent 1px),
    linear-gradient(135deg,rgba(3,13,24,.96),rgba(6,29,43,.88));
  background-size:auto,auto,42px 42px,42px 42px,auto;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.14), inset 0 0 60px rgba(56,217,255,.06);
}
.fleet-map-stage:before,
.fleet-map-stage:after{
  content:"";
  position:absolute;
  inset:auto -8% 20% -8%;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--cyber-cyan),var(--cyber-lime),transparent);
  opacity:.32;
  transform:rotate(-8deg);
}
.fleet-map-stage:after{
  inset:34% -8% auto -8%;
  transform:rotate(11deg);
  opacity:.22;
}
.fleet-map-grid{
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,transparent 0 38%,rgba(56,217,255,.20) 38% 38.4%,transparent 38.4% 100%),
    linear-gradient(28deg,transparent 0 46%,rgba(162,255,61,.16) 46% 46.4%,transparent 46.4% 100%);
  opacity:.8;
}
.fleet-map-marker{
  position:absolute;
  z-index:2;
  transform:translate(-50%,-50%);
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#03111f!important;
  font-size:.74rem;
  font-weight:900;
  white-space:nowrap;
  text-decoration:none;
}
.fleet-map-marker span{
  width:18px;
  height:18px;
  border-radius:6px 6px 8px 8px;
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan));
  border:2px solid rgba(3,17,31,.92);
  box-shadow:0 0 18px rgba(56,217,255,.56);
}
.fleet-map-marker b{
  padding:5px 8px;
  border-radius:8px;
  background:linear-gradient(135deg,#ff3b3b,#b91c1c);
  color:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
.fleet-map-marker:hover b{background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan));color:#03111f}
.fleet-empty-map{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  color:var(--muted);
  text-align:center;
  font-weight:800;
}

@media (max-width:980px){
  .fleet-hero{display:grid}
  .fleet-hero-actions{justify-content:flex-start}
  .fleet-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .fleet-kpi-grid{grid-template-columns:1fr}
  .fleet-map-stage{min-height:340px}
}

.vehicle-route-shell{display:grid;gap:16px}
.vehicle-route-grid{align-items:start}
.route-map-stage{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(56,217,255,.30);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 52%,rgba(56,217,255,.18),transparent 26%),
    radial-gradient(circle at 24% 20%,rgba(132,255,86,.13),transparent 24%),
    linear-gradient(rgba(56,217,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,217,255,.045) 1px, transparent 1px),
    linear-gradient(135deg,rgba(3,13,24,.98),rgba(4,24,38,.92));
  background-size:auto,auto,42px 42px,42px 42px,auto;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.14), inset 0 0 70px rgba(56,217,255,.08);
}
.route-map-svg{
  position:absolute;
  inset:24px;
  z-index:1;
  width:calc(100% - 48px);
  height:calc(100% - 48px);
  overflow:visible;
}
.route-map-line{
  fill:none;
  stroke:var(--cyber-cyan);
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 8px rgba(56,217,255,.7));
}
.route-map-line-shadow{
  stroke:var(--cyber-lime);
  stroke-width:3.8;
  opacity:.18;
  filter:blur(.6px);
}
.route-map-point{
  position:absolute;
  z-index:3;
  transform:translate(-50%,-50%);
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  white-space:nowrap;
  color:var(--text)!important;
}
.route-map-point span{
  width:15px;
  height:15px;
  border-radius:50%;
  background:var(--cyber-cyan);
  border:2px solid rgba(3,17,31,.96);
  box-shadow:0 0 18px rgba(56,217,255,.75);
}
.route-map-point.start span{background:var(--cyber-lime);box-shadow:0 0 18px rgba(132,255,86,.75)}
.route-map-point.end span{background:#ff4b5c;box-shadow:0 0 18px rgba(255,75,92,.65)}
.route-map-point b{
  padding:5px 8px;
  border-radius:9px;
  background:rgba(3,13,24,.86);
  border:1px solid rgba(56,217,255,.28);
  color:var(--text);
  font-size:.72rem;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.route-map-point:hover b{background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan));color:#03111f}
@media (max-width:620px){
  .route-map-stage{min-height:360px}
  .route-map-point b{display:none}
}

.pgv-osm-map{
  position:relative;
  width:100%;
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(56,217,255,.42);
  border-radius:18px;
  background:#071522;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.14), inset 0 0 70px rgba(56,217,255,.08);
}
.fleet-map-card .pgv-osm-map{min-height:520px}
.route-osm-map{min-height:560px}
.route-map-stage .pgv-osm-map{
  position:absolute;
  inset:0;
  border:0;
  border-radius:18px;
}
.leaflet-container{
  background:#071522;
  color:var(--text);
  font-family:inherit;
}
.leaflet-control-attribution{
  background:rgba(3,13,24,.78)!important;
  color:var(--muted)!important;
}
.leaflet-control-attribution a{color:var(--cyber-cyan)!important}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip{
  background:#071522;
  color:var(--text);
  border:1px solid rgba(56,217,255,.34);
  box-shadow:0 18px 40px rgba(0,0,0,.34);
}
.leaflet-popup-content{font-family:inherit}
.leaflet-popup-content small{color:var(--muted)}
@media (max-width:620px){
  .pgv-osm-map,
  .fleet-map-card .pgv-osm-map,
  .route-osm-map{min-height:360px}
}

/* Client sheet / beneficiary report */
.client-sheet-shell{display:grid;gap:16px}
.client-trip-form{border-color:rgba(132,255,86,.42)}
.client-trip-form h3{margin:0;color:var(--text)}
.client-sheet-paper{
  background:#f8fbff;
  color:#102033;
  border:1px solid rgba(183,205,232,.9);
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  overflow:hidden;
}
.client-sheet-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  background:linear-gradient(135deg,#ffffff 0%,#eaf5ff 100%);
  border-bottom:4px solid #0d3b66;
}
.client-sheet-brand{display:flex;align-items:center;gap:16px;min-width:0}
.client-sheet-logo{
  width:78px;
  height:78px;
  border-radius:18px;
  border:1px solid #c9d7e8;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  font-weight:900;
  color:#0d3b66;
  box-shadow:0 12px 28px rgba(15,33,55,.12);
  flex:0 0 auto;
}
.client-sheet-logo img{max-width:100%;max-height:100%;object-fit:contain}
.client-sheet-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#2563eb;
  margin-bottom:6px;
}
.client-sheet-head h1{margin:0;font-size:28px;line-height:1.05;color:#0f172a;letter-spacing:0}
.client-sheet-head p{margin:8px 0 0;color:#5b6b80;max-width:720px}
.client-sheet-meta{text-align:right;display:grid;align-content:center;gap:6px;color:#334155;font-size:13px}
.client-sheet-meta strong{font-size:15px;color:#0f172a}
.client-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  padding:18px 24px 8px;
}
.client-kpi-grid>div{
  border:1px solid #d7e2ef;
  border-radius:14px;
  background:#ffffff;
  padding:13px 14px;
  box-shadow:0 10px 24px rgba(15,33,55,.06);
}
.client-kpi-grid span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.client-kpi-grid strong{display:block;margin-top:6px;font-size:22px;line-height:1.1;color:#0f172a}
.client-sheet-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 24px 0}
.client-sheet-section{padding:16px 24px}
.client-sheet-grid .client-sheet-section{padding:16px;border:1px solid #d7e2ef;border-radius:16px;background:#ffffff}
.client-sheet-section h2{
  margin:0 0 12px;
  font-size:18px;
  line-height:1.15;
  color:#0f172a;
  letter-spacing:0;
}
.client-info-list{display:grid;gap:8px;margin:0}
.client-info-list>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;border-bottom:1px solid #e2e8f0;padding-bottom:8px}
.client-info-list>div:last-child{border-bottom:0;padding-bottom:0}
.client-info-list dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#64748b}
.client-info-list dd{margin:0;color:#0f172a;font-weight:700}
.client-print-link{display:inline-flex;margin-top:12px;font-weight:900;color:#0f4fbf;text-decoration:none}
.client-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid #d7e2ef;
  border-radius:14px;
  overflow:hidden;
  font-size:13px;
  background:#ffffff;
}
.client-table th,
.client-table td{padding:9px 10px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;vertical-align:top;text-align:left}
.client-table th:last-child,
.client-table td:last-child{border-right:0}
.client-table tr:last-child td{border-bottom:0}
.client-table th{
  background:#0d3b66;
  color:#ffffff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.client-table tbody tr:nth-child(even) td{background:#f8fbff}
.client-table-wide{font-size:12px}
.muted-cell{color:#64748b;text-align:center;padding:16px!important}
.inline-form{display:inline}
.small-btn{padding:7px 10px;font-size:12px;border-radius:10px}
.client-evidence-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:12px;
}
.client-evidence-item{
  min-height:142px;
  border:1px solid #d7e2ef;
  border-radius:14px;
  background:#ffffff;
  color:#0f172a;
  text-decoration:none;
  padding:10px;
  display:grid;
  gap:7px;
  align-content:start;
  box-shadow:0 10px 24px rgba(15,33,55,.06);
}
.client-evidence-item img{
  width:100%;
  height:86px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid #e2e8f0;
}
.client-evidence-item>span{
  height:86px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eaf2ff;
  color:#0d3b66;
  font-weight:900;
}
.client-evidence-item b{font-size:12px}
.client-evidence-item small{color:#64748b;line-height:1.25;word-break:break-word}
.client-sign-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:12px;
}
.client-sign-grid>div{
  min-height:92px;
  border:1px solid #d7e2ef;
  border-radius:14px;
  background:#ffffff;
  padding:13px;
  display:grid;
  align-content:start;
  gap:10px;
}
.client-sign-grid b{color:#0f172a}
.client-sign-grid span{color:#64748b}
.client-print-toolbar{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  gap:10px;
  padding:12px;
  background:#eaf0f7;
}
.client-print-toolbar button{
  border:0;
  border-radius:10px;
  background:#0d3b66;
  color:#fff;
  font-weight:900;
  padding:10px 14px;
  cursor:pointer;
}
.client-share-card{
  margin-bottom:16px;
}
.client-share-create{
  align-self:center;
}
.client-share-url{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:.92rem;
}
.weekly-suggestion-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  margin-top:12px;
}
.weekly-suggestion-card{
  display:grid;
  gap:5px;
  padding:12px 14px;
  border:1px solid rgba(56,217,255,.28);
  border-radius:16px;
  background:rgba(5,18,30,.72);
}
.weekly-suggestion-card strong{
  color:#f2feff;
}
.weekly-suggestion-card span{
  color:#9fbed0;
  font-size:.9rem;
  line-height:1.35;
}
.weekly-suggestion-card.warn{
  border-color:rgba(255,176,32,.46);
}
.weekly-suggestion-card.ok{
  border-color:rgba(162,255,61,.42);
}
.print-client-sheet{background:#eaf0f7;margin:0;padding:18px}
.print-client-sheet .client-sheet-paper{max-width:1200px;margin:0 auto}
@media (max-width:980px){
  .client-sheet-head,
  .client-sheet-brand,
  .client-sheet-grid,
  .client-sign-grid{grid-template-columns:1fr;display:grid}
  .client-sheet-meta{text-align:left}
  .client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-info-list>div{grid-template-columns:1fr}
}
@media print{
  @page{size:A4 landscape;margin:9mm}
  body.print-client-sheet{background:#fff!important;padding:0!important}
  .no-print,
  .client-print-toolbar{display:none!important}
  .client-sheet-paper{box-shadow:none!important;border:0!important;border-radius:0!important}
  .client-sheet-section,
  .client-sheet-grid .client-sheet-section,
  .client-kpi-grid>div,
  .client-evidence-item,
  .client-sign-grid>div{break-inside:avoid}
  .client-sheet-head{padding:14px 0 12px}
  .client-kpi-grid,
  .client-sheet-grid,
  .client-sheet-section{padding-left:0!important;padding-right:0!important}
  .client-table{font-size:10px}
  .client-table th,
  .client-table td{padding:5px 6px}
  .client-evidence-grid{grid-template-columns:repeat(4,1fr)}
}

.native-hidden-file{
  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;
  opacity:.01 !important;
}

.photo-source-control{
  position:relative;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}

.photo-source-button{
  min-height:44px;
}

.photo-source-status{
  color:#9fbed0;
  font-weight:800;
  font-size:.88rem;
}

.photo-source-menu{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  z-index:50;
  display:none;
  min-width:190px;
  padding:8px;
  border:1px solid rgba(56,217,255,.34);
  border-radius:16px;
  background:rgba(3,13,24,.98);
  box-shadow:0 22px 48px rgba(0,0,0,.42),0 0 0 1px rgba(162,255,61,.08);
}

.photo-source-menu.is-open{
  display:grid;
  gap:8px;
}

.photo-source-menu button,
.voice-dictate-btn{
  border:1px solid rgba(56,217,255,.34);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(7,31,49,.96),rgba(4,18,31,.92));
  color:#e9fbff;
  font-weight:900;
  min-height:40px;
  padding:9px 12px;
  cursor:pointer;
}

.photo-source-menu button:hover,
.voice-dictate-btn:hover,
.voice-dictate-btn.is-listening{
  border-color:rgba(162,255,61,.72);
  box-shadow:0 0 18px rgba(56,217,255,.24);
}

.voice-field-wrap{
  position:relative;
  display:block;
}

.voice-field-wrap input,
.voice-field-wrap textarea{
  padding-right:96px;
}

.voice-dictate-btn{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  min-height:32px;
  padding:6px 10px;
  font-size:.78rem;
}

.voice-field-wrap textarea ~ .voice-dictate-btn{
  top:14px;
  transform:none;
}

@media (max-width:720px){
  .photo-source-control{
    align-items:stretch;
  }
  .photo-source-menu{
    position:fixed;
    left:16px;
    right:16px;
    top:auto;
    bottom:18px;
    min-width:0;
    padding:12px;
    border-radius:20px;
  }
  .photo-source-menu button{
    min-height:52px;
  }
  .voice-field-wrap input,
  .voice-field-wrap textarea{
    padding-right:12px;
  }
  .voice-dictate-btn{
    position:static;
    transform:none;
    margin-top:8px;
  }
}

.collab-shell{
  display:grid;
  gap:16px;
}

.collab-hero{
  overflow:hidden;
}

.collab-board{
  display:grid;
  grid-template-columns:minmax(280px, 390px) minmax(0, 1fr);
  gap:16px;
  align-items:start;
}

.collab-list,
.collab-detail{
  min-width:0;
}

.collab-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.collab-tabs a{
  border:1px solid rgba(56,217,255,.28);
  border-radius:999px;
  padding:8px 12px;
  color:#dff8ff;
  text-decoration:none;
  font-weight:900;
  background:rgba(4,18,31,.7);
}

.collab-tabs a.active{
  color:#03111f;
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan));
  border-color:rgba(162,255,61,.72);
}

.collab-items{
  display:grid;
  gap:9px;
  max-height:72vh;
  overflow:auto;
  padding-right:4px;
}

.collab-item{
  display:grid;
  gap:6px;
  padding:12px;
  border:1px solid rgba(56,217,255,.22);
  border-radius:16px;
  background:rgba(4,18,31,.72);
  color:var(--text);
  text-decoration:none;
}

.collab-item:hover,
.collab-item.active{
  border-color:rgba(162,255,61,.62);
  box-shadow:0 0 22px rgba(56,217,255,.16);
}

.collab-item.is-overdue{
  border-color:rgba(255,77,109,.5);
}

.collab-item strong{
  color:#f2feff;
}

.collab-item small,
.chat-members-line,
.collab-message span,
.chat-message-meta span{
  color:#9fbed0;
}

.collab-description{
  border:1px solid rgba(56,217,255,.24);
  border-radius:16px;
  background:rgba(5,18,30,.64);
  padding:14px;
  color:#dff6ff;
  line-height:1.5;
  margin-bottom:14px;
}

.collab-update-form,
.collab-comment-form,
.chat-send-form,
.chat-add-members,
.chat-new-form{
  border:1px solid rgba(56,217,255,.18);
  border-radius:18px;
  background:rgba(3,13,24,.45);
  padding:14px;
  margin-top:12px;
}

.collab-thread,
.chat-message-list{
  display:grid;
  gap:10px;
  margin:14px 0;
}

.collab-message,
.chat-message{
  border:1px solid rgba(56,217,255,.2);
  border-radius:16px;
  background:rgba(5,18,30,.72);
  padding:12px 14px;
}

.collab-message>div,
.chat-message-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}

.collab-message p,
.chat-message p{
  margin:0 0 8px;
  color:#e7faff;
  line-height:1.45;
}

.chat-board{
  grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
}

.chat-sidebar .section-head{
  margin-bottom:10px;
}

.chat-new-form select[multiple],
.chat-add-members select[multiple]{
  min-height:118px;
}

.chat-members-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-4px 0 12px;
}

.chat-members-line span{
  border:1px solid rgba(56,217,255,.22);
  border-radius:999px;
  padding:6px 9px;
  background:rgba(4,18,31,.62);
  font-weight:800;
}

.chat-message-list{
  max-height:58vh;
  overflow:auto;
  padding-right:6px;
}

.chat-message{
  max-width:84%;
}

.chat-message.mine{
  margin-left:auto;
  border-color:rgba(162,255,61,.36);
  background:linear-gradient(145deg,rgba(9,37,40,.78),rgba(5,22,30,.78));
}

.chat-send-actions{
  align-self:end;
  display:flex;
  justify-content:flex-end;
}

@media (max-width:980px){
  .collab-board,
  .chat-board{
    grid-template-columns:1fr;
  }
  .collab-items{
    max-height:none;
  }
  .chat-message{
    max-width:100%;
  }
  .chat-message-list{
    max-height:62vh;
  }
}

.chat-app-shell{
  display:grid;
  grid-template-columns:minmax(300px,380px) minmax(0,1fr);
  min-height:calc(100vh - 180px);
  border:1px solid rgba(56,217,255,.28);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(3,13,24,.96),rgba(5,21,34,.88));
  box-shadow:0 24px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}

.chat-list-pane,
.chat-room-pane{
  min-width:0;
  min-height:0;
}

.chat-list-pane{
  display:flex;
  flex-direction:column;
  border-right:1px solid rgba(56,217,255,.22);
  background:rgba(2,10,19,.38);
}

.chat-room-pane{
  display:flex;
  flex-direction:column;
  background:
    linear-gradient(rgba(56,217,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(56,217,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 50% 0%,rgba(56,217,255,.12),transparent 38%),
    rgba(2,10,19,.2);
  background-size:36px 36px,36px 36px,100% 100%,100% 100%;
}

.chat-pane-head,
.chat-room-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border-bottom:1px solid rgba(56,217,255,.16);
  background:rgba(3,13,24,.78);
  backdrop-filter:blur(12px);
}

.chat-pane-head h2,
.chat-room-head h2{
  margin:0;
  color:#f2feff;
}

.chat-head-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.chat-create-panel{
  margin:12px;
  border:1px solid rgba(56,217,255,.2);
  border-radius:18px;
  background:rgba(3,13,24,.5);
  overflow:hidden;
}

.chat-create-panel summary,
.chat-members-panel summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  color:#e9fbff;
  font-weight:1000;
}

.chat-create-panel summary::-webkit-details-marker,
.chat-members-panel summary::-webkit-details-marker{
  display:none;
}

.chat-create-panel summary::after,
.chat-members-panel summary::after{
  content:'+';
  float:right;
  color:var(--cyber-lime);
}

.chat-create-panel[open] summary::after,
.chat-members-panel[open] summary::after{
  content:'-';
}

.chat-new-form,
.chat-add-members{
  margin:0;
  border:0;
  border-top:1px solid rgba(56,217,255,.14);
  border-radius:0;
  background:transparent;
}

.chat-conversation-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:0 12px 12px;
  overflow:auto;
  flex:1;
  min-height:0;
}

.chat-thread-card{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(56,217,255,.16);
  border-radius:18px;
  background:rgba(4,18,31,.58);
  color:#e9fbff;
  text-decoration:none;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}

.chat-thread-card:hover,
.chat-thread-card.active{
  border-color:rgba(162,255,61,.62);
  background:rgba(6,26,39,.86);
}

.chat-thread-card.has-unread{
  border-color:rgba(56,217,255,.52);
}

.chat-thread-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  color:#04101b;
  font-weight:1000;
  background:linear-gradient(135deg,var(--cyber-lime),var(--cyber-cyan));
  box-shadow:0 0 22px rgba(56,217,255,.24);
  flex:0 0 44px;
}

.chat-thread-main{
  display:grid;
  gap:4px;
  min-width:0;
}

.chat-thread-top,
.chat-thread-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}

.chat-thread-top strong,
.chat-thread-bottom small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.chat-thread-top strong{
  color:#f2feff;
  font-size:.96rem;
}

.chat-thread-top small,
.chat-thread-bottom small,
.chat-room-head p{
  color:#9fbed0;
}

.chat-thread-bottom b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:linear-gradient(135deg,#a2ff3d,#38d9ff);
  color:#03111f;
  font-size:.76rem;
  font-weight:1000;
}

.chat-thread-main em{
  justify-self:start;
  border:1px solid rgba(56,217,255,.22);
  border-radius:999px;
  padding:3px 8px;
  color:#8ef7ff;
  font-size:.68rem;
  font-style:normal;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.chat-room-head{
  position:sticky;
  top:0;
  z-index:3;
  justify-content:flex-start;
}

.chat-room-head>div{
  min-width:0;
  flex:1;
}

.chat-room-head h2{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1.18rem;
}

.chat-room-head p{
  margin:3px 0 0;
  font-weight:800;
}

.chat-members-panel{
  margin:12px 14px 0;
  border:1px solid rgba(56,217,255,.16);
  border-radius:16px;
  background:rgba(3,13,24,.46);
}

.chat-members-panel .chat-members-line{
  padding:0 12px 12px;
  margin:0;
}

.chat-message-list{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:auto;
  min-height:340px;
  max-height:none;
  padding:16px 18px 18px;
}

.chat-day-divider{
  display:flex;
  justify-content:center;
  margin:6px 0;
}

.chat-day-divider span{
  border:1px solid rgba(56,217,255,.18);
  border-radius:999px;
  padding:5px 10px;
  background:rgba(3,13,24,.7);
  color:#9fbed0;
  font-size:.75rem;
  font-weight:900;
}

.chat-message{
  position:relative;
  width:fit-content;
  max-width:min(74%,720px);
  border:1px solid rgba(56,217,255,.18);
  border-radius:18px 18px 18px 6px;
  background:rgba(5,18,30,.88);
  padding:9px 11px;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}

.chat-message.mine{
  align-self:flex-end;
  margin-left:0;
  border-color:rgba(162,255,61,.32);
  border-radius:18px 18px 6px 18px;
  background:linear-gradient(145deg,rgba(11,62,54,.9),rgba(6,31,38,.92));
}

.chat-message-meta{
  justify-content:flex-start;
  gap:8px;
  margin-bottom:4px;
}

.chat-message.mine .chat-message-meta{
  justify-content:flex-end;
}

.chat-message-meta strong{
  color:#a2ff3d;
  font-size:.76rem;
}

.chat-message-meta span{
  font-size:.72rem;
  color:#91adbd;
}

.chat-message p{
  margin:0;
  color:#f2feff;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.chat-attachment-link{
  display:inline-flex;
  margin-top:7px;
  border:1px solid rgba(56,217,255,.28);
  border-radius:12px;
  padding:7px 9px;
  color:#e9fbff;
  text-decoration:none;
  font-weight:900;
  background:rgba(3,13,24,.55);
}

.chat-empty-state{
  align-self:center;
  margin:auto;
  border:1px dashed rgba(56,217,255,.28);
  border-radius:18px;
  padding:22px;
  color:#9fbed0;
  font-weight:900;
}

.chat-composer{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px auto;
  gap:8px;
  align-items:end;
  padding:12px 14px;
  border-top:1px solid rgba(56,217,255,.18);
  background:rgba(3,13,24,.9);
  backdrop-filter:blur(12px);
}

.chat-composer textarea{
  min-height:44px;
  max-height:120px;
  resize:vertical;
  border-radius:18px;
  padding:12px 14px;
}

.chat-attach-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(56,217,255,.32);
  border-radius:999px;
  background:rgba(4,18,31,.78);
  color:#8ef7ff;
  cursor:pointer;
  font-size:1.45rem;
  font-weight:1000;
}

.chat-attach-btn input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.chat-send-btn{
  min-height:44px;
  border:0;
  border-radius:999px;
  padding:0 16px;
  background:linear-gradient(135deg,#a2ff3d,#38d9ff);
  color:#04101b;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 0 24px rgba(56,217,255,.22);
}

@media (max-width:980px){
  .chat-app-shell{
    grid-template-columns:1fr;
  }
  .chat-app-shell.has-chat .chat-room-pane{
    order:1;
  }
  .chat-app-shell.has-chat .chat-list-pane{
    order:2;
  }
  .chat-list-pane{
    border-right:0;
    border-top:1px solid rgba(56,217,255,.18);
  }
  .chat-conversation-list{
    max-height:38vh;
  }
}

@media (max-width:720px){
  .page-chat .container{
    padding-left:6px;
    padding-right:6px;
  }
  .chat-app-shell{
    min-height:calc(100vh - 156px);
    border-radius:20px;
  }
  .chat-pane-head,
  .chat-room-head{
    padding:11px;
  }
  .chat-head-actions .btn{
    padding:8px 9px;
    min-height:36px;
  }
  .chat-create-panel{
    margin:10px;
  }
  .chat-conversation-list{
    padding:0 10px 10px;
    max-height:34vh;
  }
  .chat-room-head h2{
    font-size:1rem;
  }
  .chat-room-head p{
    font-size:.78rem;
  }
  .chat-members-panel{
    margin:8px 10px 0;
  }
  .chat-message-list{
    min-height:380px;
    padding:12px 10px;
  }
  .chat-message{
    max-width:86%;
  }
  .chat-composer{
    position:sticky;
    bottom:0;
    grid-template-columns:minmax(0,1fr) 40px auto;
    padding:8px;
    z-index:4;
  }
  .chat-composer textarea{
    min-height:42px;
    padding:11px 12px;
  }
  .chat-attach-btn{
    width:40px;
    height:40px;
  }
  .chat-send-btn{
    min-height:40px;
    padding:0 12px;
  }
}

.selector-filter{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(56,217,255,.26);
  border-radius:999px;
  color:var(--text);
  background:rgba(7,22,35,.70);
  font-weight:800;
  cursor:pointer;
}
.selector-filter input{width:16px;height:16px;margin:0;accent-color:var(--cyber-lime)}
.selector-card{
  background:linear-gradient(180deg,rgba(8,24,38,.86),rgba(5,18,31,.74)) !important;
  border-color:rgba(56,217,255,.26) !important;
  color:var(--text) !important;
}
.selector-card span,
.selector-card b{color:var(--text) !important}
.selector-card .selector-status{
  display:block;
  margin-top:5px;
  color:var(--muted) !important;
  font-size:.76rem;
  font-weight:800;
  line-height:1.25;
}
.selector-card.is-unavailable{
  cursor:not-allowed;
  opacity:.92;
  transform:none !important;
  box-shadow:inset 0 1px 0 rgba(125,249,255,.08) !important;
}
.selector-card.is-unavailable input{opacity:.55}
.selector-card.is-unavailable:hover{transform:none !important}
.selector-card.is-covered{
  border-color:rgba(56,217,255,.42) !important;
  background:linear-gradient(180deg,rgba(14,48,70,.86),rgba(7,24,38,.78)) !important;
}
.selector-card.is-pending{
  border-color:rgba(255,176,32,.52) !important;
  background:linear-gradient(180deg,rgba(55,38,14,.78),rgba(24,20,14,.72)) !important;
}
.selector-card.is-leave{
  border-color:rgba(255,77,109,.52) !important;
  background:linear-gradient(180deg,rgba(58,18,31,.80),rgba(24,13,22,.74)) !important;
}
.selector-card.is-available .selector-status,
.day-status-item.is-available span{color:var(--cyber-lime) !important}
.lead-crew-row.is-unavailable{
  border-color:rgba(255,176,32,.38);
  background:linear-gradient(180deg,rgba(14,36,52,.72),rgba(7,22,35,.68));
  opacity:.94;
}
.lead-crew-row.is-leave{border-color:rgba(255,77,109,.50)}
.lead-crew-row.is-covered{border-color:rgba(56,217,255,.42)}
.lead-crew-row.is-pending{border-color:rgba(255,176,32,.52)}
.day-status-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.day-status-item{
  padding:11px 12px;
  border:1px solid rgba(56,217,255,.24);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(8,24,38,.84),rgba(5,18,31,.72));
}
.day-status-item b{
  display:block;
  color:var(--text);
  line-height:1.2;
}
.day-status-item span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  line-height:1.3;
}
.day-status-item.is-covered{border-color:rgba(56,217,255,.44)}
.day-status-item.is-pending{border-color:rgba(255,176,32,.55)}
.day-status-item.is-leave{border-color:rgba(255,77,109,.55)}
.day-status-item.is-unavailable span{color:#ffd188}
.day-status-item.is-leave span{color:#ff9fb1}
