:root{--bg:#f5f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--accent:#111827;--accent2:#22c55e;--good:#059669;--bad:#dc2626;--warn:#d97706;--blue:#2563eb;--shadow:0 10px 30px rgba(17,24,39,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.shell{max-width:1180px;margin:0 auto;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-logo{width:42px;height:42px;display:block}.brand-lockup b{display:block;font-size:21px;letter-spacing:-.6px}.brand-lockup small{display:block;color:var(--muted);font-size:11px;font-weight:600;margin-top:2px}.btn{border:0;border-radius:12px;padding:11px 14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-weight:700}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--accent);color:#fff;box-shadow:none}.btn.good{background:var(--good);color:#fff;box-shadow:none}.btn.bad{background:var(--bad);color:#fff;box-shadow:none}.btn.blue{background:var(--blue);color:#fff;box-shadow:none}.btn.small{padding:8px 10px;border-radius:10px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.hero{grid-column:span 8}.side{grid-column:span 4}.full{grid-column:1/-1}.half{grid-column:span 6}.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.kpi .item{background:#f9fafb;border:1px solid var(--line);border-radius:14px;padding:14px}.kpi b{display:block;font-size:24px;margin-top:5px}.muted{color:var(--muted)}.title{font-size:20px;font-weight:900;margin:0 0 8px}.subtitle{font-size:14px;color:var(--muted);margin:0}.section-title{font-size:15px;font-weight:900;margin:0 0 12px}.row{display:flex;gap:10px;align-items:center}.row.wrap,.wrap{flex-wrap:wrap}.space{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;outline:none}.field textarea{min-height:84px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fullfield{grid-column:1/-1}.jobs{display:flex;flex-direction:column;gap:10px}.job{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.job h4{margin:0 0 7px;font-size:17px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.chip{font-size:12px;border-radius:999px;background:#f3f4f6;padding:6px 9px;color:#374151}.chip.good{background:#ecfdf5;color:#047857}.chip.warn{background:#fff7ed;color:#c2410c}.chip.blue{background:#eff6ff;color:#1d4ed8}.pill{font-size:12px;padding:5px 8px;border-radius:999px;font-weight:800}.status-RECRUITING{background:#ecfeff;color:#0e7490}.status-FILLED,.status-CONFIRMED,.status-CHECKIN_REQUESTED{background:#eff6ff;color:#1d4ed8}.status-IN_PROGRESS,.status-WORKING{background:#fff7ed;color:#c2410c}.status-COMPLETED,.status-PAID,.status-READY{background:#ecfdf5;color:#047857}.status-CANCELLED,.status-NO_SHOW,.status-API_FAILED,.status-ACCOUNT_ERROR,.status-INSUFFICIENT_BALANCE{background:#fef2f2;color:#b91c1c}.toggle{width:62px;height:34px;border-radius:999px;background:#d1d5db;padding:4px;cursor:pointer;transition:.2s}.toggle span{display:block;width:26px;height:26px;background:white;border-radius:50%;transition:.2s;box-shadow:0 2px 5px rgba(0,0,0,.15)}.toggle.on{background:var(--good)}.toggle.on span{transform:translateX(28px)}.banner{background:linear-gradient(135deg,#111827,#334155);color:#fff;border-radius:18px;padding:22px}.banner .title{font-size:25px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:780px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:11px 8px;font-size:13px}.table th{color:var(--muted);font-size:12px}.nav{display:flex;gap:8px;margin-bottom:16px;overflow:auto}.nav button{white-space:nowrap}.empty{padding:26px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#111827;color:#fff;padding:12px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;z-index:1000;max-width:88vw}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:18px;z-index:999}.modal{background:white;border-radius:18px;max-width:560px;width:100%;padding:18px;max-height:90vh;overflow:auto}.divider{height:1px;background:var(--line);margin:14px 0}.notice{padding:12px 14px;border-radius:12px;background:#f9fafb;border:1px solid var(--line);font-size:13px}.danger{color:var(--bad)}.success{color:var(--good)}.mt{margin-top:16px}.mt12{margin-top:12px}.mt10{margin-top:10px}.mt8{margin-top:8px}.grow{flex:1}.check{display:flex;gap:8px;align-items:center;font-weight:700}.filterbar{display:grid;grid-template-columns:180px 180px 1fr;gap:12px}.message-layout{display:grid;grid-template-columns:300px 1fr;gap:16px}.contact-list{display:flex;flex-direction:column;gap:8px}.contact{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;text-align:left;cursor:pointer}.contact b,.contact span{display:block}.contact span{font-size:12px;color:var(--muted);margin-top:3px}.contact.active{border-color:#111827;background:#f9fafb}.message-pane{min-height:520px;display:flex;flex-direction:column}.message-list{height:390px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:12px 0}.bubble{align-self:flex-start;max-width:76%;background:#f3f4f6;border-radius:14px 14px 14px 4px;padding:10px 12px}.bubble.mine{align-self:flex-end;background:#111827;color:#fff;border-radius:14px 14px 4px 14px}.bubble small{display:block;font-size:10px;opacity:.65;margin-top:5px}.message-compose{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:auto}.message-compose input{border:1px solid var(--line);border-radius:12px;padding:12px}.ad-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.ad-card{min-height:112px;border-radius:18px;padding:18px;text-decoration:none;background:linear-gradient(135deg,#0f172a,#334155);background-size:cover;background-position:center;color:white;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow)}.ad-card strong{font-size:17px}.ad-card span{font-size:12px;opacity:.88;margin-top:4px}.ad-placeholder{height:96px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:18px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#94a3b8;gap:4px}.ad-placeholder b{font-size:12px;letter-spacing:1.6px}.login-shell{max-width:620px;padding-top:5vh}.login-card{max-width:520px;margin:16px auto 0}.login-brand{display:flex;justify-content:center;margin-bottom:14px}.login-ad{max-width:520px;margin:0 auto 16px}
@media(max-width:840px){.shell{padding:12px}.topbar{align-items:flex-start;flex-direction:column}.hero,.side,.half{grid-column:1/-1}.kpi{grid-template-columns:repeat(2,1fr)}.form-grid,.filterbar{grid-template-columns:1fr}.card{padding:15px}.nav{width:100%}.banner .title{font-size:22px}.ad-strip{grid-template-columns:1fr}.message-layout{grid-template-columns:1fr}.contact-list{max-height:250px;overflow:auto}.message-pane{min-height:460px}.brand-logo{width:38px;height:38px}}
/* v8 additions */
:root{--lime:#84cc16;--soft-lime:#f7fee7}
.third{grid-column:span 4}.nav-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;margin-left:4px}.alert-stack{display:flex;flex-direction:column;gap:8px;margin:-4px 0 16px}.alert-item{width:100%;border:1px solid #fde68a;background:#fffbeb;border-radius:14px;padding:11px 14px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.alert-item b{font-size:12px;color:#92400e}.alert-item span{font-size:13px;color:#78350f}.alert-item.work{border-color:#bae6fd;background:#f0f9ff}.alert-item.work b,.alert-item.work span{color:#075985}.alert-item.pay{border-color:#bbf7d0;background:#f0fdf4}.alert-item.pay b,.alert-item.pay span{color:#166534}.history-alerts{display:flex;flex-direction:column;gap:8px}.alert-note{background:#fffbeb;border-color:#fde68a}.worker-filter{grid-template-columns:1.2fr 1fr 1fr}.worker-history-mini{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.worker-history-mini b{font-size:12px}.worker-history-mini span{font-size:11px;color:var(--muted)}.contact-group{display:flex;flex-direction:column;gap:7px;padding-top:8px}.contact-group+.contact-group{margin-top:12px;border-top:1px solid var(--line)}.contact-group h3{font-size:12px;margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.mini-empty{font-size:12px;color:var(--muted);padding:10px 2px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.brand-logo{background:#fff;border-radius:13px;padding:2px}.login-ad{max-width:520px;margin:16px auto 0}.login-card{margin:0 auto}.login-brand{margin-bottom:18px}.banner{background:linear-gradient(135deg,#0f172a 0%,#1e293b 68%,#365314 135%)}
@media(max-width:840px){.third{grid-column:1/-1}.worker-filter,.category-grid{grid-template-columns:1fr}}

/* v9 additions */
.panel-tabs{display:inline-flex;gap:4px;padding:4px;background:#f3f4f6;border-radius:13px}
.panel-tabs button{border:0;background:transparent;color:#6b7280;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer}
.panel-tabs button.active{background:#111827;color:#fff;box-shadow:0 2px 8px rgba(17,24,39,.12)}
.panel-tabs button span{font-size:11px;opacity:.8;margin-left:3px}
.shell>.ad-strip,.shell>.ad-placeholder{margin-top:18px}
.btn:disabled{opacity:.48;cursor:not-allowed;filter:none}

/* v10 additions */
.job-attention{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.08)}
.alert-item.message{border-color:#ddd6fe;background:#f5f3ff}.alert-item.message b,.alert-item.message span{color:#6d28d9}
.contact .nav-badge{display:inline-flex;color:#fff;margin-top:0;flex:0 0 auto}
.deposit-account{display:inline-block;font-size:20px;font-weight:900;letter-spacing:.02em;margin-top:5px}

/* =========================================================
   v14 production visual refresh — "놀면뭐하니?"
   ========================================================= */
:root{
  --bg:#f4f7fb;
  --card:rgba(255,255,255,.92);
  --text:#0c1b3a;
  --muted:#64748b;
  --line:#e6ebf3;
  --accent:#0b1f4d;
  --accent2:#16d6a0;
  --good:#0ea777;
  --bad:#ef4444;
  --warn:#f59e0b;
  --blue:#3867f6;
  --violet:#7c3aed;
  --navy:#071a44;
  --teal:#0fd6b1;
  --shadow:0 16px 42px rgba(20,42,86,.08),0 2px 8px rgba(20,42,86,.04);
  --shadow-lg:0 28px 70px rgba(12,34,74,.15);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 88% -10%,rgba(91,69,255,.08),transparent 34%),
    radial-gradient(circle at 5% 12%,rgba(23,216,171,.08),transparent 30%),
    linear-gradient(180deg,#f8faff 0,#f3f6fb 100%);
  color:var(--text);
  min-height:100vh;
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:64px 64px;opacity:.1}
button,input,select,textarea{color:var(--text)}

/* app frame */
.shell.app-frame{max-width:1480px;margin:0 auto;padding:0 22px 28px}
.topbar{
  height:88px;margin:0 -22px 18px;padding:0 24px;
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.88);backdrop-filter:blur(20px) saturate(145%);
  border-bottom:1px solid rgba(226,232,240,.9);
  box-shadow:0 6px 24px rgba(15,23,42,.035);
}
.topbar-brand{display:flex;align-items:center;min-width:260px}
.brand-lockup{gap:11px}.brand-logo{width:46px;height:46px;object-fit:contain;padding:0;background:transparent;border-radius:14px;filter:drop-shadow(0 8px 12px rgba(49,46,129,.12))}.brand-lockup b{font-size:22px;letter-spacing:-.8px;color:#102b70}.brand-lockup small{font-size:11px;color:#6c7b9c;letter-spacing:-.1px}
.topbar-copy{display:flex;flex-direction:column;align-items:center;gap:2px;margin:auto;color:#70809e}.topbar-copy b{font-size:13px;color:#38517e}.topbar-copy span{font-size:9px;letter-spacing:2px;font-weight:800;color:#9aa7be}
.topbar-user{display:flex;align-items:center;gap:10px}.user-orb{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0b234f,#5b35f4);color:white;font-weight:900;box-shadow:0 8px 18px rgba(54,63,214,.22)}.user-meta{display:flex;flex-direction:column;line-height:1.2}.user-meta b{font-size:13px}.user-meta span{font-size:10px;color:var(--muted);margin-top:3px}.btn.ghost{background:#f8fafc;color:#334155}
.workspace{display:grid;grid-template-columns:176px minmax(0,1fr);gap:22px;align-items:start}.sidebar{position:sticky;top:106px;min-height:calc(100vh - 132px);background:rgba(255,255,255,.64);border:1px solid rgba(226,232,240,.78);border-radius:24px;padding:14px 12px;box-shadow:0 12px 30px rgba(15,23,42,.04);backdrop-filter:blur(18px);display:flex;flex-direction:column}.sidebar-label{font-size:9px;letter-spacing:2px;font-weight:900;color:#a0aec0;padding:8px 12px 6px}.sidebar .nav{display:flex;flex-direction:column;gap:7px;margin:0;overflow:visible}.nav-item{border:0;width:100%;background:transparent;display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:14px;font-weight:800;color:#50617f;cursor:pointer;transition:.18s;text-align:left}.nav-item:hover{background:#f6f9ff;color:#16336d;transform:translateX(2px)}.nav-item.active{background:linear-gradient(135deg,#e6fff7,#eff4ff);color:#078b71;box-shadow:inset 0 0 0 1px rgba(39,215,167,.12)}.nav-icon{width:24px;height:24px;border-radius:8px;background:#eef2f8;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#496184;flex:0 0 auto}.nav-item.active .nav-icon{background:linear-gradient(145deg,#13cba4,#4a6cff);color:white;box-shadow:0 6px 14px rgba(38,190,174,.22)}.nav-text{font-size:13px;flex:1}.nav-item .nav-badge{margin-left:auto}.sidebar-brand-note{margin-top:auto;padding:14px 10px 4px;display:flex;align-items:center;gap:8px;border-top:1px solid #edf1f6}.sidebar-brand-note img{width:28px;height:28px;object-fit:contain}.sidebar-brand-note b{display:block;font-size:11px;color:#173570}.sidebar-brand-note span{display:block;font-size:8px;color:#94a3b8;margin-top:2px;line-height:1.35}.content-area{min-width:0}.content-area>.alert-stack{margin:0 0 14px}

/* shared surfaces */
.card{border:1px solid rgba(220,228,239,.96);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92));box-shadow:var(--shadow)}
.title{letter-spacing:-.55px;color:#0b1c3c}.subtitle{color:#71809a}.btn{border-radius:13px;transition:.18s;box-shadow:inset 0 0 0 1px #e4e9f1;background:#fff}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08),inset 0 0 0 1px #dde4ee}.btn.primary{background:linear-gradient(135deg,#0d214d,#142d63);box-shadow:0 10px 24px rgba(14,39,87,.18)}.btn.good{background:linear-gradient(135deg,#16c98e,#079a72);box-shadow:0 10px 22px rgba(10,159,113,.17)}.btn.bad{background:linear-gradient(135deg,#f04444,#dc2626)}.btn.blue{background:linear-gradient(135deg,#4a78ff,#3558e8)}.field input,.field select,.field textarea,.message-compose input{border-color:#dce4ef;background:#fbfdff;transition:.18s;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}.field input:focus,.field select:focus,.field textarea:focus,.message-compose input:focus{border-color:#7893ff;box-shadow:0 0 0 4px rgba(82,110,255,.09);background:white;outline:none}.job{border-color:#e3e9f2;border-radius:18px;padding:16px;box-shadow:0 6px 18px rgba(21,42,84,.035);transition:.18s;background:linear-gradient(180deg,#fff,#fcfdff)}.job:hover{border-color:#d5dfec;box-shadow:0 12px 26px rgba(21,42,84,.07);transform:translateY(-1px)}.job h4{color:#0f2040}.chip{background:#f1f5f9;color:#53627c}.chip.good{background:#e9fbf4;color:#07865f}.chip.warn{background:#fff5df;color:#b96708}.chip.blue{background:#edf3ff;color:#3156c6}.pill{padding:6px 10px}.panel-tabs{background:#f0f3f8;border:1px solid #e7ebf1;border-radius:14px;padding:4px}.panel-tabs button{padding:10px 15px}.panel-tabs button.active{background:linear-gradient(135deg,#10244d,#172d5c);box-shadow:0 5px 12px rgba(16,36,77,.16)}.empty{background:linear-gradient(180deg,#fbfdff,#f8fafc);border-color:#dae2ed}.table-wrap{border:1px solid #e7ecf3;border-radius:16px;overflow:auto}.table th{background:#f8fafc;color:#75839a}.table th,.table td{padding:13px 11px}.notice{background:#f8fafc;border-color:#e2e8f0}.toast{background:linear-gradient(135deg,#0b1f46,#21396a);box-shadow:0 14px 36px rgba(15,23,42,.25);border:1px solid rgba(255,255,255,.14)}.modal-backdrop{background:rgba(7,20,48,.45);backdrop-filter:blur(8px)}.modal{border-radius:24px;box-shadow:0 32px 90px rgba(6,20,45,.26);border:1px solid rgba(255,255,255,.55)}

/* alerts */
.alert-stack{gap:8px}.alert-item{border-radius:15px;padding:11px 14px;box-shadow:0 6px 16px rgba(31,41,55,.025)}.alert-item.work{background:linear-gradient(90deg,#f0f9ff,#f7fbff)}.alert-item.pay{background:linear-gradient(90deg,#effdf7,#f8fffb)}.alert-item.message{background:linear-gradient(90deg,#f7f4ff,#fbfaff)}

/* owner dashboard */
.owner-dashboard{gap:18px}.owner-dashboard .owner-hero{grid-column:span 9}.owner-dashboard .wage-wallet-card{grid-column:span 3}.owner-hero{position:relative;overflow:hidden;min-height:326px;padding:34px 36px;border:0;border-radius:26px;background:
  radial-gradient(circle at 70% 10%,rgba(67,255,221,.24),transparent 25%),
  radial-gradient(circle at 92% 76%,rgba(115,68,255,.32),transparent 30%),
  linear-gradient(120deg,#071a43 0%,#0b2d5b 47%,#12396c 65%,#0b2f42 100%);box-shadow:0 26px 60px rgba(7,26,67,.24);isolation:isolate}.owner-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 38%);z-index:-1}.owner-hero:after{content:"";position:absolute;right:-60px;top:-80px;width:330px;height:330px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 56px rgba(255,255,255,.025),0 0 0 112px rgba(255,255,255,.018);z-index:-1}.hero-content{position:relative;z-index:2;max-width:72%}.eyebrow{display:inline-block;font-size:9px;letter-spacing:2.4px;font-weight:900;color:#79ddff;margin-bottom:13px}.hero-title{margin:0;color:white;font-size:34px;letter-spacing:-1.3px;line-height:1.12}.hero-title em{font-style:normal;background:linear-gradient(90deg,#29f0bf,#66e8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{font-size:19px;font-weight:900;color:#fff;margin:19px 0 4px;letter-spacing:-.5px}.hero-sub{margin:0;color:#bfcce2;font-size:13px}.hero-features{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0 22px}.hero-features span{display:flex;align-items:center;gap:7px;color:#e7f3ff;font-size:12px;font-weight:800}.hero-features b{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(41,230,188,.22),rgba(83,107,255,.25));border:1px solid rgba(255,255,255,.12);color:#55edcb}.hero-cta{border:0!important;background:linear-gradient(90deg,#18dfa5,#08ae7f)!important;color:#fff!important;font-size:16px;padding:14px 20px!important;min-width:210px;box-shadow:0 12px 28px rgba(11,211,157,.28)!important}.hero-cta span{font-size:20px}.hero-cta b{margin-left:12px;font-size:22px}.hero-mark{position:absolute;right:27px;bottom:12px;width:235px;height:235px;object-fit:contain;opacity:.98;filter:drop-shadow(0 30px 45px rgba(16,15,88,.35))}.hero-aurora{position:absolute;width:220px;height:220px;border-radius:50%;right:100px;top:18px;background:linear-gradient(145deg,#24f2c2,#4657ff 65%,#9a4cff);filter:blur(58px);opacity:.16}.wage-wallet-card{padding:20px 18px;align-self:stretch;display:flex;flex-direction:column;min-height:326px}.wallet-title-row{display:flex;align-items:flex-start;gap:10px}.wallet-title-row .title{font-size:17px;margin-bottom:4px}.wallet-title-row .subtitle{font-size:11px;line-height:1.5}.wallet-icon{width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#f1eaff,#d9f4ff);display:flex;align-items:center;justify-content:center;color:#6d3df0;font-weight:900;box-shadow:inset 0 0 0 1px rgba(111,61,240,.07)}.wallet-stack{margin-top:16px;border:1px solid #e7ebf2;border-radius:17px;padding:4px 13px;background:#fcfdff}.wallet-row{display:flex;justify-content:space-between;gap:10px;padding:12px 2px;border-bottom:1px solid #edf1f5;font-size:12px}.wallet-row b{font-size:14px}.wallet-row.available{border-bottom:0}.wallet-row.available b{color:#06a975}.wallet-btn{width:100%;border:0!important;background:linear-gradient(90deg,#19d39b,#089e79)!important;color:#fff!important;margin:4px 0 8px;padding:12px!important;box-shadow:0 10px 22px rgba(9,160,118,.18)!important}.wallet-btn span{font-size:18px;margin-left:5px}.wallet-note{margin-top:auto;font-size:9px;color:#5278d5;background:#f2f7ff;border-radius:11px;padding:9px;text-align:center}.jobs-panel{padding:20px 20px 22px}.section-kicker{font-size:8px;letter-spacing:1.8px;color:#a2afc0;font-weight:900}.jobs-panel-head .title{margin-top:3px}.summary-chip{font-size:11px;border-radius:999px;padding:7px 10px;background:#f2f5f8;color:#61708a;font-weight:900}.summary-chip.hot{background:#fff1e2;color:#bd6509}.job-attention{border-color:#f6c35f;box-shadow:0 0 0 2px rgba(245,158,11,.07),0 12px 26px rgba(21,42,84,.06)}

/* worker dashboard */
.worker-dashboard .worker-hero{position:relative;overflow:hidden;border:0;min-height:230px;padding:28px;background:radial-gradient(circle at 83% 18%,rgba(95,80,255,.32),transparent 28%),linear-gradient(125deg,#071a43,#0c325d 62%,#114c46);box-shadow:0 22px 50px rgba(7,26,67,.18)}.worker-hero .title{color:white;font-size:28px}.worker-hero p{color:#cbd7e8}.worker-hero .toggle{box-shadow:0 0 0 5px rgba(255,255,255,.06)}.worker-dashboard .side.card{background:linear-gradient(180deg,#fff,#f9fbff)}

/* login */
.login-shell{max-width:1040px;padding:7vh 18px 40px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:stretch}.login-brand{grid-column:1/-1;justify-content:flex-start;margin:0 0 5px 4px}.login-hero{min-height:430px;border-radius:28px;position:relative;overflow:hidden;padding:44px;background:radial-gradient(circle at 82% 16%,rgba(37,238,191,.24),transparent 27%),radial-gradient(circle at 95% 75%,rgba(122,63,255,.28),transparent 30%),linear-gradient(130deg,#071a43,#0b315e 58%,#122c57);box-shadow:var(--shadow-lg);color:white}.login-copy{position:relative;z-index:2;max-width:68%}.login-copy h1{font-size:38px;line-height:1.12;margin:4px 0 18px;letter-spacing:-1.4px}.login-copy p{color:#c3d1e6;line-height:1.7;font-size:14px}.login-points{display:flex;flex-direction:column;gap:9px;margin-top:28px;font-size:12px;font-weight:800;color:#e2ecf9}.login-points span:before{color:#1de0ad}.login-mark{position:absolute;right:-10px;bottom:-12px;width:260px;height:260px;object-fit:contain;filter:drop-shadow(0 28px 44px rgba(12,14,82,.38))}.login-glow{position:absolute;border-radius:50%;filter:blur(60px)}.login-glow.one{width:190px;height:190px;background:#12dbb1;right:90px;top:40px;opacity:.16}.login-glow.two{width:180px;height:180px;background:#774cff;right:-20px;bottom:20px;opacity:.17}.login-card{max-width:none;margin:0;padding:28px;border-radius:28px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow-lg)}.login-card-head{display:flex;gap:12px;align-items:center}.mini-mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#091b45,#3e2cbf);display:flex;align-items:center;justify-content:center}.mini-mark img{width:36px;height:36px;object-fit:contain}.login-card .title{font-size:24px}.login-submit{margin-top:4px;padding:13px!important;background:linear-gradient(90deg,#102653,#274aa3)!important}.login-shell>.ad-strip,.login-shell>.ad-placeholder{grid-column:1/-1}

/* banner area */
.ad-strip{grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 0}.ad-card{min-height:100px;border-radius:18px;padding:16px;background:linear-gradient(135deg,#0b214b,#304b88);box-shadow:0 10px 26px rgba(18,40,84,.11)}.ad-card:nth-child(2n){background:linear-gradient(135deg,#143a52,#0d8d79)}.ad-card:nth-child(3n){background:linear-gradient(135deg,#322b78,#7143d8)}.ad-placeholder{height:84px;margin:22px 0 0;background:linear-gradient(90deg,#f8fbff,#fbf9ff);border-color:#dce5f2}

/* messages */
.message-layout{grid-template-columns:280px 1fr}.contact-list,.message-pane{border-radius:22px}.contact{border-color:#e4eaf2;border-radius:14px}.contact.active{border-color:#516ff7;background:#f4f7ff;box-shadow:0 0 0 3px rgba(81,111,247,.06)}.bubble{background:#f1f5f9}.bubble.mine{background:linear-gradient(135deg,#102653,#274aa3)}

@media(max-width:1100px){.workspace{grid-template-columns:150px minmax(0,1fr)}.owner-dashboard .owner-hero{grid-column:span 8}.owner-dashboard .wage-wallet-card{grid-column:span 4}.hero-content{max-width:68%}.hero-mark{width:205px;height:205px}.topbar-copy{display:none}}
@media(max-width:840px){.shell.app-frame{padding:0 12px 20px}.topbar{height:auto;min-height:72px;margin:0 -12px 12px;padding:11px 14px;flex-direction:row;align-items:center;position:sticky}.topbar-brand{min-width:0}.brand-lockup small{display:none}.brand-lockup b{font-size:18px}.brand-logo{width:38px;height:38px}.user-meta{display:none}.workspace{display:block}.sidebar{position:sticky;top:74px;z-index:55;min-height:auto;border-radius:16px;padding:7px;margin-bottom:12px;overflow-x:auto}.sidebar-label,.sidebar-brand-note{display:none}.sidebar .nav{flex-direction:row;gap:5px}.nav-item{width:auto;min-width:max-content;padding:9px 10px}.nav-icon{width:22px;height:22px}.nav-text{font-size:11px}.owner-dashboard .owner-hero,.owner-dashboard .wage-wallet-card,.hero,.side,.half,.third{grid-column:1/-1}.owner-hero{min-height:360px;padding:26px 22px}.hero-content{max-width:100%}.hero-title{font-size:28px}.hero-sub{max-width:70%}.hero-mark{width:155px;height:155px;right:8px;bottom:4px;opacity:.55}.hero-features{gap:9px;margin-bottom:18px}.hero-features span{font-size:10px}.wage-wallet-card{min-height:auto}.login-shell{display:block;padding-top:22px}.login-brand{justify-content:center;margin-bottom:14px}.login-hero{min-height:320px;padding:30px 26px;margin-bottom:14px}.login-copy{max-width:100%}.login-copy h1{font-size:30px}.login-mark{width:165px;height:165px;opacity:.55}.login-card{padding:22px}.message-layout{grid-template-columns:1fr}.ad-strip{grid-template-columns:1fr}.grid{gap:12px}}


/* v15 signup */
.signup-sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:4px 0}.signup-sep:before,.signup-sep:after{content:"";height:1px;background:var(--line);flex:1}.signup-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.signup-shell{max-width:920px;padding-top:34px;padding-bottom:50px}.signup-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.signup-card{padding:28px;border-radius:28px}.signup-heading{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}.signup-heading h1{margin:3px 0 6px;font-size:28px}.signup-heading p{margin:0;color:var(--muted);font-size:13px}.signup-role-tabs{display:flex;gap:8px;padding:18px 0 4px}.signup-role-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font-weight:800;cursor:pointer}.signup-role-tabs button.active{background:linear-gradient(90deg,#102653,#274aa3);color:#fff;border-color:transparent}.signup-section{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff)}.signup-section h3{margin:0 0 14px;font-size:16px}.verify-box{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end}.verify-box.account-verify{grid-template-columns:170px minmax(0,1fr) 180px auto auto;margin-top:12px}.verify-state{min-width:74px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f3f4f6;color:#6b7280;font-size:12px;font-weight:800}.verify-state.ok{background:#ecfdf5;color:#047857}.test-badge{font-size:11px;font-weight:800;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;padding:5px 8px;border-radius:999px}.kyc-note{font-size:11px;color:var(--muted);margin:12px 0 0;line-height:1.6}.signup-submit{width:100%;margin-top:18px;padding:14px!important;background:linear-gradient(90deg,#102653,#274aa3)!important}
@media(max-width:840px){.signup-shell{padding-top:16px}.signup-card{padding:18px}.signup-top{align-items:flex-start}.verify-box,.verify-box.account-verify{grid-template-columns:1fr}.verify-state{justify-content:flex-start;padding:0 12px}.signup-buttons{grid-template-columns:1fr}.signup-section{padding:14px}}

/* v17 profile / navigation fixes */
.panel-tabs{position:relative;z-index:6}
.panel-tabs button{position:relative;z-index:7;pointer-events:auto}
.topbar-profile{border:0;background:transparent;padding:3px 5px;display:flex;align-items:center;gap:10px;border-radius:14px;cursor:pointer;color:inherit;text-align:left;transition:.18s}
.topbar-profile:hover{background:#f1f5ff;box-shadow:0 6px 18px rgba(35,55,110,.07)}
.user-orb.has-photo,.profile-avatar.has-photo{overflow:hidden!important;background:#eef2ff;padding:0!important}
.user-orb img,.profile-avatar img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center;display:block!important;border-radius:inherit}
.profile-photo-box{display:flex;align-items:center;gap:20px;min-height:120px}
.profile-photo-preview{flex:0 0 auto}
.profile-avatar{width:92px;height:92px;min-width:92px;min-height:92px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0b234f,#6041f4);color:#fff;font-size:34px;font-weight:900;box-shadow:0 15px 34px rgba(43,55,165,.18)}
.profile-photo-box h3{margin:0 0 5px;color:#10244d}.profile-photo-box p{margin:0 0 12px}.profile-photo-btn{display:inline-flex!important;cursor:pointer}
@media(max-width:840px){.topbar-profile{padding:2px}.profile-photo-box{align-items:flex-start}.profile-avatar{width:74px;height:74px;border-radius:22px}.profile-photo-box{gap:14px}}


/* v18 login + circular avatar crop */
.user-orb{
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  max-width:38px!important;max-height:38px!important;flex:0 0 38px!important;
  border-radius:50%!important;overflow:hidden!important;position:relative;
}
.user-orb.has-photo img{
  position:absolute!important;inset:0!important;width:38px!important;height:38px!important;
  min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;
  object-fit:cover!important;object-position:center!important;border-radius:50%!important;
}
.topbar-profile{overflow:hidden;max-width:220px}
.topbar-profile .user-meta{min-width:0}
.topbar-profile .user-meta b,.topbar-profile .user-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}
.profile-avatar.has-photo{border-radius:50%!important}
.profile-avatar.has-photo img{border-radius:50%!important;object-fit:cover!important}
.avatar-crop-modal{text-align:center}
.avatar-crop-modal h3{margin:2px 0 6px;color:#10244d}
.avatar-crop-modal .subtitle{margin-bottom:18px}
.avatar-crop-stage{
  width:280px;height:280px;margin:0 auto;border-radius:50%;overflow:hidden;position:relative;
  background:#e8eef8;touch-action:none;cursor:grab;box-shadow:0 0 0 7px #f4f7fb,0 18px 42px rgba(19,40,84,.18);
  user-select:none;-webkit-user-select:none;
}
.avatar-crop-stage:active{cursor:grabbing}
.avatar-crop-stage img{position:absolute;max-width:none!important;max-height:none!important;pointer-events:none;user-select:none;-webkit-user-drag:none}
.avatar-zoom-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:24px auto 4px;max-width:360px;font-size:12px;color:#64748b;font-weight:800}
.avatar-zoom-row input{width:100%;accent-color:#3155c9}
.avatar-crop-actions{justify-content:center;margin-top:18px}
@media(max-width:520px){.avatar-crop-stage{width:240px;height:240px}.topbar-profile{max-width:64px}.profile-avatar{width:80px;height:80px;min-width:80px;min-height:80px}}
