@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-vietnamese-400-normal-B7Iv8-Rg.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-400-normal-Sle7MYWg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-latin-ext-400-normal-D42HmrHD.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-400-normal-BH175q6o.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-latin-400-normal-A6LyuA6R.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-400-normal-D89K-qEP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-vietnamese-600-normal-Ipewt4hn.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-600-normal-BppAn7jL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-ext-600-normal-CN5JKkBm.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-600-normal-DF26P3Q7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-vietnamese-700-normal-BLYPkJbo.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-700-normal-CHrFuVHU.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-ext-700-normal-fBkt-7fi.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-700-normal-BXpPFNFj.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-700-normal-gtcctNPv.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-700-normal-DvJDmrLu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-950:#06302b;--brand-900:#0a4138;--brand-800:#0c5246;--brand-700:#0e6356;--brand-600:#117a6a;--brand-500:#169685;--brand-400:#3db3a1;--brand-200:#a8d9d0;--brand-100:#d5ece8;--brand-50:#eaf5f2;--clay-700:#9c3b1b;--clay-600:#bc4a22;--clay-500:#d9692e;--clay-400:#e78a4f;--clay-200:#f4c9ac;--clay-100:#fae4d4;--clay-50:#fcf0e7;--ink-950:#16140f;--ink-900:#211e18;--ink-800:#322e26;--ink-700:#4b463c;--ink-600:#645e51;--ink-500:#847d6e;--ink-400:#a9a192;--ink-300:#c9c2b4;--ink-200:#e2dcd0;--ink-150:#eae5db;--ink-100:#f1ece3;--ink-50:#f7f3ec;--surface:#fff;--surface-2:#fcfaf6;--bg:#f6f2ea;--bg-sunken:#efe9df;--st-free:#1e9e6a;--st-free-bg:#e6f6ee;--st-free-ring:#bfe8d4;--st-occ:#2563c9;--st-occ-bg:#e7eefb;--st-occ-ring:#c4d6f6;--st-dirty:#d98a0b;--st-dirty-bg:#fbf0d8;--st-dirty-ring:#f2d89b;--st-oos:#6b7280;--st-oos-bg:#efeeec;--st-oos-ring:#d8d6d1;--st-open:#645e51;--st-open-bg:#f1ece3;--st-paid:#1e9e6a;--st-paid-bg:#e6f6ee;--st-due:#d6453c;--st-due-bg:#fceae8;--st-due-ring:#f3c9c5;--ok:#1e9e6a;--ok-bg:#e6f6ee;--info:#2563c9;--info-bg:#e7eefb;--warn:#d98a0b;--warn-bg:#fbf0d8;--danger:#d6453c;--danger-bg:#fceae8;--font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--r-xs:6px;--r-sm:9px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--sh-xs:0 1px 2px #211e180f;--sh-sm:0 1px 3px #211e1814, 0 1px 2px #211e180a;--sh-md:0 4px 12px #211e1814, 0 2px 4px #211e180d;--sh-lg:0 12px 32px #211e181f, 0 4px 8px #211e180f;--sh-xl:0 24px 60px #141e1c33;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--ink-900);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ink-300);background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.card{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.card-pad{padding:20px}.row{align-items:center;display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.muted{color:var(--ink-600)}.h-title{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}.mono{font-family:var(--font-mono)}.fade{animation:.26s fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.kpi{border:1px solid var(--ink-150);border-radius:var(--r-md);background:var(--surface);padding:16px}.kpi .k-top{justify-content:space-between;align-items:center;display:flex}.kpi .k-ico{border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.kpi .k-lab{color:var(--ink-600);margin-top:14px;font-size:12px;font-weight:500}.kpi .k-val{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:1px;font-size:28px;font-weight:700}.kpi .k-trend{align-items:center;gap:4px;margin-top:7px;font-size:11.5px;font-weight:600;display:inline-flex}.badge{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge .bd{border-radius:50%;width:6px;height:6px}.badge-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}table.dense{border-collapse:collapse;width:100%;font-size:13px}table.dense thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-600);border-bottom:1px solid var(--ink-150);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0 14px 11px;font-size:10.5px;font-weight:600}table.dense thead th:hover{color:var(--ink-700)}table.dense thead th .th-sort{align-items:center;gap:4px;display:inline-flex}table.dense tbody td{border-bottom:1px solid var(--ink-100);padding:12px 14px}table.dense tbody tr{cursor:pointer}table.dense tbody tr:hover{background:var(--surface-2)}table.dense tbody tr:focus-visible{outline:2px solid var(--brand-600);outline-offset:-2px;background:var(--surface-2)}table.dense tbody tr:last-child td{border-bottom:none}table.dense .num{font-variant-numeric:tabular-nums;text-align:right}.cust{align-items:center;gap:10px;display:flex}.av-sm{background:var(--brand-100);width:28px;height:28px;color:var(--brand-800);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.btn{font-family:var(--font-sans);border-radius:var(--r-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:13.5px;font-weight:600;transition:all .12s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.btn-primary{background:var(--brand-700);color:#fff}.btn-primary:hover{background:var(--brand-800)}.btn-clay{background:var(--clay-500);color:#fff}.btn-clay:hover{background:var(--clay-600)}.btn-ghost{background:var(--surface);color:var(--ink-800);border-color:var(--ink-200)}.btn-ghost:hover{border-color:var(--ink-300);background:var(--surface-2)}.btn-sm{min-height:40px;padding:8px 12px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-700);font-size:12px;font-weight:600}.field input,.field select,.field textarea{border-radius:var(--r-sm);border:1.5px solid var(--ink-200);background:var(--surface);color:var(--ink-900);padding:10px 12px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-50);outline:none}.field input::placeholder{color:var(--ink-400)}.field-eye{display:flex;position:relative}.field-eye>input{width:100%;padding-right:46px}.field-eye-btn{width:44px;color:var(--ink-500);border-radius:0 calc(var(--r-sm) - 1px) calc(var(--r-sm) - 1px) 0;background:0 0;border:none;place-items:center;transition:color .12s,background .12s;display:grid;position:absolute;top:1px;bottom:1px;right:1px}.field-eye-btn:hover{color:var(--ink-800);background:var(--ink-100)}.field-eye-btn:focus-visible{outline:2px solid var(--brand-600);outline-offset:-2px}.room{aspect-ratio:1;border-radius:var(--r-sm);cursor:pointer;border:1.5px solid;flex-direction:column;justify-content:space-between;padding:9px;transition:transform .12s,box-shadow .12s;display:flex}.room:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.room:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}.room .rn{font-size:14px;font-weight:700}.room .rt{opacity:.75;font-size:10px}.room .rs{border-radius:50%;width:8px;height:8px}.pay-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.pay{border:1.5px solid var(--ink-150);border-radius:var(--r-md);cursor:pointer;background:var(--surface);text-align:left;align-items:center;gap:12px;min-height:44px;padding:13px;transition:border-color .12s,background .12s;display:flex}.pay:hover{border-color:var(--brand-400)}.pay:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.pay.sel{border-color:var(--brand-600);background:var(--brand-50)}.pay.pay-full{grid-column:1/-1}.pay .pm-logo{color:#fff;border-radius:9px;flex:none;place-items:center;width:40px;height:40px;font-size:11px;font-weight:700;display:grid}.pay .pm-logo.dark{color:#222}.pay .pay-info{flex:1;min-width:0}.pay .pl{font-size:13.5px;font-weight:600}.pay .ps{color:var(--ink-600);font-size:11.5px}.pay .pay-check{color:var(--brand-600);flex:none;margin-left:auto}.app-reception{background:var(--bg);grid-template-columns:232px 1fr;width:100%;min-height:100vh;display:grid}.sidebar{background:var(--brand-950);color:#fff;flex-direction:column;gap:4px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sb-brand{align-items:center;gap:11px;padding:4px 8px 18px;display:flex}.sb-brand .wm{font-family:var(--font-display);color:#fff;font-size:19px;font-weight:700}.sb-hotel{border-bottom:1px solid #ffffff1a;margin-bottom:8px;padding:0 8px 16px}.sb-hotel .hn{font-size:13.5px;font-weight:600}.sb-hotel .hc{color:var(--brand-200);margin-top:1px;font-size:11.5px}.sb-sec{letter-spacing:.12em;text-transform:uppercase;color:#ffffff5c;padding:14px 8px 6px;font-size:10px;font-weight:600}.nav-item{color:#ffffffbd;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;min-height:44px;padding:9px 10px;font-size:13.5px;font-weight:500;transition:all .12s;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.on{background:var(--brand-700);color:#fff}.nav-item:focus-visible{outline:2px solid var(--brand-200);outline-offset:-2px}.nav-item .ni-ico{opacity:.92;flex:none;width:18px;height:18px}.nav-item .badge-n{background:var(--clay-500);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.sb-user{border-top:1px solid #ffffff1a;align-items:center;gap:10px;margin-top:auto;padding:10px 8px 2px;display:flex}.sb-user .av{background:var(--brand-600);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.sb-user .un{font-size:13px;font-weight:600}.sb-user .ur{color:var(--brand-200);font-size:11px}.main-content{flex-direction:column;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-150);z-index:20;background:#ffffffd9;align-items:center;gap:16px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .pg-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:21px;font-weight:700}.topbar .pg-sub{color:var(--ink-600);font-size:12.5px}.topbar-search{background:var(--ink-100);border:1px solid var(--ink-150);width:260px;color:var(--ink-600);border-radius:10px;align-items:center;gap:9px;margin-left:auto;padding:8px 13px;font-size:13px;display:flex}.topbar-search input{width:100%;color:var(--ink-800);background:0 0;border:none;outline:none;font-family:inherit;font-size:13px}.topbar-search input:focus-visible{outline:none}.page-content{flex:1;padding:28px}.phone-screen{background:var(--bg);flex-direction:column;min-height:100%;display:flex}.m-scroll{flex:1;overflow:hidden auto}.m-tabbar{background:var(--surface);border-top:1px solid var(--ink-150);flex:none;padding:8px 6px 22px;display:flex}.m-tab{color:var(--ink-600);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:44px;min-height:44px;padding:4px;font-size:10px;font-weight:600;display:flex}.m-tab:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:var(--r-xs)}.m-tab.on{color:var(--brand-700)}.hk-header{background:var(--surface);border-bottom:1px solid var(--ink-150);padding:6px 20px 16px}.hk-room-btn{text-align:left;cursor:pointer;border:1.5px solid;border-radius:14px;align-items:center;gap:14px;width:100%;min-height:56px;margin-bottom:10px;padding:16px;font-family:inherit;transition:opacity .12s;display:flex}.hk-room-btn:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.rcp-mtop,.rcp-mtabs{display:none}@media (width<=860px){.app-reception{min-height:100dvh;display:block}.sidebar{display:none}.rcp-mtop{z-index:30;padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top));background:var(--brand-950);color:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.rcp-mtop-brand{min-width:0;font-family:var(--font-display);align-items:center;gap:9px;font-size:16px;font-weight:700;display:flex}.rcp-mtop-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rcp-mtop-logout{color:#fff;background:#ffffff1f;border:none;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.rcp-mtop-logout:focus-visible{outline:2px solid var(--brand-200);outline-offset:2px}.topbar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex-wrap:wrap;height:auto;padding:12px 14px;position:static}.topbar-search{order:3;width:100%;margin-left:0}.page-content{padding:16px 14px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.rcp-mtabs{z-index:30;background:var(--surface);border-top:1px solid var(--ink-150);padding:6px 4px;padding-bottom:calc(6px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #211e180d}.rcp-mtabs .m-tab-ico{place-items:center;height:22px;display:grid;position:relative}.rcp-mtabs .m-tab-lbl{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1.1;overflow:hidden}.rcp-mtabs .m-tab-badge{background:var(--clay-500);color:#fff;border-radius:999px;place-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9px;font-weight:700;display:grid;position:absolute;top:-4px;left:100%;transform:translate(-8px)}}.login{background:var(--surface);grid-template-columns:1.08fr 1fr;min-height:100dvh;display:grid}.login-aside{gap:var(--s-8);padding:clamp(var(--s-8), 4vw, var(--s-16));color:#fff;background:radial-gradient(120% 80% at 12% 8%, var(--brand-700) 0%, transparent 55%), linear-gradient(160deg, var(--brand-900) 0%, var(--brand-950) 100%);isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:hidden}.login-aside-brand{align-items:center;gap:var(--s-3);display:flex}.login-wordmark{font-family:var(--font-display);letter-spacing:-.02em;font-size:24px;font-weight:700}.login-aside-lede{max-width:17ch;margin-top:auto}.login-aside-lede h1{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(30px,3.4vw,44px);font-weight:600;line-height:1.08}.login-aside-lede p{margin:var(--s-5) 0 0;max-width:34ch;color:var(--brand-100);font-size:15px;line-height:1.6}.login-aside-domaines{gap:var(--s-2) var(--s-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.login-aside-domaines li{border-radius:var(--r-pill);color:var(--brand-100);background:#ffffff0f;border:1px solid #ffffff24;padding:5px 11px;font-size:12.5px;font-weight:500}.login-aside-sign{letter-spacing:.04em;color:var(--brand-200);font-size:12px}.login-roofline{color:#fff;opacity:.08;z-index:-1;pointer-events:none;width:100%;height:clamp(120px,22vh,220px);position:absolute;bottom:0;left:0;right:0}.login-panel{padding:var(--s-8) var(--s-5);place-items:center;display:grid}.login-form-wrap{width:100%;max-width:372px}.login-form-brand{align-items:center;gap:var(--s-3);margin-bottom:var(--s-8);display:none}.login-form-brand span{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-900);font-size:22px;font-weight:700}.login-head{margin-bottom:var(--s-6)}.login-head h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-900);margin:0;font-size:26px;font-weight:600}.login-head p{margin:var(--s-2) 0 0;color:var(--ink-600);font-size:14px}.login-panel form{gap:var(--s-4);flex-direction:column;display:flex}.login-panel form .btn{margin-top:var(--s-2)}.login-error{border-radius:var(--r-sm);background:var(--danger-bg);border:1px solid var(--st-due-ring);color:var(--clay-700);margin:0;padding:10px 12px;font-size:13px;font-weight:600}@media (prefers-reduced-motion:no-preference){.login-aside-brand,.login-aside-lede,.login-aside-domaines,.login-aside-sign,.login-form-wrap{animation:.5s cubic-bezier(.22,1,.36,1) both login-rise}.login-aside-lede{animation-delay:60ms}.login-aside-domaines{animation-delay:.12s}.login-aside-sign{animation-delay:.16s}}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=880px){.login{background:var(--bg);grid-template-columns:1fr}.login-aside{display:none}.login-form-brand{display:flex}.login-panel{padding:var(--s-6) var(--s-5)}}.settings-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.settings-tab{font-family:var(--font-sans);border-radius:var(--r-sm);border:1px solid var(--ink-200);background:var(--surface);color:var(--ink-700);cursor:pointer;min-height:40px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .12s}.settings-tab:hover{border-color:var(--ink-300);background:var(--surface-2)}.settings-tab.active{background:var(--brand-700);color:#fff;border-color:var(--brand-700)}.settings-tab:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.section-header{border-bottom:1px solid var(--ink-150);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.section-header h2{font-family:var(--font-display);color:var(--ink-900);margin:0;font-size:15px;font-weight:700}.inline-form{border-bottom:1px solid var(--ink-150);background:var(--surface-2);flex-direction:column;gap:16px;padding:20px;display:flex}.inline-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.inline-form-actions{justify-content:flex-end;gap:10px;display:flex}tr.row-inactif td{opacity:.5}.av-sm{border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:grid}.section-message{color:var(--ink-600);padding:24px 20px;font-size:13px}.sejours-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.sejours-tabs{flex-wrap:wrap;gap:6px;display:flex}.sejours-tab{font-family:var(--font-sans);border-radius:var(--r-sm);border:1px solid var(--ink-200);background:var(--surface);color:var(--ink-700);cursor:pointer;align-items:center;gap:6px;min-height:34px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .12s;display:flex}.sejours-tab:hover{border-color:var(--ink-300);background:var(--surface-2)}.sejours-tab.active{background:var(--brand-700);color:#fff;border-color:var(--brand-700)}.sejours-tab-badge{background:var(--st-due);color:#fff;border-radius:999px;padding:0 6px;font-size:10px;font-weight:700;line-height:18px}.sejours-tab.active .sejours-tab-badge{color:var(--st-due);background:#fff}.sejours-actions{align-items:center;gap:8px;display:flex}.sejours-search{border:1px solid var(--ink-200);border-radius:var(--r-sm);background:var(--surface);align-items:center;gap:6px;min-width:200px;padding:0 10px;display:flex}.sejours-search input{color:var(--ink-900);background:0 0;border:none;outline:none;width:100%;padding:7px 0;font-size:13px}.sejours-search input::placeholder{color:var(--ink-400)}.guest-av{background:var(--brand-100);width:32px;height:32px;color:var(--brand-800);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.guest-av.walk-in{background:var(--clay-100);color:var(--clay-700)}.guest-cell{align-items:center;gap:10px;display:flex}.guest-name{font-size:13.5px;font-weight:600}.guest-id{color:var(--ink-400);font-size:11px}.solde-du{color:var(--st-due);font-weight:700}.solde-ok{color:var(--ink-400)}.origine-walkin{color:var(--clay-600);font-size:11.5px;font-weight:600}.origine-resa{color:var(--ink-500);font-size:11.5px;font-weight:600}.sejour-detail-grid{grid-template-columns:1.4fr 1fr;gap:22px;display:grid}@media (width<=800px){.sejour-detail-grid{grid-template-columns:1fr}}.sejour-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.sejour-guest-row{align-items:center;gap:14px;display:flex}.guest-av-lg{background:var(--brand-100);width:46px;height:46px;color:var(--brand-800);border-radius:50%;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.sejour-guest-name{color:var(--ink-900);font-size:20px;font-weight:700;line-height:1.2}.sejour-guest-sub{color:var(--ink-400);margin-top:2px;font-size:12.5px}.sejour-meta-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}@media (width<=600px){.sejour-meta-grid{grid-template-columns:repeat(2,1fr)}}.sejour-meta-card{background:var(--ink-50);border-radius:10px;padding:10px 12px}.sejour-meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-400);font-size:10.5px;font-weight:600}.sejour-meta-value{color:var(--ink-900);margin-top:2px;font-size:14px;font-weight:600}.sejour-actions-row{flex-wrap:wrap;gap:8px;display:flex}.note-panel-label{color:var(--ink-400);margin-bottom:10px;font-size:12px;font-weight:600}.note-panel-amount{font-variant-numeric:tabular-nums;color:var(--ink-900);margin-bottom:4px;font-size:30px;font-weight:700;line-height:1.1}.note-panel-status{margin-bottom:18px;font-size:13px;font-weight:600}.note-panel-empty{color:var(--ink-400);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:30px 0;font-size:13px;display:flex}.nouveau-sejour-wrapper{max-width:760px;margin:0 auto}.mode-seg{background:var(--ink-100);border-radius:10px;gap:2px;margin-bottom:22px;padding:4px;display:inline-flex}.mode-seg-btn{cursor:pointer;color:var(--ink-500);background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .12s}.mode-seg-btn.active{background:var(--surface);color:var(--brand-800);box-shadow:var(--sh-sm)}.form-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.form-grid-2{grid-template-columns:1fr}}.walkin-notice{background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-800);border-radius:12px;align-items:center;gap:11px;margin-top:18px;padding:14px;font-size:13px;display:flex}.form-footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.plan-layout{align-items:flex-start;gap:22px;display:flex}.plan-main{flex:1;min-width:0}.plan-filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.plan-filter-btn{border-radius:var(--r-sm);border:1px solid var(--ink-200);background:var(--surface);color:var(--ink-700);cursor:pointer;align-items:center;gap:6px;min-height:34px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .12s;display:inline-flex}.plan-filter-btn:hover{border-color:var(--ink-300);background:var(--surface-2)}.plan-filter-btn.active{background:var(--brand-700);color:#fff;border-color:var(--brand-700)}.plan-filter-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.plan-group{margin-bottom:28px}.plan-group-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-400);margin-bottom:12px;padding-left:2px;font-size:11px;font-weight:700}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;display:grid}.room-tile{border:1.5px solid var(--ink-150);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:96px;padding:13px;transition:all .12s;display:flex}.room-tile:hover{box-shadow:var(--sh-sm)}.room-tile-top{justify-content:space-between;align-items:flex-start;display:flex}.room-tile-numero{font-family:var(--font-display);color:var(--ink-900);font-size:18px;font-weight:700;line-height:1.1}.room-tile-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:3px}.room-tile-statut{font-size:11px;font-weight:600;line-height:1.2}.room-detail-panel{flex:none;width:290px;position:sticky;top:152px}.room-detail-empty{text-align:center;color:var(--ink-400);flex-direction:column;align-items:center;gap:0;padding:40px 0;display:flex}.room-detail-empty-title{color:var(--ink-500);margin-top:12px;font-size:13.5px;font-weight:500}.room-detail-empty-sub{color:var(--ink-400);margin-top:4px;font-size:12px}.room-detail-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.room-detail-title{font-family:var(--font-display);color:var(--ink-900);font-size:26px;font-weight:700;line-height:1.1}.room-detail-meta{margin-bottom:16px;font-size:13px}.room-detail-error{color:var(--danger);margin:0 0 8px;font-size:11px}.room-detail-actions{flex-direction:column;gap:8px;margin-top:12px;display:flex}@media (width<=700px){.plan-layout{flex-direction:column}.room-detail-panel{width:100%;position:static}}.cal{flex-direction:column;gap:14px;display:flex}.cal-bar{justify-content:space-between;align-items:center;display:flex}.cal-month{font-family:var(--font-display,"Bricolage Grotesque"), system-ui;color:var(--ink-950);text-transform:capitalize;font-size:19px;font-weight:600}.cal-nav{gap:6px;display:flex}.cal-msg{color:var(--ink-500);padding:8px 2px;font-size:14px}.cal-gridview{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-dow{text-align:center;color:var(--ink-400);padding-bottom:2px;font-size:11px;font-weight:700}.cal-cell{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-sm);cursor:pointer;text-align:left;min-height:72px;font:inherit;flex-direction:column;align-items:flex-start;gap:6px;padding:8px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex}.cal-cell:hover{border-color:var(--ink-200);box-shadow:var(--sh-sm)}.cal-cell-vide{cursor:default;background:0 0;border-color:#0000;min-height:0}.cal-cell-today .cal-day-num{background:var(--brand-700);color:#fff}.cal-cell-sel{border-color:var(--brand-500);box-shadow:0 0 0 2px var(--brand-50)}.cal-day-num{color:var(--ink-700);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12.5px;font-weight:600;display:grid}.cal-day-dots{flex-wrap:wrap;gap:4px;display:flex}.cal-pill{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:1px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.cal-pill-arr{color:var(--st-free);background:var(--st-free-bg)}.cal-pill-dep{color:var(--clay-700);background:var(--clay-50)}.cal-detail{position:sticky;top:12px}.cal-panel{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-lg);box-shadow:var(--sh-sm);flex-direction:column;gap:14px;padding:16px;display:flex}.cal-panel-titre{color:var(--ink-950);text-transform:capitalize;font-size:14px;font-weight:600}.cal-vide{color:var(--ink-400);margin:0;font-size:13px}.cal-groupe{flex-direction:column;gap:8px;display:flex}.cal-eyebrow{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.cal-eyebrow-arr{color:var(--st-free)}.cal-eyebrow-dep{color:var(--clay-600)}.cal-mvt{border:1px solid var(--ink-150);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;text-align:left;width:100%;font:inherit;align-items:center;gap:10px;padding:8px;transition:border-color .12s,background .12s;display:flex}.cal-mvt:hover{border-color:var(--ink-200);background:var(--surface-2)}.cal-av{border-radius:999px;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.cal-av-arr{background:var(--st-free-bg);color:var(--st-free)}.cal-av-dep{background:var(--clay-50);color:var(--clay-700)}.cal-mvt-info{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.cal-mvt-nom{color:var(--ink-950);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.cal-mvt-sub{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.cal-mvt-fin{flex:none}.cal-du{color:var(--clay-700);background:var(--clay-50);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-block}.cal-legende{color:var(--ink-500);gap:18px;font-size:12.5px;display:flex}.cal-leg{align-items:center;gap:6px;display:inline-flex}.cal-agenda{flex-direction:column;gap:18px;display:none}.cal-agenda-jour{flex-direction:column;gap:10px;display:flex}.cal-agenda-date{color:var(--ink-700);text-transform:capitalize;border-bottom:1px solid var(--ink-150);margin:0;padding-bottom:2px;font-size:13px;font-weight:700}.cal-agenda .cal-panel{box-shadow:none;border:none;padding:0}@media (width<=860px){.cal-gridview{display:none}.cal-agenda{display:flex}}.sv-section{padding:18px 18px 24px}.sv-head{background:linear-gradient(160deg, var(--brand-800), var(--brand-950));color:#fff;margin:-18px -18px 18px;padding:16px 18px 20px}.sv-head-eyebrow{color:var(--brand-200);font-size:12.5px}.sv-head-title{font-family:var(--font-display);color:#fff;font-size:20px;font-weight:700}.sv-occ{background:#ffffff14;border-radius:14px;margin-top:14px;padding:12px 14px}.sv-occ-label{color:var(--brand-200);font-size:11px}.sv-occ-value{color:#fff;font-size:38px;font-weight:700;font-family:var(--font-display);margin-top:4px;line-height:1.05}.sv-occ-sub{color:#7ee0cc;margin-top:4px;font-size:12px}.sv-floor{margin-bottom:12px}.sv-floor-row{justify-content:space-between;margin-bottom:5px;font-size:12.5px;display:flex}.sv-floor-bar{background:var(--ink-100);border-radius:999px;height:8px;overflow:hidden}.sv-floor-fill{background:var(--brand-500);border-radius:999px;height:100%}.sv-group-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-400);margin:18px 0 10px;font-size:11px;font-weight:700}.sv-rooms-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.sv-room{aspect-ratio:1;border:1.5px solid var(--ring,var(--ink-150));border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.sv-room-numero{font-family:var(--font-display);color:var(--ink-900);font-size:16px;font-weight:700}.sv-room-dot{border-radius:50%;width:8px;height:8px}.sv-legend{flex-wrap:wrap;gap:12px 16px;margin-top:16px;display:flex}.sv-legend-item{color:var(--ink-600);align-items:center;gap:7px;font-size:12px;display:flex}.sv-legend-dot{border-radius:50%;width:9px;height:9px}.sv-id-card{align-items:center;gap:14px;display:flex}.sv-avatar{width:56px;height:56px;font-family:var(--font-display);color:#fff;background:#ffffff24;border-radius:50%;flex:none;place-items:center;font-size:19px;font-weight:700;display:grid}.sv-id-nom{font-family:var(--font-display);color:#fff;font-size:19px;font-weight:700}.sv-id-email{color:var(--brand-200);word-break:break-all;margin-top:2px;font-size:13px}.sv-info-list{margin-top:4px}.sv-info-row{border-top:1px solid var(--ink-100);align-items:center;gap:12px;padding:13px 0;display:flex}.sv-info-row:first-child{border-top:none}.sv-info-icon{background:var(--brand-50);width:36px;height:36px;color:var(--brand-700);border-radius:10px;flex:none;place-items:center;display:grid}.sv-info-label{color:var(--ink-400);font-size:11.5px}.sv-info-value{color:var(--ink-900);font-size:14px;font-weight:600}.admin-page{background:var(--bg);min-height:100vh;font-family:var(--font-sans)}.admin-header{background:var(--brand-900);color:#fff;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex}.admin-header-title{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0;font-size:17px;font-weight:700}.admin-header-subtitle{color:var(--brand-200);margin:0;font-size:12px}.admin-header-left{flex-direction:column;gap:1px;display:flex}.admin-header-right{align-items:center;gap:10px;display:flex}.admin-body{grid-template-columns:340px 1fr;gap:0;height:calc(100vh - 56px);display:grid}@media (width<=768px){.admin-body{grid-template-columns:1fr;height:auto}}.admin-hotels-panel{background:var(--surface);border-right:1px solid var(--ink-150);flex-direction:column;display:flex;overflow:hidden}.admin-panel-header{border-bottom:1px solid var(--ink-150);flex:none;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.admin-panel-header h2{font-family:var(--font-display);color:var(--ink-900);margin:0;font-size:14px;font-weight:700}.admin-hotels-list{flex:1;padding:8px 0;overflow-y:auto}.admin-hotel-card{cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:12px;width:100%;padding:10px 20px;transition:background .1s;display:flex}.admin-hotel-card:hover{background:var(--ink-50)}.admin-hotel-card.selected{background:var(--brand-50);border-left-color:var(--brand-700)}.admin-hotel-card:focus-visible{outline:2px solid var(--brand-600);outline-offset:-2px}.admin-hotel-avatar{border-radius:var(--r-sm);background:var(--brand-100);width:36px;height:36px;color:var(--brand-800);font-size:13px;font-weight:700;font-family:var(--font-display);flex:none;place-items:center;display:grid}.admin-hotel-info{flex:1;min-width:0}.admin-hotel-nom{color:var(--ink-900);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.admin-hotel-ville{color:var(--ink-500);margin-top:1px;font-size:12px}.admin-users-panel{background:var(--surface-2);padding:0;overflow-y:auto}.admin-users-panel-inner{flex-direction:column;gap:20px;padding:24px;display:flex}.admin-users-empty{height:100%;min-height:300px;color:var(--ink-400);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.admin-users-empty-icon{opacity:.4;font-size:32px}.admin-hotel-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-hotel-actions-title{font-family:var(--font-display);color:var(--ink-900);margin:0;font-size:16px;font-weight:700}.admin-hotel-actions-right{flex-wrap:wrap;gap:8px;display:flex}.admin-create-form{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);flex-direction:column;gap:16px;padding:20px;display:flex}.admin-create-form-title{color:var(--ink-800);font-size:13px;font-weight:600}.admin-create-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.admin-form-actions{justify-content:flex-end;gap:10px;display:flex}.imp-shell{flex-direction:column;height:100dvh;display:flex}.imp-surface{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.impersonation-banner{z-index:200;background:var(--clay-600);color:#fff;justify-content:space-between;align-items:center;gap:12px;height:44px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000002e}.impersonation-banner-text{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.impersonation-banner-hotel{font-weight:700}.impersonation-banner-text{margin-right:auto}.impersonation-banner-profil{align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.impersonation-banner-profil-label{opacity:.85;white-space:nowrap}.impersonation-banner-select{font-family:var(--font-sans);color:#fff;border-radius:var(--r-pill);cursor:pointer;background:#ffffff29;border:2px solid #ffffff8c;padding:5px 10px;font-size:12px;font-weight:700;transition:border-color .1s,background .1s}.impersonation-banner-select:hover:not(:disabled){background:#ffffff3d;border-color:#fff}.impersonation-banner-select:focus-visible{outline-offset:2px;outline:2px solid #fff}.impersonation-banner-select:disabled{opacity:.6;cursor:progress}.impersonation-banner-select option{color:var(--ink-800)}.impersonation-banner-btn{font-family:var(--font-sans);border-radius:var(--r-pill);color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:2px solid #fff9;padding:5px 14px;font-size:12px;font-weight:700;transition:background .1s,border-color .1s}.impersonation-banner-btn:hover{background:#ffffff26;border-color:#fff}.impersonation-banner-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.reassign-form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.admin-msg{color:var(--ink-500);padding:20px;font-size:13px}.admin-inline-form{background:var(--surface);border:1px solid var(--ink-150);border-radius:var(--r-md);flex-direction:column;gap:16px;padding:20px;display:flex}
