:root{--cv-color-bg:#fff;--cv-color-surface:#f5f6fb;--cv-color-surface-2:#eef1f9;--cv-color-text:#2b3089;--cv-color-text-muted:#46508a;--cv-color-text-subtle:#8088b0;--cv-color-primary:#2c4a9a;--cv-color-primary-strong:#2b3089;--cv-color-on-primary:#fff;--cv-color-brand-700:#2c4194;--cv-color-brand-200:#c0cae6;--cv-color-brand-light:#eaeefb;--cv-color-brand-tint:#f3f5fc;--cv-color-accent:#ed6d05;--cv-color-accent-strong:#d35f04;--cv-color-accent-tint:#fff2e2;--cv-color-accent-text:#ed6d05;--cv-color-on-accent:#fff;--cv-color-gold:#f59f00;--cv-color-border:#e5e9f3;--cv-color-slate-50:#f5f6fb;--cv-color-slate-100:#eef1f9;--cv-color-slate-200:#e5e9f3;--cv-color-slate-300:#cbd3e6;--cv-color-slate-400:#8088b0;--cv-color-slate-500:#5e668e;--cv-color-slate-600:#46508a;--cv-color-slate-700:#333d6b;--cv-color-slate-800:#232a5e;--cv-color-success:#137a3a;--cv-color-success-tint:#e7f7ed;--cv-color-warning:#c25e00;--cv-color-warning-tint:#fff1e0;--cv-color-danger:#d92020;--cv-color-danger-tint:#fdeaea;--cv-color-glow:#ed6d0559;--cv-font-display:"Plus Jakarta Sans", system-ui, sans-serif;--cv-font-body:"DM Sans", system-ui, sans-serif;--cv-font-mono:"Geist Mono", ui-monospace, monospace;--cv-font-accent:"Unbounded", "DM Sans", sans-serif;--cv-radius-sm:8px;--cv-radius-md:12px;--cv-radius-lg:16px;--cv-radius-xl:20px;--cv-radius-pill:999px;--cv-shadow-sm:0 1px 2px #2b30890d, 0 1px 3px #2b30890a;--cv-shadow-md:0 18px 44px #2c4a9a1f;--cv-shadow-lg:0 24px 60px #2c4a9a2e;--cv-shadow-neutral:0 4px 14px #0f24401a;--cv-space-1:4px;--cv-space-2:8px;--cv-space-3:12px;--cv-space-4:16px;--cv-space-5:24px;--cv-space-6:32px;--cv-space-7:40px;--cv-space-8:48px;--cv-shadow-glow:0 14px 40px var(--cv-color-glow);--cv-gradient-brand:linear-gradient(135deg, var(--cv-color-primary) 0%, var(--cv-color-primary-strong) 100%);--cv-gradient-accent:linear-gradient(135deg, #f59f00 0%, #ed6d05 100%)}
:root{--brand:var(--cv-color-primary);--brand-dark:var(--cv-color-primary-strong);--navy:var(--cv-color-primary-strong);--brand-700:var(--cv-color-brand-700);--brand-200:var(--cv-color-brand-200);--brand-light:var(--cv-color-brand-light);--brand-tint:var(--cv-color-brand-tint);--orange:var(--cv-color-accent);--orange-dark:var(--cv-color-accent-strong);--orange-bright:var(--cv-color-gold);--orange-light:var(--cv-color-accent-tint);--orange-cta:#b85600;--orange-cta-hover:#9d4900;--slate-50:var(--cv-color-slate-50);--slate-100:var(--cv-color-slate-100);--slate-200:var(--cv-color-slate-200);--slate-300:var(--cv-color-slate-300);--slate-400:var(--cv-color-slate-400);--slate-500:var(--cv-color-slate-500);--slate-600:var(--cv-color-slate-600);--slate-700:var(--cv-color-slate-700);--slate-800:var(--cv-color-slate-800);--text-1:var(--cv-color-text);--text-2:var(--cv-color-text-muted);--text-3:var(--cv-color-slate-500);--success:var(--cv-color-success);--success-light:var(--cv-color-success-tint);--warning:var(--cv-color-warning);--warning-light:var(--cv-color-warning-tint);--danger:var(--cv-color-danger);--danger-light:var(--cv-color-danger-tint);--font-display:var(--cv-font-display);--font-body:var(--cv-font-body);--font-sans:var(--font-body);--sp-1:var(--cv-space-1);--sp-2:var(--cv-space-2);--sp-3:var(--cv-space-3);--sp-4:var(--cv-space-4);--sp-5:var(--cv-space-5);--sp-6:var(--cv-space-6);--sp-8:var(--cv-space-8);--radius-sm:10px;--radius-md:var(--cv-radius-md);--radius-lg:var(--cv-radius-lg);--radius-xl:var(--cv-radius-xl);--radius-pill:var(--cv-radius-pill);--shadow-sm:var(--cv-shadow-sm);--shadow-md:var(--cv-shadow-md);--shadow-lg:var(--cv-shadow-lg);--shadow-orange:var(--cv-shadow-glow);--grad-brand:var(--cv-gradient-brand);--grad-orange:var(--cv-gradient-accent);--header-h:64px;--bottomnav-h:64px;--max-w:1160px;--blue:var(--brand);--blue-light:var(--brand-light);--orange-hover:var(--orange-dark);--navy-darker:var(--brand-dark);--shadow-xl:var(--shadow-lg)}
*{box-sizing:border-box}html,body{font-family:var(--font-body);color:var(--text-1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#fff;margin:0;padding:0}h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.12}a{color:var(--text-1);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}em.accent,.accent-em{color:var(--orange);font-style:italic;font-weight:700}.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}.btn{border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 22px;font-size:14.5px;font-weight:700;line-height:1;transition:transform .12s,filter .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{flex-shrink:0;width:17px;height:17px}.btn-primary{background:var(--orange-cta);color:#fff;box-shadow:var(--shadow-orange)}.btn-primary:hover:not(:disabled){background:var(--orange-cta-hover);text-decoration:none;transform:translateY(-1px)}.btn-brand{background:var(--brand);color:#fff;box-shadow:0 10px 26px #0f244038}.btn-brand:hover:not(:disabled){background:var(--brand-dark);text-decoration:none}.btn-ghost{border-color:var(--slate-300);color:var(--brand);background:#fff}.btn-ghost:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint);text-decoration:none}.btn-danger{border-color:var(--danger);color:var(--danger);background:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-light);text-decoration:none}.btn-sm{min-height:36px;padding:9px 16px;font-size:13.5px}.btn-sm svg{width:15px;height:15px}.input,select.input,textarea.input{font:inherit;border:1.5px solid var(--slate-200);border-radius:var(--radius-md);width:100%;min-height:46px;color:var(--text-1);background:#fff;padding:13px 15px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--slate-400)}.input:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 4px #ed6d0521}.label{color:var(--text-2);margin-bottom:8px;font-size:13.5px;font-weight:600;display:block}.field{margin-bottom:16px}.card{border:1px solid var(--slate-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:20px}.card-hover{transition:box-shadow .18s,transform .18s,border-color .18s}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--slate-300);text-decoration:none;transform:translateY(-3px)}.badge{border-radius:var(--radius-pill);letter-spacing:.01em;align-items:center;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-blue{background:var(--brand-light);color:var(--brand)}.badge-orange{background:var(--orange-light);color:var(--orange-dark)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-success{background:var(--success-light);color:var(--success)}.badge-grey{background:var(--slate-100);color:var(--slate-600)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:22px;display:flex}.page-title{font-size:34px;font-weight:800;line-height:1.05}.eyebrow{color:var(--text-3);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:10px;font-size:12.5px;font-weight:700;display:flex}.eyebrow .n{background:var(--brand);color:#fff;width:26px;height:26px;font-family:var(--font-display);border-radius:8px;place-items:center;font-size:12px;display:grid}.muted{color:var(--text-3)}.section-title{margin:28px 0 12px;font-size:20px;font-weight:800}.empty{text-align:center;color:var(--text-3);border:1.5px dashed var(--slate-300);border-radius:var(--radius-lg);background:#fff;padding:44px 16px}.alert-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-md);padding:12px 14px;font-size:14px}.alert-success{background:var(--success-light);color:var(--success);border-radius:var(--radius-md);padding:12px 14px;font-size:14px}.appbar{z-index:50;border-bottom:1px solid var(--slate-200);background:#fff;position:sticky;top:0}.appbar-inner{max-width:var(--max-w);height:var(--header-h);align-items:center;gap:18px;margin:0 auto;padding:0 20px;display:flex}.appbar .logo{width:auto;height:26px;display:block}.appbar .logo-suffix{font-family:var(--font-display);letter-spacing:-.02em;color:var(--slate-400);font-size:16px;font-weight:700}.appbar nav{align-items:center;gap:3px;margin-left:auto;display:flex}.appbar nav a{color:var(--text-2);border-radius:var(--radius-pill);align-items:center;gap:8px;padding:9px 15px;font-size:14.5px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.appbar nav a svg{width:18px;height:18px}.appbar nav a:hover{background:var(--slate-50);color:var(--text-1);text-decoration:none}.appbar nav a.active{background:var(--brand-light);color:var(--brand)}.appbar .pill-count{background:var(--orange-cta);color:#fff;border-radius:var(--radius-pill);margin-left:4px;padding:1px 7px;font-size:11px;font-weight:700}.appbar .logout{border:1.5px solid var(--slate-200);color:var(--text-2);background:#fff;margin-left:6px}.appbar .logout:hover{border-color:var(--slate-300);background:var(--slate-50)}.tabbar{display:none}.app-main{max-width:var(--max-w);margin:0 auto;padding:28px 20px 72px;animation:.4s both fade-up}.legal-top{z-index:30;border-bottom:1px solid var(--slate-200);background:#fff;position:sticky;top:0}.legal-top .in{align-items:center;max-width:880px;height:64px;margin:0 auto;padding:0 22px;display:flex}.legal-top img{width:auto;height:28px;display:block}.legal-wrap{max-width:820px;margin:0 auto;padding:44px 22px 90px}.legal-wrap h1{margin:0 0 6px;font-size:34px}.legal-wrap .updated{color:var(--text-3);margin:0 0 28px;font-size:13.5px}.legal-wrap h2{color:var(--brand-dark);margin:36px 0 10px;font-size:20px;font-weight:800}.legal-wrap h3{margin:22px 0 6px;font-size:16px;font-weight:700}.legal-wrap p,.legal-wrap li{color:var(--text-2);font-size:15px;line-height:1.7}.legal-wrap ul{margin:8px 0;padding-left:20px}.legal-wrap li{margin:4px 0}.legal-wrap a{color:var(--brand);font-weight:600}.legal-wrap strong{color:var(--text-1)}.legal-wrap .lead-box{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius-lg);margin:0 0 8px;padding:18px 20px}.legal-foot{border-top:1px solid var(--slate-200)}.legal-foot .in{max-width:820px;color:var(--text-3);flex-wrap:wrap;align-items:center;gap:16px;margin:0 auto;padding:24px 22px;font-size:13px;display:flex}.legal-foot a{color:var(--text-3)}.legal-foot a:hover{color:var(--text-1)}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:760px){.appbar nav{display:none}.appbar-inner{justify-content:center;height:56px}.appbar .logo{height:28px}.tabbar{z-index:60;border-top:1px solid var(--slate-200);padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0a14240f}.tabbar a{color:var(--slate-500);border-radius:var(--radius-sm);flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:600;display:flex;position:relative}.tabbar a svg{width:23px;height:23px}.tabbar a.active{color:var(--brand)}.tabbar a.active svg{color:var(--orange)}.tabbar .tab-count{background:var(--orange-cta);color:#fff;border-radius:var(--radius-pill);margin-left:4px;padding:0 5px;font-size:10px;font-weight:700;position:absolute;top:2px;left:50%}.app-main{padding:20px 16px calc(var(--bottomnav-h) + 24px)}.page-title{font-size:27px}}
