@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/721c02af2a195425-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:__Alegreya_a2a907;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/69151f5923929bc5-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/70b62fe81613ae6d-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7e69466d65478ed2-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fd040641fd7c5609-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7978e460b351f6a5-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:__Alegreya_a2a907;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ce0f708f7deb1f7b-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:__Alegreya_a2a907;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/721c02af2a195425-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:__Alegreya_a2a907;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/69151f5923929bc5-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/70b62fe81613ae6d-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7e69466d65478ed2-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fd040641fd7c5609-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Alegreya_a2a907;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7978e460b351f6a5-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:__Alegreya_a2a907;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ce0f708f7deb1f7b-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:__Alegreya_Fallback_a2a907;src:local("Times New Roman");ascent-override:100.67%;descent-override:34.18%;line-gap-override:0.00%;size-adjust:100.92%}.__className_a2a907{font-family:__Alegreya_a2a907,__Alegreya_Fallback_a2a907;font-style:normal}.__variable_a2a907{--font-alegreya:"__Alegreya_a2a907","__Alegreya_Fallback_a2a907"}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_8b3a0b;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_8b3a0b{font-family:__Inter_8b3a0b,__Inter_Fallback_8b3a0b;font-style:normal}.__variable_8b3a0b{--font-inter:"__Inter_8b3a0b","__Inter_Fallback_8b3a0b"}:root{--bg:#f7f3ef;--bg-2:#f3ede8;--surface:#fff;--surface-2:#efe7e1;--border:#e6ddd6;--text:#1f1b1a;--text-2:#4d4542;--muted:#766b66;--primary:#c97c6d;--primary-2:#e6a28f;--primary-contrast:#fff;--accent:#d08a2b;--accent-contrast:#fff;--secondary:#8fa89e;--secondary-2:#a7bdb4;--shadow-sm:0 1px 2px rgba(31,27,26,.06);--shadow-md:0 8px 24px rgba(31,27,26,.1);--shadow-lg:0 16px 48px rgba(31,27,26,.12);--focus:0 0 0 4px rgba(143,168,158,.35)}:root[data-theme=indigo-royal]{--bg:#f4f6fb;--bg-2:#edf0f8;--surface:#fff;--surface-2:#e7ecf7;--border:#d7def0;--text:#14172b;--text-2:#353c56;--muted:#6b738b;--primary:#3c58c5;--primary-2:#5f79df;--primary-contrast:#fff;--accent:#f0a84b;--accent-contrast:#fff;--secondary:#6c86b6;--secondary-2:#8fa5cc;--focus:0 0 0 4px rgba(92,118,214,.35)}:root[data-theme=terracotta-classic]{--bg:#f7f3ef;--bg-2:#f3ede8;--surface:#fff;--surface-2:#efe7e1;--border:#e6ddd6;--text:#1f1b1a;--text-2:#4d4542;--muted:#766b66;--primary:#c97c6d;--primary-2:#e6a28f;--primary-contrast:#fff;--accent:#d08a2b;--accent-contrast:#fff;--secondary:#8fa89e;--secondary-2:#a7bdb4;--shadow-sm:0 1px 2px rgba(31,27,26,.06);--shadow-md:0 8px 24px rgba(31,27,26,.1);--shadow-lg:0 16px 48px rgba(31,27,26,.12);--focus:0 0 0 4px rgba(143,168,158,.35)}:root[data-theme=sage-olive]{--bg:#f6f7f3;--bg-2:#eef1e9;--surface:#fff;--surface-2:#e8ede1;--border:#d7dfcf;--text:#1d241c;--text-2:#394339;--muted:#6d7666;--primary:#6e8b6c;--primary-2:#8fab87;--primary-contrast:#fff;--accent:#c3843c;--accent-contrast:#fff;--secondary:#9eb08f;--secondary-2:#b3c4a6;--focus:0 0 0 4px rgba(110,139,108,.3)}:root[data-theme=midnight-indigo]{color-scheme:dark;--bg:#0e111a;--bg-2:#141826;--surface:#1b2234;--surface-2:#242d43;--border:#2e3a54;--text:#f1f5ff;--text-2:#c7d0e4;--muted:#9aa5bc;--primary:#6c7bff;--primary-2:#8a96ff;--primary-contrast:#fff;--accent:#f2b45c;--accent-contrast:#0e111a;--secondary:#4d7bb5;--secondary-2:#6c92c6;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 10px 24px rgba(0,0,0,.45);--shadow-lg:0 20px 48px rgba(0,0,0,.5);--focus:0 0 0 4px rgba(108,123,255,.35)}:root[data-theme=graphite-forest]{color-scheme:dark;--bg:#101411;--bg-2:#151b16;--surface:#1c2420;--surface-2:#24312a;--border:#2c3a33;--text:#f1f5f2;--text-2:#c6d0c7;--muted:#9aa69f;--primary:#4f9b78;--primary-2:#6bb089;--primary-contrast:#fff;--accent:#e0a84b;--accent-contrast:#0f1411;--secondary:#4c7f6c;--secondary-2:#6a9683;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 10px 24px rgba(0,0,0,.45);--shadow-lg:0 20px 48px rgba(0,0,0,.5);--focus:0 0 0 4px rgba(79,155,120,.35)}:root{--r-sm:10px;--r-md:16px;--r-lg:22px;--r-pill:999px;--container:1100px;--container-wide:1320px;--sidebar-collapsed:72px;--sidebar-expanded:240px;--topbar-height:62px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-10:4rem;--font-title:var(--font-alegreya,"Alegreya",ui-serif,Georgia,serif);--font-body:var(--font-inter,"Inter",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background:linear-gradient(180deg,var(--bg) 0,var(--bg-2) 100%);line-height:1.6}a{text-decoration:none}a,a:hover{color:inherit}a:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}h1,h2,h3{font-family:var(--font-title);margin:0 0 var(--space-4);line-height:1.15}html{font-size:calc(100% * var(--ui-scale, 1))}@media print{html{font-size:100%}}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-6)}.app-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr)}.app-content{min-width:0;display:flex;flex-direction:column}.app-title{font-family:var(--font-title);font-size:1.1rem;font-weight:700}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:.6rem var(--space-4);background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header__spacer{flex:1 1}.app-header-actions{display:flex;align-items:center;gap:var(--space-2)}.app-header__icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer}.app-header__icon-button:disabled{cursor:not-allowed;opacity:.6}.nav-toggle{padding:.35rem .55rem;font-size:.8rem}.btn-icon.nav-toggle{display:none}.global-search{position:relative;flex:1 1;max-width:520px;min-width:0}.global-search__field{display:flex;align-items:center;gap:var(--space-2);padding:.5rem .75rem;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:text;transition:border-color .12s ease,box-shadow .12s ease}.global-search__field:focus-within{border-color:color-mix(in srgb,var(--primary) 45%,var(--border) 55%);box-shadow:var(--focus)}.global-search__field input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font:inherit;font-size:.9rem}.global-search__field input::-webkit-search-cancel-button{display:none}.global-search__kbd{flex-shrink:0;font-family:inherit;font-size:.72rem;padding:0 .4rem;border:1px solid var(--border);border-radius:6px;color:var(--muted)}.global-search__panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;display:flex;flex-direction:column;padding:.35rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md)}.global-search__item{display:flex;align-items:center;gap:var(--space-3);padding:.55rem .6rem;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.global-search__item[data-active=true]{background:var(--surface-2)}.global-search__item-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);color:var(--primary);flex-shrink:0}.global-search__item-main{display:flex;flex-direction:column;min-width:0}.global-search__item-name{font-weight:600;font-size:.9rem}.global-search__item-meta{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search__entry{display:flex;flex-direction:column}.global-search__group{padding:.5rem .6rem .2rem;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.global-search__empty{padding:.75rem .6rem;font-size:.88rem;color:var(--muted)}.notifications,.notifications__trigger{position:relative}.notifications__trigger:hover{background:var(--surface-2);color:var(--text-2)}.notifications__badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);border:2px solid var(--bg);background:#b2412e;color:#fff;font-size:.62rem;font-weight:700}.notifications__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:min(380px,calc(100vw - 2rem));max-height:min(520px,calc(100vh - 90px));overflow-y:auto;display:flex;flex-direction:column;padding:.35rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md)}.notifications__group{padding:.5rem .6rem .25rem;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.notifications__group--actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notifications__clear{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .45rem;border:none;border-radius:var(--r-sm);background:transparent;color:var(--primary);font:inherit;font-size:.72rem;letter-spacing:normal;text-transform:none;cursor:pointer}.notifications__clear:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.notifications__row{display:flex;align-items:flex-start;border-radius:var(--r-sm)}.notifications__row .notifications__item{flex:1 1;min-width:0}.notifications__seen{flex-shrink:0;width:28px;height:28px;margin:.4rem .2rem 0 0;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.notifications__seen:hover{background:var(--surface-2);border-color:var(--border)}.notifications__item{display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:.5rem;gap:.5rem;align-items:start;padding:.5rem .6rem;border-radius:var(--r-sm);color:var(--text);text-decoration:none}.notifications__item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.notifications__icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);color:var(--primary)}.notifications__dot{justify-self:center;width:8px;height:8px;margin-top:.4rem;border-radius:var(--r-pill);background:#b2412e}.notifications__dot[data-severity=warning]{background:#c98a14}.notifications__main{display:flex;flex-direction:column;min-width:0;font-size:.84rem}.notifications__main span{font-size:.78rem;color:var(--text-2)}.notifications__empty{padding:.6rem;font-size:.84rem;color:var(--muted)}.notifications__footer{margin-top:.25rem;padding:.55rem .6rem;border-top:1px solid var(--border);color:var(--primary);font-size:.82rem;font-weight:600;text-align:center}.notifications__footer:hover{color:var(--primary);text-decoration:underline}.quick-create{position:relative}.quick-create__trigger{padding:.55rem 1rem}.quick-create__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:220px;display:flex;flex-direction:column;padding:.35rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease}.quick-create__panel[data-open=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.quick-create__item{display:flex;align-items:center;gap:var(--space-2);padding:.55rem .65rem;border-radius:var(--r-sm);color:var(--text);font-size:.9rem;font-weight:500}.quick-create__item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}button.quick-create__item{width:100%;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer}.quick-create__lock{margin-left:auto;color:var(--muted);flex-shrink:0}.app-main{min-width:0;flex:1 1}.app-main .page{width:100%;max-width:none;padding:var(--space-4) var(--space-4) var(--space-10)}.app-sidebar{display:none}.app-brand{display:flex;align-items:center;gap:.6rem;min-width:0}.app-brand,.app-brand:hover{color:var(--text);text-decoration:none}.app-brand__mark{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--primary);color:var(--primary-contrast);font-size:.9rem}.app-brand__mark,.app-brand__wordmark{font-family:var(--font-title);font-weight:700}.app-brand__wordmark{font-size:1.2rem;white-space:nowrap}.app-nav{gap:var(--space-3)}.app-nav,.app-nav-group{display:flex;flex-direction:column}.app-nav-group{gap:2px}.app-nav-group__label{padding:.25rem .65rem;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.app-nav-link{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border:none;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:.9rem;font-weight:500;text-align:left;white-space:nowrap;cursor:pointer;transition:background .12s ease}.app-nav-link,.app-nav-link:hover{color:var(--text-2);text-decoration:none}.app-nav-link:hover{background:var(--surface-2)}.app-nav-link:focus-visible{outline:none;box-shadow:var(--focus)}.app-nav-link.active,.app-nav-link.active:hover{background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);color:var(--primary);font-weight:600}.app-nav-icon{display:inline-flex;flex-shrink:0}.app-nav-icon,.app-nav-icon svg{width:18px;height:18px}.app-nav-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-badge{font-size:.7rem;font-weight:600;padding:.05rem .45rem;background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);color:var(--primary)}.nav-badge,.nav-status{border-radius:var(--r-pill)}.nav-status{font-size:.65rem;font-weight:700;padding:.1rem .45rem;background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-left:auto}.nav-status--premium{background:color-mix(in srgb,var(--accent) 20%,var(--surface) 80%);color:var(--text)}.nav-lock{margin-left:auto;display:inline-flex;flex-shrink:0;color:var(--muted);opacity:.8}.sidebar-plan{--plan-tone:var(--primary);flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.sidebar-plan-dot[data-reached=true],.sidebar-plan[data-reached=true]{--plan-tone:#8f5a12}.sidebar-plan__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-plan__name{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.sidebar-plan__count{font-size:.75rem;font-weight:600;color:var(--plan-tone)}.sidebar-plan__track{height:5px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.sidebar-plan__fill{height:100%;border-radius:var(--r-pill);background:var(--plan-tone)}.sidebar-plan__text{font-size:.75rem;line-height:1.4;color:var(--muted)}.sidebar-plan__cta{justify-content:center;padding:.4rem .75rem;border-radius:var(--r-pill);font-size:.75rem}.sidebar-plan-dot{--plan-tone:var(--primary);flex-shrink:0;display:flex;align-items:center;justify-content:center;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--plan-tone)}.sidebar-plan-dot:hover{background:var(--surface-2);color:var(--plan-tone);text-decoration:none}.app-nav-logout{width:100%;margin-top:auto;border-top:1px solid var(--border);border-radius:0;padding-top:var(--space-3)}.app-user__avatar{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);font-size:.75rem;font-weight:700}.app-user__info{flex:1 1;min-width:0}.app-user__name{font-weight:600;font-size:.88rem}.app-user__meta,.app-user__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user__meta{font-size:.75rem;color:var(--muted)}.app-user__settings{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;color:var(--muted);flex-shrink:0}.app-user__settings:hover{background:var(--surface-2);color:var(--muted)}.mobile-nav{display:none;position:fixed;inset:0;z-index:80;opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-nav[data-open=true]{opacity:1;pointer-events:auto}.mobile-nav__backdrop{position:absolute;inset:0;background:rgba(20,23,43,.45);border:none;padding:0}.mobile-nav__panel{position:absolute;inset:0 auto 0 0;width:min(300px,85vw);background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-3);transform:translateX(-100%);transition:transform .2s ease;display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto}.mobile-nav[data-open=true] .mobile-nav__panel{transform:translateX(0)}.mobile-nav__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 .35rem}@media (max-width:959px){.mobile-nav{display:block}.btn-icon.nav-toggle{display:inline-flex}}@media (max-width:720px){.global-search__kbd,.quick-create__label{display:none}.quick-create__trigger{padding:.55rem .7rem}}@media (max-width:520px){.app-header__brand{display:none}}@media (min-width:960px){.app-shell{grid-template-columns:var(--sidebar-expanded) minmax(0,1fr);transition:grid-template-columns .2s ease}.app-shell[data-sidebar=collapsed]{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}.app-header__brand{display:none}.app-header{padding:.65rem var(--space-6)}.app-main .page{padding:var(--space-5) var(--space-6) var(--space-10)}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-3) var(--space-3);background:var(--surface);border-right:1px solid var(--border);overflow:hidden;z-index:25}.app-sidebar__brand{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 .35rem}.app-sidebar__toggle{display:flex;align-items:center;gap:.65rem;width:100%;padding:.5rem .65rem;flex-shrink:0;border:none;border-radius:10px;background:transparent;color:var(--muted);font-family:inherit;font-size:.875rem;font-weight:500;text-align:left;white-space:nowrap;cursor:pointer}.app-sidebar__toggle:hover{background:var(--surface-2)}.app-shell[data-sidebar=collapsed] .app-sidebar__toggle{justify-content:center;padding:.6rem 0}.app-sidebar__scroll{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 calc(var(--space-3) * -1);padding:0 var(--space-3)}.app-sidebar__footer{display:flex;align-items:center;gap:.6rem;padding:var(--space-3) .35rem 0;border-top:1px solid var(--border)}.app-shell[data-sidebar=collapsed] .app-sidebar__brand{flex-direction:column;padding:0}.app-shell[data-sidebar=collapsed] .app-brand__wordmark,.app-shell[data-sidebar=collapsed] .app-nav-group__label,.app-shell[data-sidebar=collapsed] .app-nav-label,.app-shell[data-sidebar=collapsed] .app-user__info,.app-shell[data-sidebar=collapsed] .app-user__settings,.app-shell[data-sidebar=collapsed] .nav-lock,.app-shell[data-sidebar=collapsed] .nav-status{display:none}.app-shell[data-sidebar=collapsed] .app-nav-link{justify-content:center;position:relative;padding:.6rem 0}.app-shell[data-sidebar=collapsed] .nav-badge{position:absolute;top:2px;right:4px;padding:0 .3rem;font-size:.6rem}.app-shell[data-sidebar=collapsed] .app-sidebar__footer{justify-content:center;padding-left:0;padding-right:0}.mobile-nav{display:none}}.card{width:100%;max-width:100%;min-width:0;background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:var(--space-5);overflow-x:clip}.card+.card{margin-top:var(--space-4)}.section-title{margin-bottom:var(--space-3)}.section-header,.section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.section-grid{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.65rem .95rem;border-radius:var(--r-pill);border:1px solid transparent;font-weight:600;cursor:pointer;transition:transform .08s ease,box-shadow .12s ease,background .12s ease}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn:disabled:hover{background:inherit;box-shadow:none}.btn-primary:disabled,.btn-primary:disabled:hover{background:var(--primary);color:var(--primary-contrast)}.btn-accent:disabled,.btn-accent:disabled:hover{background:var(--accent);color:var(--accent-contrast)}.btn-danger:disabled,.btn-danger:disabled:hover{background:#b45d52;color:#fff}.btn-xs{padding:.35rem .65rem;font-size:.8rem}.btn-primary{background:var(--primary);color:var(--primary-contrast)}.btn-primary:hover{background:color-mix(in srgb,var(--primary) 82%,#000 18%);color:var(--primary-contrast);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-accent{background:var(--accent);color:var(--accent-contrast)}.btn-accent:hover{background:color-mix(in srgb,var(--accent) 82%,#000 18%);color:var(--accent-contrast);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:#b45d52;color:#fff}.btn-edit{padding:.55rem .9rem}.btn-edit__icon{display:none}.btn-edit__icon svg{width:16px;height:16px}.btn-icon-text{display:inline-flex;align-items:center;gap:var(--space-2)}.btn-icon-text svg{width:16px;height:16px;display:block;flex-shrink:0}.btn-icon-text__label,.btn-icon-text__suffix{display:inline-flex}@media (max-width:720px){.btn-edit{padding:.45rem}.btn-edit__text{display:none}.btn-edit__icon{display:inline-flex}.btn-icon-text{padding:.5rem .65rem}.btn-icon-text__label,.btn-icon-text__suffix{display:none}}a.btn-icon{padding:.3rem .9rem}.btn-icon{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:600;font-size:.9rem;cursor:pointer}.btn-icon svg{width:16px;height:16px}.btn-icon:hover{background:var(--surface-2)}.btn-icon.btn-icon--primary{background:color-mix(in srgb,var(--primary) 18%,var(--surface) 82%);border-color:color-mix(in srgb,var(--primary) 35%,var(--border) 65%);color:color-mix(in srgb,var(--primary) 70%,var(--text) 30%)}.btn-icon.btn-icon--primary:hover{background:color-mix(in srgb,var(--primary) 26%,var(--surface) 74%)}.btn-icon.btn-icon--secondary{background:color-mix(in srgb,var(--secondary) 18%,var(--surface) 82%);border-color:color-mix(in srgb,var(--secondary) 35%,var(--border) 65%);color:color-mix(in srgb,var(--secondary) 70%,var(--text) 30%)}.btn-icon.btn-icon--secondary:hover{background:color-mix(in srgb,var(--secondary) 26%,var(--surface) 74%)}.btn-icon.btn-icon--muted{background:var(--surface);border-color:var(--border);color:var(--muted)}.btn-icon.btn-icon--muted:hover{background:var(--surface-2)}.btn-icon.btn-icon--danger{background:color-mix(in srgb,#d05a4a 18%,var(--surface) 82%);border-color:color-mix(in srgb,#d05a4a 40%,var(--border) 60%);color:color-mix(in srgb,#d05a4a 75%,var(--text) 25%)}.btn-icon.btn-icon--danger:hover{background:color-mix(in srgb,#d05a4a 26%,var(--surface) 74%)}.badge{display:inline-flex;padding:.25rem .6rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);font-size:.8rem;font-weight:600}.badge.badge--soon{background:color-mix(in srgb,var(--primary) 16%,var(--surface) 84%);color:var(--text-2);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border) 65%)}.badge.badge--success{background:color-mix(in srgb,#2c8a4b 14%,var(--surface) 86%);color:var(--text-2);border:1px solid color-mix(in srgb,#2c8a4b 32%,var(--border) 68%)}.badge.badge--warning{background:color-mix(in srgb,#b7791f 16%,var(--surface) 84%);color:var(--text-2);border:1px solid color-mix(in srgb,#b7791f 32%,var(--border) 68%)}.badge.badge--danger{background:color-mix(in srgb,#b2412e 14%,var(--surface) 86%);color:var(--text-2);border:1px solid color-mix(in srgb,#b2412e 32%,var(--border) 68%)}.badge.badge--info{background:color-mix(in srgb,#3465a4 14%,var(--surface) 86%);color:var(--text-2);border:1px solid color-mix(in srgb,#3465a4 32%,var(--border) 68%)}.badge.badge--neutral{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}[data-phase=all]{--phase-tone:var(--text-2)}[data-phase=preconception]{--phase-tone:#2c6e4a}[data-phase=gestation]{--phase-tone:var(--primary)}[data-phase=postpartum]{--phase-tone:#a3405c}[data-phase=breastfeeding]{--phase-tone:#8f5a12}.phase-chip{gap:.3rem;padding:.05rem .55rem;background:color-mix(in srgb,var(--phase-tone,var(--primary)) 13%,var(--surface) 87%);color:color-mix(in srgb,var(--phase-tone,var(--primary)) 78%,var(--text) 22%);font-size:.75rem}.phase-chip,.plan-linked-badge{display:inline-flex;align-items:center;border-radius:var(--r-pill);font-weight:600;white-space:nowrap}.plan-linked-badge{--plan-linked-tone:#2c8a4b;gap:.25rem;padding:.05rem .45rem;background:color-mix(in srgb,var(--plan-linked-tone) 13%,var(--surface) 87%);color:color-mix(in srgb,var(--plan-linked-tone) 78%,var(--text) 22%);font-size:.68rem;vertical-align:middle}.plan-linked-note{--plan-linked-tone:#2c8a4b;display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .75rem;padding:.6rem .75rem;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--plan-linked-tone) 28%,var(--border) 72%);background:color-mix(in srgb,var(--plan-linked-tone) 7%,var(--surface) 93%);color:var(--text-2);font-size:.82rem;line-height:1.45}.plan-linked-note svg{flex-shrink:0;margin-top:.15rem;color:color-mix(in srgb,var(--plan-linked-tone) 80%,var(--text) 20%)}.input,select,textarea{width:100%;padding:.55rem .75rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem}textarea{resize:vertical}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input:focus,select:focus,textarea:focus{outline:none;box-shadow:var(--focus)}label{display:block;font-weight:600;margin-bottom:.4rem;color:var(--text-2)}.nutrient-label{gap:.35rem}.nutrient-label,.nutrient-label__icon{display:inline-flex;align-items:center}.nutrient-label__icon{color:var(--muted)}.form-grid,.grid-2{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-3{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.form-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.form-row__label{flex:0 1 auto;min-width:0;margin-bottom:0}.form-row__control{flex:0 1 220px;min-width:180px}.form-row__control .input,.form-row__control .select,.form-row__control textarea{width:100%}.input-group{display:flex;align-items:stretch}.input-addon{display:inline-flex;align-items:center;padding:.62rem .75rem;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-weight:600;font-size:.9rem}.input-addon.prefix{border-radius:var(--r-md) 0 0 var(--r-md);border-right:0}.input-addon.suffix{border-radius:0 var(--r-md) var(--r-md) 0;border-left:0}.input-addon--button{padding:.25rem;gap:0}.input-addon--button .btn-icon{border:none;background:transparent;padding:.35rem}.input-addon--button .btn-icon:hover{background:transparent;color:var(--text)}.input-group .input{flex:1 1}.input-group.has-suffix .input{text-align:right}.input-group.has-suffix .input.input--left{text-align:left}.input-group.has-prefix .input{border-left:0;border-radius:0 var(--r-md) var(--r-md) 0}.input-group.has-suffix .input{border-right:0;border-radius:var(--r-md) 0 0 var(--r-md)}.input-group.has-prefix.has-suffix .input{border-radius:0}.input-group .input:focus{position:relative;z-index:1}.select{position:relative;width:100%}.select__button{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:.65rem .85rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.select__button:focus-visible{outline:none;box-shadow:var(--focus)}.select__button.is-open{border-color:color-mix(in srgb,var(--primary) 35%,var(--border) 65%)}.select__button:disabled{cursor:not-allowed;opacity:.7}.select__value{flex:1 1;text-align:left}.select__icon,.select__placeholder{color:var(--muted)}.select__icon{display:inline-flex;align-items:center;transition:transform .12s ease}.select__icon.is-open{transform:rotate(180deg)}.select__panel{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:.4rem;display:grid;grid-gap:.25rem;gap:.25rem;max-height:240px;overflow:auto}.select__option{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:.45rem .65rem;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;color:var(--text-2);font-weight:600;font-size:.9rem;transition:background .12s ease,border-color .12s ease,color .12s ease}.select__option:hover,.select__option[data-highlighted=true]{background:color-mix(in srgb,var(--primary) 10%,var(--surface) 90%);border-color:color-mix(in srgb,var(--primary) 30%,var(--border) 70%);color:var(--text)}.select__option[aria-selected=true]{color:var(--text)}.select__option:focus-visible{outline:none;box-shadow:var(--focus)}.select__option:disabled{opacity:.5;cursor:not-allowed}.select__option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select__option-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 16%,var(--surface) 84%);color:color-mix(in srgb,var(--primary) 75%,var(--text) 25%);opacity:0;transition:opacity .12s ease,transform .12s ease}.select__option[aria-selected=true] .select__option-check{opacity:1;transform:scale(1.02)}.accordion{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.accordion-item{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.accordion-item[data-open=true]{z-index:2}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.9rem 1.1rem;border:none;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;font-size:1rem}.accordion-header:hover{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface) 30%)}.accordion-title{font-weight:700}.accordion-meta{margin-top:.2rem;font-size:.85rem;color:var(--muted)}.accordion-icon{transition:transform .2s ease}.accordion-item[data-open=true] .accordion-icon{transform:rotate(180deg)}.accordion-content{padding:1rem 1.1rem 1.2rem;border-top:1px solid var(--border);background:var(--surface)}.tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:inherit}.tooltip.is-disabled{cursor:default}.tooltip.tooltip--interactive{cursor:inherit}.tooltip__content{--tooltip-bg:#14172b;position:fixed;z-index:10000;display:flex;flex-direction:column;width:max-content;max-width:min(240px,calc(100vw - 16px));padding:6px 10px;border-radius:8px;background:var(--tooltip-bg);color:#fff;font-family:var(--font-body,Inter,ui-sans-serif,system-ui,sans-serif);font-size:12px;font-weight:500;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:break-word;box-shadow:0 8px 24px rgba(20,23,43,.22);pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}:root[data-theme=graphite-forest] .tooltip__content,:root[data-theme=midnight-indigo] .tooltip__content{--tooltip-bg:#0b0d14;box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.08)}.tooltip__content[data-open=true]{opacity:1;transform:none}.tooltip__main{position:relative;font-weight:600}.tooltip__detail{position:relative;color:#b9c0d4}.tooltip__content:after{content:"";position:absolute;width:8px;height:8px;background:var(--tooltip-bg);transform:rotate(45deg)}.tooltip__content[data-side=top]:after{bottom:-3px;left:calc(var(--tooltip-arrow, 50%) - 4px)}.tooltip__content[data-side=bottom]:after{top:-3px;left:calc(var(--tooltip-arrow, 50%) - 4px)}.tooltip__content[data-side=right]:after{left:-3px;top:calc(var(--tooltip-arrow, 50%) - 4px)}@media (prefers-reduced-motion:reduce){.tooltip__content{transition:none}}.context-menu{position:fixed;z-index:9000;min-width:220px;display:flex;flex-direction:column;padding:.3rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);animation:context-menu-in .1s ease-out}.context-menu button{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border:none;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.86rem;text-align:left;white-space:nowrap;cursor:pointer}.context-menu button svg{flex-shrink:0;color:var(--muted)}.context-menu button:focus-visible,.context-menu button:hover:not(:disabled){background:var(--surface-2);outline:none}.context-menu button:disabled{opacity:.45;cursor:default}.context-menu button[data-variant=danger],.context-menu button[data-variant=danger] svg{color:color-mix(in srgb,#d05a4a 85%,var(--text) 15%)}.context-menu__sep{height:1px;margin:.25rem .3rem;background:var(--border)}@keyframes context-menu-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.context-menu{animation:none}}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:.6rem .5rem;border-bottom:1px solid var(--border);text-align:left;font-size:.95rem}.table th{color:var(--muted);font-weight:600}.table tbody tr[data-clickable=true]{cursor:pointer;transition:background .2s ease}.table tbody tr[data-clickable=true]:hover{background:var(--surface-2)}.table tbody tr[data-clickable=true]:focus-visible{outline:2px solid var(--primary-2);outline-offset:-2px}.table-filters{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:var(--space-4) 0}.table-filters-actions{display:flex;align-items:flex-end}.table-actions{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center}.table-actions .btn-icon{padding:.3rem .8rem;font-size:.85rem}@media (max-width:720px){.table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap}.pagination-info{color:var(--muted);font-weight:600;font-size:.9rem}.pagination-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pagination-page{font-size:.9rem;color:var(--text-2)}.pagination-select{width:auto;min-width:90px}.pagination-controls .btn-icon{padding:.35rem .55rem;font-size:.8rem}.pagination-controls .btn-icon svg{width:16px;height:16px}.pagination-select .select__button{padding:.35rem .65rem;font-size:.8rem;border-radius:var(--r-pill)}.pagination-select .select__icon{color:var(--muted)}.editable-title{margin:0}.editable-title-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:.2rem .4rem;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.editable-title-button:hover{background:var(--surface-2);border-color:var(--border)}.editable-title-button:focus-visible{outline:none;box-shadow:var(--focus)}.editable-title-input{width:min(420px,100%);padding:.25rem .5rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit}.editable-title-input:focus{outline:none;box-shadow:var(--focus)}.autosave-status{font-size:.85rem;color:var(--muted);font-weight:600}.autosave-status.saving{color:var(--text-2)}.autosave-status.error{color:#7a2c1f}.assessment-subtitle{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.editable-title-button--date{margin-left:-.4rem}.editable-title-input--date{width:auto;padding:.15rem .4rem}.requirements-list{margin:var(--space-4) 0 0;padding-left:1.2rem;color:var(--text-2)}.notice{padding:var(--space-4);border-radius:var(--r-md);border:1px dashed var(--border);background:var(--surface-2);color:var(--text-2)}.link{color:var(--primary);font-weight:600}button.link{padding:0;border:0;background:none;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}button.link:disabled{opacity:.6;cursor:default}.empty{padding:var(--space-5);border-radius:var(--r-md);border:1px dashed var(--border)}.empty,.loading{color:var(--muted);text-align:center}.loading{padding:var(--space-6)}.error{border-radius:var(--r-md);background:#ffe2dc;color:#7a2c1f;border:1px solid #f3b2a6}.error,.success{padding:var(--space-3);font-weight:600}.success{border-radius:var(--r-md);background:#e1f4e6;color:#1f5a3a;border:1px solid #9ad3b5}.muted{color:var(--muted)}.brand-wordmark{display:inline-flex;align-items:baseline}.brand-wordmark__accent{color:var(--primary)}.brand-wordmark__suffix{color:inherit}.hide-mobile{display:inline-flex}.show-mobile{display:none}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:520px}.print-hidden{display:block}@media (max-width:720px){.hide-mobile{display:none!important}.show-mobile{display:inline-flex!important}.table-scroll table{min-width:0}}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 0,color-mix(in srgb,var(--surface-2) 45%,var(--surface) 55%) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-line{height:.8rem;margin:.35rem 0}.skeleton-line.md{height:1rem}.skeleton-line.lg{height:1.6rem}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.metrics-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.metric-card{padding:var(--space-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2)}.metric-card h3{margin:0 0 .35rem;font-size:.95rem;color:var(--muted);font-family:var(--font-body)}.metric-top{display:inline-flex;align-items:center;gap:.45rem}.metric-icon{display:inline-flex;color:var(--text)}.metric-icon,.metric-icon svg{width:18px;height:18px}.metric-value{font-size:1.4rem;font-weight:700;color:var(--text)}.metric-unit{margin-left:.15rem;font-size:1.2rem}.metric-label,.metric-unit{font-weight:600;color:var(--muted)}.metric-label{margin-top:.25rem;font-size:.8rem}.metric-title{display:inline-flex;align-items:center;gap:.4rem}.metric-title .status-icon{width:16px;height:16px;opacity:.85}.metric-title .status-icon svg{width:16px;height:16px}.metric-card p{margin:0;font-size:1.4rem;font-weight:700;color:var(--text)}.metric-card small{color:var(--muted);font-weight:600}.metric-card__meta{display:grid;grid-gap:.25rem;gap:.25rem;margin-top:.35rem}.metric-status{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;font-size:.85rem}.status-icon{display:inline-flex}.status-icon,.status-icon svg{width:16px;height:16px}.status-label{font-weight:600}.status-icon.good,.status-label.good{color:#1f5a3a}.status-icon.bad,.status-label.bad{color:#7a2c1f}.status-icon.neutral,.status-label.neutral{color:var(--muted)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-5);box-shadow:var(--shadow-sm)}.chart-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.chart-axis{display:grid;grid-template-columns:repeat(var(--chart-count,1),minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3);font-size:.8rem;color:var(--muted);text-align:center}.chart-card svg{width:100%;height:auto}.report-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.report-meta{color:var(--text-2);font-size:.95rem}.comparison-series{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.comparison-step{display:inline-flex;align-items:center;gap:.35rem}.comparison-value{font-weight:600;color:var(--text)}.comparison-value-muted{font-weight:600;color:var(--muted)}.comparison-delta{font-size:.8rem;font-weight:600}.comparison-delta.positive{color:#1f5a3a}.comparison-delta.negative{color:#7a2c1f}.breadcrumb,.comparison-arrow{color:var(--muted)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;row-gap:.2rem;font-size:.9rem;margin-bottom:var(--space-3)}.breadcrumb>*{min-width:0}.breadcrumb__segment{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.25rem;min-width:0}.breadcrumb a{color:var(--muted)}.breadcrumb span{color:var(--text-2)}.modal-backdrop{position:fixed;inset:0;background:rgba(20,23,43,.4);display:flex;align-items:flex-start;justify-content:center;padding:8vh var(--space-4) var(--space-4);overflow-y:auto;z-index:60;animation:modal-fade-in .14s ease-out}.modal{--modal-pad:var(--space-5);background:var(--surface);border-radius:16px;border:none;box-shadow:0 20px 48px rgba(20,23,43,.2);width:min(720px,100%);max-height:84vh;overflow:hidden;padding:0;display:flex;flex-direction:column;animation:modal-pop-in .16s ease-out}.modal--wide{width:min(960px,100%)}.modal--narrow{width:min(440px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--modal-pad,var(--space-5)) var(--space-2);background:var(--surface);z-index:2;border-bottom:none}.modal-header h2{margin:0;font-family:var(--font-title);font-size:1.35rem;font-weight:700;line-height:1.2}.modal-header .btn-icon.btn-icon{flex-shrink:0;justify-content:center;width:34px;height:34px;margin:-.2rem -.45rem 0 0;padding:0;border:none;border-radius:10px;background:transparent;color:var(--muted)}.modal-header .btn-icon.btn-icon svg{width:18px;height:18px}.modal-header .btn-icon.btn-icon:hover{background:var(--surface-2);color:var(--muted)}.modal-subtitle{margin:.25rem 0 0;color:var(--muted);font-size:.84rem}.modal-body{padding:var(--space-3) var(--modal-pad,var(--space-5)) var(--modal-pad,var(--space-5));overflow:auto;overflow-x:hidden;min-height:0;flex:1 1}.modal-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--border) 60%,var(--surface) 40%)}.modal-body>.form-grid>.modal-footer,.modal-body>.modal-footer,.modal-body>form>.modal-footer{position:-webkit-sticky;position:sticky;bottom:calc(-1 * var(--modal-pad, var(--space-5)));z-index:3;margin:var(--space-2) calc(-1 * var(--modal-pad, var(--space-5))) calc(-1 * var(--modal-pad, var(--space-5)));padding:var(--space-3) var(--modal-pad,var(--space-5)) var(--space-4);background:var(--surface)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal,.modal-backdrop{animation:none}}@media (max-width:720px){.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal--narrow{--modal-pad:var(--space-4);width:100vw;max-width:100vw;max-height:92vh;border-radius:16px 16px 0 0}}.confirm-dialog{position:relative}.confirm-dialog__close{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.confirm-dialog__close:hover:not(:disabled){background:var(--surface-2);color:var(--muted)}.confirm-dialog__body{display:flex;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4)}.confirm-dialog__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);color:var(--primary)}.confirm-dialog__icon[data-tone=danger]{background:color-mix(in srgb,#b2412e 12%,var(--surface) 88%);color:#b2412e}.confirm-dialog__text{min-width:0;padding-right:var(--space-6)}.confirm-dialog__text h2{margin:.35rem 0;font-family:var(--font-title);font-size:1.2rem;font-weight:700;line-height:1.2}.confirm-dialog__text p{margin:0;color:var(--text-2);font-size:.9rem;line-height:1.45;white-space:pre-line}.confirm-dialog__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid color-mix(in srgb,var(--border) 60%,var(--surface) 40%)}@media (max-width:720px){.confirm-dialog__footer>.btn{flex:1 1}}.modal-section-title{margin:0 0 var(--space-2);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.modal-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.modal-note{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .7rem;border-radius:10px;background:color-mix(in srgb,var(--surface-2) 55%,var(--surface));color:var(--text-2);font-size:.78rem;line-height:1.4}.modal-note svg{flex-shrink:0;margin-top:1px;color:var(--muted)}.modal-link{padding:0;border:none;background:transparent;color:var(--primary);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.modal-link:hover{text-decoration:underline}.modal-footer.modal-footer--split{justify-content:space-between;align-items:center}.modal-footer__meta{display:inline-flex;align-items:center;gap:var(--space-3);font-size:.8rem;color:var(--muted)}.choice-list,.modal-footer__actions{display:flex;gap:var(--space-2)}.choice-list{flex-direction:column}.choice-card{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:.7rem .85rem;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.choice-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.choice-card[aria-checked=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.choice-card__radio{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid color-mix(in srgb,var(--muted) 60%,transparent)}.choice-card[aria-checked=true] .choice-card__radio{border-color:var(--primary)}.choice-card[aria-checked=true] .choice-card__radio:after{content:"";width:8px;height:8px;border-radius:999px;background:var(--primary)}.choice-card__text strong{display:block;font-size:.9rem;font-weight:600}.choice-card__text span{display:block;margin-top:1px;font-size:.8rem;color:var(--muted)}.check-tile{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.5rem .6rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.check-tile:hover{background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}.check-tile[aria-checked=true]{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.check-tile[data-locked=true]{cursor:default}.check-tile__box{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1.5px solid color-mix(in srgb,var(--muted) 60%,transparent);background:var(--surface);color:var(--primary-contrast)}.check-tile[aria-checked=true] .check-tile__box{border-color:var(--primary);background:var(--primary)}.check-tile[data-locked=true] .check-tile__box{border-color:color-mix(in srgb,var(--primary) 50%,var(--surface));background:color-mix(in srgb,var(--primary) 50%,var(--surface))}.check-tile__label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-tile__unit{font-size:.72rem;color:var(--muted)}.profile-menu{position:relative}.profile-trigger{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:.9rem;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.profile-trigger:hover{background:var(--surface-2)}.profile-trigger:focus-visible{outline:none;box-shadow:var(--focus)}.profile-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-icon{display:none;flex-shrink:0;color:var(--text-2)}.profile-chevron{color:var(--text-2);transition:transform .12s ease}.profile-trigger[data-open=true] .profile-chevron{transform:rotate(180deg)}.profile-menu-panel{position:absolute;right:0;top:calc(100% + .5rem);min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);overflow:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:70}.profile-menu-panel[data-open=true]{opacity:1;transform:translateY(0);pointer-events:auto}.profile-menu-section{padding:.75rem .9rem;border-bottom:1px solid var(--border);background:var(--surface)}.profile-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.profile-email{margin-top:.2rem;font-size:.85rem;font-weight:600;color:var(--text)}.profile-menu-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border:none;background:transparent;color:var(--text-2);font-weight:600;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.profile-menu-item:hover{background:var(--surface-2)}.profile-menu-item svg{width:16px;height:16px}.profile-menu-item.danger{color:#c24f44}.profile-menu-item.danger:hover{background:color-mix(in srgb,#c24f44 14%,var(--surface) 86%)}.preferences-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.preferences-subtitle{margin:0;color:var(--muted);font-size:.95rem}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.theme-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);padding:var(--space-4);text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.theme-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.theme-card.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.theme-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.theme-meta{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.theme-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--primary) 18%,var(--surface) 82%);color:var(--primary)}.theme-swatch{height:56px;border-radius:var(--r-sm);border:1px solid var(--border);margin-bottom:var(--space-3)}.theme-name{font-weight:700;margin-bottom:.2rem;color:var(--text)}.theme-description{font-size:.85rem;color:var(--muted)}@media (max-width:720px){.profile-name{display:none}.profile-icon{display:inline-flex}.profile-chevron{display:none}}.toast-container{position:fixed;right:var(--space-6);bottom:var(--space-6);display:grid;grid-gap:var(--space-2);gap:var(--space-2);z-index:60}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.75rem .95rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);font-weight:600;color:var(--text);min-width:240px}.toast--success{border-color:color-mix(in srgb,var(--secondary) 45%,var(--border) 55%);background:color-mix(in srgb,var(--secondary) 12%,var(--surface) 88%);color:color-mix(in srgb,var(--secondary) 85%,var(--text) 15%)}.toast--error{border-color:color-mix(in srgb,#d05a4a 45%,var(--border) 55%);background:color-mix(in srgb,#d05a4a 12%,var(--surface) 88%);color:#b24335}.toast--info{border-color:color-mix(in srgb,var(--primary) 35%,var(--border) 65%);background:color-mix(in srgb,var(--primary) 10%,var(--surface) 90%);color:var(--text-2)}.toast-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;cursor:pointer;padding:.2rem}.toast-close svg{width:16px;height:16px}@media (max-width:720px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{min-width:0}}.diet-modal{--diet-tone:#b2412e;max-width:640px}.diet-modal__subtitle{margin:.15rem 0 0;font-size:.85rem}.diet-modal__hint{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 1rem;padding:.6rem .75rem;border-radius:var(--r-md);border:1px solid color-mix(in srgb,#2c8a4b 28%,var(--border) 72%);background:color-mix(in srgb,#2c8a4b 7%,var(--surface) 93%);color:var(--text-2);font-size:.82rem;line-height:1.45}.diet-modal__hint svg{flex-shrink:0;margin-top:.15rem;color:color-mix(in srgb,#2c8a4b 80%,var(--text) 20%)}.diet-modal__group{margin:0;padding:0;border:0}.diet-modal__group legend{margin-bottom:.45rem;font-weight:600;font-size:.9rem}.diet-modal__chips{display:flex;flex-wrap:wrap;gap:.4rem}.diet-modal__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.diet-modal__chip:hover{background:var(--surface-2)}.diet-modal__chip[data-selected=true]{border-color:color-mix(in srgb,var(--diet-tone) 55%,var(--border) 45%);background:color-mix(in srgb,var(--diet-tone) 14%,var(--surface) 86%);color:color-mix(in srgb,var(--diet-tone) 80%,var(--text) 20%)}:root{--allergen-bg:#fdf0d2;--allergen-ink:#8a5d00;--allergen-border:#e7c98a}:root[data-theme=graphite-forest],:root[data-theme=midnight-indigo]{--allergen-bg:color-mix(in srgb,var(--accent) 18%,var(--surface));--allergen-ink:color-mix(in srgb,var(--accent) 70%,var(--text));--allergen-border:color-mix(in srgb,var(--accent) 45%,var(--surface))}.allergen-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:var(--surface);color:var(--text-2);font:600 12px var(--font-body);cursor:pointer;transition:border-color .12s ease,background .12s ease}button.allergen-chip:hover{border-color:var(--allergen-border)}.allergen-chip:not(button){cursor:default}.allergen-chip[aria-pressed=true],.allergen-chip[data-selected=true]{background:var(--allergen-bg);border-color:var(--allergen-border);color:var(--allergen-ink)}.allergen-chip:focus-visible{outline:none;box-shadow:var(--focus)}.editor-drawer-backdrop{position:fixed;inset:0;z-index:55;background:rgba(20,23,43,.4);display:flex;justify-content:flex-end;animation:modal-fade-in .14s ease-out}.editor-drawer{width:100%;max-width:600px;height:100%;background:var(--surface);color:var(--text);box-shadow:-12px 0 40px rgba(20,23,43,.18);display:flex;flex-direction:column;min-width:0;animation:editor-drawer-in .18s ease-out}@keyframes editor-drawer-in{0%{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.editor-drawer,.editor-drawer-backdrop{animation:none}}.editor-drawer__header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border)}.editor-drawer__heading{flex:1 1;min-width:0}.editor-drawer__heading h2{margin:0;font:700 20px var(--font-title);line-height:1.2}.editor-drawer__heading p{margin:1px 0 0;font-size:12px;color:var(--muted)}.editor-drawer__icon-btn{display:inline-flex;flex-shrink:0;width:34px;height:34px;align-items:center;justify-content:center;border-radius:8px;border:none;background:transparent;color:var(--muted);cursor:pointer}.editor-drawer__icon-btn:hover:not(:disabled){background:var(--surface-2)}.editor-drawer__icon-btn:focus-visible{outline:none;box-shadow:var(--focus)}.editor-drawer__icon-btn:disabled{opacity:.5;cursor:not-allowed}.editor-drawer__body,.editor-drawer__form{flex:1 1;min-height:0;display:flex;flex-direction:column}.editor-drawer__body{overflow-y:auto;overscroll-behavior:contain;padding:18px 20px;gap:20px}.editor-drawer__footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border)}.editor-drawer__footer-spacer{flex:1 1}.editor-drawer__footer-error{flex-basis:100%;margin:0}.editor-drawer__delete{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:var(--r-pill);border:none;background:transparent;color:#b2412e;font:600 14px var(--font-body);cursor:pointer}.editor-drawer__delete:hover:not(:disabled){background:color-mix(in srgb,#d05a4a 12%,var(--surface))}.editor-drawer__delete:focus-visible{outline:none;box-shadow:var(--focus)}.editor-drawer__delete:disabled{opacity:.5;cursor:not-allowed}:root[data-theme=graphite-forest] .editor-drawer__delete,:root[data-theme=midnight-indigo] .editor-drawer__delete{color:#f08a7a}.editor-drawer__notice{display:flex;gap:8px;padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:color-mix(in srgb,var(--primary) 60%,var(--text));font-size:13px}.editor-drawer__notice svg{flex-shrink:0;margin-top:1px}.editor-drawer__top{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.editor-drawer__identity{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:12px}.editor-drawer__field{display:flex;flex-direction:column;gap:4px;min-width:0}.editor-drawer label.editor-drawer__label,.editor-drawer__label{display:block;margin:0;font-size:12px;font-weight:600;color:var(--text-2)}.editor-drawer .input{border-radius:var(--r-sm);font-size:14px;padding:8px 10px;min-width:0}.editor-drawer .editor-drawer__name-input{padding:10px 12px;font-size:16px;font-weight:600}.editor-drawer .select__button{border-radius:var(--r-sm);padding:8px 10px;font-size:14px}.editor-drawer__section{display:flex;flex-direction:column;gap:10px}.editor-drawer__section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.editor-drawer__section-title{margin:0;font:700 17px var(--font-title);color:var(--text)}.editor-drawer__section-sub{margin:2px 0 0}.editor-drawer__hint,.editor-drawer__section-aside,.editor-drawer__section-sub{font-size:12px;color:var(--muted)}.editor-drawer__hint{display:flex;align-items:center;gap:5px;margin:0}.editor-drawer__eyebrow{margin-top:2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.editor-drawer__suffix-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);overflow:hidden}.editor-drawer__suffix-input:focus-within{box-shadow:var(--focus)}.editor-drawer .editor-drawer__suffix-input .input{flex:1 1;border:none;text-align:right;box-shadow:none;background:transparent}.editor-drawer__suffix-input>span{padding:0 10px 0 2px;color:var(--muted);font-size:13px}.editor-drawer__basis{display:flex;background:var(--surface-2);border-radius:var(--r-sm);padding:3px;max-width:100%}.editor-drawer__basis button{padding:5px 12px;border:none;border-radius:8px;background:transparent;color:var(--muted);font:600 12px var(--font-body);cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.editor-drawer__basis button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 14%,transparent)}.editor-drawer__basis button:hover:not(:disabled):not([aria-pressed=true]){background:color-mix(in srgb,var(--surface) 55%,transparent)}.editor-drawer__basis button:disabled{cursor:not-allowed;opacity:.55}.editor-drawer__basis button:focus-visible{outline:none;box-shadow:var(--focus)}.editor-nutrient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px}.editor-nutrient-card{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-width:0;transition:border-color .12s ease,box-shadow .12s ease}.editor-nutrient-card:focus-within{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.editor-nutrient-card[data-highlight=true]{background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.editor-drawer .editor-nutrient-card label,.editor-nutrient-card__label{margin:0;font-size:11px;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-nutrient-card__row{display:flex;align-items:baseline;gap:4px}.editor-drawer .editor-nutrient-card .input{width:100%;border:none;outline:none;background:transparent;padding:0;border-radius:0;box-shadow:none}.editor-drawer .editor-nutrient-card .input,.editor-nutrient-card__value{flex:1 1;min-width:0;font:700 17px var(--font-body);color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.editor-nutrient-card__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-nutrient-card__unit{font-size:12px;font-weight:500;color:var(--muted)}.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-spin{animation:ui-spin .9s linear infinite}@keyframes ui-spin{to{transform:rotate(1turn)}}@media (max-width:640px){.editor-drawer{max-width:none}.editor-drawer__body,.editor-drawer__footer,.editor-drawer__header{padding-left:16px;padding-right:16px}.editor-nutrient-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}.photo-field{position:relative;flex-shrink:0}.photo-field__tile{position:relative;width:120px;height:120px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-2);color:var(--muted);padding:0;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .12s ease,background .12s ease}.photo-field__tile[data-empty=true]{border:2px dashed color-mix(in srgb,var(--muted) 45%,var(--border));background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}.photo-field__tile:hover:not(:disabled),.photo-field__tile[data-dragging=true]{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.photo-field__tile:focus-visible{outline:none;box-shadow:var(--focus)}.photo-field__tile:disabled{cursor:not-allowed}.photo-field__tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-field__empty{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:22px;font:600 12px var(--font-body)}.photo-field__loading{inset:0;background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text)}.photo-field__badge,.photo-field__loading{position:absolute;display:flex;align-items:center;justify-content:center}.photo-field__badge{right:8px;bottom:8px;width:30px;height:30px;border-radius:999px;background:var(--text);color:var(--surface);box-shadow:0 2px 6px rgba(20,23,43,.25)}.photo-field__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:5;width:240px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:6px;display:flex;flex-direction:column;animation:context-menu-in .12s ease-out}.photo-field__menu button{display:flex;align-items:center;gap:10px;padding:9px 10px;border:none;border-radius:8px;background:transparent;color:var(--text);font:500 14px var(--font-body);text-align:left;cursor:pointer}.photo-field__menu button svg{color:var(--muted);flex-shrink:0}.photo-field__menu button:focus-visible,.photo-field__menu button:hover{background:var(--surface-2);outline:none}.photo-field__menu button[data-variant=danger],.photo-field__menu button[data-variant=danger] svg{color:#b2412e}.photo-field__menu button[data-variant=danger]:focus-visible,.photo-field__menu button[data-variant=danger]:hover{background:color-mix(in srgb,#d05a4a 12%,var(--surface))}.photo-field__menu-hint{padding:6px 10px 4px;margin-top:4px;font-size:11px;color:var(--muted);border-top:1px solid var(--border)}.photo-search{gap:0;padding:0}.photo-search__top{padding:14px 20px 10px;display:flex;flex-direction:column;gap:8px}.editor-drawer label.photo-search__input{display:flex;align-items:center;gap:8px;margin:0;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:var(--r-pill);padding:9px 14px;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent);color:var(--muted);font-weight:400;cursor:text}.photo-search__input input{flex:1 1;min-width:0;border:none;outline:none;padding:0;font:400 14px var(--font-body);color:var(--text);background:transparent}.photo-search__provider{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.photo-search__hint{margin:0;font-size:12px;color:var(--muted)}.photo-search__google{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;color:var(--muted)}.photo-search__google a{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:600;text-decoration:none}.photo-search__google a:hover{text-decoration:underline}.photo-search__google span{display:inline-flex;align-items:center;gap:4px}.photo-search__results{flex:1 1;padding:4px 20px 16px;display:flex;flex-direction:column;gap:10px}.photo-search__empty{padding:24px 8px;text-align:center;font-size:13px;color:var(--muted)}.photo-search__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.photo-search__item{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;border:2px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;cursor:pointer;text-align:left;font:inherit;transition:border-color .12s ease}.photo-search__item:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.photo-search__item[aria-pressed=true]{border-color:var(--primary)}.photo-search__item:focus-visible{outline:none;box-shadow:var(--focus)}.photo-search__item--placeholder{cursor:default}.photo-search__item--placeholder .photo-search__thumb{background:linear-gradient(90deg,var(--surface-2) 0,color-mix(in srgb,var(--surface-2) 40%,var(--surface)) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.photo-search__thumb{display:block;aspect-ratio:1/1;width:100%;background:var(--surface-2);overflow:hidden}.photo-search__thumb img{display:block;width:100%;height:100%;object-fit:cover}.photo-search__source{padding:5px 8px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-search__check{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:999px;background:var(--primary);color:var(--primary-contrast);display:flex;align-items:center;justify-content:center}@media (max-width:640px){.photo-search__results,.photo-search__top{padding-left:16px;padding-right:16px}.photo-search.editor-drawer__body{padding:0}.photo-search__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plan-limit-backdrop{align-items:center;padding-top:var(--space-4)}.plan-limit{--limit-tone:#8f5a12;border-radius:20px}.plan-limit__hero{background:color-mix(in srgb,var(--limit-tone) 9%,var(--surface));padding:var(--space-6) var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:14px}.plan-limit__top{display:flex;justify-content:space-between;align-items:flex-start}.plan-limit__icon{width:46px;height:46px;border-radius:14px;background:var(--surface)}.plan-limit__close,.plan-limit__icon{color:var(--limit-tone);display:flex;align-items:center;justify-content:center}.plan-limit__close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer}.plan-limit__close:hover{background:color-mix(in srgb,var(--limit-tone) 12%,transparent)}.plan-limit__hero h2{margin:0;font:700 1.375rem/1.2 var(--font-title);color:color-mix(in srgb,var(--limit-tone) 70%,var(--text))}.plan-limit__meter{display:flex;flex-direction:column;gap:6px}.plan-limit__meter-label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:600;color:var(--limit-tone)}.plan-limit__meter-track{height:6px;border-radius:999px;background:color-mix(in srgb,var(--limit-tone) 22%,var(--surface));overflow:hidden}.plan-limit__meter-fill{height:100%;background:var(--limit-tone);border-radius:999px}.plan-limit__body{padding:var(--space-5) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.plan-limit__body p{margin:0;font-size:.875rem;color:var(--text-2);text-wrap:pretty}.plan-limit__actions{display:flex;flex-direction:column;gap:var(--space-2)}.plan-limit__actions .btn{justify-content:center}