:root{--c-primary-50: #e8f5ee;--c-primary-100: #c7e8d5;--c-primary-200: #9fd8ba;--c-primary-300: #6bc498;--c-primary-400: #38a870;--c-primary-500: #1c8c58;--c-primary-600: #0f5c46;--c-primary-700: #0c4a39;--c-primary-800: #0a3d2f;--c-primary-900: #072e23;--c-primary: var(--c-primary-600);--c-primary-hover: var(--c-primary-700);--c-primary-light: var(--c-primary-50);--yem-deep-emerald: #0f5c46;--yem-forest-green: #1c8c58;--yem-lime-accent: #7ed957;--yem-brushed-silver: #c0c3c7;--yem-gunmetal: #2e3138;--yem-charcoal: #121417;--yem-white: #ffffff;--yem-green: var(--yem-lime-accent);--yem-green-deep: var(--yem-forest-green);--yem-surface-dark: var(--yem-charcoal);--yem-gray-light: #e3e5e7;--color-surface: var(--yem-white);--color-surface-inverse: var(--yem-charcoal);--color-surface-raised: var(--yem-gunmetal);--color-primary: var(--yem-deep-emerald);--color-primary-strong: var(--yem-deep-emerald);--color-primary-deep: var(--yem-deep-emerald);--color-accent: var(--yem-lime-accent);--color-text: var(--yem-gunmetal);--color-text-on-dark: var(--yem-brushed-silver);--color-text-inverse: var(--yem-white);--color-text-muted: #6a6e73;--color-on-surface: var(--yem-gunmetal);--color-muted: #6a6e73;--color-border: #e3e5e7;--color-border-inverse: #2a2e33;--color-primary-50: var(--c-primary-50);--color-success: var(--yem-deep-emerald);--color-danger: #c0392b;--color-warning: #c9861f;--yem-gradient-green: linear-gradient(180deg, #7ed957 0%, #1c8c58 55%, #0f5c46 100%);--yem-gradient-silver: linear-gradient(100deg, #f2f4f5 0%, #c0c3c7 45%, #8e9297 100%);--yem-gradient-dark: linear-gradient(160deg, #1a2620 0%, #121417 70%);--yem-glow-soft: rgba(126, 217, 87, .35);--yem-glow-core: rgba(126, 217, 87, .85);--yem-blueprint: rgba(192, 195, 199, .1);--c-success: #0f5c46;--c-success-light: #f0fdf4;--c-success-border: #bbf7d0;--c-warning: #c9861f;--c-warning-fg: #92400e;--c-warning-light: #fffbeb;--c-warning-border: #fde68a;--c-danger: #c0392b;--c-danger-hover: #b91c1c;--c-danger-light: #fef2f2;--c-danger-border: #fecaca;--c-info: #0284c7;--c-info-light: #f0f9ff;--c-info-border: #bae6fd;--c-neutral-50: #f8fafc;--c-neutral-100: #f1f5f9;--c-neutral-200: #e2e8f0;--c-neutral-300: #cbd5e1;--c-neutral-400: #94a3b8;--c-neutral-500: #64748b;--c-neutral-600: #475569;--c-neutral-700: #334155;--c-neutral-800: #1e293b;--c-neutral-900: #0f172a;--c-bg: var(--c-neutral-50);--c-surface: #ffffff;--c-surface-raised: #ffffff;--c-border: var(--c-neutral-200);--c-border-strong: var(--c-neutral-300);--c-border-focus: var(--c-primary-400);--c-text: var(--c-neutral-900);--c-text-secondary: var(--c-neutral-600);--c-text-muted: var(--c-neutral-400);--c-text-inverse: #ffffff;--c-sidebar-bg: #0f172a;--c-sidebar-border: rgba(255,255,255,.06);--c-sidebar-text: rgba(255,255,255,.55);--c-sidebar-active: rgba(22,163,74,.45);--sp-0: 0;--sp-px: 1px;--sp-0-5: 2px;--sp-1: 4px;--sp-1-5: 6px;--sp-2: 8px;--sp-2-5: 10px;--sp-3: 12px;--sp-3-5: 14px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--font-heading: "Orbitron", "Eurostile Extended", "Montserrat", "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Montserrat", "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-arabic: "Noto Sans Arabic", "Segoe UI", Tahoma, sans-serif;--font: var(--font-body);--font-mono: "Fira Code", "Cascadia Code", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-snug: 1.375;--lh-normal: 1.5;--lh-relaxed: 1.625;--ls-tight: -.025em;--ls-normal: 0;--ls-wide: .025em;--ls-wider: .05em;--ls-widest: .1em;--r-none: 0;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--r-3xl: 24px;--r-pill: 9999px;--sh-none: none;--sh-xs: 0 1px 2px rgba(0,0,0,.05);--sh-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--sh-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -1px rgba(0,0,0,.04);--sh-lg: 0 10px 15px -3px rgba(0,0,0,.07), 0 4px 6px -2px rgba(0,0,0,.04);--sh-xl: 0 20px 25px -5px rgba(0,0,0,.08), 0 10px 10px -5px rgba(0,0,0,.03);--sh-2xl: 0 25px 50px -12px rgba(0,0,0,.18);--sh-inner: inset 0 2px 4px rgba(0,0,0,.05);--tr: .15s ease;--tr-fast: .1s ease;--tr-slow: .25s ease;--tr-color: color .15s ease, background-color .15s ease, border-color .15s ease;--tr-transform: transform .15s ease;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--focus-ring: 0 0 0 3px rgba(22,163,74,.22);--focus-ring-soft: 0 0 0 3px rgba(22,163,74,.12);--focus-ring-strong: 0 0 0 3px rgba(22,163,74,.35);--touch-target: 44px;--sand: #faf6ec;--paper: #fdfbf5;--line: #e8dec5;--ink: #2d241a;--ink-2: #5a4e3d;--ink-3: #9a8e77;--brand: #1c8c58;--brand-d: #0f5c46;--brand-l: #38a870;--brand-tint: #e8f5ee;--brand-bd: #9fd8ba;--accent: #c2410c;--accent-d: #9a3412;--accent-tint: #fbeade;--accent-bd: #f2c9a6;--warn: #b45309;--warn-bg: #fef6e7;--warn-bd: #f3d7a0;--info: #0e7490;--info-bg: #e6f5f8;--info-bd: #b6dde6;--stage-res: #c2410c;--stage-com: #a16207;--stage-act: #1c8c58;--stage-liv: #6b7280;--rail-active: #e8f6ec;--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-xl);--shadow-card: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--touch-min: 44px;--nav-height: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px)}:root{--g-900: #0d0f12;--g-850: #121417;--g-800: #16181c;--g-700: #1d2025;--g-600: #24272d;--g-500: #2e3138;--g-400: #3a3e46;--g-300: #4a4f58;--g-200: #8a9099;--g-100: #c0c3c7;--g-050: #eceef0;--n-000: #ffffff;--n-025: #fcfcfd;--n-050: #f7f8f9;--n-100: #f0f1f3;--n-150: #e7e9ec;--n-200: #d9dce1;--n-300: #bfc4cb;--n-400: #9aa0a8;--n-500: #616770;--n-600: #4b5157;--n-700: #343a40;--n-800: #24272d;--n-900: #16181c;--texture-ink: 45, 36, 26;--texture-alpha: .028;--texture-alpha-soft: .018;--texture-blueprint: repeating-linear-gradient(0deg, rgba(var(--texture-ink), var(--texture-alpha)) 0 1px, transparent 1px var(--sp-6)), repeating-linear-gradient(90deg, rgba(var(--texture-ink), var(--texture-alpha)) 0 1px, transparent 1px var(--sp-6));--texture-grid-fine: repeating-linear-gradient(0deg, rgba(var(--texture-ink), var(--texture-alpha-soft)) 0 1px, transparent 1px var(--sp-2)), repeating-linear-gradient(90deg, rgba(var(--texture-ink), var(--texture-alpha-soft)) 0 1px, transparent 1px var(--sp-2));--texture-hatch: repeating-linear-gradient(45deg, rgba(var(--texture-ink), var(--texture-alpha)) 0 1px, transparent 1px 7px);--texture-rule: rgba(var(--texture-ink), .09);--glass-blur: saturate(150%) blur(14px);--glass-nav: rgba(18, 20, 23, .72);--glass-panel: rgba(255, 255, 255, .72);--metal-sheen: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.1) 42%, rgba(255,255,255,0) 72%);--dur-instant: 80ms;--dur-fast: .14s;--dur-base: .2s;--dur-slow: .32s;--dur-page: .24s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-entrance: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--nav-w-expanded: 240px;--nav-w-collapsed: 80px;--topbar-h: 56px;--layout-max: 1600px;--layout-gutter: var(--sp-8);--grid-cols: 12;--grid-gap: var(--sp-6);--chart-1: #0f5c46;--chart-2: #64748b;--chart-3: #2563eb;--chart-4: #0e7490;--chart-5: #1c8c58;--chart-6: #92400e;--chart-grid: var(--n-150);--chart-axis: var(--n-500);--chart-label: var(--n-600)}@media (prefers-reduced-motion: reduce){:root{--dur-instant: 1ms;--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms;--dur-page: 1ms}}:root{--surface-app: var(--n-000);--surface-card: var(--n-025);--surface-card-hover: var(--n-050);--surface-sunken: var(--n-050);--surface-hover: var(--n-100);--surface-selected: var(--c-primary-50);--surface-overlay: var(--n-000);--surface-scrim: rgba(13, 15, 18, .48);--surface-inverse: var(--g-850);--surface-nav: var(--g-850);--surface-nav-raised: var(--g-800);--surface-nav-hover: var(--g-700);--surface-nav-active: var(--g-600);--border-nav: rgba(255, 255, 255, .07);--text-nav: var(--g-100);--text-nav-muted: var(--g-200);--text-nav-strong: var(--g-050);--text-nav-active: var(--n-000);--accent-nav: var(--yem-lime-accent);--text-strong: var(--n-900);--text-body: var(--n-700);--text-secondary: var(--n-600);--text-subtle: var(--n-500);--text-disabled: var(--n-400);--text-inverse: var(--n-000);--text-link: var(--c-primary);--text-on-accent: var(--n-000);--border-subtle: var(--n-150);--border-default: var(--n-200);--border-strong: var(--n-300);--border-focus: var(--c-primary);--border-inverse: rgba(255, 255, 255, .1);--brand-accent: var(--c-primary);--brand-accent-hover: var(--c-primary-hover);--brand-accent-tint: var(--c-primary-50);--brand-ink: var(--c-primary);--on-brand-fill: var(--n-000);--c-danger-ink: #991b1b;--c-warning-ink: #92400e;--c-success-ink: #0f5c46;--c-info-ink: #075985;--brand-accent-border: var(--c-primary-200);--interactive-bg: var(--brand-accent);--interactive-bg-hover: var(--brand-accent-hover);--interactive-fg: var(--text-on-accent);--interactive-quiet-bg: transparent;--interactive-quiet-bg-hover: var(--surface-hover);--elevation-0: none;--elevation-1: 0 1px 2px rgba(22, 24, 28, .04), 0 1px 3px rgba(22, 24, 28, .06);--elevation-2: 0 2px 4px rgba(22, 24, 28, .04), 0 4px 10px -2px rgba(22, 24, 28, .08);--elevation-3: 0 4px 8px rgba(22, 24, 28, .05), 0 12px 24px -6px rgba(22, 24, 28, .12);--elevation-4: 0 8px 16px rgba(22, 24, 28, .06), 0 28px 56px -12px rgba(22, 24, 28, .2);--elevation-nav: 1px 0 0 var(--border-nav), 4px 0 24px -8px rgba(13, 15, 18, .28);--ring-color: var(--brand-accent);--ring-offset: var(--surface-app);--ring: 0 0 0 2px var(--ring-offset), 0 0 0 4px var(--ring-color);--ring-inset: inset 0 0 0 2px var(--ring-color)}:root[data-theme=dark]{--surface-app: var(--g-850);--surface-card: var(--g-800);--surface-card-hover: var(--g-700);--surface-sunken: var(--g-900);--surface-hover: var(--g-700);--surface-selected: rgba(126, 217, 87, .12);--surface-overlay: var(--g-800);--surface-scrim: rgba(0, 0, 0, .64);--surface-inverse: var(--n-000);--surface-nav: var(--g-900);--surface-nav-raised: var(--g-850);--surface-nav-hover: var(--g-700);--surface-nav-active: var(--g-600);--text-strong: var(--g-050);--text-body: var(--g-100);--text-secondary: var(--g-100);--text-subtle: var(--g-200);--text-disabled: var(--g-300);--text-inverse: var(--g-900);--text-link: var(--yem-lime-accent);--text-on-accent: var(--g-900);--border-subtle: rgba(255, 255, 255, .07);--border-default: var(--g-400);--border-strong: var(--g-300);--border-inverse: rgba(0, 0, 0, .18);--brand-accent: var(--yem-lime-accent);--brand-accent-hover: #96e274;--brand-accent-tint: rgba(126, 217, 87, .14);--brand-accent-border: rgba(126, 217, 87, .3);--brand-ink: var(--yem-lime-accent);--c-danger-ink: #fca5a5;--c-warning-ink: #fcd34d;--c-success-ink: #6ee7b7;--c-info-ink: #93c5fd;--c-primary-light: var(--brand-accent-tint);--elevation-1: none;--elevation-2: 0 2px 8px rgba(0, 0, 0, .32);--elevation-3: 0 8px 24px rgba(0, 0, 0, .44);--elevation-4: 0 16px 48px rgba(0, 0, 0, .56);--ring-offset: var(--surface-app);--status-disponible-bg: rgba(59, 130, 246, .16);--status-disponible-bd: rgba(59, 130, 246, .34);--status-disponible-fg: #93c5fd;--status-reserve-bg: rgba(217, 119, 6, .18);--status-reserve-bd: rgba(217, 119, 6, .36);--status-reserve-fg: #fcd34d;--status-vendu-bg: rgba(28, 140, 88, .18);--status-vendu-bd: rgba(28, 140, 88, .38);--status-vendu-fg: #6ee7b7;--status-livre-bg: rgba(148, 163, 184, .16);--status-livre-bd: rgba(148, 163, 184, .3);--status-livre-fg: #cbd5e1;--status-retire-bg: rgba(239, 68, 68, .16);--status-retire-bd: rgba(239, 68, 68, .34);--status-retire-fg: #fca5a5;--status-brouillon-bg: rgba(200, 169, 110, .14);--status-brouillon-bd: rgba(200, 169, 110, .3);--status-brouillon-fg: #e7d3ab;--c-success-light: rgba(28, 140, 88, .16);--c-warning-light: rgba(201, 134, 31, .18);--c-danger-light: rgba(192, 57, 43, .18);--c-info-light: rgba(2, 132, 199, .16);--c-success-border: rgba(28, 140, 88, .38);--c-warning-border: rgba(201, 134, 31, .4);--c-danger-border: rgba(192, 57, 43, .4);--c-info-border: rgba(2, 132, 199, .36);--texture-ink: 192, 195, 199;--chart-1: #4fd18b;--chart-2: #94a3b8;--chart-3: #60a5fa;--chart-4: #38bdf8;--chart-5: var(--yem-lime-accent);--chart-6: #fbbf24;--chart-grid: var(--g-500);--chart-axis: var(--g-200);--chart-label: var(--g-100)}:root{--c-bg: var(--surface-app);--c-surface: var(--surface-card);--c-surface-raised: var(--surface-overlay);--c-border: var(--border-default);--c-border-strong: var(--border-strong);--c-border-focus: var(--border-focus);--c-text: var(--text-body);--c-text-secondary: var(--text-secondary);--c-text-muted: var(--text-subtle);--c-text-inverse: var(--text-inverse);--c-sidebar-bg: var(--surface-nav);--c-sidebar-border: var(--border-nav);--c-sidebar-text: var(--text-nav-muted);--c-sidebar-active: var(--surface-nav-active);--sand: var(--surface-app);--paper: var(--surface-card);--line: var(--border-default);--ink: var(--text-body);--ink-2: var(--text-secondary);--ink-3: var(--text-subtle);--sand-tint: #faf6ec;--sand-tint-paper: #fdfbf5;--sand-tint-line: #e8dec5;--sand-tint-ink: #2d241a;--brand: var(--brand-accent);--brand-d: var(--brand-accent-hover);--brand-tint: var(--brand-accent-tint);--rail-active: var(--surface-nav-active);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--ring-color) 24%, transparent);--focus-ring-soft: 0 0 0 3px color-mix(in srgb, var(--ring-color) 14%, transparent);--focus-ring-strong: 0 0 0 3px color-mix(in srgb, var(--ring-color) 38%, transparent);--shadow-card: var(--elevation-1);--sh-xs: var(--elevation-1);--sh-sm: var(--elevation-1);--sh-md: var(--elevation-2);--sh-lg: var(--elevation-3);--sh-xl: var(--elevation-4);--sh-2xl: var(--elevation-4);--tr: var(--dur-fast) var(--ease-out);--tr-fast: var(--dur-instant) var(--ease-out);--tr-slow: var(--dur-base) var(--ease-out)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}:where(.surface-nav,[data-surface=nav]) :focus-visible{--ring-offset: var(--surface-nav)}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:600;src:url("./media/orbitron-latin-600-normal-CEBIPJEJ.woff2") format("woff2"),url("./media/orbitron-latin-600-normal-YDTDXHAG.woff") format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url("./media/orbitron-latin-700-normal-KZ2AIJN3.woff2") format("woff2"),url("./media/orbitron-latin-700-normal-2FQG74NW.woff") format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url("./media/montserrat-latin-400-normal-YBIMBXKC.woff2") format("woff2"),url("./media/montserrat-latin-400-normal-4VXUWRG7.woff") format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url("./media/montserrat-latin-500-normal-GBQ7LNXL.woff2") format("woff2"),url("./media/montserrat-latin-500-normal-H3RE3HRH.woff") format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url("./media/montserrat-latin-600-normal-MBWN25T6.woff2") format("woff2"),url("./media/montserrat-latin-600-normal-YCOA2D66.woff") format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url("./media/montserrat-latin-700-normal-2TPSQG6S.woff2") format("woff2"),url("./media/montserrat-latin-700-normal-B647EJ6E.woff") format("woff")}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url("./media/noto-sans-arabic-arabic-400-normal-K74XADSY.woff2") format("woff2"),url("./media/noto-sans-arabic-arabic-400-normal-M6H4OPRP.woff") format("woff")}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url("./media/noto-sans-arabic-arabic-500-normal-AEJGDKGG.woff2") format("woff2"),url("./media/noto-sans-arabic-arabic-500-normal-KMBUCCNX.woff") format("woff")}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url("./media/noto-sans-arabic-arabic-600-normal-OPPZJ5DI.woff2") format("woff2"),url("./media/noto-sans-arabic-arabic-600-normal-BSRUV5UF.woff") format("woff")}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url("./media/noto-sans-arabic-arabic-700-normal-6FN36GON.woff2") format("woff2"),url("./media/noto-sans-arabic-arabic-700-normal-JJCSCQPB.woff") format("woff")}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.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-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.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-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fira-code-cyrillic-ext-400-normal-HRFRLZL5.woff2") format("woff2"),url("./media/fira-code-cyrillic-ext-400-normal-MEZD325K.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-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fira-code-cyrillic-400-normal-LFYUHCSK.woff2") format("woff2"),url("./media/fira-code-cyrillic-400-normal-TO3372U4.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fira-code-greek-ext-400-normal-P5N7YRJY.woff2") format("woff2"),url("./media/fira-code-greek-ext-400-normal-JBE2PF4B.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fira-code-greek-400-normal-XOIAI2FW.woff2") format("woff2"),url("./media/fira-code-greek-400-normal-XZ3ONGN2.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-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fira-code-symbols2-400-normal-7QAEGO2T.woff2") format("woff2"),url("./media/fira-code-symbols2-400-normal-S7J7JML4.woff") format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fira-code-latin-ext-400-normal-4U2K4RXC.woff2") format("woff2"),url("./media/fira-code-latin-ext-400-normal-TX5OFGVP.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-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./media/fira-code-latin-400-normal-EZK3CDCV.woff2") format("woff2"),url("./media/fira-code-latin-400-normal-S4ZJKUZL.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fira-code-cyrillic-ext-500-normal-B42CCDZK.woff2") format("woff2"),url("./media/fira-code-cyrillic-ext-500-normal-ESL47INK.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-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fira-code-cyrillic-500-normal-KSDCMWYY.woff2") format("woff2"),url("./media/fira-code-cyrillic-500-normal-RH4SX6ZR.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fira-code-greek-ext-500-normal-VLGMUQDV.woff2") format("woff2"),url("./media/fira-code-greek-ext-500-normal-4OBRQESW.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fira-code-greek-500-normal-C5WJ7MAB.woff2") format("woff2"),url("./media/fira-code-greek-500-normal-2LCZME3L.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-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fira-code-symbols2-500-normal-RNI2R2TI.woff2") format("woff2"),url("./media/fira-code-symbols2-500-normal-WBXRUBXE.woff") format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fira-code-latin-ext-500-normal-VLKEVMDS.woff2") format("woff2"),url("./media/fira-code-latin-ext-500-normal-ETD3PANQ.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-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fira-code-latin-500-normal-SKUZD4QE.woff2") format("woff2"),url("./media/fira-code-latin-500-normal-PLRL5D5Y.woff") format("woff");unicode-range:U+0000-00FF,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}:root{--status-disponible: #3b82f6;--status-disponible-bg: #dbeafe;--status-disponible-bd: #bfdbfe;--status-disponible-fg: #1e40af;--status-reserve: #d97706;--status-reserve-bg: #fef3c7;--status-reserve-bd: #fde68a;--status-reserve-fg: #92400e;--status-vendu: #1c8c58;--status-vendu-bg: #dcfce7;--status-vendu-bd: #bbf7d0;--status-vendu-fg: #0f5c46;--status-livre: #6b7280;--status-livre-bg: #f1f5f9;--status-livre-bd: #e2e8f0;--status-livre-fg: #334155;--status-retire: #ef4444;--status-retire-bg: #fee2e2;--status-retire-bd: #fecaca;--status-retire-fg: #991b1b;--status-brouillon: #c8a96e;--status-brouillon-bg: #fdf6ee;--status-brouillon-bd: #ead8b6;--status-brouillon-fg: #78532e;--primary: var(--c-primary);--primary-50: var(--c-primary-50);--primary-600: var(--c-primary-600);--primary-700: var(--c-primary-700);--text: var(--text-body);--text-muted: var(--text-subtle);--border: var(--border-default);--surface: var(--surface-card);--bg: var(--surface-app);--bg-hover: var(--surface-hover)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;color:var(--c-text);background:var(--c-bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:0}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] h4,[dir=rtl] h5,[dir=rtl] h6{font-family:var(--font-arabic)}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}.grid-12{display:grid;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));gap:var(--grid-gap)}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}@media (max-width: 1200px){.grid-12{--grid-cols: 6}.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{grid-column:span 6}}@media (max-width: 720px){.grid-12{--grid-cols: 1;gap:var(--sp-4)}[class*=col-]{grid-column:span 1}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.page-title{font-size:1.375rem;font-weight:700;color:var(--c-text);margin:0;letter-spacing:-.02em}.page-subtitle{font-size:.875rem;color:var(--c-text-secondary);margin:4px 0 0}.toolbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);margin-bottom:16px;flex-wrap:wrap}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-xs);overflow:hidden}.card-header{padding:16px 20px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header h3{margin:0;font-size:.9375rem;font-weight:600}.card-body{padding:20px}.card-body-flush{padding:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:0 16px;height:36px;font-size:.875rem;font-weight:500;font-family:var(--font);border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:background var(--tr),border-color var(--tr),color var(--tr),box-shadow var(--tr);text-decoration:none;white-space:nowrap;line-height:1;flex-shrink:0}.btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:var(--on-brand-fill);border-color:var(--c-primary)}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover);border-color:var(--c-primary-hover);text-decoration:none}.btn-secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--c-bg);text-decoration:none}.btn-danger{background:var(--c-danger-light);color:var(--c-danger);border-color:var(--c-danger-border)}.btn-danger:hover:not(:disabled){background:var(--c-danger-border)}.btn-danger-strong{background:var(--c-danger);color:var(--on-brand-fill);border-color:var(--c-danger)}.btn-danger-strong:hover:not(:disabled){background:var(--c-danger-hover, #b91c1c);border-color:var(--c-danger-hover, #b91c1c);text-decoration:none}.btn-danger-strong:focus-visible{outline:2px solid var(--c-danger);outline-offset:2px;box-shadow:0 0 0 3px #dc262638}.btn-ghost{background:transparent;color:var(--c-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--c-bg);color:var(--c-text)}.btn-sm{height:28px;padding:0 10px;font-size:.8125rem;border-radius:var(--r-sm)}.btn-xs{height:24px;padding:0 8px;font-size:.75rem;border-radius:var(--r-sm)}.btn-icon{width:32px;height:32px;padding:0;justify-content:center}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:.8125rem;font-weight:500;color:var(--c-text)}.form-label.required:after{content:" *";color:var(--c-danger)}.form-hint{font-size:.75rem;color:var(--c-text-muted);margin-top:2px}.form-error{font-size:.75rem;color:var(--c-danger);margin-top:2px}.form-control{width:100%;height:36px;padding:0 12px;font-size:.875rem;font-family:var(--font);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);transition:border-color var(--tr),box-shadow var(--tr);outline:none}.form-control:focus{border-color:var(--c-primary);box-shadow:var(--focus-ring-soft)}.form-control::placeholder{color:var(--c-text-muted)}textarea.form-control{height:auto;padding:8px 12px;resize:vertical;min-height:80px}select.form-control{cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}.search-wrap{position:relative;flex:1;max-width:340px}.search-icon{position:absolute;inset-inline-start:10px;top:50%;transform:translateY(-50%);color:var(--c-text-muted);pointer-events:none;display:flex}.search-input{width:100%;height:34px;padding-block:0;padding-inline:32px 12px;font-size:.875rem;font-family:var(--font);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);outline:none;transition:border-color var(--tr),box-shadow var(--tr)}.search-input:focus{border-color:var(--c-primary);box-shadow:var(--focus-ring-soft)}.search-input::placeholder{color:var(--c-text-muted)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead th{padding:10px 16px;background:var(--c-bg);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);text-align:start;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid var(--c-border);transition:background var(--tr)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover .td-chevron .row-link-icon,.data-table tbody tr.clickable:hover .row-link{color:var(--brand-ink)}.data-table tbody tr.clickable:hover .row-link-icon{transform:translate(2px)}.data-table .td-chevron{width:32px;text-align:center;color:var(--c-text-muted);padding:0!important}.row-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;padding:4px 0;margin:-4px 0}.row-link:hover,.row-link:focus-visible{color:var(--brand-ink);text-decoration:none}.row-link:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:var(--r-sm)}.row-link-text{font-weight:500}.row-link-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-sm);color:var(--c-text-muted);text-decoration:none;transition:color var(--tr),background var(--tr),transform var(--tr)}.row-link-icon:hover{color:var(--brand-ink);background:var(--c-primary-light);text-decoration:none}.row-link-icon:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;color:var(--brand-ink)}.data-table td{padding:12px 16px;vertical-align:middle}.td-muted{color:var(--c-text-secondary);font-size:.8125rem}.td-mono{font-family:var(--font-mono);font-size:.8125rem;color:var(--c-text-secondary)}.td-actions{white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--r-pill);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-draft{background:var(--status-brouillon-bg);color:var(--status-brouillon-fg)}.badge-active{background:var(--status-disponible-bg);color:var(--status-disponible-fg)}.badge-reserved{background:var(--status-reserve-bg);color:var(--status-reserve-fg)}.badge-sold{background:var(--status-vendu-bg);color:var(--status-vendu-fg)}.badge-withdrawn{background:var(--status-retire-bg);color:var(--status-retire-fg)}.badge-archived{background:var(--status-livre-bg);color:var(--status-livre-fg)}.badge-signed{background:var(--status-vendu-bg);color:var(--status-vendu-fg)}.badge-canceled{background:var(--status-retire-bg);color:var(--status-retire-fg)}.badge-issued{background:var(--status-disponible-bg);color:var(--status-disponible-fg)}.badge-sent{background:var(--surface-selected);color:var(--text-link)}.badge-overdue{background:var(--status-retire-bg);color:var(--status-retire-fg)}.badge-paid{background:var(--status-vendu-bg);color:var(--status-vendu-fg)}.badge-prospect{background:var(--status-reserve-bg);color:var(--status-reserve-fg)}.badge-client{background:var(--status-vendu-bg);color:var(--status-vendu-fg)}.badge-temp-client,.badge-temp_client{background:var(--status-disponible-bg);color:var(--status-disponible-fg)}.badge-new-prospect,.badge-new_prospect{background:var(--status-livre-bg);color:var(--status-livre-fg)}.badge-qualified-prospect,.badge-qualified_prospect{background:var(--status-reserve-bg);color:var(--status-reserve-fg)}.badge-active-client,.badge-active_client{background:var(--status-vendu-bg);color:var(--status-vendu-fg)}.badge-completed-client,.badge-completed_client{background:#d1fae5;color:#064e3b}.badge-lost{background:var(--status-retire-bg);color:var(--status-retire-fg)}.badge-referral{background:#ede9fe;color:#5b21b6}.badge-pending{background:var(--status-reserve-bg);color:var(--status-reserve-fg)}.badge-confirmed{background:var(--status-vendu-bg);color:var(--status-vendu-fg)}.badge-expired{background:var(--status-livre-bg);color:var(--status-livre-fg)}.badge-cancelled,.badge-failed{background:var(--status-retire-bg);color:var(--status-retire-fg)}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--r-md);font-size:.875rem;border:1px solid;margin-bottom:16px}.alert-success{background:var(--c-success-light);color:var(--c-success);border-color:var(--c-success-border)}.alert-error{background:var(--c-danger-light);color:var(--c-danger);border-color:var(--c-danger-border)}.alert-warning{background:var(--c-warning-light);color:var(--c-warning-fg);border-color:var(--c-warning-border)}.alert-info{background:var(--c-info-light);color:var(--status-disponible-fg);border-color:var(--status-disponible-bd)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:var(--c-surface);border:1px dashed var(--c-border);border-radius:var(--r-lg)}.empty-state-icon{font-size:2.5rem;margin-bottom:16px;opacity:.45}.empty-state-title{font-size:1rem;font-weight:600;color:var(--c-text-secondary);margin:0 0 8px}.empty-state-desc{font-size:.875rem;color:var(--c-text-muted);margin:0 0 20px;max-width:360px;line-height:1.55}.empty-state-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.loading-wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 16px;color:var(--c-text-muted);font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{display:block;background:linear-gradient(90deg,var(--status-livre-bg) 0%,var(--status-livre-bd) 50%,#f1f5f9 100%);background-size:800px 100%;border-radius:var(--r-sm);animation:shimmer 1.4s linear infinite}.skeleton-text{height:12px;margin:6px 0}.skeleton-text-lg{height:18px;margin:8px 0}.skeleton-line{height:14px;margin:8px 0}.skeleton-row{height:48px;border-radius:var(--r-md);margin-bottom:8px}.skeleton-card{height:110px;border-radius:var(--r-lg)}.skeleton-circle{width:36px;height:36px;border-radius:50%}.skeleton-w-25{width:25%}.skeleton-w-50{width:50%}.skeleton-w-75{width:75%}.skeleton-w-90{width:90%}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:4px 0}.skeleton-stack{display:flex;flex-direction:column;gap:8px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.skeleton{animation:none!important;background:var(--c-border)}.spinner,.spin{animation-duration:1.2s!important;animation-iteration-count:infinite!important}}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;backdrop-filter:blur(2px)}.modal{background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--sh-lg);width:100%;max-width:540px;max-height:92vh;overflow-y:auto;animation:modal-in var(--dur-fast) ease}@keyframes modal-in{0%{opacity:0;transform:scale(.97) translateY(-10px)}to{opacity:1;transform:none}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--c-border);position:sticky;top:0;background:var(--c-surface);z-index:1}.modal-title{font-size:1rem;font-weight:600;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:var(--c-text-muted);padding:4px 6px;border-radius:var(--r-sm);font-size:1.1rem;line-height:1;transition:color var(--tr),background var(--tr);font-family:var(--font)}.modal-close:hover{background:var(--c-bg);color:var(--c-text)}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--c-border);position:sticky;bottom:0;background:var(--c-surface)}@keyframes hlm-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 599px){.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal-box{width:100%!important;max-width:100%!important;max-height:92dvh;border-radius:var(--r-xl) var(--r-xl) 0 0!important;animation:hlm-slide-up var(--dur-slow) cubic-bezier(.4,0,.2,1);margin:0}}.info-panel{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-md);padding:12px 16px}.info-panel summary{cursor:pointer;font-weight:600;font-size:.875rem;color:var(--c-text-secondary);-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:8px}.info-panel summary::-webkit-details-marker{display:none}.info-panel summary:before{content:"\25b6";font-size:.6rem;transition:transform var(--tr)}.info-panel[open] summary:before{transform:rotate(90deg)}.code-block{background:#0f172a;color:var(--n-100);border-radius:var(--r-md);padding:14px 16px;font-family:var(--font-mono);font-size:.8125rem;overflow-x:auto;white-space:pre;margin:10px 0 0;line-height:1.7}.code-comment{color:#64748b}.code-key{color:#93c5fd}.code-val{color:#86efac}.text-muted{color:var(--c-text-muted)!important}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}.text-right{text-align:end}.font-mono{font-family:var(--font-mono)}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.divider{height:1px;background:var(--c-border);border:none;margin:20px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.m-0{margin:0}.mt-0{margin-top:0}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.ml-auto{margin-left:auto}.ml-4{margin-left:4px}.ml-6{margin-left:6px}.d-flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.text-2xs{font-size:.7rem}.text-gray{color:#9ca3af}.cursor-pointer{cursor:pointer}.sk-h-80{height:80px}.sk-h-120{height:120px}.sk-h-160{height:160px}.sk-h-220{height:220px}.sk-h-240{height:240px}.alert-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.alert-inset{margin:8px 16px}.py-16{padding-top:16px;padding-bottom:16px}.card-padded{padding:20px}.text-base{font-size:1rem}.p-0{padding:0}.p-16{padding:16px}.w-auto{width:auto}.d-none{display:none}.nowrap{white-space:nowrap}.shrink-0{flex-shrink:0}.mr-4{margin-right:4px}.mr-5{margin-right:5px}.mt-12{margin-top:12px}.sk-h-40{height:40px}.sk-h-140{height:140px}.sk-h-200{height:200px}.h-34{height:34px}.stat-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-pill);font-size:.8125rem;color:var(--c-text-secondary);white-space:nowrap}.portal-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-info{background:var(--status-disponible-bg);color:var(--status-disponible-fg)}.badge-success{background:var(--status-vendu-bg);color:var(--status-vendu-fg)}.badge-error{background:var(--status-retire-bg);color:var(--status-retire-fg)}.badge-planned{background:var(--status-livre-bg);color:var(--status-livre-fg)}.portal-section{max-width:860px;margin:0 auto;padding:var(--sp-6, 24px) var(--sp-5, 20px)}.portal-section-title{font-size:var(--text-xl, 1.25rem);font-weight:var(--fw-bold, 700);color:var(--c-text, #0f172a);letter-spacing:var(--ls-tight, -.02em);margin:0 0 var(--sp-5, 20px)}.portal-card{background:var(--c-surface, var(--surface-overlay));border:1px solid var(--c-border, var(--status-livre-bd));border-radius:var(--r-xl, 16px);box-shadow:var(--sh-sm, 0 1px 3px rgba(0,0,0,.06));overflow:hidden;margin-bottom:var(--sp-4, 16px);transition:box-shadow var(--tr, var(--dur-fast) ease)}.portal-card:hover{box-shadow:var(--sh-md, 0 4px 6px -1px rgba(0,0,0,.07))}.portal-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3, 12px);padding:var(--sp-4, 16px) var(--sp-5, 20px);border-bottom:1px solid var(--c-border, var(--status-livre-bd));background:var(--c-neutral-50, var(--surface-sunken))}.portal-card-ref{font-size:var(--text-sm, .875rem);font-weight:var(--fw-semibold, 600);color:var(--c-text, #0f172a);font-family:var(--font-mono, monospace)}.portal-card-title{font-size:var(--text-base, 1rem);font-weight:var(--fw-semibold, 600);color:var(--c-text, #0f172a);margin:0}.portal-card-body{padding:var(--sp-5, 20px);display:flex;flex-direction:column;gap:var(--sp-3, 12px)}.portal-card-actions{display:flex;align-items:center;gap:var(--sp-3, 12px);padding:var(--sp-3-5, 14px) var(--sp-5, 20px);border-top:1px solid var(--c-border, var(--status-livre-bd));background:var(--c-neutral-50, var(--surface-sunken));flex-wrap:wrap}.portal-card-row{display:flex;align-items:baseline;gap:var(--sp-3, 12px);font-size:var(--text-sm, .875rem)}.portal-label{flex-shrink:0;width:130px;font-size:var(--text-xs, .75rem);font-weight:var(--fw-semibold, 600);color:var(--c-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:var(--ls-wider, .05em)}.portal-value{color:var(--c-text, #0f172a);font-weight:var(--fw-medium, 500)}.portal-table-wrapper{overflow-x:auto;margin:0 0 var(--sp-3, 12px)}.portal-table{width:100%;border-collapse:collapse;font-size:var(--text-sm, .875rem)}.portal-table thead th{padding:var(--sp-2, 8px) var(--sp-3, 12px);font-size:var(--text-xs, .75rem);font-weight:var(--fw-semibold, 600);letter-spacing:var(--ls-wider, .05em);text-transform:uppercase;color:var(--c-text-muted, #94a3b8);border-bottom:1px solid var(--c-border, var(--status-livre-bd));text-align:start;white-space:nowrap;background:var(--c-neutral-50, var(--surface-sunken))}.portal-table tbody td{padding:var(--sp-2-5, 10px) var(--sp-3, 12px);border-bottom:1px solid var(--c-border, var(--status-livre-bd));color:var(--c-text-secondary, var(--status-livre-fg));vertical-align:middle}.portal-table tbody tr:last-child td{border-bottom:none}.portal-table tbody tr.row-paid td{color:var(--c-text-muted, #94a3b8)}.portal-table tbody tr.row-late td{color:var(--c-danger, #dc2626)}.portal-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1-5, 6px);min-height:40px;padding:0 var(--sp-5, 20px);font-size:var(--text-sm, .875rem);font-weight:var(--fw-semibold, 600);font-family:var(--font, inherit);color:var(--on-brand-fill);background:var(--c-primary);border:none;border-radius:var(--r-md, 8px);cursor:pointer;text-decoration:none;transition:background var(--tr, var(--dur-fast) ease),box-shadow var(--tr, var(--dur-fast) ease),transform var(--tr-fast, var(--dur-instant) ease);white-space:nowrap}.portal-btn-primary:hover{background:var(--c-primary-hover);box-shadow:0 4px 12px #1c8c584d;transform:translateY(-1px);text-decoration:none;color:var(--on-brand-fill)}.portal-btn-primary:focus-visible{outline:3px solid rgba(28,140,88,.4);outline-offset:2px}.portal-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1-5, 6px);min-height:40px;padding:0 var(--sp-5, 20px);font-size:var(--text-sm, .875rem);font-weight:var(--fw-medium, 500);font-family:var(--font, inherit);color:var(--c-text-secondary, var(--status-livre-fg));background:var(--c-surface, var(--surface-overlay));border:1.5px solid var(--c-border-strong, #cbd5e1);border-radius:var(--r-md, 8px);cursor:pointer;text-decoration:none;transition:border-color var(--tr, var(--dur-fast) ease),color var(--tr, var(--dur-fast) ease),background var(--tr, var(--dur-fast) ease);white-space:nowrap}.portal-btn-secondary:hover{border-color:var(--c-primary-400, #4ade80);color:var(--brand-ink);background:var(--c-primary-50, var(--c-success-light));text-decoration:none}.portal-btn-secondary:focus-visible{outline:3px solid rgba(28,140,88,.3);outline-offset:2px}.portal-back-link{display:inline-flex;align-items:center;gap:var(--sp-1-5, 6px);font-size:var(--text-sm, .875rem);font-weight:var(--fw-medium, 500);color:var(--c-text-secondary, var(--status-livre-fg));text-decoration:none;margin-bottom:var(--sp-5, 20px);padding:var(--sp-1-5, 6px) 0;transition:color var(--tr, var(--dur-fast) ease)}.portal-back-link:hover{color:var(--brand-ink);text-decoration:none}.portal-section-nav{margin-bottom:var(--sp-1, 4px)}.portal-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-3, 12px);margin-bottom:var(--sp-5, 20px)}.portal-summary-item{background:var(--c-neutral-50, var(--surface-sunken));border:1px solid var(--c-border, var(--status-livre-bd));border-radius:var(--r-lg, 12px);padding:var(--sp-4, 16px);display:flex;flex-direction:column;gap:var(--sp-1, 4px)}.portal-summary-item .portal-label{width:auto;margin-bottom:var(--sp-1, 4px)}.portal-summary-item strong{font-size:var(--text-lg, 1.125rem);font-weight:var(--fw-bold, 700);color:var(--c-text, #0f172a);font-variant-numeric:tabular-nums}.portal-text-success{color:var(--c-success, var(--c-primary))!important}.portal-progress-wrap{margin:var(--sp-3, 12px) 0 var(--sp-1, 4px)}.portal-progress-bar{height:8px;background:var(--c-neutral-100, var(--status-livre-bg));border-radius:var(--r-pill, 9999px);overflow:hidden}.portal-progress-fill{height:100%;background:linear-gradient(90deg,var(--c-success, var(--c-primary)),var(--c-primary-500));border-radius:var(--r-pill, 9999px);transition:width .6s ease}.portal-progress-labels{display:flex;justify-content:space-between;margin-top:var(--sp-1-5, 6px);font-size:var(--text-xs, .75rem);color:var(--c-text-muted, #94a3b8)}.portal-loading{display:flex;align-items:center;justify-content:center;gap:var(--sp-3, 12px);padding:var(--sp-10, 40px) var(--sp-4, 16px);color:var(--c-text-muted, #94a3b8);font-size:var(--text-sm, .875rem)}.portal-empty{display:flex;flex-direction:column;align-items:center;padding:var(--sp-12, 48px) var(--sp-6, 24px);text-align:center;color:var(--c-text-muted, #94a3b8);font-size:var(--text-sm, .875rem);border:1px dashed var(--c-border, var(--status-livre-bd));border-radius:var(--r-xl, 16px);gap:var(--sp-2, 8px)}.portal-empty svg{opacity:.3;margin-bottom:var(--sp-2, 8px)}.portal-error{padding:var(--sp-3, 12px) var(--sp-4, 16px);background:var(--c-danger-light, var(--c-danger-light));border:1px solid var(--c-danger-border, var(--status-retire-bd));border-radius:var(--r-md, 8px);color:var(--c-danger, #dc2626);font-size:var(--text-sm, .875rem)}@media (max-width: 640px){.portal-section{padding:var(--sp-4, 16px) var(--sp-3, 12px)}.portal-summary-row{grid-template-columns:1fr 1fr}.portal-card-row{flex-direction:column;gap:var(--sp-1, 4px)}.portal-label{width:auto}}.upload-zone{border:2px dashed var(--c-border-strong, #cbd5e1);border-radius:var(--r-lg, 12px);padding:32px 24px;text-align:center;cursor:pointer;transition:border-color var(--tr, var(--dur-fast) ease),background var(--tr, var(--dur-fast) ease);background:var(--c-surface, var(--surface-overlay))}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--c-primary);background:var(--c-primary-light, var(--c-success-light))}.upload-zone-icon{width:40px;height:40px;margin:0 auto 12px;color:var(--c-text-muted, #94a3b8)}.upload-zone-label{font-size:var(--text-sm, .875rem);font-weight:500;color:var(--c-text-secondary, var(--status-livre-fg))}.upload-zone-hint{font-size:var(--text-xs, .75rem);color:var(--c-text-muted, #94a3b8);margin-top:4px}@media (max-width: 599px){.upload-zone{padding:16px;border-style:solid;border-width:1px}.upload-zone-label{color:var(--brand-ink)}}[dir=rtl] body,[dir=rtl]{text-align:end}[dir=rtl] .topbar-kbd,[dir=rtl] [data-ltr],[dir=rtl] .brand-name,[dir=rtl] .mono{direction:ltr;unicode-bidi:isolate}[dir=rtl] .app-layout,[dir=rtl] .lang-bar,[dir=rtl] .user-info,[dir=rtl] .nav-item,[dir=rtl] .bnav-item,[dir=rtl] .topbar-search{flex-direction:row-reverse}[dir=rtl] .btn-back{transform:scaleX(-1)}[dir=rtl] .btn-back>*{transform:scaleX(-1)}.bg-brand-dark{background-color:var(--color-surface-inverse);color:var(--color-text-inverse)}.text-brand{color:var(--color-primary-strong)}.text-brand-on-dark{color:var(--yem-green)}.btn-brand{background-color:var(--color-primary-strong);color:var(--surface-overlay);border-radius:var(--radius-pill, 999px);font-family:var(--font-body);font-weight:600;border:none;padding:.65em 1.4em;cursor:pointer}.btn-brand:hover{background-color:var(--color-primary-strong);color:var(--color-text-inverse)}.portal-theme{--color-surface-inverse: #16261d;--color-primary: var(--yem-deep-emerald)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-page);animation-timing-function:var(--ease-standard)}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ring-color, var(--c-primary));outline-offset:2px}[dir=rtl] .sidebar{right:0;left:auto}[dir=rtl] .icon-mirror,[dir=rtl] .back-link svg,[dir=rtl] .pagination svg,[dir=rtl] .breadcrumb-sep{transform:scaleX(-1)}[dir=rtl] .code-block,[dir=rtl] .ref-badge,[dir=rtl] .mono{direction:ltr;unicode-bidi:isolate;text-align:start}
