@import"https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,300;6..72,400;6..72,500;6..72,600&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--as-beige-50: #FDFCFA;--as-beige-100: #F0EEE6;--as-beige-200: #E3DACC;--as-beige-300: #DCD2C3;--as-beige-400: #DCD8D0;--as-beige-500: #C8C3B8;--as-ink-100: #EDECE9;--as-ink-200: #D3D1CC;--as-ink-300: #B5B3AE;--as-ink-400: #97948E;--as-ink-500: #78756F;--as-ink-600: #5A5854;--as-ink-700: #3C3A37;--as-ink-800: #252320;--as-ink-900: #141414;--as-sage-50: #EFF4F2;--as-sage-400: #BFCFC9;--as-sage-800: #3D5C55;--as-slate-50: #EDF0F4;--as-slate-400: #BEC8D5;--as-slate-800: #3A4A5C;--as-lavender-50: #F0EDF5;--as-lavender-400: #CABFD8;--as-lavender-800: #4A3D5A;--as-amber-50: #FDF8EC;--as-amber-200: #F5D98A;--as-amber-400: #D4960F;--as-amber-600: #A0700A;--as-amber-800: #6B4906;--as-success-bg: #EFF5F0;--as-success: #2A6B42;--as-warning-bg: #FBF4E6;--as-warning: #A0700A;--as-error-bg: #FAF0EE;--as-error: #A8403A;--as-info-bg: #EDF2F5;--as-info: #2A5070;--as-color-bg: var(--as-beige-100);--as-color-surface: var(--as-beige-200);--as-color-surface-raised: var(--as-beige-50);--as-color-surface-hover: var(--as-beige-300);--as-color-surface-muted: var(--as-beige-300);--as-color-overlay: rgba(20, 20, 20, .45);--as-color-border: var(--as-beige-400);--as-color-border-subtle: var(--as-ink-300);--as-color-border-strong: var(--as-beige-500);--as-color-border-focus: var(--as-ink-900);--as-color-text: var(--as-ink-900);--as-color-text-secondary:var(--as-ink-700);--as-color-text-muted: var(--as-ink-600);--as-color-text-subtle: var(--as-ink-500);--as-color-text-disabled: var(--as-ink-400);--as-color-text-inverse: var(--as-beige-100);--as-color-primary: var(--as-ink-900);--as-color-primary-hover:var(--as-ink-800);--as-color-primary-text: var(--as-beige-100);--as-color-outline-border: var(--as-ink-900);--as-color-outline-hover-bg: var(--as-beige-300);--as-color-outline-text: var(--as-ink-900);--as-font-serif: "Newsreader", serif;--as-font-sans: "Inter", sans-serif;--as-font-mono: "JetBrains Mono", monospace;--as-text-xs: .75rem;--as-text-sm: .875rem;--as-text-base: 1rem;--as-text-lg: 1.125rem;--as-text-xl: 1.25rem;--as-text-2xl: 1.5rem;--as-text-3xl: 2rem;--as-text-4xl: 2.5rem;--as-text-5xl: 4rem;--as-weight-light: 300;--as-weight-regular: 400;--as-weight-medium: 500;--as-weight-semibold: 600;--as-leading-tight: 1.1;--as-leading-snug: 1.3;--as-leading-normal: 1.6;--as-leading-relaxed: 1.7;--as-tracking-tight: -.02em;--as-tracking-normal: 0em;--as-tracking-wide: .05em;--as-space-1: .25rem;--as-space-2: .5rem;--as-space-3: .75rem;--as-space-4: 1rem;--as-space-5: 1.25rem;--as-space-6: 1.5rem;--as-space-8: 2rem;--as-space-10: 2.5rem;--as-space-12: 3rem;--as-space-16: 4rem;--as-space-20: 5rem;--as-space-24: 6rem;--as-space-32: 8rem;--as-container-sm: 640px;--as-container-md: 800px;--as-container-lg: 1024px;--as-container-xl: 1200px;--as-radius-sm: 4px;--as-radius-md: 6px;--as-radius-lg: 12px;--as-radius-xl: 16px;--as-radius-2xl: 20px;--as-radius-full: 9999px;--as-shadow-xs: 0 1px 2px rgba(20, 20, 20, .04);--as-shadow-sm: 0 1px 4px rgba(20, 20, 20, .06), 0 1px 2px rgba(20, 20, 20, .04);--as-shadow-md: 0 4px 12px rgba(20, 20, 20, .07), 0 2px 4px rgba(20, 20, 20, .04);--as-shadow-lg: 0 8px 24px rgba(20, 20, 20, .09), 0 4px 8px rgba(20, 20, 20, .05);--as-shadow-xl: 0 16px 40px rgba(20, 20, 20, .11), 0 6px 12px rgba(20, 20, 20, .06);--as-icon-sm: 16px;--as-icon-md: 20px;--as-icon-lg: 24px;--as-icon-xl: 32px;--as-duration-instant: .1s;--as-duration-fast: .15s;--as-duration-base: .2s;--as-duration-slow: .3s;--as-duration-slower: .4s;--as-ease-standard: cubic-bezier(.4, 0, .2, 1);--as-ease-enter: cubic-bezier(0, 0, .2, 1);--as-ease-exit: cubic-bezier(.4, 0, 1, 1);--as-z-base: 0;--as-z-raised: 10;--as-z-dropdown: 100;--as-z-sticky: 200;--as-z-overlay: 300;--as-z-modal: 400;--as-z-toast: 500;--as-z-tooltip: 600}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4}img,video,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}body{background-color:var(--as-color-bg);color:var(--as-color-text);font-family:var(--as-font-sans);font-size:var(--as-text-base);line-height:var(--as-leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-family:var(--as-font-serif);font-weight:var(--as-weight-regular);font-size:var(--as-text-4xl);line-height:var(--as-leading-snug);letter-spacing:var(--as-tracking-tight);color:var(--as-color-text)}h2{font-family:var(--as-font-serif);font-weight:var(--as-weight-regular);font-size:var(--as-text-3xl);line-height:var(--as-leading-snug);letter-spacing:var(--as-tracking-tight);color:var(--as-color-text)}h3{font-family:var(--as-font-serif);font-weight:var(--as-weight-regular);font-size:var(--as-text-2xl);line-height:1.4;color:var(--as-color-text)}h4{font-family:var(--as-font-sans);font-weight:var(--as-weight-medium);font-size:var(--as-text-xl);line-height:1.4;color:var(--as-color-text)}p{font-size:var(--as-text-base);line-height:var(--as-leading-normal);color:var(--as-color-text-muted);max-width:70ch}small,.text-sm{font-size:var(--as-text-sm);line-height:1.55}.text-xs{font-size:var(--as-text-xs);line-height:1.5}code,kbd,pre{font-family:var(--as-font-mono);font-size:.9em}.container{width:100%;max-width:var(--as-container-xl);margin-inline:auto;padding-inline:var(--as-space-8)}.container-lg{max-width:var(--as-container-lg)}.container-md{max-width:var(--as-container-md)}.container-sm{max-width:var(--as-container-sm)}hr{border:none;border-top:1px solid var(--as-color-border);margin-block:var(--as-space-8)}.section-title{font-family:var(--as-font-serif);font-weight:var(--as-weight-regular);font-size:var(--as-text-3xl);line-height:var(--as-leading-snug);letter-spacing:var(--as-tracking-tight);padding-bottom:var(--as-space-4);border-bottom:1px solid var(--as-color-border);margin-bottom:var(--as-space-6)}blockquote,.quote{font-family:var(--as-font-serif);font-size:var(--as-text-3xl);line-height:1.3;color:var(--as-color-text);padding-left:var(--as-space-8);border-left:4px solid var(--as-ink-900);margin-block:var(--as-space-16)}:focus-visible{outline:2px solid var(--as-color-border-focus);outline-offset:2px}@media(max-width:768px){h1{font-size:var(--as-text-3xl)}h2{font-size:var(--as-text-2xl)}h3{font-size:var(--as-text-xl)}h4{font-size:var(--as-text-lg)}p{line-height:var(--as-leading-relaxed)}.container{padding-inline:var(--as-space-4)}blockquote,.quote{font-size:var(--as-text-2xl)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--as-space-2);padding:.875rem var(--as-space-6);font-family:var(--as-font-sans);font-weight:var(--as-weight-medium);font-size:var(--as-text-base);line-height:1;border-radius:var(--as-radius-md);border:1px solid transparent;white-space:nowrap;text-decoration:none;transition:opacity var(--as-duration-base) var(--as-ease-standard),transform var(--as-duration-base) var(--as-ease-standard),background-color var(--as-duration-base) var(--as-ease-standard)}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--as-color-primary);color:var(--as-color-primary-text);border-color:var(--as-color-primary)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-outline{background-color:transparent;color:var(--as-color-outline-text);border-color:var(--as-color-outline-border)}.btn-outline:hover{background-color:var(--as-color-outline-hover-bg)}.btn-ghost{background-color:transparent;color:var(--as-color-text-muted);border-color:transparent;padding-inline:var(--as-space-4)}.btn-ghost:hover{color:var(--as-color-text);background-color:var(--as-color-surface-hover)}.btn-sm{padding:.5rem var(--as-space-4);font-size:var(--as-text-sm)}.btn-lg{padding:1rem var(--as-space-8);font-size:var(--as-text-lg)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.card{background-color:var(--as-color-surface);border:1px solid var(--as-color-border);border-radius:var(--as-radius-2xl);padding:var(--as-space-10);transition:background-color var(--as-duration-slow) var(--as-ease-standard)}.card:hover{background-color:var(--as-color-surface-hover)}.card-sm{padding:var(--as-space-6)}.card-lg{padding:var(--as-space-12);border-radius:var(--as-radius-2xl)}.card-static{transition:none}.card-static:hover{background-color:var(--as-color-surface)}.badge{display:inline-block;font-family:var(--as-font-sans);font-weight:var(--as-weight-semibold);font-size:var(--as-text-xs);line-height:1;text-transform:uppercase;letter-spacing:var(--as-tracking-wide);color:var(--as-color-text-muted);background-color:transparent;border:1px solid var(--as-color-border);border-radius:var(--as-radius-sm);padding:var(--as-space-1) var(--as-space-2)}.badge-success{color:var(--as-success);background-color:var(--as-success-bg);border-color:transparent}.badge-warning{color:var(--as-warning);background-color:var(--as-warning-bg);border-color:transparent}.badge-error{color:var(--as-error);background-color:var(--as-error-bg);border-color:transparent}.badge-info{color:var(--as-info);background-color:var(--as-info-bg);border-color:transparent}.input{display:block;width:100%;height:48px;padding-inline:var(--as-space-4);font-family:var(--as-font-sans);font-size:var(--as-text-base);font-weight:var(--as-weight-regular);color:var(--as-color-text);background-color:var(--as-beige-50);border:1px solid var(--as-color-border);border-radius:var(--as-radius-md);transition:border-color var(--as-duration-fast) var(--as-ease-standard)}.input::placeholder{color:var(--as-color-text-disabled)}.input:focus{outline:2px solid var(--as-color-border-focus);outline-offset:2px;border-color:var(--as-ink-900)}.input:disabled{opacity:.5;cursor:not-allowed}.textarea{height:auto;min-height:120px;padding-block:var(--as-space-3);resize:vertical}.label{display:block;font-family:var(--as-font-sans);font-weight:var(--as-weight-medium);font-size:var(--as-text-xs);line-height:1;letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-secondary);margin-bottom:var(--as-space-2)}.divider{border:none;border-top:1px solid var(--as-color-border)}.skeleton{background:linear-gradient(90deg,var(--as-beige-300) 25%,var(--as-beige-200) 50%,var(--as-beige-300) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--as-radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--as-beige-300)}}.overlay{position:fixed;inset:0;background-color:var(--as-color-overlay);z-index:var(--as-z-overlay);animation:overlay-in var(--as-duration-base) var(--as-ease-enter)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}:root{--as-color-bg: #F9F8F6;--as-color-surface: #F2F0EA;--as-color-surface-raised: #FDFCFA;--as-color-surface-hover: #EBE8E0;--as-color-border: #DCD8D0;--as-color-border-strong: var(--as-beige-500);--as-success-bg: #C4D8D0;--as-success: #2D5246;--as-warning-bg: #D8CCBC;--as-warning: #6B4820;--as-error-bg: #D8C4C4;--as-error: #6B2C2C;--as-info-bg: #C4CCDB;--as-info: #2D3E56}.app-shell{display:grid;grid-template-columns:224px 1fr;min-height:100dvh;background-color:var(--as-color-bg)}.sidebar{display:flex;flex-direction:column;background-color:var(--as-color-surface);border-right:1px solid var(--as-color-border);position:sticky;top:0;height:100dvh;overflow-y:auto}.sidebar-header{padding:var(--as-space-6) var(--as-space-5);border-bottom:1px solid var(--as-color-border)}.sidebar-logo{font-family:var(--as-font-sans);font-weight:var(--as-weight-semibold);font-size:var(--as-text-xs);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text)}.sidebar-product{display:block;font-family:var(--as-font-serif);font-size:var(--as-text-xl);color:var(--as-color-text);margin-top:var(--as-space-1);line-height:1.2}.sidebar-nav{flex:1;padding:var(--as-space-4) var(--as-space-3);display:flex;flex-direction:column;gap:var(--as-space-1)}.sidebar-footer{padding:var(--as-space-3) var(--as-space-3) var(--as-space-5);border-top:1px solid var(--as-color-border);display:flex;flex-direction:column;gap:var(--as-space-1)}.nav-item{display:flex;align-items:center;gap:var(--as-space-3);padding:var(--as-space-2) var(--as-space-3);border-radius:var(--as-radius-md);font-family:var(--as-font-sans);font-size:var(--as-text-sm);font-weight:var(--as-weight-medium);color:var(--as-color-text-muted);text-decoration:none;cursor:pointer;background:none;border:none;width:100%;text-align:left;transition:color var(--as-duration-fast) var(--as-ease-standard),background-color var(--as-duration-fast) var(--as-ease-standard)}.nav-item:hover,.nav-item--active{color:var(--as-color-text);background-color:var(--as-color-surface-hover)}.nav-item svg{flex-shrink:0;color:var(--as-color-text-subtle);transition:color var(--as-duration-fast) var(--as-ease-standard)}.nav-item:hover svg,.nav-item--active svg{color:var(--as-color-text)}.main-content{overflow-y:auto;padding:var(--as-space-8) var(--as-space-10);max-width:1200px}.page-header{margin-bottom:var(--as-space-8)}.page-header h1{font-family:var(--as-font-serif);font-size:var(--as-text-3xl);font-weight:var(--as-weight-regular);color:var(--as-color-text);line-height:var(--as-leading-snug);letter-spacing:var(--as-tracking-tight);margin:0}.page-header p{margin-top:var(--as-space-2);color:var(--as-color-text-muted);font-size:var(--as-text-sm)}.section{margin-top:var(--as-space-10)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--as-space-4)}.section-header h2{font-family:var(--as-font-sans);font-size:var(--as-text-sm);font-weight:var(--as-weight-semibold);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted);margin:0;padding-bottom:var(--as-space-3);border-bottom:1px solid var(--as-color-border);flex:1;margin-right:var(--as-space-4)}.data-table{width:100%;border-collapse:collapse;font-size:var(--as-text-sm)}.data-table th{font-family:var(--as-font-sans);font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted);padding:var(--as-space-3) var(--as-space-4);border-bottom:1px solid var(--as-color-border);text-align:left}.data-table td{padding:var(--as-space-3) var(--as-space-4);border-bottom:1px solid var(--as-color-border);color:var(--as-color-text);vertical-align:middle}.data-table tbody tr:hover td{background-color:var(--as-color-surface-hover)}.badge{display:inline-flex;align-items:center;padding:2px var(--as-space-2);border-radius:var(--as-radius-sm);font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);text-transform:capitalize}.badge-actif{background:var(--as-success-bg);color:var(--as-success)}.badge-termine{background:var(--as-color-surface-raised);color:var(--as-color-text-muted)}.badge-suspendu{background:var(--as-warning-bg);color:var(--as-warning)}.badge-genere{background:var(--as-color-surface-raised);color:var(--as-color-text-muted)}.badge-telecharge{background:var(--as-success-bg);color:var(--as-success)}.badge-soumis{background:var(--as-color-accent-bg, var(--as-beige-100));color:var(--as-color-text)}.badge-en_attente_visa{background:#fff3cd;color:#856404}.badge-vise{background:var(--as-success-bg);color:var(--as-success)}.fw-medium{font-weight:var(--as-weight-medium, 500)}.mt-2{margin-top:var(--as-space-2)}.back-link{display:inline-block;font-size:var(--as-text-sm);color:var(--as-color-text-muted);text-decoration:none;margin-bottom:var(--as-space-2)}.back-link:hover{color:var(--as-color-text)}.info-grid{display:grid;grid-template-columns:max-content 1fr;gap:var(--as-space-2) var(--as-space-6);font-size:var(--as-text-sm)}.info-grid dt{color:var(--as-color-text-muted);font-weight:var(--as-weight-medium)}.info-grid dd{margin:0}.alert{padding:var(--as-space-4) var(--as-space-5);border-radius:var(--as-radius-md);margin-bottom:var(--as-space-6);font-size:var(--as-text-sm);line-height:1.6}.alert-success{background:var(--as-success-bg);color:var(--as-success);border:1px solid color-mix(in srgb,var(--as-success) 30%,transparent)}.alert-danger{background:var(--as-error-bg);color:var(--as-error);border:1px solid color-mix(in srgb,var(--as-error) 30%,transparent)}.btn-danger{background-color:var(--as-error);color:#fff;border-color:var(--as-error)}.btn-danger:hover{opacity:.9}.data-table .row-total th,.data-table .row-total td{font-weight:var(--as-weight-semibold);border-top:2px solid var(--as-color-border)}.form-card{background-color:var(--as-color-surface);border:1px solid var(--as-color-border);border-radius:var(--as-radius-lg);padding:var(--as-space-8);max-width:820px}.form-hint{font-size:var(--as-text-sm);color:var(--as-color-text-muted);margin-bottom:var(--as-space-4);line-height:1.6}.fields-row{display:flex;gap:var(--as-space-4);flex-wrap:wrap}.fields-row .field{flex:1;min-width:180px}.form-actions{display:flex;justify-content:flex-end;gap:var(--as-space-3);margin-top:var(--as-space-8);padding-top:var(--as-space-6);border-top:1px solid var(--as-color-border)}.form-actions-sm{display:flex;gap:var(--as-space-2);margin-top:var(--as-space-3)}.inline-form{background-color:var(--as-color-bg);border:1px solid var(--as-color-border);border-radius:var(--as-radius-md);padding:var(--as-space-4);margin-bottom:var(--as-space-4)}.link-subtle{color:var(--as-color-text);text-decoration:none}.link-subtle:hover{text-decoration:underline;text-underline-offset:3px}.text-right{text-align:right}.text-muted{color:var(--as-color-text-muted)}.text-success{color:var(--as-success)}.text-sm{font-size:var(--as-text-sm)}.font-medium{font-weight:var(--as-weight-medium)}.mono{font-family:var(--as-font-mono)}.filter-bar{display:flex;gap:var(--as-space-2);margin-bottom:var(--as-space-6)}.empty-state{text-align:center;padding:var(--as-space-16) var(--as-space-8);color:var(--as-color-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--as-space-4)}.empty-state p{font-size:var(--as-text-sm);margin:0}.empty-state-sm{padding:var(--as-space-8);text-align:center;color:var(--as-color-text-muted);font-size:var(--as-text-sm);background-color:var(--as-color-bg);border:1px dashed var(--as-color-border);border-radius:var(--as-radius-md)}.skeleton-card{height:120px;border-radius:var(--as-radius-lg);background:linear-gradient(90deg,var(--as-color-surface) 25%,var(--as-color-surface-raised) 50%,var(--as-color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--as-space-8) var(--as-space-4);background-color:var(--as-color-bg)}.auth-card{width:100%;max-width:440px}.auth-brand{margin-bottom:var(--as-space-8)}.auth-brand-name{font-family:var(--as-font-sans);font-size:var(--as-text-xs);font-weight:var(--as-weight-semibold);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted)}.auth-brand-product{display:block;font-family:var(--as-font-serif);font-size:var(--as-text-3xl);font-weight:var(--as-weight-regular);letter-spacing:var(--as-tracking-tight);line-height:var(--as-leading-snug);color:var(--as-color-text);margin-top:var(--as-space-1)}.auth-headline{font-size:var(--as-text-base);color:var(--as-color-text-muted);margin-top:var(--as-space-2)}.auth-form{margin-top:var(--as-space-8);display:flex;flex-direction:column;gap:var(--as-space-5)}.field{display:flex;flex-direction:column;gap:var(--as-space-2)}.field label{font-family:var(--as-font-sans);font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-secondary)}.field input,.field select,.field-input{display:block;width:100%;height:44px;padding-inline:var(--as-space-4);font-family:var(--as-font-sans);font-size:var(--as-text-sm);color:var(--as-color-text);background-color:var(--as-beige-50);border:1px solid var(--as-color-border);border-radius:var(--as-radius-md);transition:border-color var(--as-duration-fast) var(--as-ease-standard),outline-color var(--as-duration-fast) var(--as-ease-standard);box-sizing:border-box}.field input::placeholder,.field-input::placeholder{color:var(--as-color-text-disabled)}.field input:focus,.field select:focus,.field-input:focus{outline:2px solid var(--as-color-border-focus);outline-offset:2px;border-color:var(--as-ink-900)}.field select,select.field-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378756F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--as-space-3) center;padding-right:var(--as-space-10)}.auth-form .btn{width:100%;height:48px;margin-top:var(--as-space-2)}.form-error{font-size:var(--as-text-sm);color:var(--as-error);background-color:var(--as-error-bg);border-radius:var(--as-radius-md);padding:var(--as-space-3) var(--as-space-4)}.auth-footer{margin-top:var(--as-space-6);font-size:var(--as-text-sm);color:var(--as-color-text-muted);text-align:center}.auth-footer a{color:var(--as-color-text);text-decoration:underline;text-underline-offset:3px}.field-hint{font-size:var(--as-text-xs);color:var(--as-color-text-muted)}.form-section-title{font-family:var(--as-font-sans);font-size:var(--as-text-sm);font-weight:var(--as-weight-semibold);color:var(--as-color-text-secondary);padding-top:var(--as-space-4);border-top:1px solid var(--as-color-border);margin-top:var(--as-space-2);margin-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--as-space-4);margin-bottom:var(--as-space-8)}.stat-card{background-color:var(--as-color-surface);border:1px solid var(--as-color-border);border-radius:var(--as-radius-lg);padding:var(--as-space-6);display:flex;flex-direction:column;gap:var(--as-space-2)}.stat-label{font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted)}.stat-value{font-family:var(--as-font-mono);font-size:var(--as-text-2xl);font-weight:var(--as-weight-medium);color:var(--as-color-text);line-height:1.1}.bpu-table{width:100%;border-collapse:collapse;font-size:var(--as-text-sm);margin-bottom:var(--as-space-2)}.bpu-table th{font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted);padding:var(--as-space-2) var(--as-space-3);border-bottom:1px solid var(--as-color-border);text-align:left;white-space:nowrap}.bpu-table td{padding:var(--as-space-2) var(--as-space-3);border-bottom:1px solid var(--as-color-border);color:var(--as-color-text);vertical-align:middle}.bpu-table tfoot td{padding:var(--as-space-3) var(--as-space-3);background-color:var(--as-color-bg);font-size:var(--as-text-sm)}.bpu-table .qty-input{width:100px;height:36px;text-align:right;font-family:var(--as-font-mono)}.detail-meta{display:flex;flex-wrap:wrap;gap:var(--as-space-6);margin-bottom:var(--as-space-8);padding:var(--as-space-5) var(--as-space-6);background-color:var(--as-color-surface);border:1px solid var(--as-color-border);border-radius:var(--as-radius-lg)}.meta-item{display:flex;flex-direction:column;gap:var(--as-space-1)}.meta-label{font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted)}.meta-value{font-family:var(--as-font-mono);font-size:var(--as-text-base);font-weight:var(--as-weight-medium);color:var(--as-color-text)}.btn-group{display:flex;gap:var(--as-space-2)}.import-drop-zone{border:2px dashed var(--as-color-border);border-radius:var(--as-radius-lg);padding:var(--as-space-6);text-align:center;transition:border-color .15s,background-color .15s;cursor:default}.import-drop-zone.drop-zone--over{border-color:var(--as-color-primary, #2563eb);background-color:var(--as-color-primary-bg, #eff6ff)}.import-drop-inner{display:flex;flex-direction:column;align-items:center;gap:var(--as-space-3)}.import-drop-title{font-size:var(--as-text-sm);font-weight:var(--as-weight-medium);color:var(--as-color-text-muted);margin:0}.import-preview-label{font-size:var(--as-text-sm);font-weight:var(--as-weight-medium);color:var(--as-color-text-muted);margin:0 0 var(--as-space-3)}.import-preview-scroll{max-height:320px;overflow-y:auto;border:1px solid var(--as-color-border);border-radius:var(--as-radius-md);margin-bottom:var(--as-space-2)}.import-row--error td{background-color:var(--as-color-error-bg, #fef2f2);color:var(--as-color-error, #dc2626)}.badge-ok{font-size:var(--as-text-xs);color:var(--as-color-success, #16a34a);font-weight:var(--as-weight-semibold)}.badge-error{font-size:var(--as-text-xs);color:var(--as-color-error, #dc2626);font-weight:var(--as-weight-medium)}.formula-display{display:block;font-family:var(--as-font-mono);font-size:var(--as-text-sm);color:var(--as-color-text);background-color:var(--as-color-bg);border:1px solid var(--as-color-border);border-radius:var(--as-radius-sm);padding:var(--as-space-2) var(--as-space-3);white-space:nowrap;overflow-x:auto;max-width:100%}.rag-import-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--as-space-3);padding:var(--as-space-4) var(--as-space-5);background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:var(--as-radius-lg);margin-bottom:var(--as-space-6)}.rag-import-info{font-size:var(--as-text-sm);color:var(--as-color-text);line-height:1.5}.rag-import-actions{display:flex;align-items:center;gap:var(--as-space-3);flex-shrink:0}.rag-btn{cursor:pointer}.rag-btn[aria-disabled=true]{opacity:.6;pointer-events:none}.field--rag-filled{border-color:#38bdf8!important;background-color:#f0f9ff!important;transition:background-color .5s,border-color .5s}.field--rag-filled:focus{background-color:#fff!important}.row--rag-filled td{background-color:#f0f9ff}.rag-warnings{padding:var(--as-space-3) var(--as-space-4);background:#fff8e6;border:1px solid #f0b429;border-radius:var(--as-radius-md);font-size:var(--as-text-sm);margin-bottom:var(--as-space-5);color:#856404}.rag-warnings ul{margin:var(--as-space-2) 0 0 var(--as-space-4);padding:0}.rag-warnings li{margin-bottom:var(--as-space-1)}.decompte-recap{background-color:var(--as-color-surface);border:1px solid var(--as-color-border);border-radius:var(--as-radius-lg);padding:var(--as-space-6);max-width:560px;margin-bottom:var(--as-space-8)}.recap-row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--as-space-3) 0;border-bottom:1px solid var(--as-color-border);gap:var(--as-space-4)}.recap-row:last-child{border-bottom:none}.recap-label{font-size:var(--as-text-sm);color:var(--as-color-text-muted)}.recap-value{font-family:var(--as-font-mono);font-size:var(--as-text-sm);font-weight:var(--as-weight-medium);color:var(--as-color-text);white-space:nowrap}.recap-row--highlight{background-color:var(--as-success-bg);border-radius:var(--as-radius-sm);padding-inline:var(--as-space-3)}.recap-row--total .recap-label,.recap-row--total .recap-value{font-size:var(--as-text-base);font-weight:var(--as-weight-semibold);color:var(--as-color-text)}.note-calcul{background-color:var(--as-color-surface);border:1px solid var(--as-color-border);border-radius:var(--as-radius-lg);padding:var(--as-space-6)}.note-calcul h3{font-family:var(--as-font-sans);font-size:var(--as-text-sm);font-weight:var(--as-weight-semibold);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted);margin:0 0 var(--as-space-1)}.formula-block{margin:var(--as-space-4) 0}.formula-label{font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted);margin-bottom:var(--as-space-2)}.form-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--as-space-3);margin:var(--as-space-6) 0 var(--as-space-4)}.ocr-zone{display:flex;align-items:center;gap:var(--as-space-3)}.ocr-btn{cursor:pointer;display:inline-flex;align-items:center;gap:var(--as-space-2)}.ocr-btn[aria-disabled=true]{opacity:.6;pointer-events:none}.ocr-status{font-size:var(--as-text-sm);color:var(--as-color-text-muted);font-style:italic}.qty-input--ocr{background-color:#fff8e6;border-color:#f0b429;outline:none;transition:background-color .4s}.qty-input--ocr:focus{background-color:#fff;border-color:var(--as-color-accent, #007aff)}.row--ocr-filled{background-color:#fffcf0}.ocr-raw-text{margin-top:var(--as-space-4);padding:var(--as-space-3) var(--as-space-4);background:var(--as-color-surface-raised, #f5f5f0);border:1px solid var(--as-color-border);border-radius:var(--as-radius-md)}.ocr-raw-label{display:block;font-size:var(--as-text-xs);font-weight:var(--as-weight-medium);letter-spacing:var(--as-tracking-wide);text-transform:uppercase;color:var(--as-color-text-muted);margin-bottom:var(--as-space-2)}.ocr-raw-text pre{font-family:var(--as-font-mono);font-size:var(--as-text-xs);color:var(--as-color-text-muted);white-space:pre-wrap;word-break:break-word;margin:0;max-height:120px;overflow-y:auto}#toast-container{position:fixed;top:var(--as-space-5);right:var(--as-space-5);z-index:var(--as-z-toast);display:flex;flex-direction:column;gap:var(--as-space-3);pointer-events:none}.toast{padding:var(--as-space-4) var(--as-space-5);border-radius:var(--as-radius-lg);font-size:var(--as-text-sm);font-weight:var(--as-weight-medium);max-width:360px;box-shadow:var(--as-shadow-lg);pointer-events:auto;opacity:0;transform:translateY(-8px);transition:opacity var(--as-duration-slow) var(--as-ease-enter),transform var(--as-duration-slow) var(--as-ease-enter)}.toast--visible{opacity:1;transform:translateY(0)}.toast-success{background-color:var(--as-success-bg);color:var(--as-success);border:1px solid currentColor}.toast-error{background-color:var(--as-error-bg);color:var(--as-error);border:1px solid currentColor}.toast-info{background-color:var(--as-color-surface-raised);color:var(--as-color-text);border:1px solid var(--as-color-border)}@media(prefers-reduced-motion:reduce){.toast{transition:opacity var(--as-duration-fast) var(--as-ease-standard);transform:none}}
