@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900&display=swap");:root{--bg:#090909;--card:#111111;--card-solid:#131313;--surface:#1a1a1a;--ink:#f0f0f0;--ink-2:#a1a1aa;--muted:#71717a;--brand:#3b82f6;--brand-dim:rgba(59,130,246,0.12);--danger:#ef4444;--danger-dim:rgba(239,68,68,0.1);--ok:#22c55e;--ok-dim:rgba(34,197,94,0.1);--warning:#f59e0b;--warning-dim:rgba(245,158,11,0.1);--ring:rgba(59,130,246,0.2);--line:rgba(255,255,255,0.07);--line-hover:rgba(255,255,255,0.11);--shadow:0 8px 40px rgba(0,0,0,0.5);--shadow-sm:0 2px 8px rgba(0,0,0,0.3);--header-bg:rgba(9,9,9,0.95);--radius:8px;--radius-sm:6px;--radius-lg:12px;--transition:120ms cubic-bezier(0.4,0,0.2,1);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}p{margin:0;color:var(--muted);font-size:.875rem}.mono{font-family:SF Mono,JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.8125rem}.label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.button{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .875rem;font-size:.875rem;font-weight:500;font-family:inherit;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition);white-space:nowrap;letter-spacing:-.01em}.button:disabled{opacity:.35;cursor:not-allowed}.button-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.button-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.button-ghost{background:transparent;border-color:var(--line-hover);color:var(--ink-2)}.button-ghost:hover:not(:disabled){background:var(--surface);border-color:var(--line-hover);color:var(--ink)}.button-danger{background:var(--danger-dim);border-color:rgba(239,68,68,.2);color:var(--danger)}.button-danger:hover:not(:disabled){background:rgba(239,68,68,.18)}.button-ok{background:var(--ok-dim);border-color:rgba(34,197,94,.2);color:var(--ok)}.button-ok:hover:not(:disabled){background:rgba(34,197,94,.18)}.button-sm{padding:.3125rem .625rem;font-size:.75rem;border-radius:var(--radius-sm)}.button-chip{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .375rem .5rem;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--ink);font-family:inherit;display:flex;flex-direction:column;gap:.125rem;text-align:center;min-height:3rem;transition:background var(--transition),border-color var(--transition)}.button-chip,.button-chip .chip-shortcut{align-items:center;justify-content:center}.button-chip .chip-shortcut{position:absolute;top:.28rem;left:.3rem;min-width:1rem;height:1rem;display:inline-flex;border:1px solid var(--line-hover);border-radius:4px;background:rgba(255,255,255,.06);color:var(--ink-2);font-size:.6rem;font-weight:700;line-height:1}.button-chip .chip-emoji{font-size:1.125rem;line-height:1}.button-chip .chip-code{font-size:.6875rem;font-weight:600;letter-spacing:.03em;color:var(--ink)}.button-chip .chip-name{font-size:.6875rem;font-weight:400;color:var(--muted);line-height:1.2}.button-chip:hover:not(:disabled){background:var(--surface);border-color:var(--line-hover)}.button-chip:hover:not(:disabled) .chip-code{color:var(--brand)}.button-chip:disabled{opacity:.3;cursor:not-allowed}.input,.select{width:100%;height:2.375rem;border:1px solid var(--line-hover);border-radius:var(--radius-sm);padding:.5rem .75rem;background:var(--surface);color:var(--ink);font-size:.875rem;line-height:1.25;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition);outline:none;box-sizing:border-box}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;background-size:.875rem;cursor:pointer}.input::placeholder{color:var(--muted)}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}.grid{display:grid;grid-gap:.625rem;gap:.625rem}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:.375rem}.gap-sm{gap:.5rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.75rem;transition:border-color var(--transition);min-width:0;overflow:hidden}.card:hover{border-color:var(--line-hover)}.card h3{font-size:.875rem;margin-bottom:.5rem;color:var(--ink-2);letter-spacing:.02em}.card h3,.tag{font-weight:600;text-transform:uppercase}.tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;border:1px solid var(--line-hover);font-size:.6875rem;color:var(--muted);letter-spacing:.04em}.tag.ok{border-color:rgba(34,197,94,.25);color:var(--ok);background:var(--ok-dim)}.tag.danger{border-color:rgba(239,68,68,.2);color:var(--danger);background:var(--danger-dim)}.tag.warning{border-color:rgba(245,158,11,.2);color:var(--warning);background:var(--warning-dim)}.tag.brand{border-color:rgba(59,130,246,.25);color:var(--brand);background:var(--brand-dim)}.tag.role-admin{color:#f87171;background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.25)}.tag.role-leader{color:#a78bfa;background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.25)}.tag.role-driver{color:#38bdf8;background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.25)}.tag.role-member{color:#4ade80;background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.25)}.tag.role-maid{color:#f472b6;background:rgba(244,114,182,.1);border-color:rgba(244,114,182,.25)}.tag.role-chef{color:#fbbf24;background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.25)}.table-wrap{overflow-x:auto;min-width:0;max-width:100%}table{width:100%;border-collapse:collapse;font-size:.875rem}td,th{border-bottom:1px solid var(--line);text-align:left;padding:.375rem .5rem;vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;padding-bottom:.5rem}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--transition)}tbody tr:hover{background:rgba(255,255,255,.015)}.shell{max-width:1200px;margin:0 auto;display:grid;grid-gap:.625rem;gap:.625rem;overflow:hidden}.dash-layout{display:grid;grid-gap:.75rem;gap:.75rem}.dash-punch-strip{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg)}.dash-punch-status{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:0}.dash-section{display:grid;grid-gap:.5rem;gap:.5rem}.dash-section-title{font-size:.8125rem;font-weight:700;color:var(--ink-2);letter-spacing:.02em;display:flex;align-items:center;gap:.4rem;margin:0}.dash-badge{background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;border-radius:999px;padding:.05rem .35rem;min-width:1rem;text-align:center;line-height:1.3}.dash-cards{display:grid;grid-gap:.5rem;gap:.5rem}.dash-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;align-items:start}.dash-collapse-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.5rem .75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);transition:background var(--transition),border-color var(--transition)}.dash-collapse-header:hover{background:var(--surface);border-color:var(--line-hover)}.shell-header{background:var(--header-bg);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.shell-header-top{justify-content:space-between;padding:.375rem 1rem;min-height:42px}.shell-brand,.shell-header-top{display:flex;align-items:center;gap:.5rem}.shell-brand{min-width:0;flex-shrink:1;overflow:hidden}.shell-brand-text{display:flex;flex-direction:column;min-width:0;gap:1px}.shell-brand-logo{width:32px;height:32px;flex-shrink:0;display:block;border-radius:6px;object-fit:cover}.shell-brand-name{font-size:.875rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}.shell-brand-divider{width:1px;height:16px;background:var(--line-hover);flex-shrink:0}.shell-title-group{display:flex;align-items:center;gap:.5rem;min-width:0}.shell-page-title{font-size:.875rem;font-weight:500;color:var(--ink-2);white-space:nowrap;flex-shrink:0}.shell-subtitle{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-header-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.shell-header-actions .button{height:32px;padding:0 .75rem;font-size:.8125rem;font-weight:500;border-radius:var(--radius-sm)}.shell-nav{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 1.125rem;gap:0;border-top:1px solid var(--line)}.shell-nav::-webkit-scrollbar{display:none}.shell-nav a{padding:0 .75rem;height:32px;font-size:.875rem;font-weight:500;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition);flex-shrink:0}.shell-nav a,.shell-nav-link-inner{display:inline-flex;align-items:center}.shell-nav-link-inner{gap:.375rem}.shell-nav-badge{min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;line-height:1;background:var(--danger);color:#fff}.shell-nav a.active{color:var(--ink);border-bottom-color:var(--brand)}.shell-nav a:hover:not(.active){color:var(--ink-2)}.nav{display:flex;gap:.125rem;align-items:center}.nav a{padding:.3125rem .625rem;font-size:.875rem;font-weight:500;color:var(--muted);border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition)}.nav a.active{color:var(--ink);background:var(--surface)}.nav a:hover:not(.active){color:var(--ink-2)}.header-actions{display:flex;gap:.375rem;align-items:center}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));grid-gap:.5rem;gap:.5rem}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.625rem .75rem;min-width:0;overflow:hidden}.kpi-value{font-size:1.25rem;font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-.03em}.kpi-label{font-size:.6875rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-top:.125rem}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:.625rem;gap:.625rem;align-items:start}.action-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.punch-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,transform 80ms ease,box-shadow .15s ease}.punch-btn:active:not(:disabled){transform:scale(.97)}.punch-btn:disabled{opacity:.3;cursor:not-allowed}.punch-btn .punch-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;line-height:1}.punch-btn .punch-icon svg{display:block;width:100%;height:100%}.punch-btn .punch-label{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.punch-on{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2);color:var(--ok)}.punch-on:hover:not(:disabled){background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.35);box-shadow:0 0 12px rgba(34,197,94,.1)}.punch-off{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.2);color:var(--danger)}.punch-off:hover:not(:disabled){background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.35);box-shadow:0 0 12px rgba(239,68,68,.1)}.action-divider{width:1px;height:20px;background:var(--line)}.break-chips-layout{display:grid;grid-gap:.5rem;gap:.5rem}.chips-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.chips-row-bottom{margin-top:0}.chips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:.5rem;gap:.5rem}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.active{background:var(--ok);box-shadow:0 0 0 2px rgba(34,197,94,.25);animation:pulse-dot 2s infinite}.status-dot.inactive{background:var(--muted)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.45}}.break-banner{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:rgba(34,197,94,.05);border:1px solid rgba(34,197,94,.15);border-radius:var(--radius);font-size:.875rem;margin-bottom:.5rem}.break-banner .elapsed{font-family:SF Mono,JetBrains Mono,monospace;font-size:.875rem;font-weight:600;color:var(--ok)}.alert{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.alert-error{background:var(--danger-dim);border:1px solid rgba(239,68,68,.18);color:var(--danger)}.alert-success{background:var(--ok-dim);border:1px solid rgba(34,197,94,.18);color:var(--ok)}.alert-warning{background:var(--warning-dim);border:1px solid rgba(245,158,11,.18);color:var(--warning)}.landing{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.landing-card{width:min(560px,94vw);display:grid;grid-gap:1.5rem;gap:1.5rem;text-align:center}.landing-logo{width:48px;height:48px;display:block;margin:0 auto}.landing-card h1{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.landing-card p{font-size:.9375rem;color:var(--muted);line-height:1.6}.landing-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem 1rem}.login-card{width:min(400px,94vw);display:grid;grid-gap:1.5rem;gap:1.5rem}.login-header{display:grid;grid-gap:.5rem;gap:.5rem}.login-header h1{font-size:1.375rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.login-header p{font-size:.875rem;color:var(--muted)}.login-logo{width:36px;height:36px;display:block;margin-bottom:.25rem}.form-grid{display:grid;grid-gap:.75rem;gap:.75rem}.form-field{display:grid;grid-gap:.375rem;gap:.375rem}.form-field label{font-size:.8125rem;font-weight:500;color:var(--ink-2)}main{padding:0}main>.shell{padding:.75rem 1.25rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;padding:1rem;animation:fadeIn .12s ease-out}.modal{background:var(--card-solid);border:1px solid var(--line-hover);border-radius:var(--radius-lg);padding:1.5rem;width:min(520px,94vw);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow);animation:slideUp .16s ease-out}.modal h3{font-size:.9375rem;font-weight:600;margin-bottom:1rem;color:var(--ink);letter-spacing:-.01em}.shortcut-confirm-modal kbd{display:inline-block;border:1px solid var(--line-hover);background:var(--surface);border-radius:4px;padding:.1rem .35rem;font-size:.68rem;font-family:SF Mono,JetBrains Mono,monospace;color:var(--ink-2)}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.toolbar .input{max-width:420px}.toolbar-spacer{flex:1 1}.input-search{position:relative}.input-search .input{padding-left:2rem}.input-search:before{content:"🔍";position:absolute;left:.625rem;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--muted);pointer-events:none;z-index:1}.action-menu-wrap{position:relative}.users-card{overflow:visible}.users-card .table-wrap{overflow-x:auto;overflow-y:visible}.users-card .action-menu-wrap{z-index:5}.users-card .action-menu-wrap.is-open{z-index:60}.action-menu-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.875rem;cursor:pointer;color:var(--muted);transition:all var(--transition);line-height:1}.action-menu-btn:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}.action-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--card-solid);border:1px solid var(--line-hover);border-radius:var(--radius);box-shadow:var(--shadow);min-width:168px;z-index:80;padding:.25rem;animation:fadeIn .1s ease-out}.action-menu-floating{position:fixed;right:auto;top:auto;z-index:2000}.action-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4375rem .625rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);font-size:.875rem;font-family:inherit;cursor:pointer;transition:background var(--transition),color var(--transition);text-align:left}.action-menu button:hover{background:var(--surface);color:var(--ink)}.action-menu button.danger-text{color:var(--danger)}.team-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--line);font-size:.6875rem;font-weight:500;background:var(--surface);color:var(--ink-2)}.team-chip button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.6875rem;padding:0;line-height:1;transition:color var(--transition)}.team-chip button:hover{color:var(--ink)}.password-card{width:min(420px,94vw);margin:0 auto}.divider{height:1px;background:var(--line)}@media (max-width:900px){.dash-two-col,.split{grid-template-columns:1fr}}@media (max-width:640px){.shell-header{position:-webkit-sticky;position:sticky}.shell-header-top{padding:.5rem .75rem;min-height:48px;height:auto;align-items:flex-start;flex-wrap:wrap}.shell-brand-divider,.shell-brand-name,.shell-subtitle{display:none}.shell-header-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}main>.shell{padding:.5rem;gap:.5rem}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi{padding:.5rem}.dash-punch-strip{gap:.5rem;padding:.375rem .5rem}.dash-punch-status{gap:.35rem}.dash-two-col{grid-template-columns:1fr}.kpi-value{font-size:1.125rem}.action-row{grid-template-columns:1fr 1fr}.action-row .button{padding:.75rem;font-size:.875rem}.chips-row{gap:.375rem}.button-chip{min-height:3rem;padding:.5rem .25rem}.shell-nav{padding:0 .75rem}.shell-nav a{padding:0 .625rem}.card{padding:.625rem}td,th{padding:.4375rem .375rem}.modal{padding:1.125rem;border-radius:var(--radius)}.toolbar{grid-gap:.375rem;gap:.375rem;display:grid;grid-template-columns:1fr}.toolbar>*{min-width:0}.toolbar .button,.toolbar .input,.toolbar .select{width:100%!important;max-width:none}.toolbar .nav{width:100%;overflow-x:auto;padding-bottom:.125rem}.toolbar-spacer{display:none}.table-wrap{margin-inline:-.25rem;padding-inline:.25rem}.table-wrap td,.table-wrap th{white-space:nowrap}.landing-card h1{font-size:1.375rem}.login-wrap{align-items:flex-start;padding:3rem 1rem 1.25rem}.login-card{width:100%;gap:1.25rem}.register-name-row{grid-template-columns:1fr!important}.password-card{width:100%}}@media (max-width:400px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.chips-row{grid-template-columns:repeat(3,minmax(0,1fr))}.shell-header-top{min-height:40px}.shell-nav a{height:30px;font-size:.75rem}}.sync-spinner{display:inline-block;width:13px;height:13px;border:1.5px solid var(--line-hover);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.section-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.625rem}.table-empty{padding:.75rem .5rem;color:var(--muted);font-size:.8125rem;text-align:center}.mobile-block-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.mobile-block-card{width:min(420px,94vw);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem;display:grid;grid-gap:.625rem;gap:.625rem;text-align:center}.mobile-block-logo{width:40px;height:40px;margin:0 auto .125rem;display:block}.mobile-block-card h1{font-size:1rem;color:var(--ink)}.mobile-block-card p{font-size:.875rem;color:var(--muted);line-height:1.45}.noti-bell{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:all var(--transition)}.noti-bell:hover{background:var(--surface);border-color:var(--line-hover);color:var(--ink)}.noti-bell-offline{border-color:rgba(239,68,68,.3);color:var(--danger);animation:offlinePulse 2s ease-in-out infinite}.noti-bell-offline:hover{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.4);color:var(--danger)}@keyframes offlinePulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes driverPickerIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.notif-row:hover{background:var(--surface-alt,rgba(255,255,255,.04))}@keyframes notifPulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.noti-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:var(--danger);color:white;font-size:.625rem;font-weight:700;padding:0 4px;border-radius:99px;line-height:1;pointer-events:none}.noti-dropdown{position:absolute;right:0;top:calc(100% + 6px);width:320px;background:var(--card-solid);border:1px solid var(--line-hover);border-radius:var(--radius);box-shadow:var(--shadow);z-index:30;animation:fadeIn .12s ease-out;overflow:hidden}.noti-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;border-bottom:1px solid var(--line)}.noti-empty{padding:1.5rem .75rem;text-align:center;color:var(--muted);font-size:.8125rem}.noti-list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto}.noti-item{display:flex;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;border-bottom:1px solid var(--line);transition:background var(--transition)}.noti-item:last-child{border-bottom:none}.noti-item:hover{background:var(--surface)}.noti-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.noti-item-error .noti-dot{background:var(--danger)}.noti-item-success .noti-dot{background:var(--ok)}.noti-item-warning .noti-dot{background:var(--warning)}.noti-text{font-size:.8125rem;color:var(--ink);line-height:1.45;word-break:break-word}.floating-toast{position:fixed;top:84px;right:16px;max-width:min(420px,calc(100vw - 32px));display:flex;align-items:center;gap:.5rem;padding:.7rem .85rem;border-radius:.75rem;border:1px solid var(--line-hover);box-shadow:var(--shadow);z-index:120;font-size:.84rem;font-weight:600;animation:fadeIn .14s ease-out}.floating-toast-warning{background:color-mix(in srgb,var(--warning) 18%,var(--card-solid));color:var(--ink);border-color:color-mix(in srgb,var(--warning) 36%,var(--line-hover))}.floating-toast-success{background:color-mix(in srgb,var(--ok) 16%,var(--card-solid));color:var(--ink);border-color:color-mix(in srgb,var(--ok) 34%,var(--line-hover))}.floating-toast-error{background:color-mix(in srgb,var(--danger) 16%,var(--card-solid));color:var(--ink);border-color:color-mix(in srgb,var(--danger) 34%,var(--line-hover))}.floating-toast-icon{font-size:.95rem;flex-shrink:0}@media (max-width:900px){.floating-toast{top:74px;left:12px;right:12px;max-width:none}}.wf-intro{text-align:center;padding:2rem 0 1rem}.wf-hero-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.wf-hero-desc{color:var(--muted);font-size:.9rem;max-width:540px;margin:0 auto;line-height:1.6}.wf-section-tabs{display:flex;gap:.25rem;justify-content:center;padding:.25rem;background:var(--surface);border-radius:var(--radius-lg);width:-moz-fit-content;width:fit-content;margin:1.5rem auto}.wf-section-tab{padding:.5rem 1.25rem;font-size:.825rem;font-weight:500;font-family:inherit;border:none;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;transition:all var(--transition)}.wf-section-tab:hover{color:var(--ink)}.wf-section-tab.active{background:var(--brand);color:#fff;box-shadow:0 2px 8px rgba(59,130,246,.3)}.wf-section{margin-bottom:2rem}.wf-section-title{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.wf-flow-vertical{position:relative;max-width:520px;margin:0 auto}.wf-flow-step{display:flex;gap:1rem;align-items:flex-start;position:relative}.wf-flow-line-wrap{flex-direction:column}.wf-flow-dot,.wf-flow-line-wrap{display:flex;align-items:center;flex-shrink:0;width:44px}.wf-flow-dot{height:44px;border-radius:50%;border:2px solid var(--brand);background:var(--card);justify-content:center;position:relative;z-index:1}.wf-flow-icon{font-size:1.15rem}.wf-flow-connector{width:2px;height:32px;background:linear-gradient(to bottom,var(--line-hover),var(--line));flex-shrink:0}.wf-flow-content{padding:.625rem 0 1.5rem}.wf-flow-label{font-size:.925rem;font-weight:600;margin-bottom:.125rem}.wf-flow-desc{font-size:.8rem;color:var(--muted)}.wf-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.75rem;gap:.75rem}.wf-role-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:all .18s ease;text-align:left;font-family:inherit;display:flex;flex-direction:column;gap:.625rem}.wf-role-card:hover{border-color:var(--role-color,var(--brand));background:color-mix(in srgb,var(--role-color,var(--brand)) 5%,var(--card));transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.3)}.wf-role-header{display:flex;align-items:center;gap:.5rem}.wf-role-summary{font-size:.8rem;color:var(--ink-2);line-height:1.55;flex:1 1}.wf-role-cta{font-size:.75rem;color:var(--role-color,var(--brand));font-weight:500}.wf-role-picker{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.wf-role-pill{padding:.375rem .5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;transition:all var(--transition);font-family:inherit}.wf-role-pill.active,.wf-role-pill:hover{border-color:var(--role-color,var(--brand))}.wf-role-pill.active{background:color-mix(in srgb,var(--role-color,var(--brand)) 10%,var(--card));box-shadow:0 0 12px color-mix(in srgb,var(--role-color,var(--brand)) 20%,transparent)}.wf-empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}.wf-role-detail{animation:wfFadeIn .25s ease}@keyframes wfFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wf-role-detail-header{background:color-mix(in srgb,var(--role-color) 6%,var(--card));border:1px solid color-mix(in srgb,var(--role-color) 20%,var(--line));border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.wf-role-detail-desc{margin-top:.5rem;font-size:.85rem;color:var(--ink-2);line-height:1.55}.wf-sub-title{font-size:.95rem;font-weight:600;margin-bottom:1rem;color:var(--ink)}.wf-steps-timeline{position:relative;margin-left:.5rem}.wf-timeline-item{display:flex;gap:1rem}.wf-timeline-left{flex-direction:column}.wf-timeline-left,.wf-timeline-number{display:flex;align-items:center;flex-shrink:0;width:32px}.wf-timeline-number{height:32px;border-radius:50%;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;z-index:1}.wf-timeline-line{width:2px;flex:1 1;min-height:16px;background:var(--line-hover)}.wf-timeline-card{display:flex;gap:.75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.875rem 1rem;margin-bottom:.5rem;flex:1 1;transition:border-color var(--transition)}.wf-timeline-card:hover{border-color:var(--line-hover)}.wf-timeline-card-icon{font-size:1.25rem;flex-shrink:0;line-height:1;margin-top:.125rem}.wf-timeline-card-title{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.wf-timeline-card-desc{font-size:.8rem;color:var(--muted);line-height:1.5}.wf-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.wf-feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;transition:border-color var(--transition)}.wf-feature-card:hover{border-color:var(--line-hover)}.wf-feature-icon{font-size:1.5rem;margin-bottom:.5rem}.wf-feature-title{font-size:.825rem;font-weight:600;margin-bottom:.25rem}.wf-feature-desc{font-size:.75rem;color:var(--muted);line-height:1.5}.wf-workflow-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem}.wf-workflow-title{font-size:1rem;font-weight:600;display:flex;align-items:center;margin-bottom:.375rem}.wf-workflow-desc{font-size:.8rem;color:var(--muted);margin-bottom:1.25rem;line-height:1.5}.wf-pipeline{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding-bottom:.5rem}.wf-pipeline-step{flex-direction:column;text-align:center;min-width:130px;flex:1 1}.wf-pipeline-node,.wf-pipeline-step{display:flex;align-items:center;position:relative}.wf-pipeline-node{width:52px;height:52px;border-radius:50%;border:2px solid var(--brand);background:var(--surface);justify-content:center;margin-bottom:.625rem;z-index:1}.wf-pipeline-icon{font-size:1.25rem}.wf-pipeline-label{font-size:.8rem;font-weight:600;margin-bottom:.125rem}.wf-pipeline-desc{font-size:.7rem;color:var(--muted);line-height:1.4;max-width:130px}.wf-pipeline-actor{font-size:.65rem;font-weight:600;margin-top:.375rem;text-transform:uppercase;letter-spacing:.04em}.wf-pipeline-arrow{position:absolute;right:-12px;top:18px;font-size:1.1rem;color:var(--muted);z-index:2}@media (max-width:640px){.wf-hero-title{font-size:1.2rem}.wf-section-tabs{width:100%;overflow-x:auto}.wf-section-tab{padding:.4rem .875rem;font-size:.775rem;white-space:nowrap}.wf-role-grid{grid-template-columns:1fr}.wf-features-grid{grid-template-columns:1fr 1fr}.wf-pipeline{flex-direction:column;align-items:stretch}.wf-pipeline-step{flex-direction:row;text-align:left;gap:.75rem;min-width:unset}.wf-pipeline-node{margin-bottom:0;flex-shrink:0}.wf-pipeline-desc{max-width:none}.wf-pipeline-arrow{position:static;transform:rotate(90deg);align-self:center;margin:.25rem 0;display:none}.wf-flow-vertical{max-width:100%}}