@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-cyrillic-ext-300-normal.fefc551b7396b899b5ee.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-300-normal.bb744e52181efeb1e20a.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-cyrillic-300-normal.444fc46382ddebf9206b.woff2) format("woff2"),url(/static/media/inter-cyrillic-300-normal.4303dad54c0440af6b9d.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-greek-ext-300-normal.544089023996bb0a2e03.woff2) format("woff2"),url(/static/media/inter-greek-ext-300-normal.11f7f5fefca8b9a10797.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-greek-300-normal.36c1e0d5e770cc6a3971.woff2) format("woff2"),url(/static/media/inter-greek-300-normal.45fe2c6dbf7f7b48c190.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-vietnamese-300-normal.2a4055b17286ecdd503d.woff2) format("woff2"),url(/static/media/inter-vietnamese-300-normal.364184c9994e78d1ec87.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-latin-ext-300-normal.c339d02bc1066c5eb0eb.woff2) format("woff2"),url(/static/media/inter-latin-ext-300-normal.8eeafc82bf1e3850a262.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-latin-300-normal.eb229bb9406cc043d5a4.woff2) format("woff2"),url(/static/media/inter-latin-300-normal.07e0e0017a987f6c727e.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-ext-400-normal.39fbf8d2c4abc46f721f.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-400-normal.818b84180553acc613f3.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-400-normal.89455522650c3fb3654c.woff2) format("woff2"),url(/static/media/inter-cyrillic-400-normal.dd21c71421d58232ef03.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-ext-400-normal.f2ef63e732b18d636044.woff2) format("woff2"),url(/static/media/inter-greek-ext-400-normal.fc80974ec6969ee03fd2.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-400-normal.e685387f69602567b1da.woff2) format("woff2"),url(/static/media/inter-greek-400-normal.b412faded087fbcfa4ff.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-vietnamese-400-normal.44c9df135eec470b0ab6.woff2) format("woff2"),url(/static/media/inter-vietnamese-400-normal.aaa15d735e3826061950.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-ext-400-normal.210fb826cb25acbd4094.woff2) format("woff2"),url(/static/media/inter-latin-ext-400-normal.c616205185f0d3677df9.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-400-normal.eca1e21531598d5db58f.woff2) format("woff2"),url(/static/media/inter-latin-400-normal.2ea1079c0069eb040a52.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-ext-500-normal.b2740f247d3be4a05ca0.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-500-normal.e9974e820735012b025b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-500-normal.33a76a7cbcfcb7076534.woff2) format("woff2"),url(/static/media/inter-cyrillic-500-normal.72f7a9db87626ca30c76.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-ext-500-normal.4c6d520b97e3bb4ef613.woff2) format("woff2"),url(/static/media/inter-greek-ext-500-normal.47cc2391a7edf82cf4e1.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-500-normal.e7cec4ef4f6780e90a52.woff2) format("woff2"),url(/static/media/inter-greek-500-normal.6d34bacda2be54829b97.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-vietnamese-500-normal.63d02ea896a7406849b6.woff2) format("woff2"),url(/static/media/inter-vietnamese-500-normal.296d66c0bba9086788b9.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-ext-500-normal.cdb4dd5dc508fe6e7398.woff2) format("woff2"),url(/static/media/inter-latin-ext-500-normal.2f93aaa35e870cec4704.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-500-normal.b7c27c60f848f2083f45.woff2) format("woff2"),url(/static/media/inter-latin-500-normal.5014db633e71a7741bf5.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-ext-600-normal.8c6413cdd8004fde0a19.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-600-normal.d6d44e8705a633436dfe.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-600-normal.fdee7b66c2d88216b75f.woff2) format("woff2"),url(/static/media/inter-cyrillic-600-normal.8609e1b95284125f21cb.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-ext-600-normal.c3c138d889b8c929822c.woff2) format("woff2"),url(/static/media/inter-greek-ext-600-normal.c7983dac0ad6a359aef0.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-600-normal.984050ecee12eabe9366.woff2) format("woff2"),url(/static/media/inter-greek-600-normal.d8b0044cf6afdd52b07b.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-vietnamese-600-normal.6984cf5e8583fac83be3.woff2) format("woff2"),url(/static/media/inter-vietnamese-600-normal.04bb56ffa463ab55708d.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-ext-600-normal.8148c3ae14dfaefc62ca.woff2) format("woff2"),url(/static/media/inter-latin-ext-600-normal.4d0d5017d71ea1750fc1.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-600-normal.69a8d1d484967aba2389.woff2) format("woff2"),url(/static/media/inter-latin-600-normal.f10265da6bd8d66999ac.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-ext-700-normal.b0c28c6752a13fa5abaf.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-700-normal.43f6f7e8a4205f05e58c.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-700-normal.533055ff3700190d8dfa.woff2) format("woff2"),url(/static/media/inter-cyrillic-700-normal.9f2de06ca9a7c8458434.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-ext-700-normal.c9429f4b77b1f85e999d.woff2) format("woff2"),url(/static/media/inter-greek-ext-700-normal.0f8675bdd7f3fe3a3dba.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-700-normal.3f04511ca7c0cea0cc2f.woff2) format("woff2"),url(/static/media/inter-greek-700-normal.8b95c1e2b193d0541864.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-vietnamese-700-normal.d1c85cabbe96efcaeb68.woff2) format("woff2"),url(/static/media/inter-vietnamese-700-normal.05b640f829d1ac5ff29d.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-ext-700-normal.bc59219ed344909a4f53.woff2) format("woff2"),url(/static/media/inter-latin-ext-700-normal.d4a91814dd3f1e022ab1.woff) format("woff");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-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-700-normal.1104236696a5d2d1f236.woff2) format("woff2"),url(/static/media/inter-latin-700-normal.c73ae7252669254d2588.woff) format("woff");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-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/static/media/fraunces-vietnamese-wght-normal.c53893a52fe93c11cf60.woff2) format("woff2-variations");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-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/static/media/fraunces-latin-ext-wght-normal.a4d05471980d7e6e6c04.woff2) format("woff2-variations");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-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/static/media/fraunces-latin-wght-normal.5a4a82b52388ff7868e0.woff2) format("woff2-variations");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}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root,[data-theme=dark]{--bg-canvas:#0a0a0a;--bg-surface:#111;--bg-elevated:#161616;--bg-sunken:#050505;--bg-hover:#ffffff0a;--bg-active:#ffffff14;--border-subtle:#1f1f1f;--border-default:#262626;--border-strong:#333;--border-accent:#dbcca5;--text-primary:#f5f5f5;--text-secondary:#a8a8a8;--text-muted:#6e6e6e;--text-inverse:#0a0a0a;--accent:#dbcca5;--accent-hover:#e8d9b0;--accent-active:#c4b68f;--accent-soft:#dbcca514;--accent-ring:#dbcca547;--accent-fg:#0a0a0a;--success:#6fa88f;--success-soft:#6fa88f1f;--warning:#d9b96a;--warning-soft:#d9b96a1f;--danger:#c97a6e;--danger-soft:#c97a6e1f;--info:#8fa8c9;--info-soft:#8fa8c91f;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-serif:"Fraunces Variable","Fraunces",Georgia,"Times New Roman",serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:17px;--text-xl:21px;--text-2xl:26px;--text-3xl:33px;--text-4xl:42px;--text-5xl:56px;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-widest:0.12em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--spacing-xs:var(--space-1);--spacing-sm:var(--space-2);--spacing-md:var(--space-4);--spacing-lg:var(--space-5);--spacing-xl:var(--space-8);--spacing-2xl:var(--space-10);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--radius-circle:50%;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #00000059;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 32px #00000073;--shadow-xl:0 24px 60px #0000008c;--shadow-glow:0 0 0 1px var(--border-subtle),0 16px 50px #00000080;--shadow-color:#00000080;--focus-ring:0 0 0 3px var(--accent-ring);--bg-body:var(--bg-canvas);--bg-card:var(--bg-surface);--text-main:var(--text-primary);--border-color:var(--border-subtle);--input-bg:var(--bg-surface);--input-border:var(--border-subtle);--header-bg:var(--bg-canvas);--header-border:var(--border-subtle);--btn-hover:var(--bg-hover);--accent-color:var(--accent);--motion-fast:120ms;--motion-base:200ms;--motion-slow:320ms;--motion-ease:cubic-bezier(0.2,0.8,0.2,1)}[data-theme=light]{--bg-canvas:#f4f2ec;--bg-surface:#fff;--bg-elevated:#fff;--bg-sunken:#e8e5dd;--bg-hover:#0000000d;--bg-active:#b889501a;--border-subtle:#dedad0;--border-default:#c8c3b5;--border-strong:#a39c8a;--border-accent:#8f7842;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#6e6e6e;--text-inverse:#fff;--accent:#8f7842;--accent-hover:#7a6535;--accent-active:#635229;--accent-soft:#8f78421f;--accent-ring:#8f784259;--accent-fg:#fff;--success:#2d7a5a;--success-soft:#2d7a5a1f;--warning:#a57924;--warning-soft:#a579241f;--danger:#b33a2a;--danger-soft:#b33a2a1a;--info:#4e6e94;--info-soft:#4e6e941a;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 32px #0000001a;--shadow-xl:0 24px 60px #00000024;--shadow-glow:0 0 0 1px var(--border-subtle),0 16px 50px #00000014;--shadow-color:#0000000f}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03";color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);text-rendering:optimizeLegibility}h1{font-family:var(--font-serif);font-size:var(--text-4xl);font-variation-settings:"opsz" 96,"SOFT" 50;font-weight:400;line-height:var(--leading-tight)}h1,h2{color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0}h2{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:600;line-height:var(--leading-snug)}h3{font-size:var(--text-lg)}h3,h4{color:var(--text-primary);font-family:var(--font-sans);font-weight:600;line-height:var(--leading-snug);margin:0}h4{font-size:var(--text-md)}p{color:var(--text-primary);line-height:var(--leading-normal);margin:0}small{color:var(--text-secondary);font-size:var(--text-sm)}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}.eyebrow{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase}.tabular{font-feature-settings:"tnum","tnum";font-variant-numeric:tabular-nums}::selection{background:var(--accent);color:var(--accent-fg)}*,:after,:before{box-sizing:border-box}html{overflow-y:scroll}body,html{background:var(--bg-canvas)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);cursor:default;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);margin:0;transition:background-color .3s ease,color .3s ease;user-select:none;-webkit-user-select:none}#root{min-height:100vh}.rich-editor,input,select,textarea{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);cursor:text;font-family:inherit;font-size:var(--text-base);line-height:var(--leading-snug);padding:10px 12px;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease);user-select:text;-webkit-user-select:text;width:100%}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}.rich-editor:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.rich-editor{min-height:120px}.action-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:var(--text-base);font-weight:600;letter-spacing:var(--tracking-wide);margin-top:var(--space-5);padding:14px 20px;text-transform:uppercase;transition:background-color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease);width:100%}.action-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}[role=button]:focus-visible,a:focus-visible,button:focus-visible{box-shadow:var(--focus-ring);outline:none}.action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}*{scrollbar-color:var(--border-strong) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-canvas);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.card{background:var(--bg-card);box-shadow:var(--shadow-md);margin-bottom:25px;padding:var(--spacing-xl);transition:background-color .3s ease,border-color .3s ease}.card,.display-options{border:1px solid var(--border-color);border-radius:var(--radius-md)}.display-options{background:var(--bg-body);display:flex;flex-direction:column;gap:10px;margin-top:15px;padding:15px}.display-options-label{color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:2px;text-transform:none}.progress-container{background:var(--border-color);height:10px;width:100%}.progress-bar-fill{transition:width .5s ease}.drop-zone{background:var(--bg-body);border:2px dashed var(--input-border);border-radius:var(--radius-md);padding:var(--spacing-2xl);transition:border-color .3s,background-color .3s}.drop-zone:hover{background:var(--bg-card);border-color:var(--text-main)}.drop-zone:focus-visible{border-color:var(--text-main);box-shadow:var(--focus-ring);outline:none}.item-action-btn{background:var(--bg-card);border:1px solid var(--input-border);color:var(--text-main);font-size:1rem;margin-left:8px;padding:var(--spacing-xs) var(--spacing-sm);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.item-action-btn:hover{background-color:var(--btn-hover);border-color:var(--text-secondary)}.item-action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.item-action-btn.delete-btn{border-color:#d9534f;color:#d9534f}.item-action-btn.delete-btn:hover{background-color:#d9534f;color:#fff}.item-actions-container{align-items:center;display:flex;opacity:1}.login-container{background:var(--bg-body);grid-template-columns:1fr 1fr}.login-brand{align-items:flex-start;background:linear-gradient(160deg,#0a0a0a,#141414);color:#fff;display:flex;justify-content:center;padding:60px 70px}.login-brand:before{background:radial-gradient(circle,#dbcca51f 0,#0000 60%);height:600px;right:-20%;top:-30%;width:600px}.login-brand-logo{margin-bottom:48px;max-width:280px;width:100%;z-index:1}.login-brand-tagline{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:28px;letter-spacing:-.3px;line-height:1.3;margin:0 0 20px;z-index:1}.login-brand-tagline em{color:var(--accent-color);font-style:normal}.login-brand-sub{color:#9e9e9e;font-size:14px;line-height:1.6;max-width:380px;z-index:1}.login-brand-accent-line{background:var(--accent-color);margin-bottom:28px;width:60px;z-index:1}.login-brand-footer{bottom:32px;color:#6b6b6b;font-size:11px;left:70px;letter-spacing:1.5px;position:absolute;text-transform:none;z-index:1}.login-card{background:var(--bg-card);flex-direction:column;padding:0 80px;text-align:left}.login-card-inner{margin:0 auto}.login-card h2{color:var(--text-main);font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}.login-card-subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 32px}.login-card input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-main);font-size:14px;margin-bottom:var(--spacing-md);padding:14px 16px;transition:border-color .2s,box-shadow .2s}.login-card input:focus{border-color:var(--accent-color)}.login-btn{background:var(--accent-color);border-radius:var(--radius-md);font-size:14px;letter-spacing:.3px;margin-top:8px;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease}.login-btn:hover{box-shadow:0 8px 20px #dbcca540}.login-btn:active{transform:translateY(0)}.login-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-error{background:#ef444414;border:1px solid #ef444440;border-radius:var(--radius-md);color:#ef4444;font-size:13px;margin-bottom:var(--spacing-md);padding:10px 14px}@media (max-width:900px){.login-container{grid-template-columns:1fr}.login-brand{min-height:240px;padding:40px 32px 32px}.login-brand-logo{margin-bottom:24px;max-width:200px}.login-brand-tagline{font-size:22px}.login-brand-footer{display:none}.login-card{padding:32px}.login-card-inner{max-width:100%}}.history-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.history-filters input,.history-filters select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-main);flex:1 1;min-width:120px;padding:var(--spacing-sm)}.history-score-filter{align-items:center;color:var(--text-secondary);display:flex;font-size:.85em;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.history-score-filter input[type=range]{flex:1 1}.history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:var(--spacing-md) var(--spacing-lg);transition:border-color .2s,box-shadow .2s}.history-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.history-card:focus-visible{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.history-card-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.history-trigramme{background:#000;border-radius:6px;color:#fff;font-size:.85em;letter-spacing:1px;padding:4px var(--spacing-sm)}.history-titre{flex:1 1;font-size:1.05em;font-weight:600}.history-score{border-radius:var(--radius-pill);color:#fff;font-size:.9em;font-weight:700;padding:4px 12px}.history-card-meta{color:var(--text-secondary);display:flex;font-size:.85em;gap:var(--spacing-lg)}.modal-overlay{align-items:flex-start;background:#0009;bottom:0;left:0;overflow-y:auto;padding:var(--spacing-2xl);right:0;top:0;z-index:1000}.modal-content{max-height:90vh;max-width:800px;overflow-y:auto;padding:var(--spacing-xl);position:relative;width:100%}.modal-close{font-size:1.3em;font-weight:700;position:absolute;right:var(--spacing-md);top:var(--spacing-md)}.modal-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.detail-meta{background:var(--bg-body);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;font-size:.95em;gap:var(--spacing-lg);margin:var(--spacing-md) 0 25px 0;padding:var(--spacing-md)}.detail-section{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:25px;padding:var(--spacing-md)}.detail-section h3{margin-top:0}.detail-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.admin-create-section{background:var(--bg-body);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px;padding:24px}.admin-create-title{color:var(--text-secondary);font-size:15px;letter-spacing:.5px;margin:0 0 16px;text-transform:none}.admin-create-form{display:flex;flex-direction:column;gap:16px}.admin-create-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.admin-field-label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.admin-field-input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-main);font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.admin-field-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.admin-password-wrapper{position:relative}.admin-password-wrapper .admin-field-input{padding-right:42px}.admin-password-toggle{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;opacity:.6;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:opacity .2s}.admin-password-toggle:hover{opacity:1}.admin-create-actions{align-items:center;display:flex;gap:16px;justify-content:space-between}.admin-checkbox-label{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px}.admin-checkbox{accent-color:var(--accent-color);cursor:pointer;height:18px;width:18px}.admin-create-btn{background:var(--accent-color);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 24px;text-transform:none;transition:opacity .2s;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.admin-create-btn:hover{box-shadow:0 6px 18px #dbcca54d;transform:translateY(-1px)}.admin-create-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-user-list{display:flex;flex-direction:column}.admin-user-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;padding:14px 0}.admin-user-row:last-child{border-bottom:none}.admin-user-name{align-items:center;display:flex;font-size:15px;gap:8px}.admin-user-date{color:var(--text-secondary);font-size:12px;margin-top:2px}.admin-badge{border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 10px}.admin-badge--admin{background:#000;color:#fff}.admin-badge--user{background:var(--border-color)}.admin-user-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.admin-action-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .2s,border-color .2s;white-space:nowrap}.admin-action-btn:hover{background:var(--btn-hover);border-color:var(--text-secondary)}.admin-action-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.admin-action-btn--danger{border-color:#d9534f;color:#d9534f}.admin-action-btn--danger:hover{background:#d9534f;color:#fff}body{user-select:text;-webkit-user-select:text}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--space-5);padding:var(--space-6);transition:border-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.card:hover{border-color:var(--border-default)}.card h3{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);margin:0 0 var(--space-5);padding:0 0 var(--space-3);text-transform:uppercase}input,select,textarea{border-radius:var(--radius-sm);font-size:var(--text-base);padding:10px 12px}.display-options{background:#0000;border:none;display:block;margin-top:var(--space-5);padding:0}.display-options-label{color:var(--text-muted);display:block;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);margin:0 0 var(--space-3);text-transform:uppercase}.display-option-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}@container pane (min-width: 640px){.display-option-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@container pane (max-width: 340px){.display-option-grid{grid-template-columns:1fr}}.toggle-card{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-3);justify-content:flex-start;min-height:96px;padding:var(--space-4);position:relative;transition:all var(--motion-fast) var(--motion-ease)}.toggle-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.toggle-card.is-on{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-xs)}.toggle-card__header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.toggle-card__label{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.toggle-card__switch{background:var(--border-strong);border-radius:999px;flex-shrink:0;height:18px;position:relative;transition:background var(--motion-fast) var(--motion-ease);width:32px}.toggle-card__switch:after{background:var(--bg-canvas);border-radius:50%;box-shadow:var(--shadow-xs);content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform var(--motion-fast) var(--motion-ease);width:14px}.toggle-card.is-on .toggle-card__switch{background:var(--accent)}.toggle-card.is-on .toggle-card__switch:after{background:var(--accent-fg);transform:translateX(14px)}.toggle-card input[type=checkbox]{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.toggle-card__input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-top:var(--space-1);padding:7px 10px;width:100%}.toggle-card__input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.font-pair-picker{margin-top:var(--space-4)}.font-pair-picker__label{color:var(--text-muted);display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;margin-bottom:var(--space-2);text-transform:uppercase}.font-pair-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}@container pane (max-width: 440px){.font-pair-grid{grid-template-columns:1fr}}.font-pair-card{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);position:relative;transition:all var(--motion-fast) var(--motion-ease)}.font-pair-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.font-pair-card.is-on{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-xs)}.font-pair-card input[type=radio]{opacity:0;pointer-events:none;position:absolute}.font-pair-card__title{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.font-pair-card__sub{color:var(--text-muted);font-size:var(--text-xs)}.card>div[style*="border: 1px solid"][style*="border-radius: 4px"]{border:1px solid var(--border-subtle)!important;border-radius:var(--radius-md)!important;margin-bottom:var(--space-4)!important;overflow:hidden;transition:border-color var(--motion-fast) var(--motion-ease)}.card>div[style*="border: 1px solid"][style*="border-radius: 4px"]:hover{border-color:var(--border-default)!important}.section-header-bar{align-items:center;background:var(--bg-sunken);border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);justify-content:space-between;padding:var(--space-3) var(--space-4)}.section-label{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase}.toolbar-btn{align-items:center;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-serif);font-size:var(--text-sm);height:28px;justify-content:center;padding:0;transition:all var(--motion-fast) var(--motion-ease);width:28px}.toolbar-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.toolbar-btn b,.toolbar-btn i,.toolbar-btn u{font-style:normal;font-weight:600}.toolbar-btn b{font-weight:800}.toolbar-btn i{font-family:var(--font-serif);font-style:italic}.toolbar-btn u{text-decoration:underline;text-underline-offset:2px}.toolbar-color-picker{align-items:center;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:inline-flex;height:28px;justify-content:center;overflow:hidden;position:relative;width:28px}.toolbar-color-picker:hover{border-color:var(--border-strong)}.toolbar-color-picker:after{align-items:center;background:var(--bg-canvas);color:var(--text-secondary);content:"A";display:flex;font-family:var(--font-serif);font-size:var(--text-sm);font-weight:600;inset:0;justify-content:center;pointer-events:none;position:absolute}.toolbar-color-picker input[type=color]{background:#0000;border:none;cursor:pointer;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.section-header-bar .item-action-btn{background:#0000;font-size:var(--text-xs);height:28px;width:28px}.section-header-bar .item-action-btn:disabled{cursor:not-allowed;opacity:.3}.editor-item-form{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-5);padding:var(--space-5)}.field-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}.field-row>input,.field-row>select{flex:1 1 160px;min-width:0}.field-row>.field-row__compact{flex:0 1 90px;min-width:70px}.editor-tab button[style*="background: var(--accent-color)"]{border-radius:var(--radius-sm)!important;font-size:var(--text-sm)!important;font-weight:600!important;letter-spacing:0!important;padding:9px 18px!important;text-transform:none!important;transition:all var(--motion-fast) var(--motion-ease)!important}.editor-tab button[style*="background: var(--accent-color)"]:hover{background:var(--accent-hover)!important;box-shadow:var(--shadow-md);transform:translateY(-1px)}.editor-tab button[style*="background: #ccc"]{background:#0000!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-sm)!important;color:var(--text-secondary)!important;font-size:var(--text-sm)!important;font-weight:600!important;padding:9px 18px!important}.editor-tab button[style*="background: #ccc"]:hover{border-color:var(--border-strong)!important;color:var(--text-primary)!important}.editor-item-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);justify-content:space-between;padding:var(--space-3) var(--space-4);transition:background var(--motion-fast) var(--motion-ease)}.editor-item-row:hover{background:var(--bg-hover)}.editor-item-row.is-editing{background:var(--bg-active)}.editor-item-row__main{flex:1 1;min-width:200px}.rich-editor{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);line-height:var(--leading-relaxed);min-height:100px;padding:var(--space-3) var(--space-4)!important}.rich-editor:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.rich-editor:empty:before{color:var(--text-muted);content:attr(data-placeholder);font-style:italic}.logs-tab{padding-top:var(--space-2)}.logs-tab h2{border-bottom:none;color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;letter-spacing:var(--tracking-tight);margin:0 0 var(--space-2);padding:0;text-transform:none}.logs-tab>p{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-6)}.logs-toolbar{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3)}.logs-toolbar input[type=text],.logs-toolbar select{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);height:36px;padding:8px 12px}.logs-toolbar input[type=text]{flex:1 1;min-width:220px}.logs-toolbar select{min-width:130px}.logs-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:var(--text-sm);font-weight:600;height:36px;letter-spacing:0;padding:0 16px;text-transform:none;transition:background var(--motion-fast) var(--motion-ease)}.logs-btn:hover{background:var(--accent-hover)}.logs-autorefresh{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:0 var(--space-2);-webkit-user-select:none;user-select:none}.logs-autorefresh input{cursor:pointer;height:auto;width:auto}.logs-error{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-sm);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4)}.logs-stats{color:var(--text-muted);letter-spacing:var(--tracking-wide);margin:0 0 var(--space-2);text-transform:uppercase}.logs-stats,.logs-viewer{font-family:var(--font-mono);font-size:var(--text-xs)}.logs-viewer{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);line-height:1.55;max-height:70vh;overflow-y:auto;padding:var(--space-2)}.logs-empty{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-8);text-align:center}.log-row{grid-gap:var(--space-3);align-items:baseline;background:#0000;border-left:2px solid #0000;border-radius:var(--radius-xs);color:var(--text-secondary);display:grid;gap:var(--space-3);grid-template-columns:92px 78px 130px 1fr;margin-bottom:1px;padding:6px var(--space-3);transition:background var(--motion-fast) var(--motion-ease)}.log-row:hover{background:var(--bg-hover)}.log-timestamp{font-feature-settings:"tnum";color:var(--text-muted);font-variant-numeric:tabular-nums}.log-level{align-items:center;background:var(--bg-hover);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-flex;font-family:var(--font-sans);font-size:10px;font-weight:700;height:18px;justify-content:center;letter-spacing:var(--tracking-wide);padding:2px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.log-logger{color:var(--info)}.log-message{color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.log-row--info{border-left-color:var(--info)}.log-row--info .log-level{background:var(--info-soft);color:var(--info)}.log-row--warning{border-left-color:var(--warning)}.log-row--warning .log-level{background:var(--warning-soft);color:var(--warning)}.log-row--warning .log-message{color:#f0daa8}.log-row--error{border-left-color:var(--danger)}.log-row--error .log-level{background:var(--danger-soft);color:var(--danger)}.log-row--error .log-message{color:#f1b5ac}.log-row--debug{opacity:.6}.log-row--debug .log-level{background:var(--bg-hover);color:var(--text-muted)}@container page (max-width: 720px){.log-row{gap:4px;grid-template-columns:1fr;padding:var(--space-2) var(--space-3)}.log-logger{display:none}}.login-container{background:var(--bg-canvas);display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}@media (max-width:900px){.login-container{grid-template-columns:1fr}.login-brand{display:none!important}}.login-brand{background:radial-gradient(ellipse at top right,#dbcca51a,#0000 60%),linear-gradient(180deg,#0d0d0d,#060606);border-right:1px solid var(--border-subtle);color:var(--text-primary);display:flex!important;flex-direction:column;justify-content:space-between;overflow:hidden;padding:var(--space-12) var(--space-10);position:relative}.login-brand:before{background:radial-gradient(circle at 20% 30%,#dbcca514 0,#0000 40%),radial-gradient(circle at 80% 70%,#dbcca50f 0,#0000 50%);inset:0}.login-brand:after,.login-brand:before{content:"";pointer-events:none;position:absolute}.login-brand:after{background:radial-gradient(circle,var(--accent) 0,#0000 65%);border-radius:50%;filter:blur(40px);height:480px;opacity:.1;right:-120px;top:30%;width:480px}.login-brand-logo{filter:brightness(0) invert(1);height:56px;object-fit:contain;opacity:.95;position:relative;width:56px}.login-brand-tagline{color:var(--text-primary);font-family:var(--font-serif);font-size:clamp(36px,4.5vw,56px);font-weight:400;letter-spacing:var(--tracking-tight);line-height:1.05;margin:0;max-width:18ch;position:relative}.login-brand-tagline em{color:var(--accent);font-style:italic}.login-brand-sub{color:var(--text-secondary);font-size:var(--text-md);line-height:var(--leading-relaxed);max-width:38ch;position:relative}.login-brand-accent-line{background:var(--accent);height:2px;margin:var(--space-4) 0;position:relative;width:64px}.login-brand-footer{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);position:relative;text-transform:uppercase}.login-card{align-items:center;display:flex;justify-content:center;padding:var(--space-10)}.login-card-inner{max-width:380px;width:100%}.login-card h2{border-bottom:none;color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;letter-spacing:var(--tracking-tight);margin:0 0 var(--space-2);padding:0;text-transform:none}.login-card-subtitle{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-8)}.login-card input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);margin-bottom:var(--space-3);padding:12px 14px;transition:all var(--motion-fast) var(--motion-ease);width:100%}.login-card input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.login-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:var(--text-base);font-weight:600;letter-spacing:0;margin-top:var(--space-3);padding:14px;text-transform:none;transition:all var(--motion-fast) var(--motion-ease);width:100%}.login-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-error{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-sm);margin-top:var(--space-3);padding:var(--space-3)}.login-logo{display:none}.drop-zone{background:var(--bg-surface);border:2px dashed var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;padding:var(--space-12) var(--space-6);text-align:center;transition:all var(--motion-fast) var(--motion-ease)}.drop-zone:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.progress-container{background:var(--bg-sunken);border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:var(--radius-pill);height:100%;transition:width var(--motion-slow) var(--motion-ease)}.history-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-4);transition:all var(--motion-fast) var(--motion-ease)}.history-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.history-trigramme{background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-fg);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);padding:4px 10px}.history-score{font-feature-settings:"tnum";color:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.admin-user-row{border-bottom:1px solid var(--border-subtle);padding:var(--space-3) var(--space-4);transition:background var(--motion-fast) var(--motion-ease)}.admin-user-row:hover{background:var(--bg-hover)}.admin-badge--admin{background:var(--accent);color:var(--accent-fg);font-weight:600;letter-spacing:var(--tracking-wide)}.admin-badge--admin,.admin-badge--user{border-radius:var(--radius-pill);font-size:var(--text-xs);padding:3px 8px;text-transform:uppercase}.admin-badge--user{background:var(--bg-hover);color:var(--text-secondary);font-weight:500}.item-action-btn{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all var(--motion-fast) var(--motion-ease);width:32px}.item-action-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.item-action-btn.delete-btn{border-color:#0000;color:var(--danger)}.item-action-btn.delete-btn:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}@media (max-width:767px){input,select,textarea{font-size:16px!important}.history-card-meta,.history-filters{flex-direction:column}.history-card-meta{gap:5px}.history-score-filter{flex-direction:column;gap:8px}.modal-overlay{padding:10px}.modal-content{border-radius:8px;max-height:95vh;padding:20px}.item-actions-container{flex-wrap:wrap;gap:4px}.detail-actions{flex-direction:column}.admin-create-fields{grid-template-columns:1fr}.admin-create-actions{align-items:stretch;flex-direction:column}.admin-create-btn{text-align:center}.admin-user-row{align-items:flex-start;flex-direction:column;gap:10px}.admin-user-actions{flex-wrap:wrap}}.prop-list{width:100%}.prop-list__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.prop-list__title{color:var(--text-main);font-size:var(--text-2xl);font-weight:700;margin:0 0 4px}.prop-list__sub{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.prop-list__filters{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.prop-list__search{align-items:center;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);display:flex;flex:1 1;gap:var(--space-2);max-width:480px;min-width:280px;padding:6px 10px}.prop-list__search input{background:#0000;border:0;color:var(--text-main);flex:1 1;font-size:var(--text-sm);outline:0}.prop-list__search button{background:var(--accent);border:0;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;padding:5px 12px;text-transform:none}.prop-list__statusf{display:flex;gap:var(--space-2)}.prop-list__chip{background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:6px 14px;transition:all .15s ease}.prop-list__chip:hover{border-color:var(--accent);color:var(--text-main)}.prop-list__chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.prop-list__empty{background:var(--bg-surface);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);padding:var(--space-12);text-align:center}.prop-list__inline-link{background:none;border:0;color:var(--accent);cursor:pointer;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:3px}.prop-list__table{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.prop-list__row{grid-gap:var(--space-3);align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:grid;font-size:var(--text-sm);gap:var(--space-3);grid-template-columns:120px 1fr 90px 1.2fr 110px 110px 130px;padding:var(--space-3) var(--space-4);transition:background .12s ease}.prop-list__row:hover{background:var(--bg-hover)}.prop-list__row:last-child{border-bottom:0}.prop-list__row--head{color:var(--text-muted);cursor:default;font-size:var(--text-xs);font-weight:700;letter-spacing:.8px;text-transform:none}.prop-list__row--head,.prop-list__row--head:hover{background:var(--bg-sunken)}@container page (max-width: 820px){.prop-list__row--head{display:none}.prop-list__row{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-4);row-gap:6px}.prop-list__actions{justify-content:flex-start}}@container page (max-width: 420px){.prop-list__row{grid-template-columns:1fr}}.prop-list__ref{color:var(--accent);font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600}.prop-list__dim{color:var(--text-muted);font-style:italic}.prop-list__status{border-radius:var(--radius-pill);display:inline-block;font-size:11px;font-weight:600;padding:3px 10px}.prop-list__actions{display:flex;gap:4px;justify-content:flex-end}.prop-list__actions button{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:28px;justify-content:center;transition:all .12s ease;width:28px}.prop-list__actions button:hover{border-color:var(--accent);color:var(--accent)}.prop-list__actions .prop-list__danger:hover{border-color:#ef4444;color:#ef4444}.prop-editor{width:100%}.prop-editor__loading{color:var(--text-secondary);padding:var(--space-12);text-align:center}.prop-editor__topbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.prop-editor__back{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:all .12s ease;width:36px}.prop-editor__back:hover{border-color:var(--accent);color:var(--accent)}.prop-editor__title-wrap{flex:1 1;min-width:200px}.prop-editor__title{color:var(--text-main);font-size:var(--text-xl);font-weight:700;margin:0}.prop-editor__meta{align-items:center;display:flex;font-size:var(--text-xs);gap:var(--space-3);margin-top:4px}.prop-editor__ref{background:var(--bg-elevated);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--accent);cursor:text;font-family:JetBrains Mono,monospace;font-weight:600;letter-spacing:.5px;padding:3px 10px;transition:border-color .12s ease}.prop-editor__ref:hover{border-color:var(--accent);border-style:solid}.prop-editor__ref-input{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-family:JetBrains Mono,monospace;font-weight:600;letter-spacing:.5px;min-width:180px;outline:none;padding:3px 10px}.prop-editor__status-badge{border:1px solid;border-radius:var(--radius-pill);font-size:11px;font-weight:700;letter-spacing:.6px;padding:3px 10px;text-transform:none}.prop-status-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%278%27 height=%275%27 viewBox=%270 0 8 5%27><path d=%27M0 0l4 5 4-5z%27 fill=%27%236B7280%27/></svg>");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #0000;cursor:pointer;font-family:inherit;padding-right:22px}.prop-status-select:hover{filter:brightness(.96)}.prop-status-select option{background:var(--bg-elevated);color:var(--text-main)}.prop-editor__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.prop-editor__btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.6px;padding:8px 14px;text-transform:none;transition:all .12s ease}.prop-editor__btn:disabled{cursor:not-allowed;opacity:.5}.prop-editor__btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.prop-editor__btn--primary:hover:not(:disabled){background:var(--accent-hover)}.prop-editor__btn--gold{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.prop-editor__btn--gold:hover:not(:disabled){background:var(--accent);color:var(--accent-fg)}.prop-editor__btn--ghost{background:#0000;border-color:var(--border-default);color:var(--text-main)}.prop-editor__btn--ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.prop-editor__spin{animation:prop-spin .9s linear infinite}@keyframes prop-spin{to{transform:rotate(1turn)}}.prop-editor__signed{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.prop-editor__signed,.prop-editor__signed-info{align-items:center;display:flex;gap:var(--space-3)}.prop-editor__signed-title{color:var(--text-main);font-size:var(--text-sm);font-weight:700}.prop-editor__signed-sub{color:var(--text-secondary);font-size:var(--text-xs);margin-top:2px}.prop-editor__signed-actions{display:flex;gap:var(--space-2)}.prop-editor__split{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.prop-editor__form{container-name:pane;container-type:inline-size;display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.prop-editor__preview{background:#141414;border:1px solid var(--border-subtle);border-radius:var(--radius-md);height:calc(100vh - 100px);min-height:600px;overflow:hidden;position:-webkit-sticky;position:sticky;top:16px}@container page (max-width: 980px){.prop-editor__split{grid-template-columns:1fr}.prop-editor__preview{height:70vh;position:static}}.prop-card{padding:var(--space-4) var(--space-5)}.prop-card h3{display:flex;font-size:var(--text-sm);font-weight:700;gap:var(--space-3);justify-content:space-between;letter-spacing:.8px;margin:0 0 var(--space-3) 0}.prop-card h3,.prop-card__inline-toggle{align-items:center;color:var(--text-secondary);text-transform:none}.prop-card__inline-toggle{cursor:pointer;display:inline-flex;font-size:11px;font-weight:500;gap:6px;letter-spacing:.3px}.prop-card__inline-toggle input{accent-color:var(--accent)}.prop-card__hint{color:var(--text-muted);font-size:var(--text-xs);line-height:1.5;margin:0 0 var(--space-3) 0}.prop-grid-2,.prop-grid-3{grid-gap:var(--space-3);display:grid;gap:var(--space-3)}.prop-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.prop-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@container pane (max-width: 640px){.prop-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@container pane (max-width: 480px){.prop-grid-2,.prop-grid-3{grid-template-columns:1fr}}.prop-field{display:flex;flex-direction:column;gap:4px;min-width:0}.prop-field>span{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:none}.prop-total{align-items:flex-start;background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius-sm);justify-content:center;padding:8px 12px}.prop-total strong{color:var(--accent);font-size:var(--text-md);font-weight:700}.prop-toggle{align-items:center;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);gap:8px;margin-top:var(--space-3)}.prop-toggle input{accent-color:var(--accent)}.prop-toggle--mini{color:var(--text-muted);font-size:10px;font-weight:500;gap:4px;letter-spacing:0;margin-top:0;text-transform:none}.prop-field__label-row{align-items:center;display:flex!important;gap:8px;justify-content:space-between}.prop-field--toggleable.is-hidden>input,.prop-field--toggleable.is-hidden>select,.prop-field--toggleable.is-hidden>textarea{opacity:.4;pointer-events:none}.prop-majorations{border-top:1px dashed var(--border-subtle);display:flex;flex-direction:column;gap:8px;margin-top:var(--space-4);padding-top:var(--space-3)}.prop-majorations__header{align-items:center;color:var(--text-muted);display:flex;font-size:11px;font-weight:600;justify-content:space-between;letter-spacing:.6px;text-transform:none}.prop-majorations__add{font-size:11px!important;padding:4px 10px!important}.prop-majorations__row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1.6fr 1fr auto}.prop-majorations__del{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:6px 8px}.prop-majorations__del:hover{border-color:#ef4444;color:#ef4444}.prop-card__header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.prop-card__header h3{margin:0}.prop-section{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--space-2);overflow:hidden;transition:opacity .2s ease}.prop-section--hidden{opacity:.45}.prop-section__header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;padding:10px 12px}.prop-section__toggle{align-items:center;background:#0000;border:0;color:var(--text-main);cursor:pointer;display:inline-flex;flex:1 1;font-size:var(--text-sm);font-weight:600;gap:8px;padding:0;text-align:left}.prop-section__title{flex:1 1}.prop-section__badge{align-items:center;background:var(--bg-elevated);border-radius:var(--radius-pill);color:var(--text-muted);display:inline-flex;font-size:9px;font-weight:700;gap:3px;letter-spacing:.6px;padding:2px 7px;text-transform:none}.prop-section__badge--modified{background:var(--accent-soft);color:var(--accent)}.prop-section__visibility{align-items:center;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:11px;gap:5px;-webkit-user-select:none;user-select:none}.prop-section__visibility input{accent-color:var(--accent)}.prop-section__body{border-top:1px solid var(--border-subtle);padding:0 12px 12px}.prop-section__description{color:var(--text-muted);font-size:11px;margin:10px 0 6px}.prop-section__editor-wrap{margin-top:8px}.prop-section__editor-toolbar{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:6px}.prop-section__editor-tools{display:flex;gap:4px}.prop-section__reset{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:.4px;padding:3px 8px;text-transform:none}.prop-section__reset:hover{border-color:var(--accent);color:var(--accent)}.prop-section__editor{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);font-size:var(--text-sm);line-height:1.5;min-height:80px;padding:10px 12px}.prop-section__editor:focus{outline:2px solid var(--accent-ring);outline-offset:-2px}.prop-section__editor:empty:before{color:var(--text-muted);content:attr(data-placeholder);font-style:italic}.prop-section__hint{color:var(--text-muted);font-size:10px;font-style:italic;line-height:1.4;margin-top:6px}.ui-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-weight:600;gap:8px;justify-content:center;letter-spacing:.01em;transition:all var(--motion-fast) var(--motion-ease);-webkit-user-select:none;user-select:none;white-space:nowrap}.ui-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-btn.is-loading,.ui-btn:disabled{cursor:not-allowed;opacity:.55}.ui-btn--block{width:100%}.ui-btn--sm{font-size:11px;padding:6px 10px}.ui-btn--md{font-size:12px;padding:8px 14px}.ui-btn--lg{font-size:14px;padding:12px 20px}.ui-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.ui-btn--primary:hover:not(:disabled):not(.is-loading){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-btn--primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.ui-btn--secondary{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-primary)}.ui-btn--secondary:hover:not(:disabled):not(.is-loading){background:var(--bg-hover);border-color:var(--border-strong)}.ui-btn--ghost{background:#0000;border-color:#0000;color:var(--text-secondary)}.ui-btn--ghost:hover:not(:disabled):not(.is-loading){background:var(--bg-hover);color:var(--text-primary)}.ui-btn--danger{background:var(--bg-surface);border-color:var(--danger);color:var(--danger)}.ui-btn--danger:hover:not(:disabled):not(.is-loading){background:var(--danger-soft)}.ui-btn__spin{animation:ui-spin .9s linear infinite}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-iconbtn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;justify-content:center;transition:all var(--motion-fast) var(--motion-ease)}.ui-iconbtn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-iconbtn--sm{height:26px;width:26px}.ui-iconbtn--md{height:32px;width:32px}.ui-iconbtn--lg{height:40px;width:40px}.ui-iconbtn--ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.ui-iconbtn--default{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-primary)}.ui-iconbtn--default:hover{background:var(--bg-hover);border-color:var(--border-strong)}.ui-iconbtn--danger{color:var(--text-muted)}.ui-iconbtn--danger:hover{background:var(--danger-soft);color:var(--danger)}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-field__label-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.ui-field__label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ui-field__required{color:var(--danger)}.ui-field__action,.ui-field__hint{color:var(--text-muted);font-size:11px}.ui-field__hint{margin-top:-2px}.ui-field__hint--error{color:var(--danger)}.ui-field.is-error .ui-input{border-color:var(--danger)}.ui-input{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);padding:9px 12px;transition:all var(--motion-fast) var(--motion-ease);width:100%}.ui-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.ui-input::placeholder{color:var(--text-muted)}.ui-input:disabled{cursor:not-allowed;opacity:.55}.ui-textarea{min-height:72px;resize:vertical}.ui-select{cursor:pointer}.ui-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.ui-card--bare{background:#0000;border:none}.ui-card--p-sm .ui-card__body{padding:var(--space-3)}.ui-card--p-md .ui-card__body{padding:var(--space-5)}.ui-card--p-lg .ui-card__body{padding:var(--space-6)}.ui-card__header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4) var(--space-5)}.ui-card--p-sm .ui-card__header{padding:var(--space-3)}.ui-card--p-lg .ui-card__header{padding:var(--space-5) var(--space-6)}.ui-card__title{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-md);font-weight:600;letter-spacing:-.005em;margin:0}.ui-card__subtitle{color:var(--text-muted);font-size:12px;margin:4px 0 0}.ui-card__actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.ui-toggle{align-items:center;cursor:pointer;display:inline-flex;gap:8px;-webkit-user-select:none;user-select:none}.ui-toggle input{opacity:0;pointer-events:none;position:absolute}.ui-toggle__track{background:var(--border-default);border-radius:var(--radius-pill);flex-shrink:0;position:relative;transition:background var(--motion-fast) var(--motion-ease)}.ui-toggle__thumb{background:var(--bg-canvas);border-radius:var(--radius-circle);box-shadow:var(--shadow-sm);left:2px;position:absolute;top:2px;transition:transform var(--motion-base) var(--motion-ease)}.ui-toggle--md .ui-toggle__track{height:18px;width:32px}.ui-toggle--md .ui-toggle__thumb{height:14px;width:14px}.ui-toggle--md input:checked+.ui-toggle__track .ui-toggle__thumb{transform:translateX(14px)}.ui-toggle--mini .ui-toggle__track{height:14px;width:24px}.ui-toggle--mini .ui-toggle__thumb{height:10px;width:10px}.ui-toggle--mini input:checked+.ui-toggle__track .ui-toggle__thumb{transform:translateX(10px)}.ui-toggle input:checked+.ui-toggle__track{background:var(--accent)}.ui-toggle input:focus-visible+.ui-toggle__track{box-shadow:var(--focus-ring)}.ui-toggle__label{color:var(--text-secondary);font-size:var(--text-sm)}.ui-toggle--mini .ui-toggle__label{color:var(--text-muted);font-size:11px}.ui-toggle.is-disabled{cursor:not-allowed;opacity:.5}.ui-empty{flex-direction:column;padding:var(--space-12) var(--space-6);text-align:center}.ui-empty,.ui-empty__icon{align-items:center;color:var(--text-muted);display:flex;justify-content:center}.ui-empty__icon{background:var(--bg-hover);border-radius:var(--radius-circle);height:56px;margin-bottom:var(--space-4);width:56px}.ui-empty__title{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;margin:0 0 4px}.ui-empty__desc{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-4) 0;max-width:420px}.ui-empty__action{margin-top:var(--space-2)}@keyframes ui-skel-pulse{0%,to{opacity:1}50%{opacity:.55}}.ui-skel{display:flex;flex-direction:column;gap:10px}.ui-skel--card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4)}.ui-skel__line{animation:ui-skel-pulse 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--bg-hover) 0,var(--bg-active) 50%,var(--bg-hover) 100%);background-size:200% 100%;border-radius:var(--radius-xs);height:11px;width:100%}.ui-skel__line--title{height:16px;margin-bottom:4px;width:40%}.style-collapser{align-items:center;background:#0000;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.06em;margin-top:var(--space-4);padding:8px 12px;text-transform:uppercase;transition:all var(--motion-fast) var(--motion-ease)}.style-collapser:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.style-collapser__hint{color:var(--text-muted);font-size:11px;font-weight:400;letter-spacing:0;margin-left:4px;text-transform:none}.help-btn{background:var(--accent-soft);border:1px solid var(--border-accent);color:var(--accent);flex-shrink:0;transition:all var(--motion-fast) var(--motion-ease)}.help-btn:hover{background:var(--accent);box-shadow:var(--shadow-sm);color:var(--accent-fg);transform:translateY(-1px)}.help-modal{border:1px solid var(--accent)!important;max-width:720px;overflow:hidden;position:relative}.help-modal:before{background:linear-gradient(90deg,var(--accent),var(--accent-hover),var(--accent));content:"";height:4px;left:0;position:absolute;right:0;top:0}.help-modal__header{align-items:center;color:var(--accent);display:flex;gap:var(--space-3);margin:var(--space-2) 0 var(--space-3)}.help-modal__title{color:var(--accent);font-family:var(--font-serif);font-size:var(--text-2xl);letter-spacing:-.01em;margin:0}.help-modal__intro{border-bottom:1px solid var(--border-accent);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0 0 var(--space-5);padding-bottom:var(--space-4)}.help-modal__features{display:flex;flex-direction:column;gap:var(--space-4);list-style:none;margin:0 0 var(--space-5);padding:0}.help-feature{font-size:var(--text-sm);padding-left:var(--space-5);position:relative}.help-feature:before{background:var(--accent);border-radius:var(--radius-circle);box-shadow:0 0 0 3px var(--accent-soft);content:"";height:8px;left:0;position:absolute;top:5px;width:8px}.help-feature__name{color:var(--accent);display:block;font-size:var(--text-base);margin-bottom:2px}.help-feature__desc{color:var(--text-secondary);line-height:var(--leading-snug)}.help-tips{align-items:flex-start;background:var(--accent-soft);border:1px solid var(--border-accent);border-left:4px solid var(--accent);border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-size:var(--text-sm);gap:var(--space-3);padding:var(--space-4) var(--space-5)}.help-tips>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.help-tips__item{margin:0 0 4px}.help-tips__item:last-child{margin-bottom:0}.app-layout{background:var(--bg-canvas);display:grid;grid-template-columns:248px 1fr;min-height:100vh}.app-layout__main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.app-layout__content{container-name:page;container-type:inline-size;flex:1 1;padding:var(--space-6) var(--space-8) var(--space-8)}.app-sidebar{background:var(--bg-sunken);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-sidebar__brand{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;padding:18px 18px 14px}.app-sidebar__brand-mark{align-items:center;background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-fg);display:flex;font-family:var(--font-serif);font-size:16px;font-weight:700;height:32px;justify-content:center;letter-spacing:0;width:32px}.app-sidebar__brand-text{display:flex;flex-direction:column;line-height:1.1}.app-sidebar__brand-title{color:var(--text-primary);font-family:var(--font-serif);font-size:14px;font-weight:700;letter-spacing:.08em}.app-sidebar__brand-sub{color:var(--text-muted);font-size:10px;letter-spacing:.06em;margin-top:2px;text-transform:uppercase}.app-sidebar__search{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;gap:8px;margin:14px 14px 6px;padding:8px 10px;text-align:left;transition:all var(--motion-fast) var(--motion-ease)}.app-sidebar__search:hover{background:var(--bg-elevated);border-color:var(--border-default);color:var(--text-secondary)}.app-sidebar__search>span{flex:1 1}.app-sidebar__kbd{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-muted);font-family:var(--font-mono);font-size:10px;padding:1px 6px}.app-sidebar__nav{flex:1 1;overflow-y:auto;padding:8px 0}.app-sidebar__group{padding:8px 0}.app-sidebar__group-label{color:var(--text-muted);display:block;font-size:10px;font-weight:600;letter-spacing:.08em;padding:8px 18px 6px;text-transform:uppercase}.app-sidebar__list{list-style:none;margin:0;padding:0}.app-sidebar__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:12.5px;font-weight:500;gap:10px;margin:1px 6px;padding:8px 12px;position:relative;text-align:left;transition:all var(--motion-fast) var(--motion-ease);width:calc(100% - 12px)}.app-sidebar__item:hover{background:var(--bg-hover);color:var(--text-primary)}.app-sidebar__item.is-active{background:var(--bg-active);color:var(--text-primary);font-weight:600}.app-sidebar__item.is-active:before{background:var(--accent);border-radius:1px;bottom:8px;content:"";left:-6px;position:absolute;top:8px;width:2px}.app-sidebar__item-label{flex:1 1}.app-sidebar__dirty{background:var(--accent);border-radius:var(--radius-circle);flex-shrink:0;height:6px;width:6px}.app-sidebar__footer{border-top:1px solid var(--border-subtle);padding:10px 12px 14px}.user-menu{position:relative}.user-menu__trigger{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:10px;padding:8px 10px;text-align:left;transition:all var(--motion-fast) var(--motion-ease);width:100%}.user-menu__trigger.is-open,.user-menu__trigger:hover{background:var(--bg-hover);border-color:var(--border-subtle)}.user-menu__avatar{align-items:center;background:var(--accent-soft);border:1px solid var(--border-accent);border-radius:var(--radius-circle);color:var(--accent);display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;width:32px}.user-menu__avatar--lg{font-size:16px;height:40px;width:40px}.user-menu__name-wrap{display:flex;flex:1 1;flex-direction:column;min-width:0}.user-menu__name{color:var(--text-primary);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__sub{color:var(--text-muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.user-menu__chevron{color:var(--text-muted);transition:transform var(--motion-fast) var(--motion-ease)}.user-menu__trigger.is-open .user-menu__chevron{transform:rotate(180deg)}.user-menu__panel{animation:userMenuIn var(--motion-base) var(--motion-ease);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);bottom:calc(100% + 6px);box-shadow:var(--shadow-lg);left:0;padding:6px;position:absolute;right:0;z-index:110}@keyframes userMenuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user-menu__header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;margin-bottom:4px;padding:8px 10px 10px}.user-menu__header-text{flex:1 1;min-width:0}.user-menu__header-name{color:var(--text-primary);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__header-sub{color:var(--text-muted);font-size:11px;margin-top:2px}.user-menu__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:12.5px;font-weight:500;gap:10px;padding:9px 10px;text-align:left;transition:all var(--motion-fast) var(--motion-ease);width:100%}.user-menu__item:hover{background:var(--bg-hover);color:var(--text-primary)}.user-menu__item--danger{color:var(--danger)}.user-menu__item--danger:hover{background:var(--danger-soft);color:var(--danger)}.user-menu__divider{background:var(--border-subtle);height:1px;margin:4px 6px}.app-mobile-bar{align-items:center;background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle);display:none;gap:12px;padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:90}.app-mobile-bar__burger,.app-mobile-bar__search{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.app-mobile-bar__brand{color:var(--text-primary);flex:1 1;font-family:var(--font-serif);font-size:13px;font-weight:700;letter-spacing:.08em}.app-sidebar__overlay{display:none}@media (max-width:879px){.app-layout{grid-template-columns:1fr}.app-mobile-bar{display:flex}.app-sidebar{bottom:0;box-shadow:var(--shadow-xl);left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform var(--motion-base) var(--motion-ease);width:280px}.app-sidebar.is-open{transform:translateX(0)}.app-sidebar__overlay{background:#00000080;display:block;inset:0;position:fixed;z-index:99}.app-layout__content{padding:var(--space-4)}}.app-page-header{align-items:center;background:var(--bg-canvas);display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);justify-content:space-between;margin:calc(var(--space-6)*-1) calc(var(--space-8)*-1) var(--space-6);padding:var(--space-5) var(--space-8)}.app-page-header.is-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-page-header__back{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;margin-right:var(--space-2);width:36px}.app-page-header__back:hover{background:var(--bg-hover);border-color:var(--border-strong)}.app-page-header__heading{flex:1 1 320px;min-width:0}.app-page-header__title-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.app-page-header__title{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;line-height:1.1;margin:0 0 4px}.app-page-header__meta{align-items:center;display:inline-flex;gap:var(--space-2);margin-bottom:2px}.app-page-header__sub{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);margin:0}.app-page-header__right{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);justify-content:flex-end;min-width:0}.app-page-header__status{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:6px}.app-page-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);min-width:0}@container page (max-width: 680px){.app-page-header__title{font-size:var(--text-xl)}.app-page-header__right{justify-content:flex-start}}@media (max-width:879px){.app-page-header{margin:calc(var(--space-4)*-1) calc(var(--space-4)*-1) var(--space-4);padding:var(--space-4)}}.editor-tab__split{display:block}.editor-tab--with-preview .editor-tab__split{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.editor-tab__form{container-name:pane;container-type:inline-size;min-width:0}.editor-tab__preview{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);height:calc(100vh - 100px);overflow:hidden;position:-webkit-sticky;position:sticky;top:80px}@container page (max-width: 980px){.editor-tab--with-preview .editor-tab__split{grid-template-columns:1fr}.editor-tab__preview{height:70vh;position:static}}.dash{width:100%}.dash-stats-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr);margin-bottom:var(--space-6)}@container page (max-width: 860px){.dash-stats-grid{grid-template-columns:repeat(2,1fr)}}@container page (max-width: 480px){.dash-stats-grid{grid-template-columns:1fr}}.dash-stat{align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);transition:all var(--motion-fast) var(--motion-ease)}.dash-stat.is-clickable{cursor:pointer}.dash-stat.is-clickable:hover{background:var(--bg-elevated);border-color:var(--border-default);transform:translateY(-1px)}.dash-stat__icon{align-items:center;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.dash-stat--success .dash-stat__icon{background:var(--success-soft);color:var(--success)}.dash-stat--warning .dash-stat__icon{background:var(--warning-soft);color:var(--warning)}.dash-stat__body{flex:1 1;min-width:0}.dash-stat__label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.dash-stat__value{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.1}.dash-stat__hint{color:var(--text-muted);font-size:11px;margin-top:4px}.dash-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr;margin-bottom:var(--space-5)}.dash-grid--unbalanced{grid-template-columns:2fr 1fr}@container page (max-width: 860px){.dash-grid,.dash-grid--unbalanced{grid-template-columns:1fr}}.dash-activity-card{margin-bottom:0}.dash-side-stack{display:flex;flex-direction:column;gap:var(--space-3)}.dash-mini-stat{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4)}.dash-mini-stat__icon{align-items:center;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.dash-mini-stat__body{display:flex;flex-direction:column;min-width:0}.dash-mini-stat__value{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:700;line-height:1}.dash-mini-stat__label{color:var(--text-muted);font-size:11px;letter-spacing:.04em;margin-top:3px;text-transform:uppercase}.dash-followup{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.dash-followup__item{align-items:center;border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--space-3);justify-content:space-between;margin:0 calc(var(--space-2)*-1);padding:var(--space-3) var(--space-2);transition:background var(--motion-fast) var(--motion-ease)}.dash-followup__item:hover{background:var(--bg-hover)}.dash-followup__item:last-child{border-bottom:none}.dash-followup__main{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-2);min-width:0}.dash-followup__ref{color:var(--accent);font-family:var(--font-mono);font-size:11px;font-weight:600;white-space:nowrap}.dash-followup__client{color:var(--text-primary);font-size:var(--text-sm);font-weight:500}.dash-followup__trig{color:var(--text-muted);font-size:11px}.dash-followup__right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.dash-followup__amount{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-md);font-weight:600}.dash-followup__age{align-items:center;color:var(--warning);display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:.04em;text-transform:uppercase}.dash-list__item--clickable{border-radius:var(--radius-sm);cursor:pointer;margin:0 calc(var(--space-2)*-1);padding-left:var(--space-2);padding-right:var(--space-2)}.dash-list__item--clickable:hover{background:var(--bg-hover)}.dash-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.dash-list__item{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-3) 0}.dash-list__item:last-child{border-bottom:none}.dash-list__main{display:flex;flex:1 1;flex-direction:column;min-width:0}.dash-list__title{color:var(--text-primary);font-size:var(--text-sm);font-weight:500}.dash-list__sub{color:var(--text-muted);font-size:11px;margin-top:2px}.dash-list__value{color:var(--accent);font-family:var(--font-serif);font-size:var(--text-md);font-weight:600}.dash-activity{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.dash-activity__item{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-3);padding:var(--space-3) 0}.dash-activity__item:last-child{border-bottom:none}.dash-activity__icon{align-items:center;background:var(--bg-hover);border-radius:var(--radius-circle);color:var(--text-secondary);display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.dash-activity__body{flex:1 1;min-width:0}.dash-activity__main{color:var(--text-primary);font-size:var(--text-sm);line-height:1.4}.dash-activity__action{font-weight:500}.dash-activity__detail{color:var(--text-secondary)}.dash-activity__meta{color:var(--text-muted);display:flex;font-size:11px;gap:6px;margin-top:2px}.search-palette__backdrop{animation:fadeIn var(--motion-fast) ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;inset:0;position:fixed;z-index:1000}.search-palette{animation:slideDown var(--motion-base) var(--motion-ease);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;left:50%;max-height:70vh;max-width:calc(100vw - 32px);overflow:hidden;position:fixed;top:12vh;transform:translateX(-50%);width:560px;z-index:1001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.search-palette__head{align-items:center;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);display:flex;gap:12px;padding:14px 16px}.search-palette__input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-family:var(--font-sans);font-size:var(--text-md);outline:none;padding:0}.search-palette__close,.search-palette__input::placeholder{color:var(--text-muted)}.search-palette__close{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);cursor:pointer;display:inline-flex;justify-content:center;padding:4px}.search-palette__close:hover{background:var(--bg-hover);color:var(--text-primary)}.search-palette__results{flex:1 1;min-height:60px;overflow-y:auto;padding:6px 0}.search-palette__empty,.search-palette__hint,.search-palette__loading{color:var(--text-muted);font-size:var(--text-sm);padding:24px 18px;text-align:center}.search-palette__group{padding:4px 0}.search-palette__group-label{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.08em;padding:8px 18px 6px;text-transform:uppercase}.search-palette__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:12px;margin:1px 6px;padding:10px 12px;text-align:left;transition:background var(--motion-fast) var(--motion-ease);width:calc(100% - 12px)}.search-palette__item.is-active{background:var(--bg-active)}.search-palette__item-icon{align-items:center;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.search-palette__item-body{display:flex;flex:1 1;flex-direction:column;min-width:0}.search-palette__item-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:500}.search-palette__item-label,.search-palette__item-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-palette__item-sub{color:var(--text-muted);font-size:11px;margin-top:2px}.search-palette__item-badge{border:1px solid;border-radius:var(--radius-pill);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.06em;padding:2px 8px}.search-palette__foot{align-items:center;background:var(--bg-sunken);border-top:1px solid var(--border-subtle);color:var(--text-muted);display:flex;font-size:10px;gap:14px;padding:8px 16px}.search-palette__foot kbd{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);font-family:var(--font-mono);font-size:9px;margin:0 2px;padding:1px 5px}.lib-import{margin-bottom:var(--space-5)}.lib-import__zone{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-4)}.lib-import__zone.is-dragover{background:var(--accent-soft);border-color:var(--accent)}.lib-import__queue{display:flex;flex-direction:column;gap:4px;list-style:none;margin:var(--space-3) 0 0;padding:0}.lib-import__item{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:6px 10px}.lib-import__name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-import__item.is-ok{color:var(--success)}.lib-import__item.is-duplicate{color:var(--warning)}.lib-import__item.is-error{color:var(--danger)}.lib-toolbar{flex-wrap:wrap;margin-bottom:var(--space-4)}.lib-search,.lib-toolbar{display:flex;gap:var(--space-2)}.lib-search{align-items:center;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);flex:1 1;min-width:220px;padding:0 10px}.lib-search input{background:#0000;border:none;flex:1 1;min-width:0}.lib-search input:focus{border:none;box-shadow:none;outline:none}.lib-table{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.lib-row{grid-gap:var(--space-3);align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:grid;font-size:var(--text-sm);gap:var(--space-3);grid-template-columns:1.2fr 1.2fr 60px 2fr 90px 40px;padding:var(--space-3) var(--space-4);transition:background var(--motion-fast) var(--motion-ease)}.lib-row:hover{background:var(--bg-hover)}.lib-row:last-child{border-bottom:none}.lib-row--head{color:var(--text-muted);cursor:default;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lib-row--head,.lib-row--head:hover{background:var(--bg-sunken)}.lib-name{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:6px}.lib-error-ico{color:var(--danger);flex-shrink:0}.lib-pending-ico{color:var(--warning);flex-shrink:0}.lib-dim{color:var(--text-muted)}.lib-skills{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.lib-skill-chip{background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:11px;padding:1px 8px;white-space:nowrap}.lib-rawtext{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;max-height:320px;overflow:auto;padding:var(--space-3);white-space:pre-wrap}@container page (max-width: 820px){.lib-row{grid-template-columns:1fr 1fr 40px}.lib-row>:nth-child(3),.lib-row>:nth-child(4),.lib-row>:nth-child(5){display:none}}.scan-report>.ui-btn{margin-bottom:var(--space-3)}.scan-offer h3{margin-top:0}.scan-running{color:var(--text-secondary);gap:8px}.scan-running,.scan-warning{align-items:center;display:flex;font-size:var(--text-sm);margin-bottom:var(--space-3)}.scan-warning{background:var(--warning-soft);border-radius:var(--radius-sm);color:var(--warning);gap:6px;padding:6px 10px}.scan-req-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--space-2)}.scan-chip--must{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.scan-req-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-4)}.scan-result{overflow:hidden;padding:0}.scan-result__head{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.scan-result__head:hover{background:var(--bg-hover)}.scan-result__who{display:flex;flex-direction:column;min-width:140px}.scan-verdict{color:var(--text-secondary);flex:1 1;font-size:var(--text-sm);font-style:italic;min-width:200px}.scan-rank{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);width:28px}.scan-score{align-items:center;border:2px solid var(--border-default);border-radius:var(--radius-circle);color:var(--text-secondary);display:inline-flex;flex-shrink:0;font-family:var(--font-serif);font-weight:700;height:40px;justify-content:center;width:40px}.scan-score.is-high{border-color:var(--success);color:var(--success)}.scan-score.is-mid{border-color:var(--warning);color:var(--warning)}.scan-score.is-low{border-color:var(--danger);color:var(--danger)}.scan-result__body{border-top:1px solid var(--border-subtle);padding:var(--space-4)}.scan-exigence{align-items:baseline;display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-2);padding:5px 0}.scan-exigence.is-ok>svg{color:var(--success)}.scan-exigence.is-mid>svg{color:var(--warning)}.scan-exigence.is-ko>svg{color:var(--danger)}.scan-exigence__name{font-weight:600;min-width:130px}.scan-exigence__must{border:1px solid var(--border-accent);border-radius:var(--radius-pill);color:var(--accent);font-size:9px;letter-spacing:.08em;padding:0 6px;text-transform:uppercase}.scan-exigence__preuve{color:var(--text-muted);flex:1 1;font-style:italic;min-width:200px}.scan-pf{grid-gap:var(--space-4);display:grid;font-size:var(--text-sm);gap:var(--space-4);grid-template-columns:1fr 1fr;margin:var(--space-4) 0}.scan-pf .is-ok{color:var(--success)}.scan-pf .is-ko{color:var(--danger)}.scan-pf ul{color:var(--text-secondary);margin:var(--space-2) 0 0;padding-left:var(--space-5)}@container page (max-width: 640px){.scan-pf{grid-template-columns:1fr}}.scan-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.scan-decisions{display:flex;gap:4px;margin-left:auto}.scan-decision-btn{background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:600;padding:5px 12px;transition:all var(--motion-fast) var(--motion-ease)}.scan-decision-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.scan-decision-btn.is-active.is-retenu{background:var(--success-soft);border-color:var(--success);color:var(--success)}.scan-decision-btn.is-active.is-a_recontacter{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.scan-decision-btn.is-active.is-ecarte{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.scan-decision-badge{border-radius:var(--radius-pill);font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.scan-decision-badge.is-retenu{background:var(--success-soft);color:var(--success)}.scan-decision-badge.is-a_recontacter{background:var(--warning-soft);color:var(--warning)}.scan-decision-badge.is-ecarte{background:var(--danger-soft);color:var(--danger)}.scan-quick{margin-top:var(--space-4)}.scan-quick summary{color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);padding:var(--space-2) 0}.scan-quick__row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;font-size:var(--text-sm);gap:var(--space-3);padding:6px var(--space-2)}.scan-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.scan-tab{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:6px;padding:8px 14px}.scan-tab.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.scan-label{color:var(--text-muted);display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;margin-bottom:var(--space-2);text-transform:uppercase}.scan-offer-input{margin-bottom:var(--space-2);min-height:170px;resize:vertical;width:100%}.scan-offer-file{margin-bottom:var(--space-3)}.scan-history-row{grid-template-columns:2fr 1.2fr 90px 90px 1fr}.scan-history-top{color:var(--accent);font-family:var(--font-mono);font-weight:700}@container page (max-width: 700px){.scan-history-row{grid-template-columns:1.5fr 1fr 80px}.scan-history-row>:nth-child(4),.scan-history-row>:nth-child(5){display:none}}.scan-explainer{position:relative}.scan-explainer__close{background:none;border:0;color:var(--text-muted);cursor:pointer;position:absolute;right:var(--space-2);top:var(--space-2)}.scan-explainer__close:hover{color:var(--text-primary)}.scan-explainer__steps{grid-gap:var(--space-3);display:grid;font-size:var(--text-sm);gap:var(--space-3);list-style:none;margin:0;padding:0}.scan-explainer__steps li{align-items:flex-start;display:flex;gap:var(--space-3)}.scan-explainer__steps svg{flex-shrink:0;margin-top:2px}.scan-explainer__steps .is-step1{color:var(--warning)}.scan-explainer__steps .is-step2{color:var(--accent)}.scan-explainer__steps .is-ok{color:var(--success)}.scan-explainer__steps em{color:var(--text-muted)}.scan-batchbar{align-items:center;display:flex;gap:var(--space-3);margin:var(--space-2) 0}.scan-progress{background:var(--border);border-radius:4px;flex:1 1;height:8px;overflow:hidden;position:relative}.scan-progress__bar{background:var(--accent);height:100%;transition:width .3s ease}.scan-progress__bar.is-indeterminate{animation:scanIndet 1.1s ease-in-out infinite;width:40%}.scan-progress__label{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.scan-result__progress,.scan-result__toolbar{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4)}.scan-result__progress .scan-progress{flex:0 1 220px;max-width:220px}@keyframes scanIndet{0%{margin-left:-40%}to{margin-left:100%}}.dossiers-row{grid-template-columns:1.1fr 1.6fr 60px 1fr 1.2fr 110px}.dossiers-trigramme{background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-fg);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 8px}.dossiers-count{color:var(--text-muted);font-size:10px;margin-left:6px}.dossiers-actions{display:flex;gap:4px;justify-content:flex-end}.dossiers-sort{width:auto}@container page (max-width: 820px){.dossiers-row{grid-template-columns:1fr 1.2fr 110px}.dossiers-row>:nth-child(3),.dossiers-row>:nth-child(4),.dossiers-row>:nth-child(5){display:none}}.imports-row{grid-template-columns:1.6fr 1.6fr 1fr 110px}@container page (max-width: 700px){.imports-row{grid-template-columns:1.5fr 110px}.imports-row>:nth-child(2),.imports-row>:nth-child(3){display:none}}.file-upload-zone{align-items:center;background:var(--input-bg);border:2px dashed var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:32px 24px;text-align:center;transition:border-color .2s,background .2s}.file-upload-zone:hover{border-color:var(--accent-color)}.file-upload-zone:focus-visible{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.file-upload-zone--dragover{background:var(--bg-body);border-color:var(--accent-color)}.file-upload-zone--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.file-upload-icon{font-size:32px;line-height:1}.file-upload-label{color:var(--text-main);font-size:15px}.file-upload-hint{color:var(--text-secondary);font-size:13px}.file-upload-filename{color:var(--accent-color);font-size:14px;font-weight:500;margin-top:4px}.file-upload-input{display:none}.toast-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.toast{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px var(--shadow-color);color:var(--text-main);font-size:14px;gap:12px;line-height:1.4;max-width:420px;min-width:300px;padding:14px 18px;pointer-events:auto}.toast,.toast-icon{align-items:center;display:flex}.toast-icon{border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:700;height:22px;justify-content:center;width:22px}.toast-success .toast-icon{background:#22c55e}.toast-error .toast-icon{background:#ef4444}.toast-info .toast-icon{background:var(--accent-color)}.toast-message{flex:1 1}.toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:0 2px;transition:color .15s}.toast-close:hover{color:var(--text-main)}.toast-enter{animation:toast-slide-in .3s ease forwards}.toast-exit{animation:toast-slide-out .25s ease forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(40px)}}.modal-overlay{align-items:center;animation:modal-fade-in .2s ease forwards;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}.modal-content{animation:modal-slide-down .25s ease forwards;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px var(--shadow-color);color:var(--text-main);display:flex;flex-direction:column;max-height:85vh;width:90%}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:780px}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:18px 24px}.modal-header h2{color:var(--text-main);font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:22px;line-height:1;padding:4px 8px;transition:background .15s,color .15s}.modal-close:hover{background:var(--bg-body);color:var(--text-main)}.modal-body{flex:1 1;overflow-y:auto;padding:24px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-message{color:var(--text-main);font-size:15px;line-height:1.5;margin-bottom:24px}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-btn{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .15s,border-color .15s}.confirm-dialog-btn--cancel{background:var(--bg-body);color:var(--text-main)}.confirm-dialog-btn--cancel:hover{background:var(--input-bg)}.confirm-dialog-btn--confirm{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-fg);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.confirm-dialog-btn--confirm:hover{box-shadow:0 6px 18px #dbcca54d;transform:translateY(-1px)}.confirm-dialog-btn--danger{background:#ef4444;border-color:#ef4444;color:#fff}.confirm-dialog-btn--danger:hover{background:#dc2626;border-color:#dc2626}.confirm-dialog-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.password-prompt-form{display:flex;flex-direction:column;gap:16px}.password-prompt-label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:6px}.password-prompt-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-main);font-size:14px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.password-prompt-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring);outline:none}.password-prompt-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:13px;padding:8px 12px}[data-theme=dark] .password-prompt-error{background:#2a1313;border-color:#5b1f1f;color:#fca5a5}
/*# sourceMappingURL=main.835bee01.css.map*/