@font-face{font-family:GT Walsheim Pro;src:url(/fonts/GTWalsheimPro-Regular.woff2) format("woff2"),url(/fonts/GTWalsheimPro-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GT Walsheim Pro;src:url(/fonts/GTWalsheimPro-Bold.woff2) format("woff2"),url(/fonts/GTWalsheimPro-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--neutral-0: #FFFFFF;--neutral-50: #FAFAFF;--neutral-100: #EFEFF7;--neutral-300: #C5C5CD;--neutral-500: #9B9BA4;--neutral-600: #76767D;--neutral-700: #46464C;--neutral-900: #1B1B20;--ink-50: #F0F1F9;--ink-100: #E6E8F7;--ink-300: #B9BDD1;--ink-700: #3F4361;--ink-800: #34374E;--ink-950: #242636;--green-50: #E1FAE9;--green-200: #99F0B6;--green-500: #00A868;--green-700: #006D44;--red-50: #FCEEEE;--red-100: #F9DEDC;--red-400: #D9564C;--red-600: #B3261E;--amber-50: #FFEFD6;--amber-200: #FFDEA3;--amber-400: #FFB94A;--amber-700: #7A5900;--background: var(--neutral-0);--card: var(--neutral-0);--card-border: var(--neutral-100);--card-hover: var(--neutral-50);--card-selected: var(--ink-50);--popover: var(--neutral-0);--muted: var(--neutral-100);--foreground: var(--neutral-900);--muted-foreground: var(--neutral-700);--subtle-foreground: var(--neutral-600);--placeholder: var(--neutral-700);--primary: var(--ink-950);--primary-hover: var(--ink-800);--primary-active: var(--ink-700);--primary-disabled: var(--ink-300);--primary-foreground: var(--neutral-0);--primary-accent: var(--ink-100);--primary-accent-foreground: var(--ink-800);--primary-accent-subtle: var(--ink-50);--secondary: var(--green-700);--secondary-hover: var(--green-500);--secondary-foreground: var(--neutral-0);--secondary-subtle: var(--green-50);--destructive: var(--red-600);--destructive-hover: var(--red-400);--destructive-foreground: var(--neutral-0);--destructive-subtle: var(--red-50);--border: var(--neutral-300);--border-strong: var(--neutral-600);--border-subtle: var(--neutral-100);--border-input: var(--neutral-300);--ring: var(--ink-950);--status-success: var(--green-500);--status-success-subtle: var(--green-50);--status-success-foreground: var(--green-700);--status-warning: var(--amber-400);--status-warning-subtle: var(--amber-50);--status-warning-foreground: var(--amber-700);--status-danger: var(--red-400);--status-danger-subtle: var(--red-50);--status-danger-foreground: var(--red-600);--status-neutral: var(--neutral-500);--status-neutral-subtle: var(--neutral-100);--status-neutral-foreground: var(--neutral-700);--table-row-hover: var(--neutral-50);--table-row-selected: var(--ink-50);--input-bg: var(--neutral-50);--input-border: var(--neutral-300);--input-border-focus: var(--ink-950);--input-border-error: var(--red-600);--banner-info-bg: #E6E8F7;--banner-info-border: #DCDFF5;--banner-info-fg: #242636;--banner-success-bg: var(--green-50);--banner-success-border: var(--green-200);--banner-success-fg: var(--green-700);--banner-warning-bg: var(--amber-50);--banner-warning-border: var(--amber-200);--banner-warning-fg: var(--amber-700);--banner-error-bg: var(--red-50);--banner-error-border: var(--red-100);--banner-error-fg: var(--red-600);--sidebar-bg: #17181F;--sidebar-surface: #22232C;--sidebar-surface-active: #2B2C38;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-highlight: rgba(255, 255, 255, .15);--sidebar-foreground: #F5F5FA;--sidebar-foreground-muted: #9B9CA8;--sidebar-width: 232px;--sidebar-width-collapsed: 72px;--mono-data: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-ui: "GT Walsheim Pro", "Helvetica Neue", Arial, sans-serif;--type-display: 700 2.25rem/2.75rem var(--font-ui);--type-h1: 700 1.875rem/2.25rem var(--font-ui);--type-h2: 700 1.5rem/2rem var(--font-ui);--type-h3: 700 1.125rem/1.5rem var(--font-ui);--type-title: 500 1rem/1.5rem var(--font-ui);--type-body-lg: 400 1rem/1.5rem var(--font-ui);--type-body: 400 .875rem/1.25rem var(--font-ui);--type-body-strong: 500 .875rem/1.25rem var(--font-ui);--type-label: 500 .75rem/1rem var(--font-ui);--type-caption: 400 .75rem/1rem var(--font-ui);--type-micro: 500 .625rem/.875rem var(--font-ui);--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(27, 27, 32, .05);--shadow-md: 0 2px 4px rgba(27, 27, 32, .06), 0 4px 12px rgba(27, 27, 32, .08);--shadow-lg: 0 4px 8px rgba(27, 27, 32, .08), 0 12px 32px rgba(27, 27, 32, .14);--shadow-inset: inset 0 0 20px rgba(27, 27, 32, .07);--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur: .18s}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font:var(--type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:var(--foreground);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--primary-hover)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring)}::selection{background:var(--primary-accent)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.t-display{font:var(--type-display);letter-spacing:-.02em}.t-h1{font:var(--type-h1);letter-spacing:-.02em}.t-h2{font:var(--type-h2);letter-spacing:-.01em}.t-h3{font:var(--type-h3)}.t-title{font:var(--type-title)}.t-body-lg{font:var(--type-body-lg)}.t-body{font:var(--type-body)}.t-body-strong{font:var(--type-body-strong)}.t-label{font:var(--type-label)}.t-caption{font:var(--type-caption)}.t-micro{font:var(--type-micro);text-transform:uppercase;letter-spacing:.06em}.u-mono{font-family:var(--mono-data);font-size:.92em}.u-num{font-variant-numeric:tabular-nums}.u-muted{color:var(--muted-foreground)}.u-subtle{color:var(--subtle-foreground)}.stack{display:flex;flex-direction:column;gap:var(--spacing-3)}.stack--sm{gap:var(--spacing-2)}.stack--lg{gap:var(--spacing-6)}.row{display:flex;align-items:center;gap:var(--spacing-2)}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.grid{display:grid;gap:var(--spacing-3)}.grid--kpi{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.divider{border:0;border-top:1px solid var(--border-subtle);margin:0}.scroll-x{overflow-x:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);height:40px;padding:0 var(--spacing-6);border:1px solid transparent;border-radius:var(--radius-full);font:var(--type-body-strong);cursor:pointer;background:var(--primary);color:var(--primary-foreground);transition-property:background-color,color,border-color,scale;transition-duration:var(--dur-fast);transition-timing-function:var(--ease)}.btn:hover{background:var(--primary-hover)}.btn:active{background:var(--primary-active);scale:.96}.btn:disabled{background:var(--primary-disabled);color:var(--primary-foreground);cursor:not-allowed;scale:1}.btn--outline{background:var(--background);color:var(--foreground);border-color:var(--border)}.btn--outline:hover{background:var(--muted)}.btn--outline:active{background:var(--neutral-100)}.btn--outline:disabled{background:var(--background);color:var(--neutral-300);border-color:var(--border-subtle)}.btn--ghost{background:transparent;color:var(--foreground)}.btn--ghost:hover{background:var(--muted)}.btn--ghost:active{background:var(--neutral-100)}.btn--ghost:disabled{background:transparent;color:var(--neutral-300)}.btn--destructive{background:var(--destructive);color:var(--destructive-foreground)}.btn--destructive:hover,.btn--destructive:active{background:var(--destructive-hover)}.btn--destructive.btn--outline,.btn--destructive.btn--ghost{background:transparent;color:var(--destructive)}.btn--destructive.btn--outline{background:var(--background);border-color:var(--destructive)}.btn--destructive.btn--outline:hover,.btn--destructive.btn--ghost:hover{background:var(--destructive-subtle)}.btn--sm{height:32px;padding:0 var(--spacing-4)}.btn--lg{height:48px;padding:0 var(--spacing-8);font:var(--type-title)}.btn--sm:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.btn--sm{position:relative}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:var(--radius-full);background:var(--primary);color:var(--primary-foreground);cursor:pointer;transition-property:background-color,color,scale;transition-duration:var(--dur-fast);transition-timing-function:var(--ease)}.icon-btn:hover{background:var(--primary-hover)}.icon-btn:active{scale:.96}.icon-btn--outline{background:var(--background);color:var(--foreground);border-color:var(--border)}.icon-btn--outline:hover{background:var(--muted)}.icon-btn--ghost{background:transparent;color:var(--foreground)}.icon-btn--ghost:hover{background:var(--muted)}.icon-btn--sm{width:32px;height:32px;position:relative}.icon-btn--sm:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.icon-btn--lg{width:48px;height:48px}.utility-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);height:40px;padding:0 var(--spacing-3);border:1px solid transparent;border-radius:var(--radius-lg);background:var(--muted);color:var(--foreground);font:var(--type-body-strong);cursor:pointer;transition-property:background-color,border-color;transition-duration:var(--dur-fast);transition-timing-function:var(--ease)}.utility-btn:hover{background:var(--neutral-100)}.utility-btn:disabled{color:var(--neutral-300);cursor:not-allowed}.utility-btn--outline{background:var(--background);border-color:var(--border)}.utility-btn--outline:hover{background:var(--muted)}.utility-btn--outline:disabled{background:transparent;border-color:var(--border-subtle)}.utility-btn--sm{height:32px}.utility-btn--xs{height:24px;padding:0 var(--spacing-2);gap:var(--spacing-1);border-radius:var(--radius-sm);font:var(--type-label)}.utility-btn__chevron{color:var(--muted-foreground)}.field{display:flex;flex-direction:column;gap:var(--spacing-1)}.field__label{font:var(--type-label);color:var(--foreground)}.field__supporting{font:var(--type-caption);color:var(--muted-foreground)}.field--error .field__supporting{color:var(--destructive)}.field--disabled .field__label,.field--disabled .field__supporting{color:var(--neutral-300)}.input,.select,.textarea{width:100%;height:40px;padding:0 var(--spacing-4);background:var(--input-bg);color:var(--foreground);border:1px solid var(--input-border);border-radius:var(--radius-lg);font:var(--type-body-lg);transition-property:border-color,box-shadow;transition-duration:var(--dur-fast);transition-timing-function:var(--ease)}.textarea{height:auto;padding:var(--spacing-3) var(--spacing-4);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--placeholder)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--input-border-focus);box-shadow:none;outline:none}.input--lg,.select--lg{height:48px}.input--sm,.select--sm{height:32px;padding:0 var(--spacing-3);font:var(--type-body)}.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--input-border-error)}.field--disabled .input,.field--disabled .select,.field--disabled .textarea{color:var(--neutral-300);border-color:var(--border-subtle);background:var(--input-bg)}.chip{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);border:1px solid;border-radius:var(--radius-lg);font:var(--type-label);white-space:nowrap;background:var(--primary-accent);border-color:#dcdff5;color:var(--ink-950)}.chip--secondary{background:var(--secondary-subtle);border-color:var(--green-200);color:var(--secondary)}.chip--error{background:var(--destructive-subtle);border-color:var(--red-100);color:var(--destructive)}.chip--tertiary{background:var(--status-warning-subtle);border-color:var(--amber-200);color:var(--status-warning-foreground)}.chip--new{background:var(--destructive);border-color:transparent;color:var(--destructive-foreground)}.chip--neutral{background:var(--status-neutral-subtle);border-color:var(--neutral-300);color:var(--status-neutral-foreground)}.chip--md{font:var(--type-body-strong)}.chip--lg{font:var(--type-title)}.chip--origin-nsia{background:var(--status-warning-subtle);border-color:var(--amber-200);color:var(--status-warning-foreground)}.chip--origin-atsgo{background:var(--status-neutral-subtle);border-color:var(--neutral-300);color:var(--status-neutral-foreground)}.chip--origin-retour{background:var(--secondary-subtle);border-color:var(--green-200);color:var(--secondary)}.chip--origin-rejet{background:var(--destructive-subtle);border-color:var(--red-100);color:var(--destructive)}.chip .u-mono{font-size:1em}.banner{border:1px solid;border-radius:var(--radius-xl);overflow:hidden;background:var(--banner-info-bg);border-color:var(--banner-info-border)}.banner__body{display:flex;align-items:flex-start;gap:var(--spacing-4);padding:var(--spacing-4);position:relative}.banner__icon{flex:none;width:24px;height:24px;color:var(--banner-info-fg)}.banner__content{display:flex;flex-direction:column;min-width:0}.banner__title{font:var(--type-body-strong);color:var(--banner-info-fg)}.banner__desc{font:var(--type-body);color:var(--foreground)}.banner__desc--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.banner__actions{display:flex;gap:var(--spacing-3);padding:0 var(--spacing-4) var(--spacing-4) 56px}.banner__close{position:absolute;top:var(--spacing-2);right:var(--spacing-2)}.banner__counter{padding:var(--spacing-2) var(--spacing-4);border-bottom:1px solid var(--banner-info-border);font:var(--type-label);color:var(--banner-info-fg)}.banner--success{background:var(--banner-success-bg);border-color:var(--banner-success-border)}.banner--success .banner__icon,.banner--success .banner__title,.banner--success .banner__counter{color:var(--banner-success-fg);border-color:var(--banner-success-border)}.banner--warning{background:var(--banner-warning-bg);border-color:var(--banner-warning-border)}.banner--warning .banner__icon,.banner--warning .banner__title,.banner--warning .banner__counter{color:var(--banner-warning-fg);border-color:var(--banner-warning-border)}.banner--error{background:var(--banner-error-bg);border-color:var(--banner-error-border)}.banner--error .banner__icon,.banner--error .banner__title,.banner--error .banner__counter{color:var(--banner-error-fg);border-color:var(--banner-error-border)}.list-group{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-xl);overflow:hidden}.list-row{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap;padding:var(--spacing-4)}.list-row--card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-xl)}.list-group .list-row+.list-row{border-top:1px solid var(--border-subtle)}.list-row--selected{background:var(--table-row-hover);box-shadow:var(--shadow-inset)}.list-row:hover{background:var(--card-hover)}.list-avatar{flex:none;width:40px;height:40px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--primary-accent);color:var(--primary-accent-foreground);font:var(--type-body-strong)}.list-row__text{display:flex;flex-direction:column;gap:var(--spacing-1);min-width:0;flex:1}.list-row__title{font:var(--type-title);color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row__meta{font:var(--type-body);color:var(--subtle-foreground)}.list-row__meta .sep{color:var(--neutral-300);padding:0 var(--spacing-1)}.list-row__trailing{display:flex;align-items:center;gap:var(--spacing-3);margin-left:auto}.list-row__amount{font:var(--type-h3);font-variant-numeric:tabular-nums}.list-row__detail{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);flex-wrap:wrap;width:100%;padding-top:var(--spacing-3);border-top:1px solid var(--border-subtle)}.field-row{display:flex;align-items:center;gap:var(--spacing-2);height:40px;padding:0 var(--spacing-3);background:var(--muted);border-radius:var(--radius-lg);font:var(--type-body);color:var(--foreground);min-width:0}.field-row__value{font-family:var(--mono-data);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-xl)}.table{border-collapse:collapse;width:100%;font:var(--type-body)}.table th{font:var(--type-label);color:var(--muted-foreground);text-align:left;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-subtle);background:var(--card);white-space:nowrap}.table td{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition-property:background-color;transition-duration:var(--dur-fast);transition-timing-function:var(--ease)}.table tbody tr:hover{background:var(--table-row-hover)}.table tbody tr.is-selected{background:var(--table-row-selected)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table td.mono{font-family:var(--mono-data);font-size:.8rem}.table--sticky thead th{position:sticky;top:0;z-index:1}.kpi{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-1)}.kpi__label{font:var(--type-label);color:var(--muted-foreground)}.kpi__value{font:var(--type-h2);font-variant-numeric:tabular-nums}.kpi__meta{font:var(--type-caption);color:var(--subtle-foreground)}.kpi--alert .kpi__value{color:var(--destructive)}.tabs{display:flex;gap:var(--spacing-1);border-bottom:1px solid var(--border-subtle)}.tab{position:relative;display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:0;background:transparent;color:var(--muted-foreground);font:var(--type-body-strong);cursor:pointer;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition-property:color,background-color;transition-duration:var(--dur-fast);transition-timing-function:var(--ease)}.tab:hover{color:var(--foreground);background:var(--muted)}.tab[aria-selected=true]{color:var(--foreground)}.tab[aria-selected=true]:after{content:"";position:absolute;left:var(--spacing-3);right:var(--spacing-3);bottom:-1px;height:2px;background:var(--primary);border-radius:var(--radius-full)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--spacing-1);border-radius:var(--radius-full);background:var(--muted);color:var(--foreground);font:var(--type-label);font-variant-numeric:tabular-nums}.badge--destructive{background:var(--destructive);color:var(--destructive-foreground)}.badge--primary{background:var(--primary);color:var(--primary-foreground)}.sidenav{width:var(--sidebar-width);min-height:100%;background:var(--sidebar-bg);color:var(--sidebar-foreground);display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);border-right:1px solid var(--sidebar-border)}.sidenav__brand{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);font:var(--type-title)}.sidenav__section{font:var(--type-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-foreground-muted);padding:var(--spacing-3) var(--spacing-3) var(--spacing-1)}.sidenav__item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);border:0;border-radius:var(--radius-lg);background:transparent;color:var(--sidebar-foreground);font:var(--type-body);text-align:left;cursor:pointer;transition-property:background-color;transition-duration:var(--dur-fast);transition-timing-function:var(--ease)}.sidenav__item:hover{background:var(--sidebar-surface)}.sidenav__item[aria-current=page]{background:var(--sidebar-surface-active);box-shadow:inset 0 0 0 1px var(--sidebar-highlight);font:var(--type-body-strong)}.sidenav__item .badge{margin-left:auto}.sidenav__icon{flex:none;width:24px;height:24px;border-radius:var(--radius-full);background:var(--sidebar-surface);display:inline-flex;align-items:center;justify-content:center;font:var(--type-micro)}.sidenav__spacer{flex:1}.sidenav__partner{background:var(--sidebar-surface);border:1px solid var(--sidebar-highlight);border-radius:var(--radius-xl);padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2)}.sidenav__partner-row{display:flex;align-items:center;gap:var(--spacing-2)}.sidenav__partner-name{font:var(--type-body-strong)}.sidenav__partner-role{font:var(--type-caption);color:var(--sidebar-foreground-muted)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-8) var(--spacing-4);border:1.5px dashed var(--border);border-radius:var(--radius-xl);background:var(--input-bg);color:var(--muted-foreground);text-align:center;cursor:pointer;transition-property:border-color,background-color;transition-duration:var(--dur);transition-timing-function:var(--ease)}.dropzone:hover,.dropzone--over{border-color:var(--primary);background:var(--primary-accent-subtle);color:var(--foreground)}.dropzone__hint{font:var(--type-caption);color:var(--subtle-foreground)}.aging{display:inline-flex;align-items:center;gap:var(--spacing-1);font:var(--type-body);font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.aging:before{content:"";width:8px;height:8px;border-radius:var(--radius-full);flex:none;background:var(--status-success)}.aging--warn{color:var(--status-warning-foreground)}.aging--warn:before{background:var(--status-warning)}.aging--late{color:var(--status-danger-foreground);font:var(--type-body-strong)}.aging--late:before{background:var(--status-danger)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-10) var(--spacing-4);text-align:center;color:var(--muted-foreground)}.empty__title{font:var(--type-title);color:var(--foreground)}.empty__text{font:var(--type-body);max-width:40ch}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--muted) 25%,var(--neutral-100) 50%,var(--muted) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease infinite;color:transparent;-webkit-user-select:none;user-select:none}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pipeline{display:flex;flex-direction:column}.pipeline-step{display:grid;grid-template-columns:32px 1fr;gap:0 var(--spacing-3);position:relative;padding-bottom:var(--spacing-4)}.pipeline-step:last-child{padding-bottom:0}.pipeline-step:before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--border-subtle)}.pipeline-step:last-child:before{display:none}.pipeline-step--done:before{background:var(--status-success)}.pipeline-step__marker{width:32px;height:32px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font:var(--type-label);background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border-subtle);z-index:1}.pipeline-step--done .pipeline-step__marker{background:var(--status-success);border-color:var(--status-success);color:var(--neutral-0)}.pipeline-step--current .pipeline-step__marker{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.pipeline-step--blocked .pipeline-step__marker{background:var(--destructive);border-color:var(--destructive);color:var(--destructive-foreground)}.pipeline-step--skipped .pipeline-step__marker{background:var(--background);color:var(--neutral-300)}.pipeline-step__card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}.pipeline-step--current .pipeline-step__card{border-color:var(--primary);box-shadow:var(--shadow-md)}.pipeline-step--skipped .pipeline-step__card{background:transparent;border-style:dashed}.pipeline-step--waiting .pipeline-step__card,.pipeline-step--skipped .pipeline-step__card{color:var(--muted-foreground)}.pipeline-step__head{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.pipeline-step__title{font:var(--type-title);color:var(--foreground)}.pipeline-step--waiting .pipeline-step__title,.pipeline-step--skipped .pipeline-step__title{color:var(--muted-foreground)}.pipeline-step__head .chip{margin-left:auto}.pipeline-file{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap;padding:var(--spacing-2) var(--spacing-3);background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.pipeline-file__name{font-family:var(--mono-data);font-size:.8rem;color:var(--foreground)}.pipeline-file__meta{font:var(--type-caption);color:var(--subtle-foreground)}.pipeline-file__spacer{flex:1}.pipeline-file--missing{border-style:dashed;background:transparent}.pipeline-file--missing .pipeline-file__name{color:var(--muted-foreground)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:var(--spacing-6)}.login-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-6);width:100%;max-width:360px;padding:var(--spacing-12) var(--spacing-8);background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);text-align:center}.login-logo{height:36px;width:auto}.login-title{font:var(--type-title);color:var(--muted-foreground)}.login-btn{width:100%}.login-footnote{font:var(--type-caption);color:var(--subtle-foreground)}.app-layout{display:flex;min-height:100vh;background:var(--background)}.app-main{flex:1;padding:var(--spacing-8);display:flex;flex-direction:column;gap:var(--spacing-6);min-width:0}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);font:var(--type-body)}.partner-choice{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-6)}.partner-choice__card{display:flex;flex-direction:column;gap:var(--spacing-4);width:100%;max-width:420px}.partner-choice__btn{justify-content:flex-start;width:100%}.sidenav__logout{justify-content:center;text-decoration:none;background:transparent;color:var(--sidebar-foreground-muted);border:1px solid var(--sidebar-border)}.sidenav__logout:hover{background:var(--sidebar-surface);color:var(--sidebar-foreground);text-decoration:none}.sidenav__user-email{overflow-wrap:anywhere}
