@charset "UTF-8";:root{--bp-app-accent: #0c8599;--bp-app-accent-on-dark: #3bc9db;--canvas: #f6f5f1;--surface: #ffffff;--ink: #1b1a17;--ink-muted: #6f6b62;--line: #e7e4dc;--accent: #0c8599;--accent-soft: #e0f4f7;--accent-ink: #0b6e7f;--ok: #2f7a57;--ok-soft: #e7f1eb;--warn: #a96e16;--warn-soft: #f6eedc;--idle: #8c887f;--idle-soft: #eeece6;--vio: #6741d9;--vio-soft: #efeaf8;--sans: "Poppins", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 9px}body{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;overflow-x:clip}.val-pending{opacity:.45;transition:opacity .15s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0c859926}:root{--bp-app-accent: #6741d9;--bp-app-accent-on-dark: #9775fa;--canvas: #f6f5f1;--surface: #ffffff;--ink: #1b1a17;--ink-muted: #6f6b62;--line: #e7e4dc;--accent: #b23a2e;--accent-soft: #f6e9e6;--accent-ink: #8a2a20;--ok: #2f7a57;--ok-soft: #e7f1eb;--warn: #a96e16;--warn-soft: #f6eedc;--idle: #8c887f;--idle-soft: #eeece6;--vio: #5b4da8;--vio-soft: #efeaf8;--sans: "Poppins", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 9px}body{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.92em}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--warn{background:var(--warn-soft);color:var(--warn)}.badge--idle{background:var(--idle-soft);color:var(--idle)}.badge--accent{background:var(--accent-soft);color:var(--accent-ink)}.badge--vio{background:var(--vio-soft);color:var(--vio)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font:inherit;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--idle-soft)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-ink)}.btn--ghost{border-color:transparent;background:transparent}.btn--ghost:hover:not(:disabled){background:var(--idle-soft)}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.76rem;font-weight:600;color:var(--ink-muted)}.field input,.field select,.field textarea{font:inherit;padding:.5rem .65rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b23a2e1f}.field input:disabled,.field input[readonly],.field select:disabled,.field select[readonly],.field textarea:disabled,.field textarea[readonly]{background:var(--canvas);color:var(--ink-muted)}.field input.num{text-align:right}table.fin{width:100%;border-collapse:collapse}table.fin th,table.fin td{padding:.55rem .75rem;border-bottom:1px solid var(--line);text-align:left;font-size:.86rem}table.fin th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}table.fin td.num,table.fin th.num{text-align:right}:root{--ivory: var(--bp-white);--paper: var(--bp-white);--card: var(--bp-white);--forest: var(--bp-app-accent);--ink: var(--bp-slate-900);--moss: var(--bp-success);--moss-light: var(--bp-success-light);--rust: var(--bp-danger);--rust-light: var(--bp-danger-light);--gold: var(--bp-warning);--gold-light: var(--bp-warning-light);--amber: var(--bp-warning);--amber-light: var(--bp-warning-light);--slate: var(--bp-slate-500);--slate-light: var(--bp-slate-300);--hairline: var(--bp-slate-200);--hairline-strong: var(--bp-slate-300);--bg-app: var(--bp-slate-50);--bg-surface: var(--bp-slate-50);--bg-card: var(--bp-white);--text-primary: var(--bp-slate-900);--text-secondary: var(--bp-slate-700);--text-tertiary: var(--bp-slate-500);--text-muted: var(--bp-slate-500);--border: var(--bp-slate-200);--border-strong: var(--bp-slate-300);--status-matched: var(--bp-success);--status-review: var(--bp-warning);--status-enrich: var(--bp-danger);--font-serif: var(--bp-font-sans);--font-sans: var(--bp-font-sans);--font-mono: var(--bp-font-mono);--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 22px;--text-3xl: 26px;--text-4xl: 28px;--text-5xl: 38px;--text-6xl: 42px;--text-display: 72px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--leading-tight: 1.05;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--tracking-tight: -.025em;--tracking-snug: -.02em;--tracking-normal: 0;--tracking-wide: .06em;--tracking-uppercase: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-pill: 100px;--radius-circle: 50%;--container-max: 1400px;--easing-standard: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-base: .2s;--shadow-sm: 0 1px 2px rgba(20, 22, 26, .04);--shadow-md: 0 4px 12px rgba(20, 22, 26, .06)}.tnum{font-variant-numeric:tabular-nums}.serif{font-family:var(--font-serif);font-feature-settings:"ss01"}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-sans);font-feature-settings:"ss01","cv11";font-size:var(--text-md);line-height:var(--leading-normal);background:var(--bg-app);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-weight:400;letter-spacing:var(--tracking-tight)}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--forest);outline-offset:2px;border-radius:var(--radius-sm)}.page{max-width:var(--container-max);margin:0 auto;padding:var(--space-12) var(--space-8)}.back-nav{margin-bottom:var(--space-5)}.back-link{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none}input,select{min-height:36px}:root{--bp-app-accent: #3e8e41;--bp-app-accent-on-dark: #69db7c;--bp-slate-300: #cbd5e1;--bp-success-light: #d1fae5;--bp-danger-light: #fee2e2;--bp-warning-light: #fef3c7}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root{--primary-dark: #0f172a;--primary-black: #1e293b;--primary-blue: #3b82f6;--primary-light: #eff6ff;--white: #ffffff;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-400: #94a3b8;--gray-600: #475569;--gray-900: #0f172a;--success-green: #10b981;--success-light: #d1fae5;--success-dark: #059669;--danger-red: #ef4444;--danger-light: #fee2e2;--danger-dark: #dc2626;--warning-orange: #f59e0b;--warning-light: #fef3c7;--warning-dark: #d97706;--info-blue: #3b82f6;--info-light: #dbeafe;--info-dark: #2563eb;--accent-mint: #34d399;--chart-green: #34d399;--chart-gray: #d1d5db;--chart-background: #f0f9ff}::ng-deep .mdc-button__label .mat-mdc-progress-spinner{display:inline-block;vertical-align:middle}::ng-deep .mat-mdc-raised-button:not(:disabled){background:linear-gradient(135deg,#161a2d,#414b7b);color:#fff!important;border:none;border-radius:8px;cursor:pointer}::ng-deep .mat-mdc-raised-button:not(:disabled).mat-warn{background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer}::ng-deep .mat-expansion-panel-header.mat-expanded{border-radius:0!important}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header-description{justify-content:flex-end;align-items:center;flex-grow:unset!important;margin-right:0!important}.form-field__input,.form-field__select{width:100%;border:none;border-radius:.75rem;padding:.875rem 1rem;font-size:1rem;font-weight:500;color:#091c2d;background-color:#f2f4f6;outline:none;transition:box-shadow .15s ease}.form-field__label~mat-icon{font-size:14px;width:24px;height:24px}.mat-mdc-tooltip-panel.cdk-overlay-pane{background:transparent!important;box-shadow:none!important}.mat-mdc-tooltip{background:transparent!important}.mat-mdc-tooltip .mdc-tooltip__surface,.mat-mdc-tooltip-surface.mdc-tooltip__surface{background-color:#0f172a!important;color:#fff!important;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:.8125rem!important;font-weight:500!important;line-height:1.4!important;padding:6px 10px!important;border-radius:6px!important;box-shadow:0 4px 14px #0f172a38!important;max-width:min(280px,85vw)!important}.role-tooltip .mdc-tooltip__surface,.custom-tooltip .mdc-tooltip__surface{max-width:min(340px,90vw)!important;padding:10px 12px!important;font-size:.875rem!important;line-height:1.45!important}.form-field__select{font-weight:500}@media(max-width:768px){.ftm-info-container{padding:8px}.form-row:not(.form-row--full){flex-direction:column}.form-row:not(.form-row--full) .ftm-field{width:100%}}.native-field{display:flex;flex-direction:column;min-width:0;flex:1}.native-field__label{display:block;margin-left:.25rem;margin-bottom:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569}.native-field__input,.native-field__select,.native-field__textarea{width:100%;border:none;border-radius:.75rem;padding:.875rem 1rem;font-size:1rem;font-weight:500;color:#091c2d;background-color:#f2f4f6;outline:none;transition:box-shadow .15s ease;font-family:inherit}.native-field__input::placeholder,.native-field__select::placeholder,.native-field__textarea::placeholder{color:#7676838c}.native-field__input:focus,.native-field__select:focus,.native-field__textarea:focus{box-shadow:0 0 0 2px #091c2d1a}.native-field__input:disabled,.native-field__select:disabled,.native-field__textarea:disabled{opacity:.65;cursor:not-allowed}.native-field__textarea{resize:vertical;min-height:5rem}.native-field__select{appearance:none;cursor:pointer}.native-field__hint{margin:.25rem 0 0;font-size:.75rem;color:#475569}.native-field__error{margin:.25rem 0 0;font-size:.875rem;color:#ef4444}.native-field__mat{width:100%}.native-field__mat.mat-mdc-form-field{--mdc-outlined-text-field-container-shape: .75rem}.proj-wizard-block__title{margin-left:.25rem;margin-bottom:.75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569}.form-row{display:flex;gap:20px;align-items:flex-start}@media(max-width:768px){.form-row.two-columns{flex-direction:column;gap:8px}}.form-row.single-column{justify-content:flex-start}.form-row.form-row--full{flex-direction:column}.form-row.form-row--full .ftm-field,.form-row.form-row--full .form-field{width:100%}.form-row .ftm-field,.form-row .form-field{flex:1;min-width:0}.form-field{display:flex;flex-direction:column}.form-field__label{display:block;margin-left:.25rem;margin-bottom:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569}.form-field__input,.form-field__select{width:100%;border:none;border-radius:.75rem;padding:.875rem 1rem;font-size:1rem;font-weight:500;color:#091c2d;background-color:#f2f4f6;outline:none;transition:box-shadow .15s ease;font-family:inherit}.form-field__input::placeholder,.form-field__select::placeholder{color:#7676838c}.form-field__input:focus,.form-field__select:focus{box-shadow:0 0 0 2px #091c2d1a}.form-field__input:disabled,.form-field__select:disabled{opacity:.65;cursor:not-allowed}.form-field__select{appearance:none;cursor:pointer;font-weight:500}textarea.form-field__input{resize:vertical;min-height:5rem;line-height:1.4}.add-work-placeholder{width:100%;margin-top:8px;padding:32px 24px;border:2px dashed #cbd5e1;border-radius:1.25rem;background:transparent;color:#475569;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.add-work-placeholder:hover{border-color:#091c2d66;color:#091c2d;background:#fff9}.add-work-placeholder:disabled{opacity:.55;cursor:not-allowed}.add-work-placeholder__icon-wrap{width:3rem;height:3rem;border-radius:.75rem;background:#eceef0;display:inline-flex;align-items:center;justify-content:center}.add-work-placeholder__label{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.875rem}.work-lot-panel,.company-panel{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-bottom:16px}.work-panel-header,.mat-expansion-panel-header.work-panel-header{min-height:52px!important;padding:0 16px!important}.text-sm{font-size:.875rem}.text-error{color:#ef4444}.pr-11{padding-right:2.75rem}.form-field__input.ring-2.ring-error,.form-field__select.ring-2.ring-error,textarea.form-field__input.ring-2.ring-error{box-shadow:0 0 0 2px #ef4444}.project-wizard{min-height:100vh;background:#f7f9fb}.project-wizard__content{max-width:64rem;margin:0 auto;padding:1.5rem 1rem}@media(min-width:768px){.project-wizard__content{padding:2.5rem 2rem}}.project-wizard__header{margin-bottom:2rem}@media(min-width:768px){.project-wizard__header{margin-bottom:2.5rem}}.project-wizard__heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.project-wizard__breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#454652;margin-bottom:.5rem}.project-wizard__breadcrumb .project-wizard__breadcrumb-sep{font-size:1rem!important;width:1rem!important;height:1rem!important;line-height:1!important}.project-wizard__breadcrumb-current{font-weight:600;color:#091c2d}.project-wizard__title{font-size:1.5rem;font-weight:800;letter-spacing:-.025em;color:#091c2d;margin:0}@media(min-width:768px){.project-wizard__title{font-size:1.875rem}}.project-wizard__close{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border:0;border-radius:.75rem;background:transparent;color:#454652;cursor:pointer;transition:background-color .15s ease,color .15s ease}.project-wizard__close:hover{background:#e6e8ea}.project-wizard__steps-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.project-wizard__steps-count{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#091c2d}@media(min-width:768px){.project-wizard__steps-count{font-size:.875rem}}.project-wizard__steps-label{font-size:.75rem;font-weight:500;color:#48626e}@media(min-width:768px){.project-wizard__steps-label{font-size:.875rem}}.project-wizard__steps{display:flex;gap:.5rem;width:100%;height:.375rem}@media(min-width:768px){.project-wizard__steps{gap:.75rem}}.project-wizard__step{flex:1 1 0%;padding:0;border:0;border-radius:.75rem;background:#e6e8ea;cursor:pointer;transition:background-color .15s ease}.project-wizard__step--done{background:#091c2d}.project-wizard__intro{border-left:4px solid rgba(9,28,45,.2);border-radius:.5rem;background:#f2f4f6;padding:1.25rem;margin-bottom:.5rem}@media(min-width:768px){.project-wizard__intro{padding:1.5rem}}.project-wizard__intro-text{font-size:.875rem;line-height:1.625;color:#454652;margin:0}.project-wizard__alert{display:flex;align-items:flex-start;gap:.75rem;border:1px solid rgba(186,26,26,.3);border-radius:.5rem;background:#ba1a1a0d;padding:.75rem 1rem;margin-bottom:1.5rem}.project-wizard__alert-icon{flex-shrink:0;color:#ba1a1a}.project-wizard__alert-body{min-width:0}.project-wizard__alert-title{font-size:.875rem;font-weight:600;color:#ba1a1a;margin:0}.project-wizard__alert-msg{font-size:.875rem;color:#454652;margin:.25rem 0 0}.project-wizard__body{margin-bottom:2rem}.project-wizard__confirm-toolbar{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}@media(min-width:640px){.project-wizard__confirm-toolbar{flex-direction:row;align-items:flex-start;justify-content:space-between}}.project-wizard__confirm-title{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;color:#091c2d;margin:0}@media(min-width:768px){.project-wizard__confirm-title{font-size:1.5rem}}.project-wizard__confirm-subtitle{font-size:.875rem;color:#454652;margin:.25rem 0 0}.project-wizard__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.project-wizard__grid{grid-template-columns:1fr 1fr;gap:1.5rem}}.project-wizard__card{border:1px solid rgba(198,197,212,.25);border-radius:1rem;background:#fff;padding:1.25rem;box-shadow:0 1px 2px #0000000d}.project-wizard__card--wide{grid-column:1/-1}.project-wizard__card-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:#091c2d;margin:0 0 1rem}.project-wizard__card-title mat-icon{color:#091c2d}.project-wizard__rows{display:flex;flex-direction:column;gap:.75rem}.project-wizard__row{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}.project-wizard__row--divider{border-bottom:1px solid rgba(198,197,212,.2);padding-bottom:.5rem}.project-wizard__row-label{font-weight:500;color:#454652}.project-wizard__row-value{font-weight:600;text-align:right;color:#091c2d}.project-wizard__team-list{margin:0;padding-left:1rem;list-style:disc;font-size:.875rem;line-height:1.375}.project-wizard__team-item{color:#091c2d}.project-wizard__team-item::marker{color:#454652}.project-wizard__team-role{display:inline-flex;align-items:center;gap:.125rem;color:#454652}.project-wizard__team-sep{color:#454652b3}.project-wizard__team-name{font-weight:600}.project-wizard__empty{font-size:.875rem;color:#454652;margin:0}.project-wizard__note{display:flex;align-items:flex-start;gap:.75rem;border:1px solid rgba(37,99,235,.2);border-radius:.5rem;background:#2563eb1a;padding:1rem;margin-top:1.5rem}.project-wizard__note-icon{flex-shrink:0;margin-top:.125rem;color:#2563eb}.project-wizard__note-text{font-size:.875rem;color:#191c1e;margin:0}.project-wizard__nav{display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(198,197,212,.3)}@media(min-width:768px){.project-wizard__nav{flex-direction:row;align-items:center;justify-content:space-between}}.project-wizard__nav-group{display:flex;flex-direction:column;gap:.75rem}@media(min-width:640px){.project-wizard__nav-group{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:1rem;margin-left:auto}}.project-wizard__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:0;border-radius:.5rem;font-weight:700;cursor:pointer;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.project-wizard__btn:disabled{opacity:.5;cursor:not-allowed}.project-wizard__btn--ghost{background:transparent;color:#48626e}.project-wizard__btn--ghost:hover:not(:disabled){color:#091c2d;background:#eceef0}@media(min-width:768px){.project-wizard__btn--save{padding-left:2rem;padding-right:2rem}}.project-wizard__btn--primary{padding-left:2rem;padding-right:2rem;background:linear-gradient(to bottom right,#091c2d,#1f3143);color:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}@media(min-width:768px){.project-wizard__btn--primary{padding-left:2.5rem;padding-right:2.5rem}}.project-wizard__btn--primary:hover:not(:disabled){box-shadow:0 10px 25px #091c2d33}.project-wizard__btn--primary:active:not(:disabled){transform:scale(.99)}.project-import{display:flex;flex-direction:column;gap:.75rem;max-width:640px}.project-import__title{margin:0;font-size:1.05rem;font-weight:650}.project-import__hint{margin:0;color:var(--bp-text-muted, #64748b);font-size:.9rem}.project-import__row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.project-import__picker{flex:1 1 320px;min-width:240px}.project-import__new{flex:0 0 auto}.project-import__selected{display:inline-flex;align-items:center;gap:.4rem;margin:.25rem 0 0;color:#1f7a4d;font-size:.9rem;font-weight:600}.project-import__selected-icon{font-size:1.1rem;width:1.1rem;height:1.1rem}:root{--bp-app-accent: var(--bp-muto, #e03131);--bp-app-accent-dark: var(--bp-muto-d, #c92a2a)}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-500.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/poppins-800.woff2) format("woff2")}.mat-typography{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.cdk-overlay-pane:not(.mat-mdc-tooltip-panel){background:#fff!important;--mat-dialog-container-max-width: 900px}.mat-h1,.mat-headline-1,.mat-typography h1{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-weight:700!important}.mat-h2,.mat-headline-2,.mat-typography h2,.mat-h3,.mat-headline-3,.mat-typography h3{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-weight:600!important}.mat-h4,.mat-headline-4,.mat-typography h4,.mat-h5,.mat-headline-5,.mat-typography h5,.mat-h6,.mat-headline-6,.mat-typography h6{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-weight:500!important}.mat-body,.mat-body-1,.mat-typography p,.mat-typography .mat-body,.mat-body-2,.mat-typography .mat-body-2,.mat-caption,.mat-typography .mat-caption{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.mat-button,.mat-raised-button,.mat-flat-button,.mat-stroked-button{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500!important}.mat-form-field-label,.mat-form-field-prefix,.mat-form-field-suffix,.mat-input-element,.mat-select-value,.mat-select-arrow,.mat-option{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.mat-tab-label,.mat-tab-label-content{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500!important}.mat-card-title,.mat-card-subtitle,.mat-card-content{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item,.mat-menu-item{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.mat-dialog-title{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-weight:600!important}.mat-dialog-content,.mat-snack-bar-container,.mat-table,.mat-header-cell,.mat-cell,.mat-paginator,.mat-paginator-page-size-label,.mat-paginator-range-label,.mat-sort-header,.mat-stepper-label,.mat-step-label{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.mat-expansion-panel{background:#fff!important}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description,.mat-slide-toggle-label,.mat-checkbox-label,.mat-radio-label,.mat-datepicker-toggle,.mat-datepicker-content{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}html,body{height:100%;margin:0;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--primary-color: #1e293b;--secondary-color: #475569;--background-color: #f8fafc;--surface-color: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--mat-stepper-header-hover-state-layer-color: #a9a4f3}a{color:#0f172a;text-decoration:none}a:hover{color:#2563eb;text-decoration:none}.flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.align-stretch{align-items:stretch}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.form-row{display:grid;gap:1rem;margin-bottom:1rem}@media(max-width:768px){.form-row{gap:.75rem}}.form-row{grid-template-columns:1fr 1fr}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.form-row--single{display:grid;gap:1rem;margin-bottom:1rem}@media(max-width:768px){.form-row--single{gap:.75rem}}.form-row--single{grid-template-columns:1fr}.form-row--triple{display:grid;gap:1rem;margin-bottom:1rem}@media(max-width:768px){.form-row--triple{gap:.75rem}}.form-row--triple{grid-template-columns:1fr 1fr 1fr}@media(max-width:1024px){.form-row--triple{grid-template-columns:1fr 1fr}}@media(max-width:768px){.form-row--triple{grid-template-columns:1fr}}.form-field{width:100%}.form-field--full{width:100%;grid-column:1/-1}.form-field--large{width:100%;grid-column:1/2}@media(max-width:768px){.form-field--large{grid-column:1/-1}}.form-field--small{width:100%;max-width:150px}@media(max-width:768px){.form-field--small{max-width:none}}.checkbox-field{display:flex;align-items:center;height:56px}.checkbox-field .mat-mdc-checkbox{margin-left:.5rem}.table-field{width:100%}.table-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.form-section{margin-bottom:2.5rem}.form-section:last-child{margin-bottom:0}.section-title{font-size:1.25rem;font-weight:600;color:#1e293b;line-height:1.4;margin:0 0 1.5rem;padding-bottom:2px;border-bottom:2px solid #1e293b;position:relative}.section-title:after{position:absolute;bottom:-2px;left:0;width:40px;height:2px;background:#34d399}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}@media(max-width:768px){.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}@media(max-width:768px){.page-header{flex-direction:column;gap:1rem;align-items:stretch;margin-bottom:1.5rem}}.page-title-section{flex:1}.page-actions{display:flex;gap:.75rem;align-items:center}@media(max-width:768px){.page-actions{flex-wrap:wrap}}.card{background:#fff;border:1px solid #a1b7d5;box-shadow:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.card mat-card-header{background:#414b7b;padding:8px 20px}.card--lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0f172a1a,0 10px 10px -5px #0f172a0a}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}@media(max-width:768px){.summary-grid{grid-template-columns:1fr}}.summary-card{background:#fff;border:1px solid #a1b7d5;box-shadow:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.summary-card mat-card-header{background:#414b7b;padding:8px 20px}.summary-card{padding:1.5rem;text-align:center;transition:all .2s ease}.summary-card:hover:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0f172a1a,0 10px 10px -5px #0f172a0a}@media(max-width:768px){.summary-card{padding:1rem}}.summary-card .summary-label{font-size:.875rem;color:#475569;line-height:1.5;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.summary-card .summary-value{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem;font-weight:600;color:#0f172a;line-height:1.3;letter-spacing:-.01em;font-weight:700}@media(max-width:768px){.summary-card .summary-value{font-size:1.25rem;font-weight:600;color:#1e293b;line-height:1.4}}.summary-card .summary-value.positive{color:#10b981}.summary-card .summary-value.negative{color:#ef4444}.data-table{width:100%}.data-table .mat-mdc-header-cell{font-size:.875rem;color:#475569;line-height:1.5;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:.05em}.data-table .mat-mdc-cell{padding:.75rem;border-bottom:1px solid #f1f5f9}.table-placeholder{font-size:.875rem;color:#475569;line-height:1.5;color:#94a3b8;font-style:italic}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-state mat-spinner{margin-bottom:1rem}.loading-state p{font-size:1rem;font-weight:400;color:#334155;line-height:1.6;margin:0}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem;margin:1rem;background:#fee2e2;color:#ef4444;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.error-message mat-icon{color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:#f8fafc;border-radius:8px;border:2px dashed #e2e8f0}.empty-state>mat-icon{font-size:3rem;width:3rem;height:3rem;margin-bottom:1rem;color:#94a3b8}.empty-state p{font-size:1rem;font-weight:400;color:#334155;line-height:1.6;margin:0 0 .25rem;font-weight:500}.empty-state small{font-size:.875rem;color:#475569;line-height:1.5;margin:0}.status-gray{color:#475569}.status-blue{color:#3b82f6}.status-orange{color:#f59e0b}.status-green{color:#10b981}.status-red{color:#ef4444}.status-success{color:#10b981}.status-warning{color:#f59e0b}.status-danger{color:#ef4444}.status-info{color:#3b82f6}.material-tabs ::ng-deep .mat-mdc-tab-group .mat-mdc-tab-header{border-bottom:1px solid #e2e8f0;background:#f8fafc}.material-tabs ::ng-deep .mat-mdc-tab-group .mat-mdc-tab-label{padding:1rem 2rem;font-weight:500}@media(max-width:768px){.material-tabs ::ng-deep .mat-mdc-tab-group .mat-mdc-tab-label{padding:.75rem 1rem;font-size:.875rem}}.material-tabs ::ng-deep .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{background:#fff}.material-tabs ::ng-deep .mat-mdc-tab-group .mat-mdc-tab-body-content{overflow:visible!important}.tab-content{padding:2rem}@media(max-width:768px){.tab-content{padding:1.5rem}}@media(max-width:640px){.tab-content{padding:1rem}}.fade-in{animation:fadeIn .3s ease-in-out}.material-custom ::ng-deep .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{font-size:.75rem}.material-custom ::ng-deep .mat-mdc-form-field.mat-form-field-invalid .mat-mdc-form-field-outline-thick{color:#ef4444}.material-custom ::ng-deep .mat-datepicker-popup .mat-calendar{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.material-custom ::ng-deep .mat-mdc-checkbox .mdc-checkbox__background{border-color:#cbd5e1}.material-custom ::ng-deep .mat-mdc-checkbox.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:#1e293b;border-color:#1e293b}.material-custom ::ng-deep .mat-mdc-icon-button.mat-warn{color:#ef4444}.material-custom ::ng-deep .mat-mdc-icon-button.mat-warn:hover{background-color:#ef44441a}.loading-overlay{position:fixed;inset:0;background:#fffc;display:flex;justify-content:center;align-items:center;z-index:9999}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.project-selection-dialog-container .mdc-dialog__surface{max-width:1200px!important;width:90vw!important;max-height:80vh!important;border-radius:16px!important}.route-disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.success-snackbar{background-color:#10b981!important;color:#fff!important}.success-snackbar .mdc-snackbar__surface{background-color:#10b981!important}.warning-snackbar{background-color:#f59e0b!important;color:#fff!important}.warning-snackbar .mdc-snackbar__surface{background-color:#f59e0b!important}.app-notification-panel .mdc-snackbar__surface{background:transparent!important;box-shadow:none!important;padding:0!important;min-width:0!important;border-radius:12px}.app-notification-panel .mdc-snackbar__label,.app-notification-panel .mat-mdc-snack-bar-label{padding:0!important}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}.cdk-global-overlay-wrapper:has(.ftm-work-detail-drawer-panel){justify-content:flex-end!important}.cdk-overlay-pane.ftm-work-detail-drawer-panel{align-self:stretch!important;height:100vh!important;max-height:100vh!important}.ftm-work-detail-drawer-panel .mat-mdc-dialog-container{padding:0;border-radius:0;max-height:100vh}.ftm-work-detail-drawer-panel .mat-mdc-dialog-surface{border-radius:0!important;max-height:100vh!important;height:100vh!important}.footer-branding{text-align:center;padding:32px 24px;margin-top:32px;border-top:1px solid #e2e8f0;margin-bottom:0!important}.footer-branding p{color:#475569;font-size:.875rem;margin:0}.mat-mdc-menu-panel{border-radius:8px!important}.mat-mdc-menu-content{padding:0!important}.mat-mdc-menu-panel{border-radius:14px!important;box-shadow:0 0 0 1px #0f172a0d,0 4px 8px -2px #0f172a14,0 16px 32px -4px #0f172a24!important;background:#fffffffa!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);min-width:196px!important;max-width:260px!important;animation:ftm-menu-enter .18s cubic-bezier(.16,1,.3,1) both}.mat-mdc-menu-item{min-height:36px!important;padding:0 10px!important;border-radius:8px!important;margin:1px 0!important;transition:background-color .1s ease!important}.mat-mdc-menu-item mat-icon,.mat-mdc-menu-item .mat-icon{font-size:15px!important;width:15px!important;height:15px!important;line-height:15px!important;margin-right:10px!important;color:#64748b;flex-shrink:0}.mat-mdc-menu-item .mdc-list-item__primary-text,.mat-mdc-menu-item .mat-mdc-menu-item-text span{font-size:.8125rem!important;font-weight:500!important;color:#0f172a!important;letter-spacing:-.005em!important;line-height:1.2!important}.mat-mdc-menu-item .mat-mdc-menu-item-ripple{display:none!important}.mat-mdc-menu-item:not([disabled]):hover{background-color:#f1f5f9!important}.mat-mdc-menu-item:not([disabled]):hover mat-icon,.mat-mdc-menu-item:not([disabled]):hover .mat-icon{color:#334155}.mat-mdc-menu-item[disabled]{opacity:.38!important}.menu-divider{height:1px;background:#e2e8f0;margin:4px 2px}.menu-item--danger mat-icon,.menu-item--danger .mat-icon{color:#ef4444!important}.menu-item--danger .mdc-list-item__primary-text,.menu-item--danger .mat-mdc-menu-item-text span{color:#ef4444!important}.menu-item--danger:not([disabled]):hover{background-color:#fee2e2!important}.menu-item--danger:not([disabled]):hover mat-icon,.menu-item--danger:not([disabled]):hover .mat-icon{color:#ef4444!important}.cdk-overlay-pane{border-radius:12px!important}:root{--bp-primary: #3b82f6;--bp-primary-dark: #2563eb;--bp-primary-light: #eff6ff;--bp-slate-900: #0f172a;--bp-slate-700: #334155;--bp-slate-500: #64748b;--bp-slate-200: #e2e8f0;--bp-slate-50: #f8fafc;--bp-white: #ffffff;--bp-success: #10b981;--bp-danger: #ef4444;--bp-warning: #f59e0b;--bp-font-sans: Poppins, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;--bp-font-mono: JetBrains Mono, Fira Code, SF Mono, Monaco, Cascadia Code, Roboto Mono, Consolas, Courier New, monospace;--bp-sidebar-gradient: linear-gradient(160deg, #354153 0%, #141A2C 100%);--bp-sidebar-text: #f1f5f9;--bp-sidebar-text-muted: #94a3b8;--bp-sidebar-section-label: #64748b;--bp-sidebar-hover-bg: rgba(255, 255, 255, .06);--bp-sidebar-active-bg: rgba(59, 130, 246, .16);--bp-sidebar-divider: rgba(148, 163, 184, .14);--bp-app-accent: #3b82f6;--bp-app-accent-on-dark: #94a3b8;--bp-login-panel-top: #0f172a;--bp-login-panel-mid: #1a2440;--bp-login-surface: #ffffff;--bp-login-ink: #0f172a;--bp-login-muted: #64748b;--bp-login-label: #475569;--bp-login-input-bg: #f2f4f6;--bp-ink: #212529;--bp-panel-text: #eef2ff;--bp-batiprisme: #334155;--bp-quanto: #e8590c;--bp-intus: #3b5bdb;--bp-solvo: #6741d9;--bp-atlas: #0c8599;--bp-empreinte: #3e8e41;--bp-muto: #e03131;--bp-batiprisme-d: #94a3b8;--bp-quanto-d: #ff922b;--bp-intus-d: #70a3f3;--bp-solvo-d: #9775fa;--bp-atlas-d: #3bc9db;--bp-empreinte-d: #69db7c;--bp-muto-d: #ff8787;--bp-panel-bg: linear-gradient(160deg, #354153 0%, #141a2c 100%);--bp-logo-font: Poppins, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;--bp-logo-size: 34px;--bp-logo-ini-weight: 800;--bp-logo-ini-tracking: -.04em;--bp-logo-rest-weight: 500;--bp-logo-rest-ratio: .647;--bp-logo-rest-tracking: .02em;--bp-logo-gap: .1em}:root{--bp-surface: var(--bp-white);--bp-surface-sunken: var(--bp-slate-50);--bp-surface-hover: #f8fafc;--bp-border: var(--bp-slate-200);--bp-border-strong: #cbd5e1;--bp-text: var(--bp-slate-900);--bp-text-muted: var(--bp-slate-500);--bp-text-subtle: #94a3b8;--bp-on-accent: var(--bp-white);--bp-accent: var(--bp-app-accent);--bp-accent-strong: color-mix(in srgb, var(--bp-app-accent) 82%, black);--bp-accent-soft: color-mix(in srgb, var(--bp-app-accent) 8%, var(--bp-surface));--bp-accent-softer: color-mix(in srgb, var(--bp-app-accent) 4%, var(--bp-surface));--bp-accent-ring: color-mix(in srgb, var(--bp-app-accent) 45%, transparent);--bp-danger-soft: #fee2e2;--bp-success-soft: #d1fae5;--bp-success-ink: #059669;--bp-warning-soft: #fef3c7;--bp-warning-ink: #d97706;--bp-info-soft: #dbeafe;--bp-radius-control: 9px;--bp-radius-card: 14px;--bp-radius-pill: 999px;--bp-focus-ring: 2px;--bp-ease: cubic-bezier(.4, 0, .2, 1);--bp-dur: .15s;--bp-page-max: 1080px;--bp-page-pad-y: 48px;--bp-page-pad-x: 32px;--bp-title-size: 1.7rem;--bp-title-weight: 700;--bp-title-tracking: -.02em;--bp-title-color: var(--bp-text);--bp-subtitle-size: .95rem;--bp-subtitle-color: var(--bp-text-muted);--bp-eyebrow-size: .72rem;--bp-eyebrow-tracking: .08em;--bp-eyebrow-color: var(--bp-text-muted);--bp-breadcrumb-size: .82rem;--bp-breadcrumb-color: var(--bp-text-muted);--bp-breadcrumb-current-color: var(--bp-text);--bp-breadcrumb-current-weight: 700;--bp-breadcrumb-sep-color: var(--bp-text-subtle);--bp-breadcrumb-gap: .45rem;--bp-btn-height: 38px;--bp-btn-padding-x: 16px;--bp-btn-radius: var(--bp-radius-control);--bp-btn-font-size: .88rem;--bp-btn-font-weight: 600;--bp-btn-gap: .4rem;--bp-btn-bg: var(--bp-surface);--bp-btn-color: var(--bp-text);--bp-btn-border: var(--bp-border);--bp-btn-hover-border: var(--bp-border-strong);--bp-btn-hover-bg: var(--bp-surface-hover);--bp-btn-primary-bg: var(--bp-accent);--bp-btn-primary-color: var(--bp-on-accent);--bp-btn-primary-hover-bg: var(--bp-accent-strong);--bp-btn-danger-color: var(--bp-danger);--bp-btn-sm-height: 30px;--bp-btn-sm-padding-x: 11px;--bp-btn-sm-font-size: .8rem;--bp-field-gap: .3rem;--bp-form-grid-gap: .9rem 1.25rem;--bp-label-size: .8rem;--bp-label-weight: 600;--bp-label-color: var(--bp-text-muted);--bp-input-bg: var(--bp-surface-sunken);--bp-input-color: var(--bp-text);--bp-input-border: var(--bp-border);--bp-input-radius: var(--bp-radius-control);--bp-input-padding-y: .55rem;--bp-input-padding-x: .75rem;--bp-input-font-size: .9rem;--bp-input-min-h: 40px;--bp-input-placeholder: var(--bp-text-subtle);--bp-input-focus-border: var(--bp-accent);--bp-hint-size: .78rem;--bp-card-bg: var(--bp-surface);--bp-card-border: var(--bp-border);--bp-card-radius: var(--bp-radius-card);--bp-card-pad: 1.5rem;--bp-card-gap: 1rem;--bp-card-shadow: none;--bp-card-hover-border: var(--bp-accent);--bp-card-hover-shadow: 0 4px 12px rgb(20 22 26 / 6%);--bp-card-title-size: 1.05rem;--bp-card-title-weight: 650;--bp-card-subtitle-size: .82rem;--bp-card-subtitle-color: var(--bp-text-muted);--bp-table-bg: var(--bp-surface);--bp-table-radius: var(--bp-radius-card);--bp-table-border: var(--bp-border);--bp-table-font-size: .9rem;--bp-table-cell-py: .8rem;--bp-table-cell-px: 1rem;--bp-table-header-bg: transparent;--bp-table-header-color: var(--bp-text-muted);--bp-table-header-size: .75rem;--bp-table-header-weight: 650;--bp-table-header-tracking: .04em;--bp-table-row-hover: var(--bp-accent-softer);--bp-table-row-selected: var(--bp-accent-soft);--bp-dashboard-gap: 1.5rem;--bp-dashboard-min-col: 260px;--bp-stat-bg: var(--bp-surface);--bp-stat-border: var(--bp-border);--bp-stat-radius: var(--bp-radius-card);--bp-stat-pad: 1.25rem 1.5rem;--bp-stat-label-size: .72rem;--bp-stat-label-color: var(--bp-text-muted);--bp-stat-value-size: 2rem;--bp-stat-value-weight: 600;--bp-stat-unit-color: var(--bp-text-muted);--bp-stat-hero-value-size: 3.5rem;--bp-badge-size: .72rem;--bp-badge-weight: 650;--bp-badge-pad: .15rem .55rem;--bp-alert-radius: 10px;--bp-alert-pad: .75rem 1rem;--bp-empty-pad: 3rem 1.5rem;--bp-toolbar-gap: .75rem;--bp-picker-thumb-size: 32px;--bp-picker-panel-max-h: 320px;--bp-picker-item-py: .5rem;--bp-picker-name-size: .9rem;--bp-picker-address-size: .78rem;--bp-picker-address-color: var(--bp-text-subtle);--bp-appbadge-size: 22px;--bp-appbadge-font: .68rem;--bp-modal-backdrop: rgb(15 23 42 / 55%);--bp-modal-bg: var(--bp-surface);--bp-modal-border: var(--bp-border);--bp-modal-radius: var(--bp-radius-card);--bp-modal-shadow: 0 24px 64px rgb(15 23 42 / 24%);--bp-modal-width: 640px;--bp-modal-pad: 1.5rem;--bp-modal-gap: 1.25rem;--bp-modal-z: 1000;--bp-modal-title-size: 1.15rem;--bp-modal-title-weight: 650;--bp-modal-card-pad: 1.15rem;--bp-modal-card-gap: .85rem;--bp-modal-card-bg: var(--bp-surface-sunken);--bp-modal-dropzone-h: 108px}.bp-page{width:100%;max-width:var(--bp-page-max);margin:0 auto;padding:var(--bp-page-pad-y) var(--bp-page-pad-x)}.bp-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem}.bp-page-header--stack{flex-direction:column;gap:.4rem}.bp-page-header__actions{display:flex;gap:.75rem;align-items:center;flex-shrink:0}.bp-eyebrow{margin:0 0 .4rem;font-size:var(--bp-eyebrow-size);letter-spacing:var(--bp-eyebrow-tracking);text-transform:uppercase;font-weight:600;color:var(--bp-eyebrow-color)}.bp-title{margin:0;font-size:var(--bp-title-size);font-weight:var(--bp-title-weight);letter-spacing:var(--bp-title-tracking);color:var(--bp-title-color);line-height:1.15}.bp-subtitle{margin:.4rem 0 0;font-size:var(--bp-subtitle-size);color:var(--bp-subtitle-color);max-width:42rem;line-height:1.5}.bp-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--bp-breadcrumb-gap);margin-bottom:.5rem;font-size:var(--bp-breadcrumb-size);color:var(--bp-breadcrumb-color)}.bp-breadcrumb__item{color:var(--bp-breadcrumb-color);text-decoration:none}.bp-breadcrumb__item:hover{color:var(--bp-text)}.bp-breadcrumb__sep{color:var(--bp-breadcrumb-sep-color);-webkit-user-select:none;user-select:none}.bp-breadcrumb__current{color:var(--bp-breadcrumb-current-color);font-weight:var(--bp-breadcrumb-current-weight)}.bp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--bp-btn-gap);min-height:var(--bp-btn-height);padding:0 var(--bp-btn-padding-x);border:1px solid var(--bp-btn-border);border-radius:var(--bp-btn-radius);background:var(--bp-btn-bg);color:var(--bp-btn-color);font:inherit;font-size:var(--bp-btn-font-size);font-weight:var(--bp-btn-font-weight);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--bp-dur) var(--bp-ease),border-color var(--bp-dur) var(--bp-ease),color var(--bp-dur) var(--bp-ease)}.bp-btn:hover:not(:disabled){border-color:var(--bp-btn-hover-border);background:var(--bp-btn-hover-bg)}.bp-btn:disabled,.bp-btn[disabled]{opacity:.55;cursor:not-allowed}.bp-btn--primary{background:var(--bp-btn-primary-bg);border-color:var(--bp-btn-primary-bg);color:var(--bp-btn-primary-color)}.bp-btn--primary:hover:not(:disabled){background:var(--bp-btn-primary-hover-bg);border-color:var(--bp-btn-primary-hover-bg)}.bp-btn--ghost{background:transparent;border-color:transparent;color:var(--bp-accent)}.bp-btn--ghost:hover:not(:disabled){background:var(--bp-accent-soft);border-color:transparent}.bp-btn--danger{color:var(--bp-btn-danger-color);border-color:color-mix(in srgb,var(--bp-danger) 35%,var(--bp-border))}.bp-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--bp-danger) 7%,var(--bp-surface));border-color:var(--bp-danger)}.bp-btn--ai{background:var(--bp-accent-soft);border-color:transparent;color:var(--bp-accent-strong)}.bp-btn--ai:hover:not(:disabled){background:color-mix(in srgb,var(--bp-app-accent) 14%,var(--bp-surface))}.bp-btn--sm{min-height:var(--bp-btn-sm-height);padding:0 var(--bp-btn-sm-padding-x);font-size:var(--bp-btn-sm-font-size)}.bp-btn--block{display:flex;width:100%}.bp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bp-form-grid-gap)}.bp-form-grid--single{grid-template-columns:1fr}.bp-form-grid--auto{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.bp-field{display:flex;flex-direction:column;gap:var(--bp-field-gap)}.bp-field--wide{grid-column:1/-1}.bp-label{font-size:var(--bp-label-size);font-weight:var(--bp-label-weight);color:var(--bp-label-color)}.bp-label em,.bp-label .bp-label__req{color:var(--bp-danger);font-style:normal}.bp-input{width:100%;box-sizing:border-box;min-height:var(--bp-input-min-h);padding:var(--bp-input-padding-y) var(--bp-input-padding-x);border:1px solid var(--bp-input-border);border-radius:var(--bp-input-radius);background:var(--bp-input-bg);color:var(--bp-input-color);font:inherit;font-size:var(--bp-input-font-size);transition:border-color var(--bp-dur) var(--bp-ease)}.bp-input::placeholder{color:var(--bp-input-placeholder)}.bp-input:focus,.bp-input:focus-visible{outline:var(--bp-focus-ring) solid var(--bp-accent-ring);outline-offset:1px;border-color:var(--bp-input-focus-border)}.bp-input[aria-invalid=true],.bp-input.is-invalid{border-color:var(--bp-danger)}.bp-input:disabled,.bp-input[disabled]{opacity:.55;cursor:not-allowed}textarea.bp-input{min-height:92px;resize:vertical;line-height:1.5}.bp-field__hint{margin:0;font-size:var(--bp-hint-size);color:var(--bp-text-muted)}.bp-field__error{margin:0;font-size:var(--bp-hint-size);color:var(--bp-danger)}.bp-card{background:var(--bp-card-bg);border:1px solid var(--bp-card-border);border-radius:var(--bp-card-radius);padding:var(--bp-card-pad);box-shadow:var(--bp-card-shadow)}.bp-card--interactive{cursor:pointer;transition:border-color var(--bp-dur) var(--bp-ease),box-shadow var(--bp-dur) var(--bp-ease)}.bp-card--interactive:hover{border-color:var(--bp-card-hover-border);box-shadow:var(--bp-card-hover-shadow)}.bp-card--interactive:focus-visible{outline:var(--bp-focus-ring) solid var(--bp-accent);outline-offset:2px}.bp-card__header{margin-bottom:var(--bp-card-gap)}.bp-card__title{margin:0;font-size:var(--bp-card-title-size);font-weight:var(--bp-card-title-weight);color:var(--bp-text)}.bp-card__subtitle{margin:.25rem 0 0;font-size:var(--bp-card-subtitle-size);color:var(--bp-card-subtitle-color)}.bp-card__footer{display:flex;gap:.5rem;margin-top:var(--bp-card-gap);padding-top:.75rem;border-top:1px solid var(--bp-border)}.bp-table{background:var(--bp-table-bg);border:1px solid var(--bp-table-border);border-radius:var(--bp-table-radius);overflow-x:auto}.bp-table__grid{width:100%;border-collapse:collapse;font-size:var(--bp-table-font-size)}.bp-table__grid thead th,.bp-table__head-cell{text-align:left;padding:var(--bp-table-cell-py) var(--bp-table-cell-px);background:var(--bp-table-header-bg);font-size:var(--bp-table-header-size);font-weight:var(--bp-table-header-weight);text-transform:uppercase;letter-spacing:var(--bp-table-header-tracking);color:var(--bp-table-header-color);border-bottom:1px solid var(--bp-table-border);white-space:nowrap}.bp-table__grid td,.bp-table__cell{padding:var(--bp-table-cell-py) var(--bp-table-cell-px);border-bottom:1px solid var(--bp-table-border);vertical-align:middle}.bp-table__grid tbody tr:last-child td{border-bottom:none}.bp-table__row{transition:background var(--bp-dur) var(--bp-ease)}.bp-table__row--interactive{cursor:pointer}.bp-table__row--interactive:hover{background:var(--bp-table-row-hover)}.bp-table__row--selected{background:var(--bp-table-row-selected)}.bp-table__cell--num,.bp-table__head-cell--num,.bp-table__cell--actions{text-align:right}.bp-table__cell--num{font-variant-numeric:tabular-nums}.bp-table__actions{display:inline-flex;gap:.5rem;justify-content:flex-end}.bp-dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--bp-dashboard-min-col),1fr));gap:var(--bp-dashboard-gap)}.bp-stat{background:var(--bp-stat-bg);border:1px solid var(--bp-stat-border);border-radius:var(--bp-stat-radius);padding:var(--bp-stat-pad)}.bp-stat__label{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:var(--bp-stat-label-size);letter-spacing:.04em;text-transform:uppercase;color:var(--bp-stat-label-color)}.bp-stat__value{display:flex;align-items:baseline;gap:.4rem}.bp-stat__number{font-size:var(--bp-stat-value-size);font-weight:var(--bp-stat-value-weight);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:var(--bp-text)}.bp-stat__unit{font-size:.85rem;color:var(--bp-stat-unit-color)}.bp-stat__sub{margin:.5rem 0 0;font-size:.75rem;color:var(--bp-text-muted)}.bp-stat--hero{padding:1.5rem 1.75rem}.bp-stat--hero .bp-stat__number{font-size:var(--bp-stat-hero-value-size);font-weight:300}.bp-toolbar{display:flex;align-items:center;gap:var(--bp-toolbar-gap);flex-wrap:wrap;margin-bottom:1rem}.bp-search{width:100%;max-width:380px;min-height:var(--bp-input-min-h);padding:var(--bp-input-padding-y) var(--bp-input-padding-x);border:1px solid var(--bp-input-border);border-radius:var(--bp-radius-control);background:var(--bp-surface);color:var(--bp-text);font:inherit;font-size:.9rem}.bp-search::placeholder{color:var(--bp-input-placeholder)}.bp-search:focus,.bp-search:focus-visible{outline:var(--bp-focus-ring) solid var(--bp-accent-ring);outline-offset:1px;border-color:var(--bp-accent)}.bp-empty{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:var(--bp-empty-pad);border:1px dashed var(--bp-border-strong);border-radius:var(--bp-card-radius);background:var(--bp-surface);color:var(--bp-text-muted);text-align:center}.bp-empty p{margin:0}.bp-badge{display:inline-flex;align-items:center;gap:.3rem;padding:var(--bp-badge-pad);border-radius:var(--bp-radius-pill);font-size:var(--bp-badge-size);font-weight:var(--bp-badge-weight);line-height:1.4;background:var(--bp-surface-hover);color:var(--bp-text-muted)}.bp-badge--success{background:var(--bp-success-soft);color:var(--bp-success-ink)}.bp-badge--warning{background:var(--bp-warning-soft);color:var(--bp-warning-ink)}.bp-badge--danger{background:var(--bp-danger-soft);color:var(--bp-danger)}.bp-badge--info{background:var(--bp-info-soft);color:var(--bp-primary-dark)}.bp-alert{padding:var(--bp-alert-pad);border:1px solid var(--bp-border);border-radius:var(--bp-alert-radius);background:var(--bp-surface);color:var(--bp-text);font-size:.88rem}.bp-alert--danger{border-color:color-mix(in srgb,var(--bp-danger) 40%,var(--bp-border));background:color-mix(in srgb,var(--bp-danger) 8%,var(--bp-surface));color:var(--bp-danger)}.bp-alert--success{border-color:color-mix(in srgb,var(--bp-success) 40%,var(--bp-border));background:color-mix(in srgb,var(--bp-success) 8%,var(--bp-surface));color:var(--bp-success-ink)}.bp-picker{position:relative;width:100%}.bp-picker__trigger{display:flex;align-items:center;gap:.6rem;width:100%;min-height:var(--bp-input-min-h);padding:.35rem var(--bp-input-padding-x);border:1px solid var(--bp-input-border);border-radius:var(--bp-input-radius);background:var(--bp-input-bg);color:var(--bp-input-color);font:inherit;font-size:var(--bp-input-font-size);text-align:left;cursor:pointer;transition:border-color var(--bp-dur) var(--bp-ease)}.bp-picker__trigger:focus,.bp-picker__trigger:focus-visible{outline:var(--bp-focus-ring) solid var(--bp-accent-ring);outline-offset:1px;border-color:var(--bp-input-focus-border)}.bp-picker__trigger:disabled{opacity:.6;cursor:not-allowed}.bp-picker__thumb{width:var(--bp-picker-thumb-size);height:var(--bp-picker-thumb-size);border-radius:calc(var(--bp-input-radius) - 3px);object-fit:cover;flex-shrink:0;background:var(--bp-surface-hover)}.bp-picker__thumb--placeholder{display:grid;place-items:center;font-size:.8rem;font-weight:650;color:var(--bp-text-muted)}.bp-picker__value{display:flex;flex-direction:column;min-width:0;flex:1}.bp-picker__name{font-size:var(--bp-picker-name-size);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-picker__address{font-size:var(--bp-picker-address-size);color:var(--bp-picker-address-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-picker__placeholder{color:var(--bp-input-placeholder)}.bp-picker__chev{flex-shrink:0;color:var(--bp-text-subtle);transition:transform var(--bp-dur) var(--bp-ease)}.bp-picker--open .bp-picker__chev{transform:rotate(180deg)}.bp-picker__clear{flex-shrink:0;border:none;background:none;padding:.2rem;color:var(--bp-text-subtle);cursor:pointer;line-height:1}.bp-picker__clear:hover{color:var(--bp-danger)}.bp-picker__panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;border:1px solid var(--bp-border);border-radius:var(--bp-radius-card);background:var(--bp-surface);box-shadow:var(--bp-card-hover-shadow);overflow:hidden}.bp-picker__search{width:100%;padding:var(--bp-input-padding-y) var(--bp-input-padding-x);border:none;border-bottom:1px solid var(--bp-border);background:var(--bp-surface);color:var(--bp-text);font:inherit;font-size:.88rem}.bp-picker__search::placeholder{color:var(--bp-input-placeholder)}.bp-picker__search:focus,.bp-picker__search:focus-visible{outline:none}.bp-picker__list{max-height:var(--bp-picker-panel-max-h);overflow-y:auto;list-style:none;margin:0;padding:.25rem}.bp-picker__item{display:flex;align-items:center;gap:.6rem;width:100%;padding:var(--bp-picker-item-py) .6rem;border:none;border-radius:var(--bp-radius-control);background:none;color:var(--bp-text);font:inherit;text-align:left;cursor:pointer}.bp-picker__item:hover,.bp-picker__item--active{background:var(--bp-table-row-hover)}.bp-picker__item--current{background:var(--bp-table-row-selected)}.bp-picker__item-thumb{width:var(--bp-picker-thumb-size);height:var(--bp-picker-thumb-size);border-radius:calc(var(--bp-input-radius) - 3px);object-fit:cover;flex-shrink:0;background:var(--bp-surface-hover)}.bp-picker__item-thumb--placeholder{display:grid;place-items:center;font-size:.8rem;font-weight:650;color:var(--bp-text-muted)}.bp-picker__item-body{display:flex;flex-direction:column;min-width:0;flex:1}.bp-picker__item-name{font-size:var(--bp-picker-name-size);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-picker__item-address{font-size:var(--bp-picker-address-size);color:var(--bp-picker-address-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-picker__item-check{flex-shrink:0;color:var(--bp-accent)}.bp-picker__empty{padding:1rem;font-size:.85rem;color:var(--bp-text-muted);text-align:center}.bp-app-badge{--_accent: var(--bp-accent);display:inline-grid;place-items:center;min-width:var(--bp-appbadge-size);height:var(--bp-appbadge-size);padding:0 .3rem;border-radius:var(--bp-radius-pill);background:color-mix(in srgb,var(--_accent) 14%,var(--bp-surface));color:color-mix(in srgb,var(--_accent) 85%,black);font-size:var(--bp-appbadge-font);font-weight:700;line-height:1;cursor:default}.bp-app-badge--muto{--_accent: #e03131}.bp-app-badge--solvo{--_accent: #6741d9}.bp-app-badge--quanto{--_accent: #e8590c}.bp-app-badge--atlas{--_accent: #0c8599}.bp-app-badge--empreinte{--_accent: #3e8e41}.bp-app-badge--portal{--_accent: #334155}.bp-modal{position:fixed;inset:0;z-index:var(--bp-modal-z);display:flex;align-items:center;justify-content:center;padding:1.25rem;background:var(--bp-modal-backdrop);overflow-y:auto}.bp-modal__box{width:100%;max-width:var(--bp-modal-width);margin:auto;background:var(--bp-modal-bg);border:1px solid var(--bp-modal-border);border-radius:var(--bp-modal-radius);box-shadow:var(--bp-modal-shadow);display:flex;flex-direction:column;max-height:calc(100vh - 2.5rem)}.bp-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:var(--bp-modal-pad);border-bottom:1px solid var(--bp-modal-border)}.bp-modal__title{margin:0;font-size:var(--bp-modal-title-size);font-weight:var(--bp-modal-title-weight);color:var(--bp-text)}.bp-modal__subtitle{margin:.25rem 0 0;font-size:var(--bp-subtitle-size);color:var(--bp-text-muted)}.bp-modal__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--bp-radius-control);background:transparent;color:var(--bp-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;transition:background var(--bp-dur) var(--bp-ease)}.bp-modal__close:hover{background:var(--bp-surface-hover);color:var(--bp-text)}.bp-modal__body{padding:var(--bp-modal-pad);overflow-y:auto;display:flex;flex-direction:column;gap:var(--bp-modal-gap)}.bp-modal__section-title{margin:0 0 .75rem;font-size:.82rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--bp-text-muted)}.bp-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:var(--bp-modal-pad);border-top:1px solid var(--bp-modal-border)}.bp-modal__image{display:flex;align-items:center;gap:1rem;margin-top:1rem}.bp-modal__image-preview,.bp-modal__image-placeholder{width:96px;height:72px;flex-shrink:0;border-radius:var(--bp-radius-control);border:1px solid var(--bp-border);object-fit:cover;background:var(--bp-surface-sunken)}.bp-modal__image-placeholder{display:flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--bp-text-subtle)}.bp-modal__image-actions{display:flex;gap:.5rem;flex-wrap:wrap}.bp-modal__card{display:flex;flex-direction:column;gap:var(--bp-modal-card-gap);padding:var(--bp-modal-card-pad);border:1px solid var(--bp-modal-border);border-radius:var(--bp-radius-control);background:var(--bp-modal-card-bg)}.bp-modal__card-title{margin:0;font-size:.82rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--bp-text-muted)}.bp-modal__image-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;width:100%;min-height:var(--bp-modal-dropzone-h);padding:1rem;text-align:center;cursor:pointer;border:1px dashed var(--bp-border);border-radius:var(--bp-radius-control);background:var(--bp-surface);color:var(--bp-text-muted);transition:border-color .15s ease,background .15s ease}.bp-modal__image-dropzone:hover{border-color:var(--bp-app-accent);background:color-mix(in srgb,var(--bp-app-accent) 6%,var(--bp-surface))}.bp-modal__image-dropzone-title{font-weight:600;color:var(--bp-text)}.bp-modal__image-dropzone-hint{font-size:.72rem;color:var(--bp-text-subtle)}.bp-login[data-app=portal]{--bp-app-accent: #334155;--bp-app-accent-on-dark: #94a3b8}.bp-login[data-app=ftm]{--bp-app-accent: #e03131;--bp-app-accent-on-dark: #ff8787}.bp-login[data-app=suivi-chantier]{--bp-app-accent: #6741d9;--bp-app-accent-on-dark: #9775fa}.bp-login[data-app=quanto]{--bp-app-accent: #e8590c;--bp-app-accent-on-dark: #ff922b}.bp-login[data-app=atlas]{--bp-app-accent: #0c8599;--bp-app-accent-on-dark: #3bc9db}.bp-login[data-app=empreinte]{--bp-app-accent: #3e8e41;--bp-app-accent-on-dark: #69db7c}@keyframes bp-login-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes bp-login-fade{0%{opacity:0}to{opacity:1}}@keyframes bp-login-spin{to{transform:rotate(360deg)}}.bp-login{display:flex;min-height:100dvh;overflow:hidden;font-family:var(--bp-font-sans, system-ui, sans-serif);color:var(--bp-login-ink, #0f172a);background:var(--bp-login-surface, #fff)}.bp-login__aside{position:relative;flex:0 0 var(--bp-login-aside-w, 50%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px;overflow:hidden;background:var(--bp-login-panel, linear-gradient(155deg, var(--bp-login-panel-top, #0f172a) 0%, var(--bp-login-panel-mid, #1a2440) 52%, color-mix(in srgb, var(--bp-app-accent-on-dark, #94a3b8) 42%, #14203c) 100%))}.bp-login__aside:before,.bp-login__aside:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.bp-login__aside:before{top:-80px;right:-80px;width:320px;height:320px;background:color-mix(in srgb,var(--bp-app-accent-on-dark, #94a3b8) 10%,transparent)}.bp-login__aside:after{bottom:-60px;left:-60px;width:240px;height:240px;background:#ffffff0d}.bp-login__wave{position:absolute;right:-1px;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.bp-login__wave svg{width:100%;height:100%;display:block}.bp-login__brand{position:relative;z-index:1;width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:bp-login-fade .4s ease both}.bp-login__logo{display:grid;place-items:center;width:66px;height:66px;margin-bottom:32px;border-radius:18px;background:var(--bp-app-accent-on-dark, #94a3b8);color:#0f172a;font-family:var(--bp-font-sans);font-size:26px;font-weight:800;letter-spacing:-.02em;box-shadow:0 10px 26px -6px color-mix(in srgb,var(--bp-app-accent-on-dark, #94a3b8) 60%,transparent)}.bp-login__eyebrow{margin:0 0 4px;font-size:14px;color:#fff9}.bp-login__title{margin:0 0 16px;font-size:36px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:#fff}.bp-login__desc{margin:0;max-width:280px;font-size:13.5px;line-height:1.7;color:#ffffff8c}.bp-login__stats{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px;margin-top:36px}.bp-login__stat{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);text-align:left}.bp-login__stat-value{flex:0 0 auto;min-width:48px;font-size:26px;font-weight:800;letter-spacing:-.01em;color:var(--bp-app-accent-on-dark, #94a3b8)}.bp-login__stat-label{font-size:12.5px;line-height:1.4;color:#fff9}.bp-login__main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px;overflow-y:auto;background:var(--bp-login-surface, #fff)}.bp-login__card{width:100%;max-width:400px;animation:bp-login-fade-up .42s cubic-bezier(.25,.8,.25,1) both}.bp-login__header{margin-bottom:30px;text-align:center}.bp-login__form-title{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--bp-login-ink, #0f172a)}.bp-login__form-sub{margin:0;font-size:14px;color:var(--bp-login-muted, #64748b)}.bp-login__form{display:flex;flex-direction:column;gap:18px}.bp-login__field{display:flex;flex-direction:column;gap:6px}.bp-login__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--bp-login-label, #475569)}.bp-login__input-wrap{position:relative}.bp-login__input{width:100%;height:50px;padding:0 14px;box-sizing:border-box;border:1px solid transparent;border-radius:12px;background:var(--bp-login-input-bg, #f2f4f6);font:inherit;font-size:15px;font-weight:500;color:var(--bp-login-ink, #0f172a);outline:none;transition:box-shadow .15s,border-color .15s}.bp-login__input::placeholder{color:#94a3b8}.bp-login__input:focus{border-color:var(--bp-app-accent, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--bp-app-accent, #3b82f6) 18%,transparent)}.bp-login__input--icon-right{padding-right:46px}.bp-login__input.is-invalid,.bp-login__input.has-error{box-shadow:0 0 0 2px var(--bp-danger, #ef4444);border-color:var(--bp-danger, #ef4444)}.bp-login__input-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:none;color:#94a3b8;cursor:pointer;transition:color .15s,background .15s}.bp-login__input-toggle:hover{color:#64748b;background:#0000000d}.bp-login__input-toggle svg{width:18px;height:18px}.bp-login__error{margin:0;font-size:12px;font-weight:500;color:var(--bp-danger, #ef4444)}.bp-login__field-link{display:flex;justify-content:flex-end}.bp-login__alert{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;font-size:13.5px}.bp-login__alert svg{width:18px;height:18px;flex:0 0 auto}.bp-login__alert--error{background:#fee2e2;border:1px solid rgba(239,68,68,.25);color:#dc2626}.bp-login__alert--success{background:#d1fae5;border:1px solid rgba(16,185,129,.25);color:#059669}.bp-login__submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;padding:0 24px;border:0;border-radius:12px;background:var(--bp-app-accent, #3b82f6);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s;box-shadow:0 6px 18px -6px color-mix(in srgb,var(--bp-app-accent, #3b82f6) 55%,transparent)}.bp-login__submit svg{width:18px;height:18px}.bp-login__submit:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px);box-shadow:0 10px 24px -6px color-mix(in srgb,var(--bp-app-accent, #3b82f6) 60%,transparent)}.bp-login__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.bp-login__ghost{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:46px;padding:0 20px;border:1.5px solid #cbd5e1;border-radius:12px;background:transparent;color:#475569;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.bp-login__ghost svg{width:17px;height:17px}.bp-login__ghost:hover:not(:disabled){border-color:#94a3b8;color:#334155}.bp-login__ghost:disabled{opacity:.6;cursor:not-allowed}.bp-login__spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:bp-login-spin .7s linear infinite}.bp-login__link{font-size:13px;font-weight:600;color:var(--bp-app-accent, #3b82f6);text-decoration:none;cursor:pointer;background:none;border:0;padding:0;font-family:inherit}.bp-login__link:hover{text-decoration:underline;filter:brightness(.92)}.bp-login__toggle{margin-top:24px;text-align:center;font-size:13.5px;color:var(--bp-login-muted, #94a3b8)}.bp-login__hint{margin:24px 0 0;text-align:center;font-size:12.5px;line-height:1.5;color:var(--bp-login-muted, #94a3b8)}.bp-login__hint a{color:var(--bp-app-accent, #3b82f6);text-decoration:none}.bp-login__hint a:hover{text-decoration:underline}.bp-login__mobile-header{display:none}.bp-login__mobile-logo{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--bp-app-accent-on-dark, #94a3b8);color:#0f172a;font-size:12px;font-weight:800}.bp-login__mobile-name{font-size:17px;font-weight:700;letter-spacing:-.01em;color:#fff}@media(max-width:768px){.bp-login{flex-direction:column;min-height:100dvh}.bp-login__aside,.bp-login__wave{display:none}.bp-login__mobile-header{display:flex;align-items:center;gap:10px;padding:14px 18px 16px;position:sticky;top:0;z-index:10;background:var(--bp-login-panel, linear-gradient(135deg, #0f172a 0%, #1a2440 60%, color-mix(in srgb, var(--bp-app-accent-on-dark, #94a3b8) 40%, #14203c) 100%));box-shadow:0 2px 12px #0f172a2e}.bp-login__main{align-items:flex-start;padding:24px 16px 32px}.bp-login__card{max-width:100%}}@media(max-width:480px){.bp-login__form-title{font-size:22px}}@media(prefers-reduced-motion:reduce){.bp-login *,.bp-login *:before,.bp-login *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.bp-logo{display:inline-flex;align-items:baseline;font-family:var(--bp-logo-font);font-size:var(--bp-logo-size);line-height:1;white-space:nowrap}.bp-logo__ini{font-size:1em;font-weight:var(--bp-logo-ini-weight);letter-spacing:var(--bp-logo-ini-tracking)}.bp-logo__rest{font-size:calc(1em * var(--bp-logo-rest-ratio));font-weight:var(--bp-logo-rest-weight);letter-spacing:var(--bp-logo-rest-tracking);margin-left:var(--bp-logo-gap);color:var(--bp-ink)}.bp-logo[data-app=batiprisme] .bp-logo__ini{color:var(--bp-batiprisme)}.bp-logo[data-app=quanto] .bp-logo__ini{color:var(--bp-quanto)}.bp-logo[data-app=intus] .bp-logo__ini{color:var(--bp-intus)}.bp-logo[data-app=solvo] .bp-logo__ini{color:var(--bp-solvo)}.bp-logo[data-app=atlas] .bp-logo__ini{color:var(--bp-atlas)}.bp-logo[data-app=empreinte] .bp-logo__ini{color:var(--bp-empreinte)}.bp-logo[data-app=muto] .bp-logo__ini{color:var(--bp-muto)}.bp-logo--dark .bp-logo__rest,.bp-on-dark .bp-logo__rest{color:var(--bp-panel-text)}.bp-logo--dark[data-app=batiprisme] .bp-logo__ini,.bp-on-dark .bp-logo[data-app=batiprisme] .bp-logo__ini{color:var(--bp-batiprisme-d)}.bp-logo--dark[data-app=quanto] .bp-logo__ini,.bp-on-dark .bp-logo[data-app=quanto] .bp-logo__ini{color:var(--bp-quanto-d)}.bp-logo--dark[data-app=intus] .bp-logo__ini,.bp-on-dark .bp-logo[data-app=intus] .bp-logo__ini{color:var(--bp-intus-d)}.bp-logo--dark[data-app=solvo] .bp-logo__ini,.bp-on-dark .bp-logo[data-app=solvo] .bp-logo__ini{color:var(--bp-solvo-d)}.bp-logo--dark[data-app=atlas] .bp-logo__ini,.bp-on-dark .bp-logo[data-app=atlas] .bp-logo__ini{color:var(--bp-atlas-d)}.bp-logo--dark[data-app=empreinte] .bp-logo__ini,.bp-on-dark .bp-logo[data-app=empreinte] .bp-logo__ini{color:var(--bp-empreinte-d)}.bp-logo--dark[data-app=muto] .bp-logo__ini,.bp-on-dark .bp-logo[data-app=muto] .bp-logo__ini{color:var(--bp-muto-d)}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/poppins-800.woff2) format("woff2")}:root{--bp-bg: #faf7f4;--bp-surface: #ffffff;--bp-border: #e7e0d8;--bp-text: #1c1917;--bp-text-muted: #78716c;--bp-app-accent: #b4552d;--bp-app-accent-on-dark: #e0855f;--bp-accent: #b4552d;--bp-accent-dark: #94431f;--bp-danger: #b3261e}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bp-bg);color:var(--bp-text);-webkit-font-smoothing:antialiased}
