:root{--ground:#f5f6f8;--surface:#ffffff;--ink:#14171f;--muted:#5b6270;--line:#e3e6eb;--line-soft:#eef0f3;--control-border:#d3d8df;--primary:#0b5e52;--primary-hover:#08463d;--primary-soft:#e8f2f0;--primary-soft-2:#d5eae6;--owe:#b84a08;--owe-soft:#fdf0e6;--neutral-soft:#eef0f3;--switch-off:#8a929e;--scrim:rgba(20,23,31,0.45);--avatar-blue-bg:#dce6fb;--avatar-blue-fg:#1e3a8a;--avatar-purple-bg:#f3e8fd;--avatar-purple-fg:#6b21a8;--avatar-amber-bg:#fef3c7;--avatar-amber-fg:#92400e;--avatar-green-bg:#dcfce7;--avatar-green-fg:#166534;--avatar-pink-bg:#fce7f3;--avatar-pink-fg:#9d174d;--radius-dialog:18px;--radius-card:14px;--radius-segmented:12px;--radius-control:10px;--radius-control-sm:9px;--radius-pill:999px;--shadow-dialog:0 24px 64px rgba(20,23,31,0.25);--shadow-segment:0 1px 3px rgba(20,23,31,0.12);--shadow-fab:0 8px 24px rgba(11,94,82,0.35);--font-sans:var(--font-jakarta,"Plus Jakarta Sans"),system-ui,sans-serif;--text-base:15px;--text-h1:28px;--text-section:17px;--text-dialog-title:19px;--text-label:13px;--text-meta:13px;--text-small:12px;--touch-target:44px;--control-height-sm:40px;--content-max:1200px;--page-padding:32px 24px 64px;--page-padding-phone:16px 16px 64px;--gap-lg:24px;--gap-md:16px;--gap-sm:12px;--focus-ring:2px solid var(--primary);--focus-offset:2px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}body,figure,h1,h2,h3,h4,ol,p,ul{margin:0}h1{font-size:var(--text-h1);line-height:1.2;font-weight:700}ol,ul{padding:0;list-style:none}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}a:hover{color:var(--primary-hover)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}