/* ==================== WORKER LUXE v2 — modern dribbble style ==================== */
/* Applied when body has class "luxe" (only for workers). Light, soft fintech. */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@500&display=swap');

body.luxe{
  --lx-cream:#faf6f0;
  --lx-cream-2:#f3ede3;
  --lx-ink:#10172a;
  --lx-ink-2:#2d374b;
  --lx-muted:#6b7689;
  --lx-muted-2:#94a3b8;
  --lx-line:rgba(16,23,42,0.08);
  --lx-line-soft:rgba(16,23,42,0.05);
  --lx-card:#ffffff;

  --lx-mint:#d9f4e4;
  --lx-mint-ink:#047857;
  --lx-peach:#ffe3cf;
  --lx-peach-ink:#b54708;
  --lx-sky:#d8ebff;
  --lx-sky-ink:#0b5cad;
  --lx-lavender:#e6dfff;
  --lx-lavender-ink:#5b3bc7;
  --lx-lemon:#fef2b8;
  --lx-lemon-ink:#8a5a00;
  --lx-rose:#ffd8dc;
  --lx-rose-ink:#be123c;

  --lx-primary:#0a1e3f;
  --lx-primary-ink:#ffffff;
  --lx-accent:#10b981;
  --lx-accent-hover:#059669;

  --primary:var(--lx-accent);
  --primary-hover:var(--lx-accent-hover);
  --text:var(--lx-ink);
  --text2:var(--lx-muted);
  --border:var(--lx-line);
  --bg:var(--lx-cream);
  --surface:var(--lx-card);
  --surface2:#f7f2ea;
  --green:#10b981;
  --red:#e11d48;

  --font-sans:'Plus Jakarta Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-serif:'Instrument Serif','Fraunces',Georgia,serif;
  --font-display:'Fraunces','Instrument Serif',Georgia,serif;

  font-family:var(--font-sans);
  color:var(--lx-ink);
  letter-spacing:-0.005em;
  background:
    radial-gradient(ellipse 60% 40% at 90% -10%, rgba(255,214,166,0.35), transparent 60%),
    radial-gradient(ellipse 50% 35% at -10% 10%, rgba(180,210,255,0.30), transparent 60%),
    radial-gradient(ellipse 40% 30% at 50% 110%, rgba(220,195,255,0.25), transparent 60%),
    var(--lx-cream) fixed;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}

body.luxe *{scrollbar-width:thin;scrollbar-color:rgba(16,23,42,0.14) transparent}
body.luxe *::-webkit-scrollbar{width:8px;height:8px}
body.luxe *::-webkit-scrollbar-track{background:transparent}
body.luxe *::-webkit-scrollbar-thumb{background:rgba(16,23,42,0.12);border-radius:4px}
body.luxe *::-webkit-scrollbar-thumb:hover{background:rgba(16,23,42,0.2)}
body.luxe ::selection{background:rgba(16,185,129,0.2);color:var(--lx-ink)}

/* ---------- SIDEBAR ---------- */
body.luxe .sidebar{
  background:#ffffff;
  border-right:1px solid var(--lx-line-soft);
  box-shadow:0 1px 0 rgba(16,23,42,0.04);
  padding-top:24px;
}
body.luxe .sidebar .logo{
  color:var(--lx-ink);
  font-weight:800;
  letter-spacing:-0.02em;
  font-size:22px;
  padding:0 22px 4px;
}
body.luxe .sidebar .logo span{color:var(--lx-accent)}
body.luxe #sidebarCompanyName{
  color:var(--lx-muted) !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  letter-spacing:0.14em !important;
  text-transform:uppercase !important;
  padding:0 22px 18px !important;
  margin-top:-10px !important;
}
body.luxe .sidebar nav a{
  color:var(--lx-muted);
  font-weight:600;
  margin:1px 8px;
  border-radius:8px;
  padding:8px 12px;
  font-size:13px;
  transition:all 0.15s cubic-bezier(.4,0,.2,1);
  position:relative;
  gap:10px;
}
body.luxe .sidebar nav a:hover{
  background:var(--lx-cream-2);
  color:var(--lx-ink);
}
body.luxe .sidebar nav a.active{
  background:var(--lx-ink);
  color:#fff;
  border-right:none;
  box-shadow:0 2px 8px rgba(16,23,42,0.15);
}
body.luxe .sidebar nav a.active::before{display:none}
body.luxe .nav-badge{
  background:#ef4444;
  color:#fff;
  box-shadow:0 2px 6px rgba(239,68,68,0.4);
  font-weight:800;
  padding:2px 8px;
}
body.luxe .sidebar nav a.active .nav-badge{background:#ffffff;color:var(--lx-ink)}
body.luxe .sidebar .user-info{
  border-top:1px solid var(--lx-line-soft);
  padding:14px 16px;
  margin:12px 8px 0;
  background:var(--lx-cream-2);
  border-radius:14px;
}
body.luxe .sidebar .user-info .uname{color:var(--lx-ink);font-weight:700;font-size:13.5px}
body.luxe .sidebar .user-info .urole{
  color:var(--lx-accent);
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-size:10px;
  margin-top:1px;
}
body.luxe #sidebarAvatar{
  background:linear-gradient(135deg, #ff9a7a, #f06292 50%, #a855f7) !important;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(240,98,146,0.3);
  border:2px solid #fff;
}
body.luxe .logout-btn{
  background:#ffffff;
  color:var(--lx-ink);
  border:1px solid var(--lx-line);
  border-radius:10px;
  font-weight:600;
  transition:all 0.18s;
}
body.luxe .logout-btn:hover{background:var(--lx-rose);color:var(--lx-rose-ink);border-color:var(--lx-rose)}
body.luxe .theme-toggle{color:var(--lx-muted);padding:10px 22px}
body.luxe .theme-toggle:hover{color:var(--lx-ink)}
body.luxe .toggle-track{background:#e2e8f0}
body.luxe .toggle-track.on{background:var(--lx-accent)}

body.luxe .nav-section{
  color:var(--lx-muted-2) !important;
  border-top:1px solid var(--lx-line-soft) !important;
  padding:14px 22px 6px !important;
  font-size:10px !important;
  letter-spacing:0.1em !important;
  font-weight:700 !important;
}

/* ---------- MAIN ---------- */
body.luxe .main{padding:24px 32px}
@media(max-width:1024px){body.luxe .main{padding:20px 20px}}
@media(max-width:600px){body.luxe .main{padding:16px 14px;padding-top:68px !important}}
body.luxe .page-header{margin-bottom:18px}

body.luxe .page-header h2{
  font-family:var(--font-serif);
  font-size:26px;
  font-weight:400;
  letter-spacing:-0.015em;
  color:var(--lx-ink);
  line-height:1.1;
}
@media(max-width:600px){body.luxe .page-header h2{font-size:22px}}

/* ---------- WORKER CARDS ---------- */
body.luxe .worker-cards{gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}

body.luxe .wcard{
  background:var(--lx-card);
  border:1px solid var(--lx-line);
  border-radius:14px;
  padding:14px 16px;
  gap:10px;
  position:relative;
  overflow:hidden;
  box-shadow:
    0 1px 2px rgba(16,23,42,0.03),
    0 6px 16px rgba(16,23,42,0.04);
  transition:all 0.2s cubic-bezier(.4,0,.2,1);
  animation:lxRise 0.4s cubic-bezier(.4,0,.2,1) backwards;
}
body.luxe .worker-cards .wcard:nth-child(1){animation-delay:0s}
body.luxe .worker-cards .wcard:nth-child(2){animation-delay:0.04s}
body.luxe .worker-cards .wcard:nth-child(3){animation-delay:0.08s}
body.luxe .worker-cards .wcard:nth-child(4){animation-delay:0.12s}
body.luxe .worker-cards .wcard:nth-child(5){animation-delay:0.16s}
body.luxe .worker-cards .wcard:nth-child(6){animation-delay:0.20s}
body.luxe .worker-cards .wcard:nth-child(n+7){animation-delay:0.24s}
@keyframes lxRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

body.luxe .wcard::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, #60a5fa, #a78bfa, #f472b6);
  opacity:0.9;
}
body.luxe .wcard:hover{
  transform:translateY(-2px);
  box-shadow:
    0 1px 2px rgba(16,23,42,0.04),
    0 12px 28px rgba(16,23,42,0.08);
  border-color:rgba(16,23,42,0.12);
}
body.luxe .wcard-done{border-left:none}
body.luxe .wcard-done::before{background:linear-gradient(90deg, #10b981, #34d399, #6ee7b7)}
body.luxe .wcard-declined{border-left:none;opacity:0.6}
body.luxe .wcard-declined::before{background:linear-gradient(90deg, #e11d48, #fb7185)}

body.luxe .wcard-header{align-items:flex-start}
body.luxe .wcard-id{
  font-family:'JetBrains Mono', monospace;
  color:var(--lx-muted-2);
  font-size:11px;
  font-weight:600;
  letter-spacing:0;
  background:transparent;
  padding:0;
  border-radius:0;
}
body.luxe .wcard-title{
  font-family:var(--font-sans);
  font-size:15px;
  font-weight:700;
  letter-spacing:-0.005em;
  color:var(--lx-ink);
  line-height:1.35;
  margin-top:2px;
}
body.luxe .wcard-info{gap:5px}
body.luxe .wcard-row{
  font-size:13px;
  color:var(--lx-ink-2);
  line-height:1.35;
}
body.luxe .wcard-row a{color:var(--lx-sky-ink) !important;font-weight:600;text-decoration:none}
body.luxe .wcard-row a:hover{text-decoration:underline}
body.luxe .wcard-icon{
  font-size:13px;
  opacity:0.7;
  width:18px;
}
body.luxe .wcard-schedule{
  background:var(--lx-cream-2);
  border:none;
  color:var(--lx-ink-2);
  border-radius:8px;
  padding:6px 10px;
  font-weight:600;
  font-size:12px;
  gap:12px;
}
body.luxe .wcard-schedule span{display:flex;align-items:center;gap:4px}

/* Status badges */
body.luxe .badge{
  padding:3px 9px;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  border-radius:999px;
  border:none;
}
body.luxe .badge-new{background:var(--lx-sky);color:var(--lx-sky-ink)}
body.luxe .badge-progress{background:var(--lx-lemon);color:var(--lx-lemon-ink)}
body.luxe .badge-awaiting{background:var(--lx-peach);color:var(--lx-peach-ink)}
body.luxe .badge-done{background:var(--lx-mint);color:var(--lx-mint-ink)}
body.luxe .badge-rejected{background:var(--lx-rose);color:var(--lx-rose-ink)}
body.luxe .badge-future{background:var(--lx-lavender);color:var(--lx-lavender-ink)}

/* ---------- BUTTONS ---------- */
body.luxe .btn{
  padding:7px 14px;
  border-radius:8px;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:0;
  transition:all 0.15s cubic-bezier(.4,0,.2,1);
  border:none;
  font-family:var(--font-sans);
  gap:5px;
}
body.luxe .btn-sm{padding:5px 10px;font-size:11.5px;border-radius:7px}
body.luxe .btn-primary{
  background:var(--lx-ink);
  color:#fff;
  box-shadow:0 1px 2px rgba(16,23,42,0.08);
}
body.luxe .btn-primary:hover{background:var(--lx-ink-2);box-shadow:0 2px 6px rgba(16,23,42,0.15)}
body.luxe .btn-green{
  background:#10b981;
  color:#fff;
  box-shadow:0 1px 2px rgba(16,185,129,0.15);
}
body.luxe .btn-green:hover{background:#059669;box-shadow:0 2px 6px rgba(16,185,129,0.25)}
body.luxe .btn-red{
  background:#ef4444;
  color:#fff;
  box-shadow:0 1px 2px rgba(239,68,68,0.15);
}
body.luxe .btn-red:hover{background:#dc2626;box-shadow:0 2px 6px rgba(239,68,68,0.25)}
body.luxe .btn-outline{
  background:#fff;
  border:1px solid var(--lx-line);
  color:var(--lx-ink);
}
body.luxe .btn-outline:hover{background:var(--lx-cream-2);border-color:rgba(16,23,42,0.14)}
body.luxe .btn-orange{background:#f97316;color:#fff;box-shadow:0 1px 2px rgba(249,115,22,0.15)}

/* comment input */
body.luxe .wcard-comment{gap:6px}
body.luxe .wcard-comment input{
  background:var(--lx-cream-2);
  border:1px solid transparent;
  color:var(--lx-ink);
  border-radius:8px;
  padding:7px 12px;
  font-size:12.5px;
  font-family:var(--font-sans);
  transition:all 0.15s;
}
body.luxe .wcard-comment input::placeholder{color:var(--lx-muted-2)}
body.luxe .wcard-comment input:focus{
  outline:none;
  border-color:var(--lx-accent);
  background:#fff;
  box-shadow:0 0 0 3px rgba(16,185,129,0.15);
}
body.luxe .wcard-comment button{
  background:var(--lx-ink);
  color:#fff;
  font-weight:600;
  border-radius:8px;
  padding:7px 12px;
  font-size:13px;
  min-width:34px;
  box-shadow:0 1px 2px rgba(16,23,42,0.1);
}
body.luxe .wcard-comment button:hover{background:var(--lx-ink-2)}
body.luxe .wcard-comments{color:var(--lx-muted)}

/* ---------- FILTERS ---------- */
body.luxe .filters select,
body.luxe .filters input,
body.luxe .form-group input,
body.luxe .form-group select,
body.luxe .form-group textarea{
  background:#fff !important;
  border:1px solid var(--lx-line) !important;
  color:var(--lx-ink) !important;
  border-radius:12px !important;
  padding:10px 14px !important;
  font-family:var(--font-sans);
  transition:all 0.18s;
}
body.luxe .filters select:focus,
body.luxe .filters input:focus,
body.luxe .form-group input:focus,
body.luxe .form-group select:focus{
  border-color:var(--lx-accent) !important;
  box-shadow:0 0 0 3px rgba(16,185,129,0.12);
}

/* ---------- MY INCOME ---------- */
body.luxe #page-my-income .stat-cards{
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  margin-bottom:20px;
}
body.luxe #page-my-income .stat-card{
  border:none;
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 1px 2px rgba(16,23,42,0.03), 0 4px 12px rgba(16,23,42,0.03);
  position:relative;
  overflow:hidden;
  transition:transform 0.2s cubic-bezier(.4,0,.2,1);
}
body.luxe #page-my-income .stat-card:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(16,23,42,0.04), 0 8px 18px rgba(16,23,42,0.06)}
body.luxe #page-my-income .stat-card:nth-child(1){background:var(--lx-mint)}
body.luxe #page-my-income .stat-card:nth-child(2){background:var(--lx-sky)}
body.luxe #page-my-income .stat-card:nth-child(3){background:var(--lx-lavender)}
body.luxe #page-my-income .stat-card:nth-child(4){background:var(--lx-peach)}
body.luxe #page-my-income .stat-card:nth-child(5){background:var(--lx-lemon)}

body.luxe #page-my-income .stat-card::after{
  content:'';
  position:absolute;
  top:-30px;right:-30px;
  width:80px;height:80px;
  border-radius:50%;
  background:rgba(255,255,255,0.4);
  filter:blur(18px);
  pointer-events:none;
}
body.luxe #page-my-income .stat-card .label{
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-size:10px;
  font-weight:700;
  margin-bottom:8px;
  opacity:0.8;
}
body.luxe #page-my-income .stat-card:nth-child(1) .label{color:var(--lx-mint-ink)}
body.luxe #page-my-income .stat-card:nth-child(2) .label{color:var(--lx-sky-ink)}
body.luxe #page-my-income .stat-card:nth-child(3) .label{color:var(--lx-lavender-ink)}
body.luxe #page-my-income .stat-card:nth-child(4) .label{color:var(--lx-peach-ink)}
body.luxe #page-my-income .stat-card:nth-child(5) .label{color:var(--lx-lemon-ink)}

body.luxe #page-my-income .stat-card .value{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:600;
  font-variation-settings:"opsz" 96, "SOFT" 30;
  letter-spacing:-0.02em;
  line-height:1;
  font-variant-numeric:tabular-nums;
  -webkit-background-clip:initial !important;
  -webkit-text-fill-color:initial !important;
  background:none !important;
}
body.luxe #page-my-income .stat-card:nth-child(1) .value{color:var(--lx-mint-ink)}
body.luxe #page-my-income .stat-card:nth-child(2) .value{color:var(--lx-sky-ink)}
body.luxe #page-my-income .stat-card:nth-child(3) .value{color:var(--lx-lavender-ink)}
body.luxe #page-my-income .stat-card:nth-child(4) .value{color:var(--lx-peach-ink)}
body.luxe #page-my-income .stat-card:nth-child(5) .value{color:var(--lx-lemon-ink)}

/* Income history rows */
body.luxe #myIncomeList > div{
  background:#ffffff !important;
  border:1px solid var(--lx-line) !important;
  border-radius:10px !important;
  padding:10px 14px !important;
  margin-bottom:6px !important;
  box-shadow:0 1px 2px rgba(16,23,42,0.02);
  transition:all 0.15s;
  font-size:13px !important;
}
body.luxe #myIncomeList > div:hover{
  border-color:rgba(16,23,42,0.12) !important;
  box-shadow:0 2px 8px rgba(16,23,42,0.05);
}

/* ---------- MODAL ---------- */
body.luxe .modal-overlay{
  background:rgba(16,23,42,0.45);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
body.luxe .modal{
  background:#ffffff;
  border:1px solid var(--lx-line);
  border-radius:24px;
  box-shadow:0 20px 60px rgba(16,23,42,0.25);
  color:var(--lx-ink);
  padding:28px;
}
body.luxe .modal h3{
  font-family:var(--font-serif);
  color:var(--lx-ink);
  font-weight:400;
  letter-spacing:-0.01em;
  font-size:22px;
  line-height:1.2;
}
body.luxe .form-group label{
  color:var(--lx-muted);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-size:11px;
}

/* ---------- COMMENTS ---------- */
body.luxe .comment{
  background:var(--lx-cream-2);
  border:1px solid transparent;
  border-radius:14px;
  padding:12px 16px;
}
body.luxe .comment .cmeta{color:var(--lx-muted)}
body.luxe .comment-input input{
  background:#fff;
  border:1px solid var(--lx-line);
  color:var(--lx-ink);
  border-radius:12px;
}

/* ---------- ANNOUNCEMENTS ---------- */
body.luxe .ann-card{
  background:#ffffff;
  border:1px solid var(--lx-line);
  border-radius:22px;
  box-shadow:0 2px 8px rgba(16,23,42,0.04), 0 10px 28px rgba(16,23,42,0.05);
}
body.luxe .ann-pinned{border-color:#fbbf24;box-shadow:0 6px 22px rgba(251,191,36,0.15)}
body.luxe .ann-pin-strip{
  background:linear-gradient(90deg, #fef3c7, #fde68a);
  color:#92400e;
  font-weight:800;
  letter-spacing:0.05em;
}
body.luxe .ann-avatar{
  background:linear-gradient(135deg, #ff9a7a, #f06292 50%, #a855f7);
  color:#fff;
  box-shadow:0 4px 14px rgba(240,98,146,0.3);
}
body.luxe .ann-author-name{color:var(--lx-ink);font-weight:700}
body.luxe .ann-time{color:var(--lx-muted-2)}
body.luxe .ann-title{
  font-family:var(--font-sans);
  color:var(--lx-ink);
  font-weight:700;
  letter-spacing:-0.01em;
  font-size:17px;
  line-height:1.25;
}
body.luxe .ann-body{color:var(--lx-ink-2);font-size:14px}
body.luxe .ann-react-btn{
  background:var(--lx-cream-2);
  border:1px solid transparent;
  color:var(--lx-ink-2);
}
body.luxe .ann-react-btn:hover{background:#fff;border-color:var(--lx-line);color:var(--lx-ink)}
body.luxe .ann-react-btn.active-like{background:var(--lx-mint);color:var(--lx-mint-ink)}
body.luxe .ann-react-btn.active-dislike{background:var(--lx-rose);color:var(--lx-rose-ink)}
body.luxe .ann-comments-wrap{border-top:1px solid var(--lx-line-soft)}
body.luxe .ann-comment{border-bottom:1px solid var(--lx-line-soft)}
body.luxe .ann-comment-author{color:var(--lx-ink)}
body.luxe .ann-comment-text{color:var(--lx-ink-2)}
body.luxe .ann-comment-time{color:var(--lx-muted-2)}
body.luxe .ann-comment-input input{background:var(--lx-cream-2);border:1px solid transparent;color:var(--lx-ink)}
body.luxe .ann-comment-input button{background:var(--lx-ink);color:#fff}

/* ---------- CALENDAR ---------- */
body.luxe .cal-cell{
  background:#ffffff;
  border:1px solid var(--lx-line-soft);
  border-radius:14px;
  transition:all 0.18s;
}
body.luxe .cal-cell:hover{background:var(--lx-cream-2);border-color:var(--lx-line)}
body.luxe .cal-cell.cal-today{border-color:var(--lx-accent);background:rgba(16,185,129,0.06);box-shadow:0 0 0 2px rgba(16,185,129,0.15)}
body.luxe .cal-cell.cal-today .cal-day-num{color:var(--lx-accent)}
body.luxe .cal-cell.cal-selected{background:rgba(16,185,129,0.12);border-color:var(--lx-accent)}
body.luxe .cal-count{background:var(--lx-ink);color:#fff;font-weight:800}
body.luxe .cal-header{color:var(--lx-muted);font-weight:700}
body.luxe .cal-day-num{color:var(--lx-ink);font-weight:600}

/* ---------- MAP ---------- */
body.luxe #workerMap{
  border:1px solid var(--lx-line) !important;
  border-radius:22px !important;
  box-shadow:0 2px 8px rgba(16,23,42,0.05), 0 12px 32px rgba(16,23,42,0.06);
}
body.luxe #workerMapStatus{color:var(--lx-muted)}

/* ---------- MOBILE HEADER ---------- */
body.luxe .mobile-header{
  background:#ffffff;
  border-bottom:1px solid var(--lx-line);
  box-shadow:0 2px 8px rgba(16,23,42,0.04);
}
body.luxe .mobile-header .mh-logo{color:var(--lx-ink)}
body.luxe .mobile-header .mh-logo span{color:var(--lx-accent)}
body.luxe .hamburger{color:var(--lx-ink)}

/* ---------- PHOTO GRID ---------- */
body.luxe .wcard-photos{border-radius:16px;box-shadow:0 4px 14px rgba(16,23,42,0.1)}
body.luxe .wcard-photo-more{
  background:rgba(16,23,42,0.85);
  color:#fff;
  border:none;
  font-weight:800;
}

body.luxe .wcard-status-done{color:var(--lx-mint-ink);font-weight:800}
body.luxe .wcard-status-declined{color:var(--lx-rose-ink);font-weight:800}

@media(max-width:600px){
  body.luxe .worker-cards{grid-template-columns:1fr;gap:10px}
  body.luxe .wcard{padding:14px;border-radius:12px}
  body.luxe .wcard-title{font-size:15px}
  body.luxe .page-header h2{font-size:22px}
}

/* ---------- CHAT ---------- */
body.luxe .chat-btn{
  background:linear-gradient(135deg, #ff9a7a, #f06292 50%, #a855f7);
  box-shadow:0 6px 20px rgba(240,98,146,0.35);
  color:#fff;
}
body.luxe .chat-panel{
  background:#ffffff;
  border:1px solid var(--lx-line);
  box-shadow:0 20px 60px rgba(16,23,42,0.25);
}
body.luxe .chat-header{
  background:linear-gradient(135deg, #ff9a7a, #f06292 50%, #a855f7);
  color:#fff;
}
body.luxe .chat-header button{background:rgba(255,255,255,0.25);color:#fff}
body.luxe .chat-msg.user{background:var(--lx-ink);color:#fff;border-bottom-right-radius:4px}
body.luxe .chat-msg.ai{background:var(--lx-cream-2);color:var(--lx-ink);border:1px solid var(--lx-line-soft)}
body.luxe .chat-msg.ai b{color:var(--lx-accent)}
body.luxe .chat-input-wrap{background:#fff;border-top:1px solid var(--lx-line-soft)}
body.luxe .chat-input-wrap textarea{background:var(--lx-cream-2);border:1px solid transparent;color:var(--lx-ink)}
body.luxe .chat-input-wrap textarea:focus{border-color:var(--lx-accent);background:#fff;outline:none}
body.luxe .chat-send{background:var(--lx-ink);color:#fff}
body.luxe .chat-attach{background:var(--lx-cream-2);color:var(--lx-ink-2);border:1px solid transparent !important}
body.luxe .chat-img-preview{color:var(--lx-muted)}

/* biz switcher dropdown */
body.luxe #bizSelect{background:#fff !important;border:1px solid var(--lx-line) !important;color:var(--lx-ink) !important}


/* ==================== DARK LUXE ==================== */
body.luxe.dark{
  --lx-cream:#0b1120;
  --lx-cream-2:#111a2e;
  --lx-ink:#f1f5f9;
  --lx-ink-2:#cbd5e1;
  --lx-muted:#94a3b8;
  --lx-muted-2:#64748b;
  --lx-line:rgba(255,255,255,0.08);
  --lx-line-soft:rgba(255,255,255,0.04);
  --lx-card:#182137;

  --lx-mint:rgba(16,185,129,0.14);
  --lx-mint-ink:#34d399;
  --lx-peach:rgba(251,146,60,0.14);
  --lx-peach-ink:#fb923c;
  --lx-sky:rgba(96,165,250,0.14);
  --lx-sky-ink:#60a5fa;
  --lx-lavender:rgba(167,139,250,0.14);
  --lx-lavender-ink:#a78bfa;
  --lx-lemon:rgba(250,204,21,0.14);
  --lx-lemon-ink:#facc15;
  --lx-rose:rgba(244,63,94,0.14);
  --lx-rose-ink:#fb7185;

  --lx-primary:#ffffff;
  --lx-primary-ink:#0b1120;
  --lx-accent:#34d399;
  --lx-accent-hover:#10b981;

  --text:var(--lx-ink);
  --text2:var(--lx-muted);
  --border:var(--lx-line);
  --bg:var(--lx-cream);
  --surface:var(--lx-card);
  --surface2:#131c33;
  --green:#34d399;
  --red:#fb7185;

  color:var(--lx-ink);
  background:
    radial-gradient(ellipse 60% 40% at 90% -10%, rgba(251,146,60,0.12), transparent 60%),
    radial-gradient(ellipse 50% 35% at -10% 10%, rgba(96,165,250,0.14), transparent 60%),
    radial-gradient(ellipse 40% 30% at 50% 110%, rgba(167,139,250,0.12), transparent 60%),
    var(--lx-cream) fixed;
}

body.luxe.dark .sidebar{background:#111a2e;border-right:1px solid var(--lx-line-soft);box-shadow:none}
body.luxe.dark .sidebar nav a{color:var(--lx-muted)}
body.luxe.dark .sidebar nav a:hover{background:rgba(255,255,255,0.04);color:var(--lx-ink)}
body.luxe.dark .sidebar nav a.active{background:#ffffff;color:#0b1120;box-shadow:0 2px 10px rgba(0,0,0,0.35)}
body.luxe.dark .sidebar nav a.active .nav-badge{background:#0b1120;color:#ffffff}
body.luxe.dark .sidebar .user-info{background:#131c33;border-top:1px solid var(--lx-line-soft)}
body.luxe.dark .logout-btn{background:#131c33;border-color:var(--lx-line);color:var(--lx-ink)}
body.luxe.dark .logout-btn:hover{background:var(--lx-rose);color:var(--lx-rose-ink);border-color:transparent}
body.luxe.dark .theme-toggle{color:var(--lx-muted)}
body.luxe.dark .theme-toggle:hover{color:var(--lx-ink)}
body.luxe.dark .toggle-track{background:#2d3b5a}

body.luxe.dark .page-header h2{color:var(--lx-ink)}
body.luxe.dark .wcard{background:var(--lx-card);border-color:var(--lx-line);box-shadow:0 1px 2px rgba(0,0,0,0.25),0 6px 16px rgba(0,0,0,0.2)}
body.luxe.dark .wcard:hover{border-color:rgba(255,255,255,0.12);box-shadow:0 12px 28px rgba(0,0,0,0.35)}
body.luxe.dark .wcard-title{color:var(--lx-ink)}
body.luxe.dark .wcard-row{color:var(--lx-ink-2)}
body.luxe.dark .wcard-id{color:var(--lx-muted-2)}
body.luxe.dark .wcard-schedule{background:#131c33;color:var(--lx-ink-2)}

body.luxe.dark .wcard-comment input{background:#131c33;color:var(--lx-ink)}
body.luxe.dark .wcard-comment input::placeholder{color:var(--lx-muted-2)}
body.luxe.dark .wcard-comment input:focus{background:#0f1729}
body.luxe.dark .wcard-comment button{background:#ffffff;color:#0b1120}
body.luxe.dark .wcard-comment button:hover{background:#e2e8f0}

body.luxe.dark .btn-primary{background:#ffffff;color:#0b1120}
body.luxe.dark .btn-primary:hover{background:#e2e8f0}
body.luxe.dark .btn-outline{background:#131c33;border-color:var(--lx-line);color:var(--lx-ink)}
body.luxe.dark .btn-outline:hover{background:#182137}

body.luxe.dark .filters select,
body.luxe.dark .filters input,
body.luxe.dark .form-group input,
body.luxe.dark .form-group select,
body.luxe.dark .form-group textarea{background:#131c33 !important;border-color:var(--lx-line) !important;color:var(--lx-ink) !important}

body.luxe.dark #page-my-income .stat-card{box-shadow:0 1px 2px rgba(0,0,0,0.25),0 6px 14px rgba(0,0,0,0.2)}
body.luxe.dark #page-my-income .stat-card::after{background:rgba(255,255,255,0.06)}
body.luxe.dark #myIncomeList > div{background:var(--lx-card) !important;border-color:var(--lx-line) !important;color:var(--lx-ink) !important;box-shadow:none}
body.luxe.dark #myIncomeList > div:hover{border-color:rgba(255,255,255,0.14) !important;box-shadow:0 4px 14px rgba(0,0,0,0.25)}

body.luxe.dark .modal-overlay{background:rgba(4,8,16,0.7)}
body.luxe.dark .modal{background:var(--lx-card);border-color:var(--lx-line);color:var(--lx-ink)}
body.luxe.dark .modal h3{color:var(--lx-ink)}
body.luxe.dark .form-group label{color:var(--lx-muted)}

body.luxe.dark .comment{background:#131c33;border-color:transparent}
body.luxe.dark .comment-input input{background:#131c33;border-color:var(--lx-line);color:var(--lx-ink)}

body.luxe.dark .ann-card{background:var(--lx-card);border-color:var(--lx-line);box-shadow:0 6px 16px rgba(0,0,0,0.2)}
body.luxe.dark .ann-title,body.luxe.dark .ann-body,body.luxe.dark .ann-author-name,body.luxe.dark .ann-comment-author,body.luxe.dark .ann-comment-text{color:var(--lx-ink)}
body.luxe.dark .ann-time,body.luxe.dark .ann-comment-time{color:var(--lx-muted-2)}
body.luxe.dark .ann-react-btn{background:#131c33;color:var(--lx-ink-2)}
body.luxe.dark .ann-react-btn:hover{background:#182137;border-color:var(--lx-line);color:var(--lx-ink)}
body.luxe.dark .ann-comment-input input{background:#131c33;color:var(--lx-ink)}
body.luxe.dark .ann-comment-input button{background:#ffffff;color:#0b1120}

body.luxe.dark .cal-cell{background:var(--lx-card);border-color:var(--lx-line-soft)}
body.luxe.dark .cal-cell:hover{background:#182137;border-color:var(--lx-line)}
body.luxe.dark .cal-cell.cal-today{background:rgba(52,211,153,0.1);border-color:var(--lx-accent)}
body.luxe.dark .cal-cell.cal-today .cal-day-num{color:var(--lx-accent)}
body.luxe.dark .cal-day-num{color:var(--lx-ink)}
body.luxe.dark .cal-header{color:var(--lx-muted)}
body.luxe.dark .cal-count{background:#ffffff;color:#0b1120}

body.luxe.dark #workerMap{border-color:var(--lx-line) !important;filter:saturate(0.85) brightness(0.9)}
body.luxe.dark #workerMapStatus{color:var(--lx-muted)}

body.luxe.dark .mobile-header{background:#111a2e;border-bottom-color:var(--lx-line)}
body.luxe.dark .mobile-header .mh-logo{color:var(--lx-ink)}
body.luxe.dark .hamburger{color:var(--lx-ink)}

body.luxe.dark .chat-panel{background:var(--lx-card);border-color:var(--lx-line)}
body.luxe.dark .chat-msg.user{background:#ffffff;color:#0b1120}
body.luxe.dark .chat-msg.ai{background:#131c33;color:var(--lx-ink);border-color:var(--lx-line)}
body.luxe.dark .chat-input-wrap{background:var(--lx-card);border-top-color:var(--lx-line)}
body.luxe.dark .chat-input-wrap textarea{background:#131c33;color:var(--lx-ink);border-color:var(--lx-line)}
body.luxe.dark .chat-input-wrap textarea:focus{background:#0f1729;border-color:var(--lx-accent)}
body.luxe.dark .chat-send{background:#ffffff;color:#0b1120}
body.luxe.dark .chat-attach{background:#131c33;color:var(--lx-ink-2)}

body.luxe.dark #bizSelect{background:#131c33 !important;border-color:var(--lx-line) !important;color:var(--lx-ink) !important}
