@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/32c80fb7588b7a2e-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/60181e10ad16e354-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c1b11e140b58cf5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99e31c27a1524300-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/5b25d60b4670300e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0a86735c6520d94f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/32c80fb7588b7a2e-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/60181e10ad16e354-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c1b11e140b58cf5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/99e31c27a1524300-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5b25d60b4670300e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0a86735c6520d94f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/32c80fb7588b7a2e-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/60181e10ad16e354-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c1b11e140b58cf5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/99e31c27a1524300-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/5b25d60b4670300e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0a86735c6520d94f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/32c80fb7588b7a2e-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/60181e10ad16e354-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c1b11e140b58cf5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/99e31c27a1524300-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/5b25d60b4670300e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/0a86735c6520d94f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Rubik Fallback;src:local("Arial");ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.00%;size-adjust:104.98%}.__className_12d6fe{font-family:Rubik,Rubik Fallback;font-style:normal}.__variable_12d6fe{--font-heading:"Rubik","Rubik Fallback"}@font-face{font-family:Assistant;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e7e88f8d82ce2cd-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Assistant;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d469ecb1e0878a97-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Assistant;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/67ea4463d4a1f79e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Assistant;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0e7e88f8d82ce2cd-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Assistant;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d469ecb1e0878a97-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Assistant;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/67ea4463d4a1f79e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Assistant;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0e7e88f8d82ce2cd-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Assistant;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d469ecb1e0878a97-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Assistant;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/67ea4463d4a1f79e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Assistant;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0e7e88f8d82ce2cd-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Assistant;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d469ecb1e0878a97-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Assistant;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/67ea4463d4a1f79e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Assistant Fallback;src:local("Arial");ascent-override:109.94%;descent-override:30.90%;line-gap-override:0.00%;size-adjust:92.87%}.__className_2e0467{font-family:Assistant,Assistant Fallback;font-style:normal}.__variable_2e0467{--font-body:"Assistant","Assistant Fallback"}:root{--brand:#0e6e60;--brand-strong:#0b564b;--brand-ink:#083b34;--brand-soft:#e4f0ed;--brand-tint:#f0f7f5;--on-brand:#ffffff;--accent:#df7a38;--accent-strong:#c46327;--accent-soft:#fbeadb;--bg:#f6f3ec;--surface:#ffffff;--surface-2:#fbf9f4;--text:#1e2a28;--muted:#61706c;--faint:#93a09b;--border:#e8e1d5;--border-strong:#d8d0c2;--ok:#12805c;--ok-soft:#e4f3ec;--warn:#a96b04;--warn-soft:#fbeed6;--danger:#c43d3d;--danger-soft:#fbe6e6;--info:#0e6e60;--info-soft:#e4f0ed;--r-sm:10px;--r:14px;--r-lg:20px;--shadow-sm:0 1px 2px rgba(31,41,39,0.06);--shadow:0 4px 14px rgba(31,41,39,0.07);--shadow-lg:0 14px 40px rgba(31,41,39,0.12);--ring:0 0 0 3px rgba(14,110,96,0.28);--font-body:"Assistant",system-ui,"Segoe UI",Arial,sans-serif;--font-heading:"Rubik",var(--font-body);--sidebar-w:264px}*{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-heading);margin:0 0 .4rem;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.5rem,4vw,1.9rem);font-weight:700}h2{font-size:1.15rem;font-weight:600}p{margin:0 0 .75rem}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) 1fr}.main{padding:1.5rem clamp(1rem,3vw,2.25rem) 2.5rem;max-width:1080px;width:100%}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100dvh;background:var(--surface);-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border);padding:1.25rem .9rem;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto}.brand{display:flex;align-items:center;gap:.6rem;padding:.35rem .6rem 1rem}.brand-mark{width:40px;height:40px;border-radius:12px;flex:none;background:linear-gradient(145deg,var(--brand),var(--brand-ink));color:var(--on-brand);display:grid;place-items:center;font-weight:800;font-size:1.15rem;box-shadow:var(--shadow-sm)}.brand-mark,.brand-name{font-family:var(--font-heading)}.brand-name{font-weight:700;font-size:1.35rem;letter-spacing:.01em;line-height:1}.brand-sub{font-size:.78rem;color:var(--muted);margin-top:2px}.nav-section{font-size:.72rem;font-weight:700;color:var(--faint);letter-spacing:.04em;padding:.9rem .75rem .3rem}.nav-link{display:flex;align-items:center;gap:.7rem;padding:.62rem .75rem;border-radius:11px;color:var(--text);font-weight:500;font-size:.96rem;transition:background .15s ease,color .15s ease}.nav-link svg{width:20px;height:20px;color:var(--muted);flex:none}.nav-link:hover{background:var(--surface-2);text-decoration:none}.nav-link.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.nav-link.active svg{color:var(--brand)}.nav-spacer{flex:1 1}.nav-user{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-top:1px solid var(--border);margin-top:.4rem}.avatar{width:34px;height:34px;border-radius:50%;flex:none;background:var(--brand-soft);color:var(--brand-ink);display:grid;place-items:center;font-weight:700;font-size:.9rem}.nav-user-name{font-size:.86rem;font-weight:600;line-height:1.1}.nav-user-sub{font-size:.76rem;color:var(--muted)}.bottom-nav,.topbar-mobile{display:none}@media (max-width:899px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar-mobile{display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:max(.6rem,env(safe-area-inset-top)) 1rem .6rem}.main{padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom))}.bottom-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset-inline:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--border);padding:.35rem .25rem max(.35rem,env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(31,41,39,.06)}.bottom-link{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.35rem;border-radius:12px;color:var(--muted);font-size:.7rem;font-weight:600;min-height:52px;justify-content:center}.bottom-link svg{width:22px;height:22px}.bottom-link.active{color:var(--brand)}.bottom-link.report{color:var(--accent)}}.page-head,.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-head .context,.topbar .context{color:var(--muted);font-size:.92rem}.stat{font-family:var(--font-heading);font-size:2rem;font-weight:700;letter-spacing:-.02em}.stat-sub{color:var(--muted);font-size:.85rem}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow-sm)}.card h2{font-size:1.02rem}.card-hover{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.card-hover:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.section-gap{margin-top:1.5rem}.stat-tile .stat{font-family:var(--font-heading);font-size:2rem;font-weight:700;letter-spacing:-.02em}.stat-tile .stat-label{color:var(--muted);font-size:.85rem}.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.stat-icon svg{width:22px;height:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:var(--font-body);font-size:.98rem;font-weight:600;padding:.62rem 1.15rem;min-height:44px;border-radius:11px;border:1px solid transparent;cursor:pointer;background:var(--brand);color:var(--on-brand);transition:background .15s ease,transform .08s ease,box-shadow .15s ease}.btn svg{width:18px;height:18px}.btn:hover{background:var(--brand-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.accent{background:var(--accent)}.btn.accent:hover{background:var(--accent-strong)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn.secondary:hover{background:var(--surface-2)}.btn.ghost{background:transparent;color:var(--brand)}.btn.ghost:hover{background:var(--brand-soft)}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#a83232}.btn.sm{min-height:38px;padding:.4rem .8rem;font-size:.9rem;border-radius:9px}.btn.block{width:100%}.btn-row{display:flex;gap:.6rem;flex-wrap:wrap}.badge,.btn-row{align-items:center}.badge{display:inline-flex;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.badge:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.muted{background:#eef0ec;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;min-height:44px;border-radius:11px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:.92rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.chip svg{width:18px;height:18px;color:var(--muted)}.chip:hover,.chip[aria-pressed=true]{border-color:var(--brand)}.chip[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-ink)}.chip[aria-pressed=true] svg{color:var(--brand)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.05rem}label{font-weight:600;font-size:.92rem}.req{color:var(--danger)}.hint{font-size:.82rem;color:var(--muted)}input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea{font-family:inherit;font-size:1rem;color:var(--text);padding:.7rem .8rem;min-height:46px;border:1.5px solid var(--border-strong);border-radius:11px;background:var(--surface);width:100%;transition:border-color .15s ease,box-shadow .15s ease}textarea{min-height:110px;resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.checkbox-row{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.75rem;font-size:.95rem}.checkbox-row input{margin-top:.2rem;width:20px;height:20px;accent-color:var(--brand)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.94rem}td,th{text-align:start;padding:.75rem .8rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.82rem}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:end;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.amt-credit{color:var(--ok);font-weight:700}.amt-debit{color:var(--danger);font-weight:700}.notice{border-radius:12px;padding:.85rem 1rem;font-size:.92rem;margin-bottom:1rem;border:1px solid var(--border);background:var(--surface-2)}.notice.info{background:var(--brand-tint);border-color:#cfe4df;color:var(--brand-ink)}.notice.warn{background:var(--warn-soft);border-color:#eddcb4;color:var(--warn)}.notice.error{background:var(--danger-soft);border-color:#f0c9c9;color:var(--danger)}.notice.success{background:var(--ok-soft);border-color:#c7e6d5;color:var(--ok)}.notice.mock{background:#fbf6e4;border-color:#ecdfac;color:#7a6410;font-weight:600}.muted{color:var(--muted)}.dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:.5rem 1.25rem;gap:.5rem 1.25rem;font-size:.94rem}.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:600}.log-list{margin:0;-webkit-padding-start:1.1rem;padding-inline-start:1.1rem;color:var(--muted);font-size:.9rem}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--muted)}.empty-state .empty-icon{width:56px;height:56px;margin:0 auto .75rem;border-radius:16px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.empty-state .empty-icon svg{width:28px;height:28px}.thumbs{display:flex;flex-wrap:wrap;gap:.6rem}.thumb{width:96px;height:96px;border-radius:12px;object-fit:cover;border:1px solid var(--border);background:var(--surface-2)}.thumb-remove{position:absolute;inset-block-start:4px;inset-inline-end:4px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:grid;place-items:center}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline li{position:relative;padding:0 1.5rem 1.1rem}.timeline li:before{content:"";position:absolute;inset-inline-start:5px;top:4px;bottom:-6px;width:2px;background:var(--border)}.timeline li:last-child:before{display:none}.timeline .dot{position:absolute;inset-inline-start:0;top:3px;width:12px;height:12px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.timeline .when{font-size:.8rem;color:var(--faint)}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(1200px 500px at 100% -10%,var(--brand-soft),transparent 60%),var(--bg)}.auth-card{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);padding:2rem 1.75rem}.auth-brand{display:flex;align-items:center;gap:.7rem;justify-content:center;margin-bottom:1.4rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}