@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap";:root{--bg: #f0fdf4;--surface: #ffffff;--surface2: #dcfce7;--border: #d1fae5;--accent: #166534;--accent2: #16a34a;--accent3: #ef4444;--accent4: #0a3d1f;--blue: #2563eb;--blue-soft: #dbeafe;--purple: #7c3aed;--purple-soft: #ede9fe;--orange: #f59e0b;--orange-soft: #fef3c7;--slate-soft: #e5e7eb;--text: #0d1a0d;--muted: #6b7280;--muted2: #374151;--font-head: "Playfair Display", Georgia, serif;--font-body: "DM Sans", Arial, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 22px 70px #0d1a0d1f;max-width:560px;padding:34px;width:100%}.login-mark,.logo-mark,.topbar-title,h1,.stat-value,.card-title,.shift-big-title{font-family:var(--font-head)}.login-mark{color:var(--accent);font-size:20px;font-weight:900;margin-bottom:12px}.login-card h1{font-size:36px;line-height:1.05;margin:0 0 12px}.login-card p{color:var(--muted2);line-height:1.6;margin:0 0 24px}.demo-list{background:var(--surface2);border:1px solid var(--border);border-radius:14px;display:grid;gap:8px;padding:12px}.demo-label,.nav-section-label,.stat-label,.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.demo-account{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);display:flex;justify-content:space-between;gap:12px;padding:11px 12px;text-align:left}.demo-account:hover{border-color:var(--accent)}.demo-account span{display:grid;gap:3px}.demo-account small{color:var(--muted)}.demo-account code{color:var(--accent);font-size:12px}.auth-shell{align-items:center;background:radial-gradient(circle at 8% 8%,rgba(187,247,208,.55),transparent 28%),linear-gradient(135deg,#f6fff9,#eefbf4 46%,#fff);display:flex;min-height:100vh;padding:32px}.auth-onboarding-card,.auth-split-card{background:#ffffffeb;border:1px solid var(--border);border-radius:26px;box-shadow:0 24px 80px #063f281f;margin:0 auto;overflow:hidden;width:min(1180px,100%)}.auth-onboarding-card{display:grid;gap:28px;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);min-height:720px;padding:42px;position:relative}.auth-brand-line{align-items:center;display:flex;gap:14px}.auth-brand-line img{border-radius:14px;height:54px;object-fit:cover;width:54px}.auth-brand-line strong{color:var(--accent);display:block;font-family:var(--font-head);font-size:28px;line-height:1}.auth-brand-line span{color:var(--accent2);display:block;font-size:12px;font-weight:800;letter-spacing:3px}.auth-onboarding-copy{align-self:center;display:grid;gap:18px;max-width:520px}.auth-badge{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:999px;color:var(--accent);display:inline-flex;font-weight:800;justify-content:center;padding:9px 16px;width:fit-content}.auth-onboarding-copy h1,.auth-form-pane h1{color:var(--accent4);font-family:var(--font-head);font-size:clamp(40px,5vw,68px);line-height:1.02;margin:0}.auth-onboarding-copy p,.auth-form-pane p{color:var(--muted2);font-size:18px;line-height:1.55;margin:0}.auth-onboarding-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.auth-hero-image{align-self:stretch;border-radius:22px;box-shadow:inset 0 0 0 1px #d1fae5e6;height:100%;max-height:680px;object-fit:cover;object-position:center;width:100%}.auth-split-card{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(380px,.92fr);min-height:720px}.auth-visual-pane{background:linear-gradient(135deg,#f2fff7,#fff);display:grid;gap:24px;padding:42px}.auth-visual-pane>img{align-self:stretch;border-radius:24px;height:100%;min-height:520px;object-fit:cover;object-position:center;width:100%}.auth-form-pane{align-content:center;background:#fff;display:grid;gap:16px;padding:clamp(30px,5vw,64px)}.auth-form-pane h1{font-size:clamp(34px,4vw,54px)}.auth-form-pane label{color:var(--muted2);display:grid;font-size:13px;font-weight:800;gap:8px}.auth-form-pane input{background:#fbfffc;border:1px solid #cfe9d8;border-radius:12px;color:var(--text);min-height:52px;outline:none;padding:0 16px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-form-pane input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px #1665341f}.auth-submit{min-height:56px;width:100%}.auth-secondary-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.auth-secondary-actions button,.auth-demo-link{background:transparent;border:0;color:var(--accent);font-weight:800;padding:4px}.auth-demo-link{justify-self:center}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;font-weight:800;padding:12px 14px}@media(max-width:920px){.auth-shell{padding:16px}.auth-onboarding-card,.auth-split-card{grid-template-columns:1fr}.auth-onboarding-card{min-height:auto;padding:24px}.auth-hero-image,.auth-visual-pane>img{max-height:360px;min-height:280px}.auth-visual-pane{padding:24px}}.app-frame{display:flex;height:100vh;overflow:hidden}.sidebar{background:linear-gradient(180deg,#fff,#f6fbf8 58%,#eef8f2);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;width:260px}.logo{align-items:center;background:linear-gradient(135deg,#1665341f,#16a34a14);border:1px solid var(--border);border-radius:14px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;margin:14px;padding:16px}.logo:before{align-items:center;background:radial-gradient(circle at 70% 25%,rgba(255,255,255,.44),transparent 24%),linear-gradient(135deg,#0f6b48,#063f28);border:1px solid rgba(255,255,255,.45);border-radius:14px;box-shadow:0 10px 24px #063f2829;color:#fff;content:"S";display:inline-flex;font-family:var(--font-head);font-size:22px;font-weight:900;grid-row:1 / span 2;height:42px;justify-content:center;line-height:1;width:42px}.logo.with-image:before{content:none;display:none}.brand-logo{align-self:center;border-radius:14px;box-shadow:0 10px 24px #063f2829;grid-row:1 / span 2;height:42px;object-fit:contain;padding:2px;width:42px}.logo-mark{color:var(--accent);font-size:18px;font-weight:900;min-width:0;overflow-wrap:anywhere}.logo-sub{color:var(--muted);font-size:10px;letter-spacing:1.5px;margin-top:3px;min-width:0;text-transform:uppercase}.role-switcher{background:var(--surface2);border:1px solid var(--border);border-radius:10px;display:flex;gap:2px;margin:16px 14px;padding:4px}.role-btn{background:transparent;border:0;border-radius:7px;color:var(--muted);flex:1;font-size:10px;font-weight:700;padding:8px 4px;text-transform:uppercase}.role-btn.active{background:var(--accent);color:#fff}nav{flex:1;overflow-y:auto;padding:8px 12px}.nav-section{display:grid;gap:3px;margin-bottom:18px}.nav-section-label{color:#64748b;font-size:10px;font-weight:900;letter-spacing:1.2px;margin-bottom:6px;padding:0 8px;text-transform:uppercase}.nav-item{align-items:center;background:transparent;border:0;border-radius:11px;color:var(--muted2);display:flex;gap:10px;margin-bottom:2px;padding:10px 12px;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease;width:100%}.nav-item:hover,.nav-item.active{background:#dcfce7bd;color:var(--accent)}.nav-item.active{box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.nav-item:hover{transform:translate(2px)}.nav-icon{align-items:center;background:#0f172a0d;border-radius:9px;display:inline-flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.nav-item.active .nav-icon{background:#1665341f}.nav-icon .ui-icon{height:16px;width:16px}.nav-badge{background:var(--accent3);border-radius:10px;color:#fff;font-size:10px;font-weight:700;margin-left:auto;padding:2px 6px}.sidebar-footer{border-top:1px solid var(--border);padding:14px 16px}.user-info{align-items:center;display:flex;gap:10px}.user-button{background:var(--surface2);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:10px;text-align:left;width:100%}.user-button:hover,.user-button:focus-visible{border-color:#16653447;outline:none}.user-button:hover .user-name{color:var(--accent)}.user-avatar{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:800;height:34px;justify-content:center;width:34px}.user-avatar.large{height:52px;width:52px}.user-name{font-size:13px;font-weight:700}.user-role{color:var(--muted);font-size:11px}.logout-link{background:transparent;border:0;color:var(--muted);font-size:12px;margin-top:12px;padding:0}.main{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;height:60px;justify-content:space-between;padding:0 28px}.topbar-title{font-size:18px;font-weight:800}.topbar-subtitle{color:var(--muted);font-size:12px;margin-top:2px}.topbar-actions{align-items:center;display:flex;gap:10px}.online-indicator{align-items:center;background:#16a34a1a;border:1px solid rgba(22,163,74,.3);border-radius:8px;color:var(--accent);display:flex;font-size:12px;font-weight:700;gap:7px;padding:8px 10px}.online-indicator span{background:var(--accent2);border-radius:50%;height:8px;width:8px}.content{flex:1;overflow-y:auto;padding:28px}.dashboard-shell{display:grid;gap:22px}.cabinet-welcome{align-items:stretch;background:radial-gradient(circle at 86% 20%,rgba(147,197,253,.34),transparent 28%),linear-gradient(135deg,#fff,#eff6ff 52%,#ecfdf5);border:1px solid rgba(148,163,184,.22);border-radius:18px;display:grid;gap:22px;grid-template-columns:1.3fr .7fr;margin-bottom:22px;overflow:hidden;padding:24px;position:relative}.cabinet-welcome h1,.quick-actions-panel h2{font-size:30px;line-height:1.05;margin:6px 0 10px}.cabinet-welcome p,.settings-panel p,.table-section-head p,.quick-action small{color:var(--muted2);line-height:1.5;margin:0}.section-eyebrow{color:#475569;font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.cabinet-welcome-copy{align-content:center;display:grid;position:relative;z-index:1}.welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.cabinet-welcome-visual{min-height:180px;position:relative}.visual-card{align-items:center;border:1px solid rgba(14,116,144,.14);border-radius:20px;display:flex;justify-content:center;position:absolute}.visual-card .ui-icon{height:38px;width:38px}.visual-card-main{background:#dbeafe;color:#1d4ed8;height:116px;right:70px;top:22px;width:116px}.visual-card-small{background:#dcfce7;color:var(--accent);height:82px;right:0;top:86px;width:82px}.visual-card-accent{background:#f5f3ff;color:#7c3aed;height:70px;right:168px;top:92px;width:70px}.visual-line{background:linear-gradient(90deg,#2563eb2e,#1665341f);border-radius:999px;bottom:32px;height:12px;position:absolute;right:12px;width:250px}.quick-actions-panel{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;display:grid;gap:24px;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);margin-bottom:22px;padding:22px 24px}.quick-actions-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(190px,1fr));min-width:0}.quick-action{align-content:start;background:linear-gradient(180deg,#fffffffa,#f8fdfaf0);border:1px solid rgba(22,101,52,.16);border-radius:16px;color:var(--text);display:grid;gap:10px;min-height:126px;min-width:0;padding:18px 20px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.quick-action:hover,.quick-action:focus-visible{border-color:#2563eb38;box-shadow:0 16px 34px #0f172a12;outline:none;transform:translateY(-1px)}.quick-action .ui-icon{background:#2563eb1f;border-radius:12px;color:var(--blue);height:38px;padding:9px;width:38px}.quick-action span{display:block;font-size:18px;font-weight:900;line-height:1.18;max-width:12ch}.quick-action small{display:block;font-size:12px;line-height:1.35;max-width:22ch}.welcome-panel{align-items:center;background:radial-gradient(circle at 88% 12%,rgba(37,99,235,.16),transparent 30%),linear-gradient(135deg,#fff,#ecfdf5 52%,#eff6ff);border:1px solid rgba(22,101,52,.15);border-radius:18px;display:grid;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);overflow:hidden;padding:24px 28px}.welcome-copy h1{color:var(--accent4);font-family:var(--font-head);font-size:clamp(30px,4vw,46px);line-height:1;margin:8px 0 10px}.welcome-copy p{color:var(--muted2);font-size:15px;line-height:1.5;margin:0;max-width:520px}.welcome-context{align-items:center;background:#ffffffb8;border:1px solid rgba(37,99,235,.14);border-radius:999px;color:var(--accent4);display:inline-flex;gap:8px;font-size:13px;font-weight:800;margin-top:18px;padding:9px 12px}.welcome-context .ui-icon{color:var(--blue);height:16px;width:16px}.welcome-art{align-items:center;display:flex;justify-content:center}.welcome-art svg{height:auto;max-width:340px;width:100%}.welcome-art rect:first-child{fill:#dbeafedb;stroke:#2563eb24}.welcome-art path:nth-of-type(1){fill:#14b8a647}.welcome-art rect:not(:first-child){fill:#ffffffc7;stroke:#16653424}.welcome-art path:not(:nth-of-type(1)),.welcome-art circle{fill:none;stroke:#0f766e;stroke-linecap:round;stroke-linejoin:round;stroke-width:7}.welcome-art circle{fill:#134e4a;stroke:none}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-heading h2{font-family:var(--font-head);font-size:22px;line-height:1;margin:4px 0 0}.quick-actions{background:#ffffff9e;border:1px solid var(--border);border-radius:16px;padding:18px}.quick-actions-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-action{background:var(--surface);border:1px solid rgba(22,101,52,.14);border-radius:12px;color:var(--text);display:grid;gap:6px;padding:14px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.quick-action:hover,.quick-action:focus-visible{border-color:#16653452;box-shadow:0 14px 30px #0d1a0d14;outline:none;transform:translateY(-1px)}.quick-action span{align-items:center;background:#dcfce7c7;border-radius:10px;color:var(--accent);display:flex;height:36px;justify-content:center;width:36px}.quick-action strong{color:var(--accent4);font-size:14px}.quick-action small{color:var(--muted);font-size:11px}.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}.ui-icon{display:block;height:18px;width:18px}.stat-card,.card,.pointer-header,.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:14px}.stat-card{color:var(--text);overflow:hidden;padding:20px;position:relative;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.stat-clickable{cursor:pointer}.stat-clickable:hover,.stat-clickable:focus-visible{border-color:var(--accent2);box-shadow:0 14px 32px #0d1a0d14;outline:none;transform:translateY(-1px)}.stat-card:before{background:var(--accent);content:"";height:2px;left:0;position:absolute;right:0;top:0}.stat-card:nth-child(2):before{background:var(--accent2)}.stat-card:nth-child(3):before{background:var(--accent4)}.stat-card:nth-child(4):before{background:var(--accent3)}.stat-card.stat-blue:before{background:var(--blue)}.stat-card.stat-purple:before{background:var(--purple)}.stat-card.stat-green:before{background:var(--accent2)}.stat-card.stat-slate:before{background:#64748b}.stat-card.stat-orange:before{background:#f59e0b}.stat-card.stat-red:before{background:var(--accent3)}.stat-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.stat-icon{align-items:center;border-radius:12px;display:flex;height:38px;justify-content:center;width:38px}.stat-blue .stat-icon{background:var(--blue-soft);color:var(--blue)}.stat-purple .stat-icon{background:var(--purple-soft);color:var(--purple)}.stat-green .stat-icon{background:#dcfce7eb;color:var(--accent)}.stat-slate .stat-icon{background:var(--slate-soft);color:#475569}.stat-orange .stat-icon{background:#fef3c7eb;color:#b45309}.stat-red .stat-icon{background:#fee2e2e0;color:var(--accent3)}.stat-note{color:var(--muted);font-size:11px;font-weight:700}.stat-label{margin-bottom:12px}.stat-value{font-size:32px;font-weight:900;line-height:1;margin-bottom:8px}.stat-delta{color:var(--accent2);font-size:12px}.stat-delta.neg{color:var(--accent3)}.grid-3-1,.grid-2{display:grid;gap:20px}.grid-3-1{grid-template-columns:2fr 1fr}.grid-2{grid-template-columns:1fr 1fr}.stack{display:grid;gap:20px}.card{padding:20px}.card-header,.req-header,.progress-label{align-items:center;display:flex;justify-content:space-between;gap:12px}.card-header{margin-bottom:16px}.card-title{font-size:16px;font-weight:800}.card-action{background:var(--accent);border:1px solid rgba(22,101,52,.22);border-radius:8px;font-size:12px;font-weight:700;padding:8px 12px;color:#fff}.card-action:hover{background:var(--accent4)}.btn{border:0;border-radius:8px;font-size:13px;font-weight:700;padding:8px 14px}.btn:disabled{cursor:not-allowed;opacity:.48}.app-toast{background:linear-gradient(135deg,#fff,#ecfdf5);border:1px solid rgba(22,101,52,.22);border-left:5px solid var(--accent);border-radius:16px;box-shadow:0 18px 45px #0f172a24;color:var(--text);font-weight:800;max-width:min(440px,calc(100vw - 32px));padding:14px 18px;position:fixed;right:24px;top:92px;z-index:120}.modal-submit-error{background:#fef2f2;border:1px solid rgba(239,68,68,.24);border-radius:14px;color:#991b1b;font-weight:800;line-height:1.45;margin-top:14px;padding:14px 16px}.btn-small{font-size:12px;padding:6px 10px}.btn-primary{background:var(--accent);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted2)}.btn-danger{background:#ef44441a;border:1px solid rgba(239,68,68,.22);color:var(--accent3)}.btn-sent{background:#1665341f;border:1px solid rgba(22,101,52,.2);color:var(--accent)}.shift-item,.worker-row,.req-item{background:var(--surface2);border:1px solid transparent;border-radius:10px;margin-bottom:8px}.shift-item,.worker-row{align-items:center;display:flex;gap:12px;padding:12px}.shift-list{display:grid;gap:10px}.shift-item.clickable{color:var(--text);text-align:left;width:100%}.shift-item.clickable:hover,.shift-item.clickable:focus-visible{border-color:var(--accent2);box-shadow:0 12px 24px #0d1a0d12;outline:none;transform:translateY(-1px)}.shift-item-enhanced{background:linear-gradient(135deg,#dcfce7d1,#eff6ffc2);display:grid;grid-template-columns:auto minmax(0,1fr) auto}.shift-icon{align-items:center;border-radius:12px;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.shift-icon.dot-running{background:var(--accent2)}.shift-icon.dot-planned{background:var(--accent4)}.shift-icon.dot-pending_approval{background:var(--orange)}.shift-icon.dot-anomaly{background:var(--accent3)}.shift-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.dot-running{background:var(--accent2)}.dot-planned{background:var(--accent4)}.dot-pending_approval{background:var(--accent)}.shift-info,.worker-main{flex:1;min-width:0}.shift-company,.req-company,.worker-name{font-size:13px;font-weight:700}.shift-meta,.req-meta,.worker-role{color:var(--muted);font-size:11px;margin-top:3px}.shift-meta-grid{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:6px}.shift-meta-grid span{align-items:center;color:var(--muted2);display:inline-flex;font-size:11px;gap:5px}.shift-meta-grid .ui-icon{color:var(--accent);height:13px;width:13px}.shift-side{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.shift-side>span:last-child{color:var(--accent);font-size:11px;font-weight:900}.shift-badge{border-radius:20px;font-size:11px;font-weight:800;padding:4px 10px;white-space:nowrap}.badge-planned{background:#0a3d1f1a;color:var(--accent4)}.badge-running,.badge-validated{background:#16a34a1f;color:var(--accent2)}.badge-pending{background:var(--orange-soft);color:#92400e}.badge-anomaly{background:#ef44441a;color:var(--accent3)}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tag{background:var(--surface2);border:1px solid var(--border);border-radius:20px;color:var(--muted2);font-size:11px;font-weight:700;padding:5px 10px}.tag span{background:#ffffffa6;border-radius:999px;margin-left:5px;padding:1px 6px}.tag.active{background:#1665341a;border-color:#1665343d;color:var(--accent)}.tag-running{background:#16a34a24;color:var(--accent2)}.tag-pending{background:#f59e0b24;color:#92400e}.tag-planned{background:#0a3d1f1a;color:var(--accent4)}.tag-validated{background:#16653429;color:var(--accent)}.tag-anomaly{background:#ef44441a;color:var(--accent3)}.tag-running.active,.tag-pending.active,.tag-planned.active,.tag-validated.active,.tag-anomaly.active{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.locked-action{background:#0a3d1f14;border-radius:999px;color:var(--muted2);display:inline-block;font-size:11px;font-weight:800;padding:6px 10px}.worker-count-pill{background:#16a34a1f;border:1px solid rgba(22,163,74,.22);border-radius:999px;color:var(--accent);display:inline-block;font-size:11px;font-weight:900;padding:5px 10px;white-space:nowrap}.assignment-panel{background:linear-gradient(180deg,#f8fafcfa,#f0fdf4d1);border:1px solid rgba(22,101,52,.14);border-radius:18px;display:grid;gap:14px;margin-top:18px;padding:18px}.assignment-panel-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.assignment-panel-head h3{color:var(--text);font-size:18px;margin:0}.assignment-panel-head p{color:var(--muted2);font-size:13px;line-height:1.45;margin:4px 0 0}.assignment-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(0,1.25fr) minmax(250px,.85fr)}.assignment-grid label{background:linear-gradient(180deg,#fffffffa,#f8fdfaf0);border:1px solid rgba(22,101,52,.18);border-radius:16px;color:var(--muted2);display:grid;font-size:13px;font-weight:900;gap:10px;letter-spacing:.03em;padding:12px;text-transform:uppercase;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.assignment-grid label:focus-within{background:#fffffff5;border-color:#16653480;box-shadow:0 0 0 4px #16a34a21,0 16px 34px #0f172a14;transform:translateY(-1px)}.assignment-grid select{appearance:none;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),linear-gradient(135deg,#16a34a14,#2563eb14);border:1px solid rgba(22,101,52,.28);border-radius:14px;color:var(--text);font-weight:750;min-height:52px;padding:12px 42px 12px 14px;text-transform:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;width:100%}.assignment-grid label:not(.assignment-select) select{background-image:linear-gradient(180deg,#fffffffa,#f8fafcfa),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23166534' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:0 0,right 14px center;background-repeat:repeat,no-repeat;background-size:auto,18px}.assignment-grid select:hover{border-color:#1665346b;box-shadow:0 10px 22px #0f172a0f}.assignment-grid select:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px #16a34a24,0 12px 28px #0f172a14;outline:none}.assignment-select select[multiple]{appearance:none;background:linear-gradient(180deg,#fffffffa,#f1fcf7e6),linear-gradient(135deg,#14b8a614,#3b82f614);border-color:#16653438;min-height:190px;overflow:auto;padding:12px;scrollbar-color:rgba(13,148,136,.44) rgba(236,253,245,.9);scrollbar-width:thin}.assignment-select option{border-radius:10px;color:var(--text);font-size:13px;line-height:1.25;margin:3px 0;padding:10px 12px}.assignment-select option:checked{background:linear-gradient(135deg,#16a34a33,#2563eb29);color:#064e3b;font-weight:800}.assignment-summary{align-items:center;border:1px solid transparent;border-radius:14px;display:flex;font-weight:900;gap:12px;justify-content:space-between;padding:12px 14px}.assignment-summary.coverage-complete,.coverage-pill.coverage-complete,.worker-count-pill.coverage-complete{background:#dcfce7f0;border-color:#16653438;color:#166534}.assignment-summary.coverage-partial,.coverage-pill.coverage-partial,.worker-count-pill.coverage-partial{background:#fef3c7f5;border-color:#92400e38;color:#92400e}.assignment-summary.coverage-empty,.coverage-pill.coverage-empty,.worker-count-pill.coverage-empty{background:#fee2e2f5;border-color:#991b1b38;color:#991b1b}.selected-worker-list{display:grid;gap:8px}.selected-worker-row{align-items:center;background:#ffffffe6;border:1px solid rgba(148,163,184,.2);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.selected-worker-row span{color:var(--muted);font-size:13px}.assignment-warning,.assignment-error{border-radius:14px;font-size:13px;font-weight:800;padding:11px 12px}.assignment-warning{background:#fff7edf5;color:#9a3412}.assignment-error{background:#fef2f2f5;color:#991b1b}.coverage-pill{align-items:center;border:1px solid transparent;border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:7px 10px;white-space:nowrap}.shift-detail-status{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.settings-grid{display:grid;gap:14px;grid-template-columns:1.2fr 1fr 1fr;margin-bottom:22px}.settings-panel{align-items:flex-start;background:#f8fafc;border:1px solid rgba(148,163,184,.22);border-radius:14px;display:flex;gap:13px;padding:16px}.settings-panel-primary{background:linear-gradient(135deg,#dcfce7d6,#dbeafe85)}.settings-panel h3{font-size:16px;margin:4px 0 6px}.settings-icon{align-items:center;background:#1665341a;border-radius:12px;color:var(--accent);display:inline-flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.settings-icon.muted{background:#dbeafebd;color:var(--blue)}.settings-icon.warning{background:#fef3c7db;color:#b45309}.table-section-head{align-items:center;display:flex;justify-content:space-between;margin:6px 0 14px}.access-status{border-radius:999px;display:inline-block;font-size:11px;font-weight:900;padding:5px 10px}.access-en-attente{background:#2563eb1f;color:var(--blue)}.access-utilisee{background:#16653421;color:var(--accent)}.access-expiree{background:#ef44441f;color:var(--accent3)}.link-cell{background:#f1f5f9e6;border:1px solid rgba(148,163,184,.18);border-radius:8px;color:#475569;display:inline-block;font-size:11px;max-width:300px;overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:1px;padding:0 12px 12px;text-align:left;text-transform:uppercase}.data-table td{border-top:1px solid var(--border);font-size:13px;padding:12px}.data-table tbody tr{transition:background .16s ease,box-shadow .16s ease}.data-table tbody tr:hover,.data-table tbody tr.request-row{background:#dcfce76b}.data-table tbody tr.request-envoyee{background:#dbeafe61;box-shadow:inset 4px 0 #2563eb}.data-table tbody tr.request-acceptee{background:#dcfce77a;box-shadow:inset 3px 0 0 var(--accent)}.data-table tbody tr.request-refusee{background:#fee2e257;box-shadow:inset 3px 0 0 var(--accent3)}.request-status{border-radius:999px;display:inline-block;font-size:11px;font-weight:900;padding:5px 10px}.status-envoyee{background:#2563eb21;color:#1d4ed8}.status-acceptee{background:#16653424;color:var(--accent)}.status-refusee{background:#ef44441f;color:var(--accent3)}.request-filter-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.filter-pill{background:#e5e7eb99;border-radius:999px;color:var(--muted2);font-size:11px;font-weight:800;padding:6px 10px}.filter-pill.active{background:#2563eb1f;color:var(--blue)}.request-role-cell{align-items:center;display:inline-flex;gap:9px}.request-role-icon{align-items:center;background:#ede9fedb;border-radius:9px;color:var(--purple);display:inline-flex;height:30px;justify-content:center;width:30px}.request-role-icon .ui-icon{height:15px;width:15px}.request-date-cell{display:grid;gap:2px}.request-date-cell strong{color:var(--accent4);font-size:12px}.request-date-cell span{color:var(--muted);font-size:11px}.req-item{padding:14px 16px}.req-body{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}.progress-bar{background:var(--surface2);border-radius:4px;height:6px;margin-top:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px;height:100%}.volume-row{margin-bottom:14px}.progress-label{color:var(--muted2);font-size:12px}.cal-strip{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:18px}.cal-day{border:1px solid transparent;border-radius:10px;padding:10px 6px;text-align:center}.cal-day.today{background:#16653414;border-color:#1665343d}.cal-day-name{color:var(--muted);font-size:10px;text-transform:uppercase}.cal-day-num{color:var(--accent);font-family:var(--font-head);font-size:18px;font-weight:900;margin:6px 0}.cal-dots{display:flex;gap:3px;justify-content:center}.cal-dots span{background:var(--accent2);border-radius:50%;height:5px;width:5px}.pointer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.shift-big-title{font-size:24px;font-weight:900}.shift-big-meta{color:var(--muted);font-size:13px;margin-top:4px}.worker-avatar{align-items:center;background:#1665341a;border-radius:50%;color:var(--accent);display:flex;flex-shrink:0;font-family:var(--font-head);font-size:13px;font-weight:900;height:36px;justify-content:center;width:36px}.time-tag{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted2);font-size:11px;padding:3px 8px}.table-select{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:36px;padding:7px 10px}.payroll-section{border-top:1px solid var(--border);margin-top:22px;padding-top:22px}.payroll-history-section{margin-top:26px}.payroll-history-head{align-items:flex-start;gap:16px}.payroll-history-controls{align-items:end;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.history-filter{display:grid;gap:5px;min-width:170px}.history-filter span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.history-filter input{background:#ffffffdb;border:1px solid rgba(15,118,110,.18);border-radius:10px;color:var(--text);min-height:36px;padding:7px 10px}.history-filter input:focus-visible{border-color:#0f766e73;box-shadow:0 0 0 4px #10b9811f;outline:none}.payment-status-pill{border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;padding:6px 10px;white-space:nowrap}.payment-ready{background:#16653421;color:var(--accent)}.payment-paid{background:#2563eb1f;color:var(--blue)}.payment-blocked{background:#fef3c7eb;color:#b45309}.payment-date-cell{display:grid;gap:2px}.payment-date-cell small{color:var(--muted2);font-size:11px}.payroll-empty-panel{background:linear-gradient(135deg,#dcfce7d1,#eff6ffc2);border:1px dashed rgba(15,118,110,.26);border-radius:12px;color:var(--muted2);font-weight:700;padding:20px;text-align:center}.btn:disabled{cursor:not-allowed;opacity:.55}.table-link{background:transparent;border:0;color:var(--text);font-weight:700;padding:0;text-align:left}.table-link:hover,.table-link:focus-visible{color:var(--accent);outline:none;text-decoration:underline}.check-in-btn{border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:800;padding:6px 14px}.check-in-btn.in,.check-in-btn.signed{background:#16a34a1f;border-color:#16a34a4d;color:var(--accent2)}.check-in-btn.out{background:#ef444414;border-color:#ef444440;color:var(--accent3)}.check-in-btn.pending{background:#0a3d1f14;color:var(--accent4)}.detail-card{padding:16px}.req-header.enhanced{align-items:flex-start;border-bottom:1px solid rgba(22,163,74,.18);margin-bottom:14px;padding-bottom:14px}.req-header.enhanced .req-company{color:var(--accent4);font-size:18px;font-weight:900}.req-header.enhanced .req-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;font-size:13px}.req-header.enhanced .req-meta strong,.req-header.enhanced .req-meta span{background:#dcfce7b8;border:1px solid rgba(22,101,52,.14);border-radius:999px;color:var(--accent);padding:5px 10px}.req-actions{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.detail-open-primary{box-shadow:0 10px 28px #1665342e;margin:0}.info-box{background:var(--surface2);border:1px solid var(--border);border-radius:12px;color:var(--muted2);font-size:13px;line-height:1.5;margin-bottom:16px;padding:14px}.notification-card,.error-box{border-radius:12px;font-size:13px;line-height:1.45;margin-bottom:16px;padding:12px 14px}.notification-card{background:#16a34a1a;border:1px solid rgba(22,163,74,.28);color:var(--accent);font-weight:700}.error-box{background:#ef444414;border:1px solid rgba(239,68,68,.22);color:var(--accent3)}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.detail-open{margin:14px 0}.contest-form{background:#dcfce78f;border:1px solid var(--border);border-radius:12px;margin-top:16px;padding:14px}.validation-stack{display:grid;gap:20px}.validation-controls{display:grid;gap:14px;grid-template-columns:.8fr 1.4fr}.validation-controls label{color:var(--muted);display:grid;font-size:11px;font-weight:800;gap:7px;text-transform:uppercase}.validation-controls select{background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);min-height:40px;padding:9px 11px;text-transform:none}.contest-title{font-size:14px;font-weight:900;margin-bottom:4px}.contest-help,.section-note{color:var(--muted2);font-size:13px;line-height:1.45}.section-note{background:#16a34a1a;border:1px solid rgba(22,163,74,.24);border-radius:10px;margin-bottom:14px;padding:10px 12px}.contest-row{align-items:end;display:grid;gap:10px;grid-template-columns:1.3fr .7fr .7fr auto;margin-top:12px}.contest-row label{color:var(--muted);display:grid;font-size:11px;font-weight:800;gap:6px;text-transform:uppercase}.contest-row input[type=time]{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:38px;padding:8px 10px}.contest-worker{font-weight:800;padding-bottom:9px}.contest-check{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text)!important;display:flex!important;gap:8px!important;min-height:38px;padding:8px 10px;text-transform:none!important}.row-actions{display:flex;gap:8px}.row-action-stack{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.agent-cell{display:grid;gap:6px}.dispute-badge{border-radius:999px;display:inline-flex;font-size:10px;font-weight:900;justify-self:start;padding:4px 8px;text-transform:uppercase}.dispute-draft{background:#f59e0b24;color:#92400e}.dispute-submitted{background:#2563eb21;color:#1d4ed8}.timesheet-row-contested{background:#fef3c76b!important;box-shadow:inset 4px 0 #f59e0b}.dispute-diff{display:grid;gap:4px}.dispute-diff span{color:var(--muted);font-size:12px}.dispute-diff strong{color:var(--accent4);font-size:13px}.timesheet-list{display:grid;gap:10px}.timesheet-line{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;grid-template-columns:minmax(180px,1.2fr) minmax(160px,.8fr) auto auto auto;padding:12px}.timesheet-person{display:grid;gap:4px;min-width:0}.timesheet-context{color:var(--muted);font-size:12px;line-height:1.35}.timesheet-hours{background:#ffffffad;border:1px solid rgba(22,163,74,.16);border-radius:10px;display:grid;gap:2px;min-width:150px;padding:8px 10px}.timesheet-hours span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.timesheet-hours strong{color:var(--text);font-size:14px}.timesheet-edit{grid-template-columns:1fr .8fr .8fr .8fr auto}.timesheet-edit label{color:var(--muted);display:grid;font-size:11px;font-weight:800;gap:6px;text-transform:uppercase}.timesheet-edit input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:38px;padding:8px 10px}.form-grid{background:var(--surface2);border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;grid-template-columns:1.2fr .6fr 1.2fr auto;margin-bottom:18px;padding:14px}.form-grid label{color:var(--muted);display:grid;font-size:11px;font-weight:700;gap:6px;min-width:0;text-transform:uppercase}.form-grid input,.form-grid select{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;min-height:38px;min-width:0;padding:8px 10px;text-transform:none;width:100%}.form-submit{align-self:end;min-height:38px}.client-request-workspace{align-items:stretch;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(320px,420px);margin-bottom:18px}.client-request-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0;min-width:0;overflow:hidden}.client-request-form .form-submit{justify-self:start;min-width:220px;width:min(100%,260px)}.client-availability-panel{background:radial-gradient(circle at 90% 12%,rgba(147,197,253,.22),transparent 32%),linear-gradient(135deg,#fffffff5,#ecfdf5eb);border:1px solid rgba(22,101,52,.16);border-radius:14px;display:grid;gap:16px;padding:18px}.client-availability-panel h3{color:var(--accent4);font-size:18px;line-height:1.1;margin:6px 0 8px}.client-availability-panel p{color:var(--muted2);font-size:13px;line-height:1.45;margin:0}.availability-group{display:grid;gap:9px}.availability-group>strong{color:var(--text);font-size:12px}.availability-chip-row{display:flex;flex-wrap:wrap;gap:8px}.availability-chip{align-items:center;background:#ffffffdb;border:1px solid rgba(22,101,52,.14);border-radius:999px;color:var(--accent);display:inline-flex;font-size:12px;font-weight:850;gap:7px;padding:8px 10px}.availability-chip .ui-icon{height:14px;width:14px}.availability-chip.zone-chip{color:var(--blue)}.client-shifts-hero{align-items:center;background:radial-gradient(circle at 86% 16%,rgba(147,197,253,.2),transparent 30%),linear-gradient(135deg,#fffffffa,#ecfdf5e0);border:1px solid rgba(22,101,52,.16);border-radius:16px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:18px;padding:18px}.client-shifts-hero h3{color:var(--accent4);font-size:24px;line-height:1.1;margin:6px 0 8px}.client-shifts-hero p{color:var(--muted2);line-height:1.5;margin:0;max-width:780px}.client-shifts-metrics{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.client-shifts-metrics span{background:#ffffffe0;border:1px solid rgba(22,101,52,.14);border-radius:999px;color:var(--accent);font-size:12px;font-weight:850;padding:9px 11px;white-space:nowrap}.client-shifts-metrics strong{color:var(--text);font-size:14px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:12px;bottom:18px;box-shadow:0 14px 38px #0d1a0d24;color:var(--muted2);font-size:13px;max-width:360px;padding:12px 14px;position:fixed;right:18px;z-index:40}.empty-state{color:var(--muted);padding:28px;text-align:center}.rich-empty-state{align-items:center;background:linear-gradient(135deg,#ecfdf5f5,#eff6ffeb);border:1px solid rgba(34,197,94,.22);border-radius:12px;display:grid;gap:24px;grid-template-columns:minmax(180px,260px) minmax(0,1fr);min-height:220px;overflow:hidden;padding:28px}.rich-empty-state.compact{grid-template-columns:minmax(150px,210px) minmax(0,1fr);min-height:170px;padding:22px}.empty-illustration{align-items:center;background:#ffffff8f;border:1px solid rgba(59,130,246,.16);border-radius:12px;display:flex;justify-content:center;min-height:148px}.empty-illustration svg{display:block;max-width:220px;width:86%}.client-rich-empty{margin-top:8px}.empty-svg-icon{align-items:center;color:var(--accent);display:flex;height:24px;justify-content:center;width:24px}.empty-svg-icon .ui-icon{height:20px;width:20px}.empty-copy{max-width:560px}.empty-kicker{color:var(--accent);display:block;font-size:11px;font-weight:900;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.empty-copy h3{color:var(--text);font-family:var(--font-head);font-size:30px;line-height:1.05;margin:0 0 10px}.empty-copy p{color:var(--muted2);font-size:15px;line-height:1.55;margin:0}.requests-empty-state{margin-top:8px}.empty-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.empty-chip{background:#ffffffc7;border:1px solid rgba(15,118,110,.14);border-radius:999px;color:var(--accent);font-size:12px;font-weight:800;padding:8px 12px}.empty-action{margin-top:22px}.timeline{display:grid;gap:12px;position:relative}.timeline-item{border-left:2px solid var(--border);padding-left:14px}.timeline-date{color:var(--muted);font-size:11px;margin-bottom:3px;text-transform:uppercase}.timeline-text{color:var(--text);font-size:13px}.toggle-row,.check-row{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 0}.toggle{background:var(--border);border-radius:999px;height:22px;position:relative;width:42px}.toggle:after{background:var(--surface);border-radius:50%;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .16s ease;width:18px}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(20px)}.checklist{display:grid}.check-row{justify-content:flex-start;gap:10px}.check-row span{background:var(--surface2);border-radius:6px;color:var(--muted);font-size:11px;font-weight:800;padding:4px 7px}.check-row span.checked{background:#16a34a1f;color:var(--accent2)}.modal-overlay{align-items:center;background:#0d1a0d73;display:none;inset:0;justify-content:center;padding:28px;position:fixed;z-index:100}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 26px 80px #0d1a0d3d;box-sizing:border-box;max-height:min(86vh,820px);max-width:720px;overflow:auto;overscroll-behavior:contain;padding:24px 28px 28px;scrollbar-width:none;width:100%}.modal::-webkit-scrollbar{height:0;width:0}.assignment-select select[multiple]::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track,.assignment-select select[multiple]::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb,.assignment-select select[multiple]::-webkit-scrollbar-thumb{background:#0f766e6b;border-radius:999px}.modal::-webkit-scrollbar-button,.assignment-select select[multiple]::-webkit-scrollbar-button{display:none;height:0;width:0}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-title{font-family:var(--font-head);font-size:22px;font-weight:900}.modal-close{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:50%;color:var(--muted2);display:flex;height:32px;justify-content:center;width:32px}.modal-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.modal-grid label{color:var(--muted);display:grid;font-size:11px;font-weight:800;gap:7px;text-transform:uppercase}.modal-grid input,.modal-grid select{background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);min-height:40px;padding:9px 11px;text-transform:none}.dispute-modal{max-width:780px}.dispute-agent-card{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.dispute-agent-card div,.summary-item{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px}.dispute-agent-card span,.summary-item span{color:var(--muted);display:block;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.dispute-agent-card strong{color:var(--text);font-size:16px}.textarea-field{color:var(--muted);display:grid;font-size:11px;font-weight:800;gap:7px;margin-top:12px;text-transform:uppercase}.textarea-field textarea{background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);min-height:92px;padding:10px 12px;resize:vertical;text-transform:none}.summary-list{display:grid;gap:10px;margin-bottom:16px}.summary-item{display:grid;gap:8px}.summary-item p{color:var(--muted2);margin:0}.form-name{align-self:end;color:var(--text);font-weight:800;padding:10px 0}.operator-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.team-client-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.team-client-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:14px}.team-client-button{color:var(--text);cursor:pointer;text-align:left;width:100%}.team-client-button:hover,.team-client-button:focus-visible{border-color:var(--accent2);outline:none;transform:translateY(-1px)}.team-client-title{color:var(--accent);font-size:13px;font-weight:900;margin-bottom:10px;text-transform:uppercase}.team-card-list{display:grid;gap:10px}.team-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);display:flex;gap:12px;justify-content:space-between;padding:12px;text-align:left;width:100%}.team-card:hover,.team-card:focus-visible{border-color:var(--accent2);outline:none;transform:translateY(-1px)}.team-card-title{font-weight:800}.team-card-meta,.team-card span{color:var(--muted);font-size:12px}.client-team-page{display:grid;gap:16px}.team-editor-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;display:grid;gap:14px;padding:14px}.team-edit-form{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.inline-add-form{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.inline-add-form label{color:var(--muted);display:grid;font-size:11px;font-weight:800;gap:7px;text-transform:uppercase}.inline-add-form select{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);min-height:40px;padding:9px 11px;text-transform:none}.shift-detail-modal{max-width:900px}.shift-detail-head{align-items:flex-start;background:var(--surface2);border:1px solid var(--border);border-radius:14px;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px;padding:16px}.detail-grid{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.detail-grid div{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px}.detail-grid span{color:var(--muted);display:block;font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.detail-grid strong{font-family:var(--font-head);font-size:20px}.agent-status{border-radius:999px;display:inline-block;font-size:11px;font-weight:800;padding:4px 9px}.agent-present{background:#16a34a1f;color:var(--accent2)}.agent-late{background:#f59e0b24;color:#92400e}.agent-absent{background:#ef44441a;color:var(--accent3)}.account-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:16px}.profile-card:first-child{align-items:center;display:flex;gap:14px}.account-detail-card{background:linear-gradient(135deg,#fffffffa,#eff6ffd1)}.compact-settings{display:grid;gap:8px}.compact-settings .settings-row{background:#ffffffc7;border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:10px 12px}.profile-name{font-size:18px;font-weight:800}.profile-meta,.profile-copy{color:var(--muted2);font-size:13px;line-height:1.5}.session-pill{background:#ef444414;border-radius:999px;color:var(--accent3);display:inline-block;font-size:11px;font-weight:800;margin-top:10px;padding:5px 9px}.session-pill.active{background:#16a34a1f;color:var(--accent2)}.small-title{font-size:14px;margin-bottom:12px}.compact-form{display:grid;gap:10px}.compact-form input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:38px;padding:8px 10px}.phone-preview-wrap{align-items:center;display:grid;gap:28px;grid-template-columns:360px minmax(0,1fr)}.phone-shell{background:#0d1a0d;border-radius:34px;box-shadow:0 24px 60px #0d1a0d38;margin:0 auto;padding:12px;position:relative;width:330px}.phone-notch{background:#0d1a0d;border-radius:0 0 14px 14px;height:18px;left:50%;position:absolute;top:12px;transform:translate(-50%);width:96px;z-index:2}.phone-screen{background:var(--bg);border-radius:26px;min-height:620px;overflow:hidden;padding:28px 16px 16px}.phone-top,.phone-status-row,.phone-worker{align-items:center;display:flex;justify-content:space-between;gap:10px}.phone-brand{color:var(--accent);font-family:var(--font-head);font-size:18px;font-weight:900}.phone-user,.phone-meta,.phone-worker-time{color:var(--muted);font-size:12px}.phone-sync,.phone-pill{border-radius:999px;font-size:11px;font-weight:800;padding:5px 8px}.phone-sync,.phone-pill.done{background:#16a34a1f;color:var(--accent2)}.phone-pill.pending{background:#0a3d1f14;color:var(--accent4)}.phone-shift-card,.phone-section{background:var(--surface);border:1px solid var(--border);border-radius:18px;margin-top:14px;padding:14px}.phone-label,.phone-section-title{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.phone-shift-card h3{font-family:var(--font-head);font-size:26px;line-height:1;margin:8px 0 4px}.phone-shift-card p{color:var(--muted2);margin:0 0 8px}.phone-status-row{border-top:1px solid var(--border);color:var(--muted2);font-size:12px;margin-top:12px;padding-top:12px}.phone-worker{background:var(--surface2);border-radius:12px;margin-top:9px;padding:10px}.phone-avatar{align-items:center;background:#1665341a;border-radius:50%;color:var(--accent);display:flex;flex-shrink:0;font-family:var(--font-head);font-size:12px;font-weight:900;height:34px;justify-content:center;width:34px}.phone-worker-name{color:var(--text);font-size:13px;font-weight:800}.phone-progress{background:var(--surface2);border-radius:999px;height:8px;margin:12px 0;overflow:hidden}.phone-progress span{background:linear-gradient(90deg,var(--accent),var(--accent2));display:block;height:100%}.phone-submit{background:var(--accent);border:0;border-radius:12px;color:#fff;font-size:13px;font-weight:900;padding:12px;width:100%}.phone-preview-notes h3{font-family:var(--font-head);font-size:26px;margin:0 0 10px}.phone-preview-notes p,.phone-preview-notes li{color:var(--muted2);line-height:1.55}.payment-confirm{display:grid;gap:18px}.payment-confirm-summary{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-confirm-summary div{background:var(--surface2);border:1px solid var(--border);border-radius:10px;display:grid;gap:6px;min-height:86px;padding:14px}.payment-confirm-summary span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase}.payment-confirm-summary strong{color:var(--text);font-size:18px;line-height:1.2}.payment-confirm-copy{background:#16653414;border:1px solid var(--border);border-radius:10px;color:var(--muted2);line-height:1.5;margin:0;padding:14px}button:disabled{cursor:not-allowed;opacity:.45}.client-layout,.client-modal-sections{display:grid;gap:18px}.toolbar-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.search-input{background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);flex:1;font:inherit;min-height:44px;padding:0 14px}.filter-tabs{background:var(--surface2);border-radius:10px;display:flex;gap:6px;padding:6px}.filter-tabs button{background:transparent;border:0;border-radius:8px;color:var(--muted2);font-weight:800;padding:9px 12px}.filter-tabs button.active{background:var(--accent);color:#fff}.client-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.client-card{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:14px;color:var(--text);display:flex;justify-content:space-between;min-height:86px;padding:14px;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.client-card:hover{border-color:#0f766e47;box-shadow:0 14px 30px #0951340f;transform:translateY(-1px)}.client-card.active{background:linear-gradient(135deg,#dcfce7,#dbeafe);border-color:#0f766e;box-shadow:inset 5px 0 #0f766e,0 18px 38px #0f766e24}.client-card.active strong{color:#064e3b}.client-card{position:relative}.client-card strong,.zone-item strong{display:block;font-size:18px}.client-card span,.zone-item span{color:var(--muted2);display:block;margin-top:4px}.client-card-metrics{align-items:flex-end;display:grid;gap:6px;text-align:right}.status-chip{background:#1665341a;border-radius:999px;color:var(--accent);display:inline-flex;font-size:13px;font-weight:900;padding:8px 12px}.status-chip.paused,.status-chip.inactive{background:#64748b24;color:var(--muted2)}.client-form-section,.client-detail-grid{display:grid;gap:22px}.client-profile-form{background:#fbfffd;border:1px solid rgba(21,128,81,.12);border-radius:16px;padding:18px}.client-profile-toolbar{align-items:center;display:flex;gap:16px;justify-content:space-between}.client-profile-toolbar p{color:var(--muted2);margin:4px 0 0}.client-profile-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.client-profile-form.is-readonly input:disabled,.client-profile-form.is-readonly select:disabled{background:#f1f5f9;border-color:#e2e8f0;color:#475569;cursor:default;opacity:1}.client-profile-form.is-readonly label{color:#64748b}.client-profile-form.is-editing{border-color:#0f766e47;box-shadow:0 18px 42px #0f766e14}.client-detail-grid{grid-template-columns:1fr;margin-top:28px}.client-detail-grid section,.client-modal-sections section{border:1px solid var(--border);border-radius:12px;padding:18px}.client-detail-grid h3,.client-modal-sections h3{font-family:var(--font-head);font-size:22px;margin:0 0 12px}.client-config-block{background:linear-gradient(180deg,#fffffff5,#f6fffaeb);box-shadow:0 16px 42px #0951340d}.client-section-title,.subsection-title{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.client-section-title p,.subsection-title p{color:var(--muted2);margin:4px 0 0;max-width:620px}.section-eyebrow{color:var(--muted2);display:block;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.zone-create-form,.role-link-form{display:grid;gap:14px}.zone-create-form label,.role-link-form label{display:grid;gap:8px}.zone-create-form label{color:var(--muted2);font-weight:800;letter-spacing:.01em}.zone-create-form input{background:linear-gradient(180deg,#fffffffc,#f8fdfaf5),linear-gradient(135deg,#16a34a0f,#2563eb0d);border:1px solid rgba(22,101,52,.28);border-radius:14px;box-shadow:inset 0 1px #ffffffeb,0 1px 2px #0f172a0a;color:var(--text);font-weight:650;min-height:52px;padding:0 16px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;width:100%}.zone-create-form input::placeholder{color:#94a3b8}.zone-create-form input:hover{border-color:#16653470;box-shadow:inset 0 1px #fffffff5,0 10px 22px #0f172a0e}.zone-create-form input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px #16a34a26,0 14px 30px #0f172a16;outline:none;transform:translateY(-1px)}.zone-create-form .btn,.role-form-actions .btn{justify-self:start;min-width:190px}.zone-card-list{display:grid;gap:12px}.zone-card{align-items:center;background:#f4fff8;border:1px solid rgba(21,128,81,.14);border-radius:14px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;padding:16px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.zone-card:hover{border-color:#15805159;box-shadow:0 16px 32px #09513414;transform:translateY(-1px)}.zone-card-main{align-items:center;display:flex;gap:14px;min-width:0}.zone-icon{align-items:center;background:#dff8ea;border-radius:12px;color:var(--green);display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;width:44px}.zone-card strong,.role-name-cell strong{display:block;font-size:17px}.zone-card span,.role-name-cell span{color:var(--muted2);display:block;margin-top:4px}.zone-card-actions{align-items:center;display:flex;gap:10px}.roles-config-block,.role-management-panel{display:grid;gap:22px}.role-link-form{background:#f6fbff;border:1px solid rgba(63,107,176,.14);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.role-form-actions{grid-column:1 / -1}.role-table-wrap{border:1px solid var(--border);border-radius:14px;overflow:hidden}.role-table-wrap .data-table th,.role-table-wrap .data-table td{padding:16px;vertical-align:middle}.money-cell{text-align:right;white-space:nowrap}.money-cell.strong{color:var(--green);font-weight:800}.money-cell.muted{color:var(--muted2)}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.quick-actions-panel>.quick-actions-grid{grid-template-columns:repeat(3,minmax(190px,1fr));min-width:0}.quick-actions-panel .quick-action{align-content:center;align-items:center;justify-items:center;justify-content:center;min-width:0;overflow:hidden;padding:20px 18px;place-content:center;place-items:center;text-align:center}.quick-actions-panel .quick-action .ui-icon{background:#2563eb1f;border-radius:12px;color:var(--blue);display:block;height:38px;padding:9px;width:38px}.quick-actions-panel .quick-action span{align-items:initial;background:transparent!important;border-radius:0;color:var(--accent);display:block;font-size:18px;font-weight:900;height:auto;justify-content:initial;line-height:1.18;max-width:min(15ch,100%);overflow-wrap:anywhere;overflow:visible;text-align:center;white-space:normal;width:auto}.quick-actions-panel .quick-action small{display:block;line-height:1.35;max-width:min(24ch,100%);overflow-wrap:anywhere;overflow:visible;text-align:center;white-space:normal}.settings-list{display:grid;gap:10px;margin-top:18px}.settings-row{align-items:center;background:linear-gradient(180deg,#fff,#f8fdfaf0);border:1px solid rgba(22,101,52,.14);border-radius:14px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;padding:14px 16px}.settings-row strong{color:var(--text);display:block;font-size:14px;line-height:1.25}.settings-row span:not(.status-chip){color:var(--muted2);display:block;font-size:12px;line-height:1.45;margin-top:3px}.quick-actions>.quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.client-config-block .zone-create-form input,.client-config-block .role-link-form input,.client-config-block .role-link-form select,.assignment-panel .assignment-grid select,.modal-grid input,.modal-grid select,.form-grid input,.form-grid select{background:linear-gradient(180deg,#fffffffc,#f8fdfaf5),linear-gradient(135deg,#16a34a0e,#2563eb0b);border:1px solid rgba(22,101,52,.24);border-radius:14px;box-shadow:inset 0 1px #fffffff2,0 1px 2px #0f172a09;color:var(--text);min-height:50px;outline:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.client-config-block .zone-create-form input:hover,.client-config-block .role-link-form input:hover,.client-config-block .role-link-form select:hover,.assignment-panel .assignment-grid select:hover,.modal-grid input:hover,.modal-grid select:hover,.form-grid input:hover,.form-grid select:hover{border-color:#1665346b;box-shadow:inset 0 1px #fffffffa,0 10px 22px #0f172a0e}.client-config-block .zone-create-form input:focus,.client-config-block .role-link-form input:focus,.client-config-block .role-link-form select:focus,.assignment-panel .assignment-grid select:focus,.modal-grid input:focus,.modal-grid select:focus,.form-grid input:focus,.form-grid select:focus{background:#fff;border-color:#15803d;box-shadow:0 0 0 4px #16a34a24,0 14px 30px #0f172a14;transform:translateY(-1px)}.assignment-panel .assignment-grid{align-items:stretch;grid-template-columns:minmax(340px,1.18fr) minmax(280px,.82fr)}.assignment-panel .assignment-grid label{padding:18px}.assignment-panel .assignment-select select[multiple]{background:linear-gradient(180deg,#fff,#f8fdfaf5),linear-gradient(135deg,#14b8a614,#2563eb14);min-height:190px;padding:12px}.assignment-panel .assignment-select option{border-radius:12px;line-height:1.25;margin:4px 0;padding:11px 12px}.assignment-panel .assignment-select option:checked{background:linear-gradient(135deg,#14b8a647,#16a34a33);color:#064e3b}.assignment-panel .assignment-grid label:not(.assignment-select) select{background-image:linear-gradient(180deg,#fffffffc,#f8fdfaf5),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23166534' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:0 0,right 14px center;background-repeat:repeat,no-repeat;background-size:auto,18px}@media(max-width:860px){.app-frame{display:block;height:auto;min-height:100vh;overflow:visible}.sidebar{width:100%}nav{display:flex;gap:12px;overflow-x:auto}.nav-section{min-width:210px}.topbar,.pointer-header{align-items:flex-start;display:grid;height:auto;padding:16px}.content{padding:16px}.stats-grid,.cabinet-welcome,.quick-actions-panel,.grid-3-1,.grid-2,.welcome-panel,.quick-actions-grid,.client-request-workspace,.client-shifts-hero,.form-grid,.modal-grid,.assignment-grid,.client-grid,.client-detail-grid,.role-link-form,.settings-grid,.rich-empty-state,.timesheet-line,.timesheet-edit,.contest-row,.phone-preview-wrap,.detail-grid,.account-grid,.team-client-grid,.payment-confirm-summary{grid-template-columns:1fr}.client-section-title,.subsection-title,.assignment-panel-head,.zone-card,.selected-worker-row,.zone-card-actions,.settings-row{align-items:stretch;display:grid}.zone-create-form .btn,.role-form-actions .btn{width:100%}.cal-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.welcome-panel{padding:20px}.welcome-art{order:-1}.quick-actions-grid{grid-template-columns:repeat(2,minmax(180px,1fr));overflow-x:auto}.shift-item-enhanced{align-items:flex-start;grid-template-columns:auto minmax(0,1fr)}.shift-side{align-items:flex-start;grid-column:2}.rich-empty-state,.rich-empty-state.compact{min-height:0;padding:18px}.empty-illustration{min-height:128px}.empty-copy h3{font-size:24px}}
