:root{--primary: #1F5E3B;--primary-dark: #16462C;--bg: #FFFFFF;--surface: #FFFFFF;--text-primary: #111111;--text-secondary: #6B7280;--text-tertiary: #6B7280;--text-quaternary: #9CA3AF;--border: #E5E7EB;--border-strong: #D1D5DB;--success: #22C55E;--warning: #F59E0B;--danger: #EF4444;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px}@media(prefers-color-scheme:dark){:root{--bg: #0E0E10;--surface: #1C1C1E;--text-primary: #F5F5F7;--text-secondary: #A1A1AA;--text-tertiary: #9CA3AF;--text-quaternary: #71717A;--border: #2C2C2E;--border-strong: #3A3A3C}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font:inherit;color:var(--text-primary)}button:disabled{cursor:default;opacity:.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:46px;background:linear-gradient(180deg,#24704A,var(--primary));color:#fff;border-radius:11px;font-size:15px;font-weight:600;box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 30%,transparent);transition:transform .1s ease,box-shadow .18s ease,filter .15s ease}.btn-primary:not(:disabled):hover{filter:brightness(1.06);box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 40%,transparent)}.btn-primary:not(:disabled):active{transform:scale(.98);box-shadow:0 3px 10px color-mix(in srgb,var(--primary) 28%,transparent)}.btn-primary:disabled{box-shadow:none}.field{width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.field::placeholder{color:var(--text-quaternary)}.section-label{font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--text-tertiary);text-transform:uppercase}.badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:999px}.badge.requested{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,transparent)}.badge.accepted{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.badge.arrived{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.badge.neutral{color:var(--text-tertiary);background:color-mix(in srgb,var(--text-quaternary) 12%,transparent)}.btn-dismiss{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:44px;background:linear-gradient(180deg,#2BAF5B,var(--success));color:#fff;border-radius:11px;font-size:15px;font-weight:700;box-shadow:0 6px 16px color-mix(in srgb,var(--success) 32%,transparent);transition:transform .1s ease,filter .15s ease,box-shadow .18s ease}.btn-dismiss:not(:disabled):hover{filter:brightness(1.06);box-shadow:0 8px 22px color-mix(in srgb,var(--success) 42%,transparent)}.btn-dismiss:not(:disabled):active{transform:scale(.98)}.btn-dismiss:disabled{box-shadow:none;opacity:.6}.btn-dismiss-outline{display:flex;align-items:center;justify-content:center;width:100%;height:36px;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary);background:transparent;border-radius:9px;font-size:13px;font-weight:600;transition:background .15s ease}.btn-dismiss-outline:not(:disabled):hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.spin{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.segments{display:flex;background:color-mix(in srgb,var(--text-quaternary) 12%,transparent);border-radius:9px;padding:2px;gap:2px}.segments button{flex:1;padding:6px 0;border-radius:7px;font-size:13px;font-weight:500;color:var(--text-secondary)}.segments button.active{background:var(--surface);color:var(--text-primary);font-weight:600;border:1px solid var(--border)}.error-text{color:var(--danger);font-size:13px}.auth-shell{min-height:100%;display:grid;grid-template-columns:1fr}@media(min-width:900px){.auth-shell{grid-template-columns:1.05fr 1fr}}.auth-hero{position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:30px;padding:56px 48px;background:radial-gradient(120% 120% at 12% 8%,#2E7D51 0%,transparent 46%),radial-gradient(130% 130% at 92% 96%,#16462C 0%,transparent 55%),linear-gradient(150deg,#1f5e3b,#164a2e 60%,#123d26)}.auth-hero:before{content:"";position:absolute;width:460px;height:460px;top:-140px;right:-120px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);filter:blur(6px);animation:bloom 14s ease-in-out infinite alternate;pointer-events:none}@keyframes bloom{0%{transform:translate(0) scale(1);opacity:.9}to{transform:translate(-30px,26px) scale(1.12);opacity:.6}}.auth-hero>*{position:relative;z-index:1}@media(max-width:899px){.auth-hero{padding:40px 28px 34px;gap:18px;text-align:center;align-items:center;border-radius:0 0 26px 26px}.hero-features{display:none}}.auth-bell{width:66px;height:66px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;font-size:34px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 30px #00000038,inset 0 1px #ffffff40;transform-origin:50% 12%;animation:bell-swing 5s ease-in-out infinite}@keyframes bell-swing{0%,62%,to{transform:rotate(0)}68%{transform:rotate(11deg)}74%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}86%{transform:rotate(-3deg)}92%{transform:rotate(1deg)}}.hero-title{font-size:40px;font-weight:800;line-height:1.05;letter-spacing:-.5px}@media(max-width:899px){.hero-title{font-size:27px}}.hero-title .accent{background:linear-gradient(90deg,#eafbf0,#b7e9c8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{font-size:16px;line-height:1.55;max-width:30ch;color:#ffffffd1}@media(max-width:899px){.hero-sub{font-size:14px}}.hero-features{display:flex;flex-direction:column;gap:16px;margin-top:4px}.hero-feature{display:flex;align-items:center;gap:14px}.hero-feature .ico{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:19px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.hero-feature .ft-title{font-size:14.5px;font-weight:650}.hero-feature .ft-sub{font-size:12.5px;color:#ffffffad;margin-top:1px}.auth-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 28px}.auth-card{width:100%;max-width:380px}.auth-welcome-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--primary)}.fade-up{opacity:0;transform:translateY(12px);animation:fadeUp .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeUp{to{opacity:1;transform:none}}.splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.splash .mark{width:62px;height:62px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:30px;background:var(--primary);color:#fff;animation:bell-swing 5s ease-in-out infinite,pulse-soft 2s ease-in-out infinite}@keyframes pulse-soft{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--primary) 12%,transparent)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.queue-card{animation:slideIn .25s ease}.bubble-mine{background:var(--primary);color:#fff;border-radius:16px;padding:9px 13px}.bubble-theirs{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:16px;padding:9px 13px}.react-chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;padding:3px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.react-bar{position:absolute;top:-34px;display:flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 6px;z-index:5}.react-bar button{font-size:15px;padding:2px 4px;border-radius:6px}.react-bar button:hover{background:color-mix(in srgb,var(--text-quaternary) 15%,transparent)}.ledger-serif{font-family:Georgia,Times New Roman,serif}.drop-target{border-color:var(--primary)!important;border-width:2px!important}a{color:var(--primary)}
