@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--esy-blue:#0073ea;--esy-blue-hover:#005cb8;--esy-blue-press:#004a96;--esy-blue-soft:#e6f1fd;--esy-blue-tint:#cce3fb;--esy-purple:#6161ff;--esy-purple-soft:#ececff;--esy-navy:#1f2a4d;--stage-blue:#0073ea;--stage-blue-soft:#e6f1fd;--stage-purple:#a25ddc;--stage-purple-soft:#f4e9fb;--stage-green:#00c875;--stage-green-soft:#e0f8ee;--stage-yellow:#ffcb00;--stage-yellow-soft:#fff6d9;--stage-red:#e2445c;--stage-red-soft:#fbe3e7;--stage-pink:#ff5ac4;--stage-pink-soft:#ffe6f6;--stage-cyan:#00d2d3;--stage-cyan-soft:#ddf7f7;--stage-orange:#fdab3d;--stage-orange-soft:#ffeedb;--client-conflict-fg:#8a4500;--client-conflict-bg:var(--stage-orange-soft);--client-conflict-border:var(--stage-orange);--gray-0:#fff;--gray-1:#f6f7fb;--gray-2:#edeef3;--gray-3:#e1e1e5;--gray-4:#c5c7d0;--gray-5:#9699a6;--gray-6:#676879;--gray-7:#323338;--gray-8:#1f2a4d;--bg-app:var(--gray-1);--bg-surface:var(--gray-0);--bg-surface-2:var(--gray-1);--bg-hover:#1f2a4d0a;--bg-active:#1f2a4d14;--bg-selected:var(--esy-blue-soft);--border-default:var(--gray-3);--border-strong:var(--gray-4);--border-focus:var(--esy-blue);--fg-1:var(--gray-8);--fg-2:var(--gray-6);--fg-3:var(--gray-5);--fg-disabled:var(--gray-4);--fg-onbrand:var(--gray-0);--fg-link:var(--esy-blue);--success:var(--stage-green);--success-soft:var(--stage-green-soft);--warning:var(--stage-yellow);--warning-soft:var(--stage-yellow-soft);--danger:var(--stage-red);--danger-soft:var(--stage-red-soft);--info:var(--stage-blue);--info-soft:var(--stage-blue-soft);--text-danger:#9e4a47;--text-warning:#8c6d2f;--text-success:#48704f;--font-sans:"Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-30:30px;--fs-38:38px;--fs-48:48px;--fs-64:64px;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.6;--ls-tight:-.02em;--ls-snug:-.01em;--ls-normal:0;--ls-wide:.04em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-24:96px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-2xl:28px;--r-full:999px;--shadow-1:0 1px 2px #1f2a4d0f;--shadow-2:0 2px 8px #1f2a4d14;--shadow-3:0 8px 24px #1f2a4d1a;--shadow-4:0 16px 40px #1f2a4d24;--shadow-5:0 24px 60px #1f2a4d2e;--shadow-focus:0 0 0 4px var(--esy-blue-soft);--ease:cubic-bezier(.2, .8, .2, 1);--t-fast:.12s;--t-base:.18s;--t-slow:.24s;--t-page:.32s;--topbar-h:56px;--sidenav-w:240px;--sidenav-w-mini:72px;--rightpanel-w:420px;--container-max:1280px;--border-1:var(--border-default);--border:var(--border-default);--bg-card:var(--bg-surface);--bg-1:var(--bg-app);--bg-2:var(--gray-2);--bg-tag:var(--gray-2);--esy-red:var(--danger);--shadow-lg:var(--shadow-3);--radius-2:var(--r-md);--bg-surface-1:var(--bg-surface);--warning-bg:var(--warning-soft);--muted:var(--fg-2);--fs-11:11px;--fs-22:22px;--fs-28:28px}.esy,.esy *{font-family:var(--font-sans);letter-spacing:var(--ls-normal)}.esy{color:var(--fg-1);font-size:var(--fs-14);line-height:var(--lh-normal);text-align:start}.esy .mono{font-family:var(--font-mono)}@keyframes esy-fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes esy-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes esy-spin{to{transform:rotate(360deg)}}.esy-stagger>*{animation:esy-fade-up var(--t-slow) var(--ease) both}.esy-stagger>:first-child{animation-delay:0s}.esy-stagger>:nth-child(2){animation-delay:30ms}.esy-stagger>:nth-child(3){animation-delay:60ms}.esy-stagger>:nth-child(4){animation-delay:90ms}.esy-stagger>:nth-child(5){animation-delay:.12s}.esy-stagger>:nth-child(6){animation-delay:.15s}.esy-stagger>:nth-child(7){animation-delay:.18s}.esy-stagger>:nth-child(8){animation-delay:.21s}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{background:var(--bg-app,#f4f5f7);color:var(--fg-1,#0b0d12);font-family:var(--font-sans,system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}#root{flex-direction:column;display:flex}.cc-chip{--chip-fg:var(--fg-2);--chip-bg:var(--bg-surface);--chip-badge-bg:var(--gray-2);--chip-badge-fg:var(--fg-2);border:1px solid var(--border-default);border-radius:var(--r-full);background:var(--chip-bg);min-height:32px;color:var(--chip-fg);font:inherit;font-size:var(--fs-13);cursor:pointer;align-items:center;gap:8px;padding:3px 6px 3px 12px;font-weight:600;transition:background-color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.cc-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1,0 1px 2px #1f2a4d1f)}.cc-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.cc-chip:active{background:var(--bg-surface-2)}.cc-chip-count{border-radius:var(--r-full);background:var(--chip-badge-bg);min-width:22px;height:22px;color:var(--chip-badge-fg);font-size:var(--fs-12);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.cc-chip[data-tone=batch]{--chip-fg:var(--esy-blue-hover);--chip-bg:var(--esy-blue-soft);--chip-badge-bg:var(--esy-blue);--chip-badge-fg:var(--fg-onbrand)}.cc-chip[data-tone=needs_you]{--chip-fg:#6b4e00;--chip-bg:var(--warning-soft);--chip-badge-bg:#b58900;--chip-badge-fg:var(--fg-onbrand)}.cc-chip[data-tone=ready]{--chip-fg:#00704a;--chip-bg:var(--success-soft);--chip-badge-bg:#00704a;--chip-badge-fg:var(--fg-onbrand)}.esy.auth-page{min-height:100vh;padding:var(--s-6);justify-content:center;align-items:center;gap:var(--s-5);background:var(--bg-app);flex-direction:column;display:flex}.esy.auth-page .auth-brand{align-items:center;gap:var(--s-1);text-align:center;flex-direction:column;display:flex}.esy.auth-page .auth-brand h1{font-size:var(--fs-24);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:var(--fg-1);align-items:center;gap:9px;margin:0;display:inline-flex}.esy.auth-page .auth-brand .esy-logo{background:var(--esy-blue);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:inline-flex}.esy.auth-page .auth-brand .esy-blue{color:var(--esy-blue)}.esy.auth-page .auth-brand .esy-navy{color:var(--esy-navy)}.esy.auth-page .auth-brand p{font-size:var(--fs-14);color:var(--fg-2);margin:0}.esy .auth-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-lg);width:100%;max-width:420px;box-shadow:var(--shadow-3);padding:var(--s-8);gap:var(--s-5);flex-direction:column;display:flex}.esy .auth-card .btn-primary,.esy .auth-card .btn-secondary,.esy .auth-card .btn-danger{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-md);width:100%;padding:var(--s-3) var(--s-5);font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border:1px solid #0000;display:inline-flex}.esy .auth-card .btn-primary{background:var(--esy-blue);color:var(--fg-onbrand)}.esy .auth-card .btn-primary:hover{background:var(--esy-blue-hover)}.esy .auth-card .btn-primary:active{background:var(--esy-blue-press)}.esy .auth-card .btn-primary:disabled{background:var(--gray-3);color:var(--fg-disabled);cursor:not-allowed}.esy .auth-card .btn-secondary{background:var(--bg-surface);color:var(--fg-1);border-color:var(--border-default)}.esy .auth-card .btn-secondary:hover{background:var(--bg-hover)}.esy .auth-card .btn-danger{background:var(--bg-surface);color:var(--danger);border-color:var(--border-default)}.esy .auth-card .btn-danger:hover{background:var(--danger-soft)}.esy .auth-alert{border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--fs-13);line-height:var(--lh-snug);border:1px solid var(--border-default)}.esy .auth-alert--info{background:var(--info-soft);border-color:var(--info)}.esy .auth-alert--warn{background:var(--warning-soft);border-color:var(--warning)}.esy .auth-alert--danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.esy .auth-alert p{margin:0 0 var(--s-1) 0}.esy .auth-alert p:last-child{margin-bottom:0}.esy.auth-page .auth-locale{align-items:center;gap:var(--s-2);font-size:var(--fs-13);color:var(--fg-2);display:inline-flex}.esy.auth-page .auth-locale select{font:inherit;color:var(--fg-1);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2)}.esy.auth-page .auth-locale select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.esy .auth-card input:not([type]),.esy .auth-card input[type=email],.esy .auth-card input[type=password],.esy .auth-card input[type=text],.esy .auth-card input[type=number],.esy .auth-card [data-slot=input]{width:100%;font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-snug);color:var(--fg-1);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);box-sizing:border-box}.esy .auth-card input::placeholder,.esy .auth-card [data-slot=input]::placeholder{color:var(--fg-3)}.esy .auth-card input:focus,.esy .auth-card input:focus-visible,.esy .auth-card [data-slot=input]:focus,.esy .auth-card [data-slot=input]:focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.esy .auth-card input:disabled,.esy .auth-card [data-slot=input]:disabled{background:var(--bg-surface-2);color:var(--fg-disabled);cursor:not-allowed}.esy .auth-card input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 100px var(--bg-surface);-webkit-text-fill-color:var(--fg-1);transition:background-color 9999s ease-out}.esy .auth-card input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 100px var(--bg-surface);-webkit-text-fill-color:var(--fg-1);transition:background-color 9999s ease-out}.esy .auth-card input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 100px var(--bg-surface);-webkit-text-fill-color:var(--fg-1);transition:background-color 9999s ease-out}.esy .auth-card label,.esy .auth-card [data-slot=label],.esy .auth-card [data-slot=form-label],.esy .auth-card [data-slot=field-label]{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--fg-1);margin-bottom:var(--s-1);display:block}.esy .auth-card [data-slot=form-item],.esy .auth-card [data-slot=field]{gap:var(--s-1);flex-direction:column;display:flex}.esy .auth-card button[type=submit],.esy .auth-card [data-slot=button][type=submit]{justify-content:center;align-items:center;gap:var(--s-2);width:100%;font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--fg-onbrand);background:var(--esy-blue);border-radius:var(--r-md);padding:var(--s-3) var(--s-5);cursor:pointer;transition:background var(--t-fast) var(--ease);border:1px solid #0000;display:inline-flex}.esy .auth-card button[type=submit]:hover,.esy .auth-card [data-slot=button][type=submit]:hover{background:var(--esy-blue-hover)}.esy .auth-card button[type=submit]:active,.esy .auth-card [data-slot=button][type=submit]:active{background:var(--esy-blue-press)}.esy .auth-card button[type=submit]:disabled,.esy .auth-card [data-slot=button][type=submit]:disabled{background:var(--gray-3);color:var(--fg-disabled);cursor:not-allowed}.esy .auth-card button[type=submit]:focus-visible,.esy .auth-card [data-slot=button][type=submit]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.esy .auth-card button[type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger),.esy .auth-card [data-slot=button][type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger){justify-content:center;align-items:center;gap:var(--s-2);width:100%;font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--fg-1);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);display:inline-flex}.esy .auth-card button[type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger):hover,.esy .auth-card [data-slot=button][type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger):hover{background:var(--bg-hover);border-color:var(--border-strong)}.esy .auth-card button[type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger):focus-visible,.esy .auth-card [data-slot=button][type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger):focus-visible{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.esy .auth-card button[type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger) svg,.esy .auth-card [data-slot=button][type=button]:not(.btn-primary):not(.btn-secondary):not(.btn-danger):not(.user-menu-item):not(.user-menu-trigger) svg{flex-shrink:0}.esy .auth-card hr,.esy .auth-card [role=separator],.esy .auth-card [data-slot=separator]{background:var(--border-default);height:1px;margin:var(--s-1) 0;border:0}.esy .auth-card [data-slot=form-message],.esy .auth-card [role=alert]:not(.auth-alert):not(.auth-alert--warn):not(.auth-alert--danger):not(.auth-alert--info){font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--danger);margin:0}.esy .auth-card .text-muted-foreground,.esy .auth-card [data-slot=card-description]{font-size:var(--fs-13);color:var(--fg-2);margin:0}.esy .auth-card a{color:var(--fg-link);transition:color var(--t-fast) var(--ease);text-decoration:none}.esy .auth-card a:hover{color:var(--esy-blue-hover);text-decoration:underline}.esy .auth-card a.btn-primary,.esy .auth-card a.btn-secondary,.esy .auth-card a.btn-danger{text-decoration:none}.esy .auth-card a.btn-primary:hover{color:var(--fg-onbrand);text-decoration:none}.esy .auth-card a.btn-secondary:hover,.esy .auth-card a.btn-danger:hover{text-decoration:none}.esy .auth-card svg.lucide-loader,.esy .auth-card svg.lucide-loader-2,.esy .auth-card svg.lucide-loader-circle,.esy .auth-card [data-slot=spinner]{color:var(--fg-2)}.esy .auth-card button[type=submit] svg.lucide-loader,.esy .auth-card button[type=submit] svg.lucide-loader-2,.esy .auth-card button[type=submit] svg.lucide-loader-circle,.esy .auth-card [data-slot=button][type=submit] svg.lucide-loader,.esy .auth-card [data-slot=button][type=submit] svg.lucide-loader-2,.esy .auth-card [data-slot=button][type=submit] svg.lucide-loader-circle,.esy .auth-card .btn-primary svg.lucide-loader,.esy .auth-card .btn-primary svg.lucide-loader-2{color:var(--fg-onbrand)}.esy .user-menu-trigger{border-radius:var(--r-full);background:var(--gray-2);width:40px;height:40px;color:var(--fg-1);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-semibold);border:1px solid var(--border-default);cursor:pointer;transition:background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.esy .user-menu-trigger:hover{background:var(--gray-3)}.esy .user-menu-trigger:focus-visible{box-shadow:var(--shadow-focus);outline:none}.esy .user-menu{display:inline-block;position:relative}.esy .user-menu-panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-lg);width:240px;box-shadow:var(--shadow-3);padding:var(--s-2);gap:var(--s-1);z-index:50;flex-direction:column;display:flex;position:absolute;inset-block-end:calc(100% + var(--s-1));inset-inline-start:0}.esy .user-menu-identity{padding:var(--s-2) var(--s-3);min-width:0}.esy .user-menu-name{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.esy .user-menu-email{font-size:var(--fs-13);color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--s-1);overflow:hidden}.esy .user-menu-agency{font-size:var(--fs-12);color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--s-1);overflow:hidden}.esy .user-menu-divider{background:var(--border-default);height:1px;margin:var(--s-1) 0}.esy .user-menu-item{text-align:start;width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-14);color:var(--fg-1);cursor:pointer;transition:background var(--t-fast) var(--ease);background:0 0;border:none;text-decoration:none;display:block}.esy .user-menu-item:hover{background:var(--bg-hover)}.esy .user-menu-item--danger{color:var(--danger)}.esy .user-menu-item--danger:hover{background:var(--danger-soft)}.esy .user-menu-avatar-img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.esy.toast-stack{gap:var(--s-2);z-index:2000;width:min(360px, calc(100vw - var(--s-8)));pointer-events:none;flex-direction:column;display:flex;position:fixed;inset-block-start:var(--s-4);inset-inline-end:var(--s-4)}.esy .toast{pointer-events:auto;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);box-shadow:var(--shadow-3);font-size:var(--fs-14);color:var(--fg-1);animation:esy-fade-up var(--t-slow) var(--ease) both;display:flex}.esy .toast--success{border-color:var(--success)}.esy .toast--error{border-color:var(--danger);color:var(--danger)}.esy .toast--warning{border-color:var(--warning)}.esy .toast--info{border-color:var(--info)}.esy .toast-message{line-height:var(--lh-snug);flex:1}.esy .toast-message--clickable{cursor:pointer;text-decoration:underline}.esy .toast-close{color:var(--fg-2);cursor:pointer;font-size:var(--fs-18);background:0 0;border:0;padding:0;line-height:1}.esy .toast-close:hover{color:var(--fg-1)}
