:root{--c-1: #0ea5b7;--c-2: #22d3ee;--c-3: #6366f1;--c-4: #a78bfa;--ink: #051528;--ink-2: rgba(5, 21, 40, .68);--ink-3: rgba(5, 21, 40, .48);--glass: rgba(255, 255, 255, .55);--glass-strong: rgba(255, 255, 255, .75);--line: rgba(255, 255, 255, .7);--danger: #dc2626;--success: #047857;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;background:radial-gradient(ellipse 800px 600px at 0% 0%,#99f6e4 0%,transparent 55%),radial-gradient(ellipse 700px 600px at 100% 10%,#c7d2fe 0%,transparent 55%),radial-gradient(ellipse 900px 700px at 50% 100%,#a5f3fc 0%,transparent 60%),linear-gradient(180deg,#ecfeff,#eef2ff);background-attachment:fixed}code{background:#0ea5b71a;color:var(--c-1);padding:.1em .35em;border-radius:4px;font-size:.95em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:12px;background:conic-gradient(from 200deg at 60% 40%,var(--c-1),var(--c-2),var(--c-3),var(--c-4),var(--c-1));display:grid;place-items:center;color:#fff;font-weight:800;font-size:17px;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 6px 16px -4px #0ea5b78c,inset 0 0 0 1px #ffffff4d}.brand-name{font-weight:700;font-size:18px;letter-spacing:-.01em;background:linear-gradient(135deg,var(--c-1),var(--c-3));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.auth-card{width:100%;max-width:420px;background:var(--glass);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:24px;padding:32px 28px;box-shadow:0 20px 60px -24px #0ea5b74d;display:flex;flex-direction:column;gap:16px}.auth-card h2{margin:8px 0 0;font-size:22px;letter-spacing:-.015em;font-weight:700}.auth-card .lead{margin:0;color:var(--ink-2);font-size:14px}.form-stack{display:flex;flex-direction:column;gap:12px;margin-top:4px}.form-stack label{display:flex;flex-direction:column;gap:4px}.form-stack label>span{font-size:12.5px;color:var(--ink-2);font-weight:600}.form-stack input[type=email],.form-stack input[type=password],.form-stack input[type=text]{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--glass-strong);font:inherit;font-size:14px;color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}.form-stack input:focus{border-color:var(--c-1);box-shadow:0 0 0 3px #0ea5b72e}.form-stack input[type=file]{font:inherit;font-size:13px}.btn{padding:9px 18px;border-radius:12px;font-weight:600;font-size:13.5px;cursor:pointer;border:1px solid var(--line);background:var(--glass);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .12s,transform .12s,filter .12s;font-family:inherit}.btn:hover:not(:disabled){background:var(--glass-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--c-1),var(--c-3));color:#fff;border-color:transparent;box-shadow:0 8px 24px -8px #0ea5b799}.btn.primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.btn.secondary{background:var(--glass-strong)}.link-btn{background:none;border:none;padding:4px 0;color:var(--c-1);font-size:13px;font-weight:600;cursor:pointer;text-align:left;font-family:inherit;align-self:flex-start}.link-btn:hover{color:var(--c-3);text-decoration:underline}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.1);font:inherit;font-size:14px;font-weight:600;color:#3c4043;cursor:pointer;transition:box-shadow .12s,background .12s}.google-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px #00000014}.divider{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px;font-weight:600;margin:4px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#05152814}.auth-tabs{display:flex;gap:4px;padding:4px;background:var(--glass);border-radius:12px;border:1px solid var(--line)}.auth-tabs button{flex:1;padding:7px 12px;border-radius:8px;background:transparent;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background .12s,color .12s}.auth-tabs button:hover{color:var(--ink)}.auth-tabs button.active{background:var(--glass-strong);color:var(--ink);box-shadow:0 1px 3px #0000000f}.recovery-toggle{margin-top:8px;border-top:1px solid rgba(5,21,40,.06);padding-top:14px}.recovery-toggle summary{cursor:pointer;color:var(--ink-3);font-size:12.5px;font-weight:600;-webkit-user-select:none;user-select:none;list-style:none}.recovery-toggle summary::-webkit-details-marker{display:none}.recovery-toggle summary:hover{color:var(--ink-2)}.recovery-toggle[open] summary{color:var(--ink-2)}.alert{padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.5}.alert.error{background:#dc262614;border:1px solid rgba(220,38,38,.18);color:#991b1b}.alert.success{background:#04785714;border:1px solid rgba(4,120,87,.18);color:var(--success)}.alert p{margin:0}.alert p+p{margin-top:6px}.boot{min-height:100vh;display:grid;place-items:center}.boot-spinner{width:32px;height:32px;border-radius:50%;border:3px solid rgba(14,165,183,.18);border-top-color:var(--c-1);animation:boot-spin .8s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1300px;width:100%;margin:0 auto;padding:24px;flex:1}.hero{margin-bottom:24px}.hero h1{margin:0;font-size:34px;font-weight:700;letter-spacing:-.025em;background:linear-gradient(120deg,#042f4a 0%,var(--c-1) 45%,var(--c-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin:6px 0 0;color:var(--ink-2);max-width:60ch}.placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media(max-width:880px){.placeholder-grid{grid-template-columns:1fr}}.panel{background:var(--glass);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 20px 60px -24px #0ea5b74d}.panel h3{margin:0 0 8px;font-size:16px;font-weight:700}.muted{color:var(--ink-3);font-size:13.5px;margin:0}.topbar-wrap{padding:18px 24px 0}.topbar-nav{max-width:1300px;margin:0 auto;background:var(--glass);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:18px;padding:10px 14px 10px 22px;display:flex;align-items:center;gap:18px;box-shadow:0 12px 40px -16px #0ea5b74d}.topbar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.topbar-spacer{flex:1}.topbar-avatar-wrap{position:relative}.topbar-avatar{width:36px;height:36px;border-radius:12px;border:0;padding:0;cursor:pointer;background:conic-gradient(from 0deg,var(--c-2),var(--c-3),var(--c-1),var(--c-2));color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;font-family:inherit;box-shadow:inset 0 0 0 2px #fff6}.topbar-avatar:hover{filter:brightness(1.05)}.avatar-menu{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--glass-strong);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 20px 60px -20px #0ea5b759,0 4px 12px -4px #0000001a;z-index:100;display:flex;flex-direction:column;gap:2px}.avatar-menu-header{padding:10px 12px 8px}.avatar-menu-handle{font-weight:700;font-size:14px;color:var(--ink);word-break:break-all}.avatar-menu-sub{font-size:11.5px;color:var(--ink-3);margin-top:2px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.avatar-menu-divider{height:1px;background:#05152814;margin:2px 0}.avatar-menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:9px;background:transparent;border:none;font:inherit;font-size:13.5px;font-weight:500;color:var(--ink);text-decoration:none;cursor:pointer;text-align:left;font-family:inherit}.avatar-menu-item:hover{background:#0ea5b71a}.avatar-menu-item--danger{color:var(--danger)}.avatar-menu-item--danger:hover{background:#dc262614}.avatar-menu-ext{font-size:12px;color:var(--ink-3)}
