@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap";:root{--bg:#f5f7fa;--bg-strong:#fff;--surface:#fff;--surface-strong:#fff;--ink:#1f2937;--ink-soft:#667085;--line:#e5e7eb;--line-strong:#d0d5dd;--border:var(--line);--accent:#eb5e28;--accent-secondary:#0f766e;--shadow:0 1px 2px #1018280d, 0 8px 24px #1018280a;--radius-xl:24px;--radius-lg:18px;--radius-md:14px;--page-width:1180px;--font-body:"Manrope", "Segoe UI", sans-serif;--font-heading:"Sora", "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--ink);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}h1,h2,h3,h4,p,ul{margin:0}ul{padding:0;list-style:none}.app-shell,.workspace{min-height:100vh}.landing-shell{background:#fff}.landing-topbar{width:min(var(--page-width), calc(100% - 48px));justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:24px 0 12px;display:flex}.landing-topbar__actions{align-items:center;gap:12px;display:flex}.landing-main{width:min(var(--page-width), calc(100% - 48px));margin:0 auto;padding:28px 0 72px}.landing-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:28px;display:grid}.landing-hero__copy,.landing-summary{border:1px solid var(--line);background:#fff;border-radius:24px;box-shadow:0 1px 2px #1018280a}.landing-hero__copy{padding:40px}.landing-hero__copy h1{font-family:var(--font-heading);letter-spacing:-.07em;margin-top:14px;font-size:clamp(2.6rem,6vw,4.8rem);line-height:.95}.landing-hero__copy p{max-width:720px;color:var(--ink-soft);margin-top:18px;font-size:1.04rem;line-height:1.7}.landing-highlight-row{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.landing-highlight-chip{border:1px solid var(--line);color:#38565d;background:#fff;border-radius:999px;align-items:center;min-height:38px;padding:0 14px;font-weight:700;display:inline-flex}.landing-summary{gap:18px;padding:28px;display:grid}.landing-summary__block{gap:14px;display:grid}.landing-summary__list{gap:12px;display:grid}.landing-summary__list li{color:var(--ink-soft);gap:12px;line-height:1.6;display:flex}.landing-summary__note{border:1px solid var(--line);background:#f8fafc;border-radius:16px;gap:8px;padding:16px;display:grid}.landing-summary__note strong{color:var(--ink)}.landing-summary__note p{color:var(--ink-soft);line-height:1.6}.page-shell{width:min(var(--page-width), calc(100% - 32px));margin:0 auto;padding:0 0 72px}.hero-shell{border-bottom:1px solid var(--line);background:#fff;padding:24px 0 48px;position:relative;overflow:hidden}.hero-shell:before,.hero-shell:after{display:none}.topbar,.hero-grid,.footer-bar,.workspace__header,.workspace__grid{width:min(var(--page-width), calc(100% - 32px));margin:0 auto}.topbar{z-index:1;justify-content:space-between;align-items:center;gap:24px;padding:10px 0 18px;display:flex;position:relative}.brand{letter-spacing:-.03em;align-items:center;gap:14px;font-weight:800;display:inline-flex}.brand-logo{object-fit:contain;width:100%;height:auto;display:block}.brand-logo--topbar{width:180px}.brand-logo--auth{width:164px}.brand-logo--sidebar{width:72px}.brand__mark{color:#fff8f1;width:46px;height:46px;font-family:var(--font-heading);box-shadow:var(--shadow);background:linear-gradient(135deg,#eb5e28,#f5b700);border-radius:14px;place-items:center;font-size:.96rem;display:grid}.brand__text{gap:2px;display:grid}.brand__name{font-family:var(--font-heading);font-size:1rem}.brand__tag{color:var(--ink-soft);font-size:.88rem;font-weight:600}.topbar__nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.nav-link,.pill-link,.button-link,.role-nav__link,.workspace__back{transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s}.nav-link{color:var(--ink-soft);font-weight:700}.nav-link:hover,.role-nav__link:hover,.workspace__back:hover{transform:translateY(-1px)}.pill-link,.button-link{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 18px;font-weight:800;display:inline-flex}.pill-link{border-color:var(--line);background:#fff}.pill-link--accent,.button-link--accent{background:var(--accent);border-color:var(--accent);color:#fff7f2;box-shadow:0 14px 30px #eb5e2838}.pill-link--ghost,.button-link--ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.hero-grid{z-index:1;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch;gap:28px;padding-top:32px;display:grid;position:relative}.hero-copy,.hero-card,.panel,.metric-card,.module-card,.flow-card,.role-card,.domain-card,.roadmap-card{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.hero-copy{border-radius:var(--radius-xl);padding:34px}.eyebrow{color:var(--accent-secondary);letter-spacing:.04em;text-transform:uppercase;background:#ffffff8c;border:1px solid #1f2a3714;border-radius:999px;align-items:center;gap:10px;margin-bottom:18px;padding:8px 14px;font-size:.88rem;font-weight:800;display:inline-flex}.hero-copy h1,.workspace__title{font-family:var(--font-heading);letter-spacing:-.06em;font-size:clamp(2.5rem,6vw,4.9rem);line-height:.95}.hero-copy p,.workspace__intro,.panel__intro,.role-card__intro,.module-card__intro,.domain-card__intro,.roadmap-card__intro{color:var(--ink-soft);line-height:1.65}.hero-copy p{max-width:640px;margin-top:20px;font-size:1.08rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.chip-row{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.chip{color:var(--ink);background:#ffffffa8;border:1px solid #1f2a3714;border-radius:999px;padding:9px 14px;font-weight:700}.hero-card{border-radius:var(--radius-xl);align-content:start;gap:18px;padding:28px;display:grid}.hero-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.hero-card__item{border-radius:var(--radius-md);background:#ffffffb3;border:1px solid #1f2a3714;padding:18px}.hero-card__label{color:var(--ink-soft);font-size:.92rem;font-weight:700}.hero-card__value{font-family:var(--font-heading);letter-spacing:-.05em;margin-top:10px;font-size:1.8rem}.hero-card__list{gap:12px;display:grid}.hero-card__list li{color:var(--ink-soft);align-items:center;gap:12px;line-height:1.55;display:flex}.list-dot{background:linear-gradient(135deg, var(--accent), #f5b700);border-radius:50%;flex:none;width:11px;height:11px}.section{margin-top:34px}.section-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.section-heading h2,.panel h2,.panel h3,.role-card h3,.module-card h3,.domain-card h3,.roadmap-card h3,.hero-card h2{font-family:var(--font-heading);letter-spacing:-.04em;line-height:1.08}.section-heading h2,.panel h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}.section-heading p{max-width:520px;color:var(--ink-soft);line-height:1.6}.panel{border-radius:var(--radius-xl);padding:28px}.stats-grid,.roles-grid,.flow-grid,.domain-grid,.workspace__metrics,.workspace__modules,.workspace__details{gap:18px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{border-radius:var(--radius-lg);padding:22px}.metric-card__value{font-family:var(--font-heading);letter-spacing:-.06em;font-size:2rem}.metric-card__label{color:var(--ink-soft);margin-top:10px;line-height:1.55}.roles-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.role-card{border-radius:var(--radius-lg);align-content:start;gap:16px;padding:22px;display:grid}.role-card__badge{letter-spacing:.04em;text-transform:uppercase;background:#ffffffb8;border:1px solid #1f2a3714;border-radius:999px;align-items:center;width:fit-content;padding:7px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.role-card h3,.module-card h3,.domain-card h3,.roadmap-card h3{font-size:1.25rem}.role-card__list,.module-card__list,.tag-list,.roadmap-card__list{gap:10px;display:grid}.role-card__list li,.module-card__list li,.roadmap-card__list li{color:var(--ink-soft);gap:10px;line-height:1.55;display:flex}.role-card--artisan .role-card__badge,.workspace--artisan{--role-accent:#eb5e28}.role-card--fournisseur .role-card__badge,.workspace--fournisseur{--role-accent:#0f766e}.role-card--fabricant .role-card__badge,.workspace--fabricant{--role-accent:#c2410c}.role-card--admin .role-card__badge,.workspace--admin{--role-accent:#334155}.role-card--artisan,.role-card--fournisseur,.role-card--fabricant,.role-card--admin,.workspace__header,.module-card,.roadmap-card{border-color:color-mix(in srgb, var(--role-accent,var(--accent)) 18%, #1f2a371a)}.flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-card{border-radius:var(--radius-lg);gap:14px;padding:22px;display:grid}.flow-card__step{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-secondary);font-size:.98rem}.flow-card__title{font-family:var(--font-heading);font-size:1.2rem}.flow-card__text{color:var(--ink-soft);line-height:1.6}.domain-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.domain-card,.roadmap-card{border-radius:var(--radius-lg);gap:16px;padding:22px;display:grid}.tag-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.tag{min-height:40px;color:var(--ink);background:#ffffffb8;border:1px solid #1f2a3714;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:.92rem;font-weight:700;display:inline-flex}.footer-bar{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:18px;padding:24px 0 56px;display:flex}.footer-bar strong{color:var(--ink)}.workspace__header{border-radius:calc(var(--radius-xl) + 6px);box-shadow:var(--shadow);background:linear-gradient(#fffaf2e0,#fffdf8e6);margin-top:24px;padding:28px}.workspace__topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;display:flex}.workspace__back{color:var(--ink-soft);align-items:center;gap:10px;font-weight:800;display:inline-flex}.role-nav{flex-wrap:wrap;gap:10px;display:flex}.role-nav__link{border:1px solid var(--line);min-height:42px;color:var(--ink-soft);background:#ffffff9e;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:800;display:inline-flex}.role-nav__link.active{background:color-mix(in srgb, var(--role-accent,var(--accent)) 16%, white);border-color:color-mix(in srgb, var(--role-accent,var(--accent)) 44%, #1f2a3726);color:var(--ink)}.workspace__intro{max-width:760px;margin-top:18px;font-size:1.05rem}.workspace__quickfacts{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.workspace__grid{gap:20px;padding:22px 0 72px;display:grid}.workspace__metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace__modules,.workspace__details{grid-template-columns:repeat(2,minmax(0,1fr))}.panel__header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.panel__eyebrow{color:color-mix(in srgb, var(--role-accent,var(--accent)) 72%, #153243);letter-spacing:.08em;text-transform:uppercase;font-size:.86rem;font-weight:800}.module-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-pill{background:color-mix(in srgb, var(--role-accent,var(--accent)) 12%, white);color:color-mix(in srgb, var(--role-accent,var(--accent)) 72%, #153243);border-radius:999px;justify-content:center;align-items:center;padding:7px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.status-pill--ok{color:#0e665f;background:#ddeceb}.panel__split{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.list-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffff9e;padding:20px}.list-card h3{margin-bottom:12px}.list-card ul{gap:10px;display:grid}.list-card li{color:var(--ink-soft);line-height:1.55}.roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.footer-note{color:var(--ink-soft);text-align:center;padding-bottom:56px}.auth-shell{background:#f8fafc;grid-template-columns:minmax(280px,.64fr) minmax(420px,.92fr);min-height:100vh;display:grid}.auth-hero,.auth-panel{justify-content:center;align-items:center;padding:32px;display:flex}.auth-hero{color:#12343b;border-right:1px solid var(--line);background:#f3f6f8;position:relative;overflow:hidden}.auth-hero:before,.auth-hero:after{display:none}.auth-hero__content{z-index:1;gap:18px;width:min(360px,100%);display:grid;position:relative}.auth-hero__content--compact{gap:16px;width:min(336px,100%)}.auth-hero__content--steps{width:min(348px,100%)}.auth-back{color:#12343bb3;width:fit-content;font-weight:700;display:inline-flex}.auth-brand{gap:12px;width:fit-content;display:grid}.auth-brand__mark{background:linear-gradient(145deg,#0f766e,#44b7a8);border-radius:18px;box-shadow:0 14px 30px #0f766e2e}.auth-brand__tagline{color:#12343bad;font-size:.84rem;font-weight:700}.auth-copy h1{font-family:var(--font-heading);letter-spacing:-.06em;font-size:clamp(1.9rem,3.8vw,2.7rem);line-height:1.08}.auth-copy--compact h1{font-size:clamp(1.65rem,3vw,2.15rem)}.auth-copy p{color:#12343bb8;margin-top:10px;font-size:.95rem;line-height:1.6}.auth-value-grid{gap:12px;display:grid}.auth-side-note{background:#fffc;border:1px solid #d8dee4;border-radius:16px;gap:6px;max-width:320px;padding:14px 16px;display:grid}.auth-side-note strong{color:#12343b;font-size:.95rem}.auth-side-note span{color:#5b6d72;word-break:break-word;line-height:1.55}.auth-summary-card{background:#fff;border:1px solid #d8dee4;border-radius:16px;gap:6px;padding:12px 14px;display:grid}.auth-summary-card span{color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.auth-summary-card strong{color:var(--ink);font-size:1rem}.auth-value-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:6px;padding:14px 16px;display:grid}.auth-value-card strong{color:#103b43;font-size:1.02rem}.auth-value-card span,.auth-bullets li{color:#12343bb8;line-height:1.6}.auth-bullets{gap:12px;display:grid}.auth-bullets li{gap:10px;display:flex}.auth-panel{background:#f8fafc}.auth-card{width:min(520px,100%);box-shadow:none;background:#fff;border:1px solid #d8dee4;border-radius:28px;padding:32px}.auth-card--selection{width:min(520px,100%)}.auth-card--email{width:min(440px,100%)}.auth-card--steps{width:min(540px,100%)}.auth-card__header{gap:8px;margin-bottom:22px;display:grid}.auth-step{color:#48606a;letter-spacing:.04em;text-transform:uppercase;background:#eef2f6;border-radius:999px;width:fit-content;padding:5px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.auth-card__header h2{font-family:var(--font-heading);letter-spacing:-.05em;font-size:clamp(1.55rem,2.8vw,1.95rem)}.auth-card__header p,.auth-footnote{color:var(--ink-soft);line-height:1.65}.auth-form{gap:14px;display:grid}.auth-inline-note{color:var(--ink-soft);align-items:center;font-size:.92rem;line-height:1.5;display:inline-flex}.auth-microcopy{color:#5b6d72;margin-top:-4px;font-size:.92rem;line-height:1.5}.auth-email-summary{border:1px solid var(--line);background:#f8fafc;border-radius:14px;gap:6px;padding:12px 14px;display:grid}.auth-email-summary span{color:#4f676c;font-size:.85rem;font-weight:700}.auth-email-summary strong{color:#12343b;font-size:1rem}.auth-field{gap:10px;display:grid}.auth-field span,.auth-role-switch>span{color:#24454c;font-size:.92rem;font-weight:700}.auth-field input{width:100%;min-height:52px;color:var(--ink);background:#fff;border:1px solid #d0d7de;border-radius:14px;outline:none;padding:0 16px;transition:border-color .16s,box-shadow .16s,transform .16s}.auth-field input:focus{background:#fff;border-color:#0f766e57;box-shadow:0 0 0 3px #0f766e14}.form-select,.form-textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d0d7de;border-radius:14px;outline:none;transition:border-color .16s,box-shadow .16s,transform .16s}.form-select{min-height:50px;padding:0 16px}.form-textarea{resize:vertical;min-height:112px;padding:14px 16px}.form-select:focus,.form-textarea:focus{background:#fff;border-color:#0f766e57;box-shadow:0 0 0 3px #0f766e14}.auth-field__topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-field__topline a,.auth-footnote a{color:#0f766e;font-weight:700}.auth-role-switch{gap:12px;padding:4px 0;display:grid}.auth-role-switch__grid{flex-wrap:wrap;gap:10px;display:flex}.auth-chip{color:#24454c;cursor:pointer;background:#f7faf9eb;border:1px solid #12343b1f;border-radius:999px;min-height:42px;padding:0 14px}.auth-chip.active{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 12px 24px #0f766e2e}.auth-checkbox{color:var(--ink-soft);align-items:center;gap:10px;font-size:.94rem;display:inline-flex}.auth-submit{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:12px;min-height:48px;font-weight:800;transition:background-color .16s,opacity .16s;box-shadow:0 1px 2px #10182814}.auth-submit:hover{background:#0d6c65}.auth-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.auth-footnote{margin-top:18px}.form-feedback{border-radius:14px;padding:12px 14px;font-size:.94rem;line-height:1.55}.form-feedback--success{color:#166534;background:#16653414;border:1px solid #16653424}.form-feedback--error{color:#b91c1c;background:#dc262614;border:1px solid #dc262624}.auth-role-grid{grid-template-columns:1fr;gap:14px;display:grid}.auth-role-card{background:linear-gradient(#fffffffa,#f7faf9eb),#fff;border:1px solid #12343b1a;border-radius:18px;gap:10px;padding:20px;display:grid;box-shadow:0 12px 26px #12343b0f}.auth-role-card__badge{color:#c2410c;background:#eb5e281a;border-radius:999px;width:fit-content;padding:6px 10px;font-size:.8rem;font-weight:800;display:inline-flex}.auth-role-card h3{font-family:var(--font-heading);font-size:1.2rem}.auth-role-card p{color:var(--ink-soft);line-height:1.6}.auth-role-card__cta{color:#0f766e;font-weight:800}.auth-inline-action{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.auth-inline-action span{color:var(--ink-soft);font-size:.92rem;line-height:1.5}.directory-list{gap:12px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.directory-card{text-align:left;cursor:pointer;background:#faf7fdb8;border:1px solid #59358a1f;border-radius:18px;gap:8px;padding:18px;display:grid}.directory-card.active{background:#7c3aed14;border-color:#7c3aed6b;box-shadow:inset 0 0 0 1px #7c3aed2e}.directory-card__topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.directory-card__topline strong{font-size:1rem}.directory-card__topline span,.directory-card p{color:var(--ink-soft);line-height:1.55}.signup-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.signup-progress--three{grid-template-columns:repeat(3,minmax(0,1fr))}.signup-progress--four{grid-template-columns:repeat(4,minmax(0,1fr))}.signup-progress__step{color:var(--ink-soft);background:#f7faf9e6;border:1px solid #12343b1a;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.signup-progress__step span{color:#0f766e;background:#0f766e1f;border-radius:999px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.signup-progress__step.active{color:#12343b;background:#0f766e0f;border-color:#0f766e33}.choice-grid{flex-wrap:wrap;gap:10px;display:flex}.choice-grid--compact{gap:8px}.choice-chip{color:#38565d;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:999px;min-height:36px;padding:0 13px;font-weight:700;transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s,transform .16s}.choice-chip:hover{border-color:#0f766e38;transform:translateY(-1px)}.choice-chip.active{color:#0f766e;background:#eef7f6;border-color:#0f766e47}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-actions{justify-content:space-between;gap:12px;display:flex}.auth-status-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-status-card,.app-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffd1}.auth-status-card{text-align:center;border-radius:28px;width:min(520px,100%);padding:32px}.auth-status-card h2{font-family:var(--font-heading);letter-spacing:-.05em;margin-top:10px;font-size:clamp(1.8rem,3vw,2.4rem)}.auth-status-card p{color:var(--ink-soft);margin-top:12px;line-height:1.6}.artisan-app{background:#f7f8fa;grid-template-columns:188px minmax(0,1fr);min-height:100vh;display:grid}.artisan-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;justify-content:space-between;gap:16px;padding:14px 12px;display:flex}.artisan-sidebar__top{gap:10px;display:grid}.artisan-brand{align-items:flex-start;gap:10px;display:flex}.artisan-brand__copy{gap:2px;padding-top:4px;display:grid}.artisan-brand__copy strong{color:#12343b;font-size:.92rem}.artisan-brand__copy span{color:var(--ink-soft);font-size:.78rem;font-weight:700}.artisan-company-card{background:#fff;border:1px solid #dbe1e6;border-radius:14px;gap:4px;padding:12px;display:grid}.artisan-company-card__label{color:#0f766e;letter-spacing:.04em;text-transform:uppercase;background:#0f766e14;border-radius:999px;width:fit-content;padding:6px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.artisan-company-card strong{font-size:.95rem}.artisan-company-card p{color:var(--ink-soft);word-break:break-word;font-size:.84rem;line-height:1.45}.artisan-nav{gap:6px;display:grid}.artisan-nav__link{color:#4b5563;border-radius:12px;align-items:center;gap:10px;min-height:40px;padding:0 12px;font-size:.95rem;font-weight:700;transition:transform .16s,background-color .16s,color .16s;display:inline-flex}.artisan-nav__link:hover{background:#f3f6f8}.artisan-nav__link.active{color:#0f766e;background:#edf7f5}.artisan-nav__icon{color:currentColor;flex:none;width:16px;height:16px}.artisan-sidebar__footer{display:grid}.artisan-ghost-button{border:1px solid var(--line);color:#31454d;cursor:pointer;background:#fff;border-radius:10px;min-height:40px;font-weight:700}.artisan-main{grid-template-rows:1fr;min-width:0;display:grid}.admin-app{background:radial-gradient(circle at 100% 0,#0f766e14,#0000 24%),linear-gradient(#f4f7f7 0%,#f7f4ef 100%);grid-template-columns:320px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffad;border-right:1px solid #0f766e1f;flex-direction:column;justify-content:space-between;gap:28px;padding:24px 20px;display:flex}.admin-sidebar__top{gap:22px;display:grid}.admin-account-card{background:#ffffffe0;border:1px solid #0f766e1a;border-radius:24px;gap:10px;padding:18px;display:grid}.admin-account-card p{color:var(--ink-soft);line-height:1.6}.admin-nav{gap:8px;display:grid}.admin-nav__link{color:#4b5563;border-radius:16px;align-items:center;min-height:48px;padding:0 16px;font-weight:700;display:inline-flex}.admin-nav__link.active{color:#0f766e;background:#0f766e1f}.admin-main{grid-template-rows:auto 1fr;min-width:0;display:grid}.admin-header{padding:28px 32px 12px}.admin-header h1{font-family:var(--font-heading);letter-spacing:-.06em;margin-top:12px;font-size:clamp(2rem,4vw,3rem)}.admin-header p{color:var(--ink-soft);margin-top:12px;line-height:1.6}.admin-content{padding:12px 32px 40px}.admin-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;display:grid}.admin-metric-card{gap:10px;display:grid}.admin-metric-card__value{font-family:var(--font-heading);letter-spacing:-.06em;font-size:2rem}.admin-metric-card p{color:var(--ink-soft);line-height:1.55}.admin-table-shell{background:#ffffffc7;border:1px solid #0f766e14;border-radius:24px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;min-width:760px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #1f2a3714;padding:16px 18px}.admin-table th{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.86rem;font-weight:800}.admin-table td strong,.admin-table td span{display:block}.admin-table td span{color:var(--ink-soft);margin-top:6px;font-size:.92rem}.admin-keys-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;display:grid}.admin-key-card{gap:16px;display:grid}.admin-key-card__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-key-card__header p{color:var(--ink-soft);margin-top:6px;line-height:1.5}.admin-key-card__body{gap:12px;display:grid}.admin-key-card__actions{justify-content:flex-end;display:flex}.artisan-content{padding:24px 24px 28px}.app-section{gap:20px;width:100%;display:grid}.app-section__header{justify-content:space-between;align-items:end;gap:18px;width:100%;display:flex}.app-panel{box-shadow:none;background:#fff;border:1px solid #dde3e8;border-radius:20px;padding:20px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.dashboard-page{gap:18px}.dashboard-hero{grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);align-items:start;gap:18px;display:grid}.dashboard-hero__copy{gap:10px;display:grid}.dashboard-hero__copy h2,.dashboard-section__header h3,.dashboard-frame__header h3,.dashboard-quick-card h4,.dashboard-module-card h4{font-family:var(--font-heading);letter-spacing:-.04em}.dashboard-hero__side{background:#fbfcfc;border:1px solid #dde3e8;border-radius:18px;gap:6px;padding:16px 18px;display:grid}.dashboard-hero__side span,.dashboard-frame__hint,.dashboard-roadmap-item span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.84rem;font-weight:700}.dashboard-hero__side strong{color:#12343b;font-size:1rem}.dashboard-hero__side p,.dashboard-section__header p,.dashboard-quick-card p,.dashboard-placeholder p,.dashboard-module-card li{color:var(--ink-soft);line-height:1.6}.dashboard-section{gap:14px;display:grid}.dashboard-section__header{justify-content:space-between;align-items:end;gap:16px;display:flex}.dashboard-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.dashboard-quick-card{align-content:space-between;gap:18px;min-height:190px;display:grid}.dashboard-quick-card__copy{gap:8px;display:grid}.dashboard-shell-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:18px;display:grid}.dashboard-frame,.dashboard-side-panel,.dashboard-placeholder{align-content:start;gap:16px;display:grid}.dashboard-frame__header{justify-content:space-between;align-items:start;gap:14px;display:flex}.dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-module-card{background:#fbfcfc;border:1px solid #12343b14;border-radius:18px;gap:10px;padding:16px;display:grid}.dashboard-module-card ul{gap:8px;display:grid}.dashboard-roadmap-list{gap:10px;display:grid}.dashboard-roadmap-item{background:#fbfcfc;border:1px solid #12343b14;border-radius:16px;gap:4px;padding:14px 16px;display:grid}.dashboard-roadmap-item strong{color:#12343b}.app-section__header--dashboard{align-items:center}.dashboard-summary{background:#fff;border:1px solid #dde3e8;border-radius:16px;gap:4px;min-width:240px;padding:14px 16px;display:grid}.dashboard-summary span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.dashboard-summary strong{color:#12343b;word-break:break-word;font-size:.95rem}.dashboard-card{gap:12px;display:grid}.dashboard-card__topline{justify-content:flex-start;align-items:center;gap:12px;display:flex}.dashboard-card__icon-shell{color:#0f766e;background:#eef7f6;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.dashboard-card__icon{width:18px;height:18px}.dashboard-card__actions{justify-content:flex-start;margin-top:2px;display:flex}.app-button{color:#0f766e;background:#eef7f6;border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-weight:800;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}.app-button:hover{background:#e6f4f2}.dashboard-card h3,.form-panel__header h3,.empty-state h3{font-family:var(--font-heading);letter-spacing:-.04em}.dashboard-card p,.form-panel__header p,.empty-state p,.entity-card p{color:var(--ink-soft);line-height:1.6}.entity-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;display:grid}.entity-grid--directory{grid-template-columns:minmax(0,1fr)}.entity-list-panel,.form-panel{align-content:start;gap:18px;display:grid}.directory-overview{gap:18px;display:grid}.directory-overview__copy{gap:8px;display:grid}.directory-overview__copy h3{font-family:var(--font-heading);letter-spacing:-.04em;font-size:1.4rem}.directory-overview__copy p{color:var(--ink-soft);max-width:760px;line-height:1.6}.directory-category-tabs{flex-wrap:wrap;gap:10px;display:flex}.directory-category-tab{color:#38565d;cursor:pointer;background:#fff;border:1px solid #12343b1f;border-radius:14px;align-items:center;gap:12px;min-height:46px;padding:0 14px;transition:border-color .16s,background-color .16s,transform .16s,box-shadow .16s;display:inline-flex}.directory-category-tab:hover{transform:translateY(-1px)}.directory-category-tab strong{color:#0f766e;background:#f3f7f6;border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 8px;font-size:.88rem;display:inline-grid}.directory-category-tab.active{background:#0f766e0f;border-color:#0f766e3d;box-shadow:inset 0 0 0 1px #0f766e14}.entity-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.directory-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.directory-toolbar__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.directory-import-button{min-width:132px}.directory-add-button{min-width:180px}.entity-search{background:#fff;border:1px solid #d0d5dd;border-radius:12px;width:min(360px,100%);min-height:44px;padding:0 16px}.entity-count{color:var(--ink-soft);font-size:.94rem;font-weight:700}.entity-list{gap:12px;display:grid}.directory-table-shell{background:#fbfcfc;border:1px solid #12343b14;border-radius:18px;overflow:auto}.directory-table{border-collapse:collapse;width:100%;min-width:760px}.directory-table th,.directory-table td{text-align:left;vertical-align:top;border-bottom:1px solid #12343b14;padding:14px 16px}.directory-table th{color:#6b7d83;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800}.directory-table td{color:#38565d;line-height:1.55}.directory-table td strong{color:#12343b}.directory-table__actions-head{width:160px}.directory-table__actions-cell{text-align:right}.directory-row-actions{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.directory-row-action{color:#12343b;cursor:pointer;background:#fff;border:1px solid #12343b1a;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.directory-row-action:hover{background:#f7faf9}.directory-row-action--danger{color:#b42318;border-color:#b4231829}.directory-row-action--danger:hover{background:#fff5f4}.directory-form-section{background:#fbfcfc;border:1px solid #12343b14;border-radius:18px;gap:14px;padding:16px;display:grid}.directory-form-section__title{color:#12343b;font-size:.92rem;font-weight:800}.directory-address{gap:6px;display:grid}.directory-map-link{color:#0f766e;background:#eef7f6;border-radius:999px;align-items:center;width:fit-content;min-height:28px;padding:0 10px;font-size:.82rem;font-weight:800;display:inline-flex}.directory-map-link:hover{background:#e4f2f0}.directory-map-frame{background:#f8fafc;border:1px solid #12343b14;border-radius:18px;overflow:hidden}.directory-map-frame iframe{border:0;width:100%;height:220px}.directory-drawer-shell{z-index:60;justify-content:flex-end;display:flex;position:fixed;inset:0}.directory-drawer-backdrop{background:#0f172a33;border:0;position:absolute;inset:0}.directory-drawer{z-index:1;border-left:1px solid var(--line);background:#fff;width:min(460px,100%);height:100%;padding:24px;position:relative;overflow:auto;box-shadow:-16px 0 40px #0f172a14}.directory-drawer__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.directory-drawer__header p{color:var(--ink-soft);margin-top:6px;line-height:1.6}.directory-drawer__close{border:1px solid var(--line);color:#4b5563;cursor:pointer;background:#fff;border-radius:10px;width:36px;height:36px;font-size:1.4rem;line-height:1}.directory-drawer__tabs{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.directory-drawer__tab{color:#425861;cursor:pointer;background:#fff;border:1px solid #12343b1f;border-radius:999px;min-height:40px;padding:0 14px;font-weight:700}.directory-drawer__tab.active{color:#0f766e;background:#0f766e14;border-color:#0f766e2e}.directory-upload-card{background:#f8fcfb;border:1px dashed #0f766e3d;border-radius:16px;gap:8px;padding:16px;display:grid}.directory-upload-card__title{color:#12343b;font-weight:800}.directory-upload-card__text{color:var(--ink-soft);line-height:1.55}.directory-upload-card__input{color:#425861;width:100%}.directory-import-preview{gap:12px;display:grid}.directory-import-preview__topline{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.directory-import-preview__topline strong{color:#12343b}.directory-import-preview__topline span{color:var(--ink-soft);font-size:.92rem}.directory-import-preview__list{gap:10px;display:grid}.directory-viewer{gap:18px;display:grid}.directory-viewer__hero,.directory-viewer__section,.directory-viewer__stat,.directory-history__item{background:#fbfcfc;border:1px solid #12343b14;border-radius:18px;padding:18px}.directory-viewer__hero{gap:16px;display:grid}.directory-viewer__hero-copy{gap:8px;display:grid}.directory-viewer__hero-copy h4{font-size:1.45rem}.directory-viewer__hero-copy p,.directory-viewer__empty-copy,.directory-viewer__card p,.directory-history__content p{color:var(--ink-soft);line-height:1.6}.directory-viewer__badges{flex-wrap:wrap;gap:10px;display:flex}.directory-viewer__badge{color:#fff;background:#12343b;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.directory-viewer__badge--soft{color:#0f766e;background:#eef7f6}.directory-viewer__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.directory-viewer__stat{gap:6px;display:grid}.directory-viewer__stat span{color:var(--ink-soft);font-size:.9rem}.directory-viewer__stat strong{color:#12343b;font-size:1.3rem}.directory-viewer__section{gap:14px;display:grid}.directory-viewer__section-title{color:#12343b;font-size:.94rem;font-weight:800}.directory-viewer__info-list,.directory-viewer__stack,.directory-history{gap:12px;display:grid}.directory-viewer__info-list div{gap:4px;display:grid}.directory-viewer__info-list span,.directory-viewer__meta,.directory-history__top span{color:var(--ink-soft);font-size:.9rem}.worksites-page{gap:18px}.worksites-toolbar-panel{padding:18px 20px}.worksites-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.worksites-search{flex:380px;width:auto}.worksites-toolbar__filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.worksites-filter{min-width:180px}.worksites-add-button{min-width:168px}.worksites-table__meta{margin-top:8px}.worksites-kind-pill{color:#0f766e;background:#eef7f6;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.8rem;font-weight:800;display:inline-flex}.worksites-modal{width:min(760px,100% - 24px);max-height:min(920px,100vh - 24px)}.worksites-detail-modal{width:min(1180px,100% - 24px)}.worksites-detail-modal__body{overflow:auto}.worksites-form{gap:20px}.worksites-form-section{gap:14px;display:grid}.worksites-form-section+.worksites-form-section{border-top:1px solid #edf0f2;padding-top:18px}.worksites-form-section__title{color:#12343b;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}.worksites-detail-grid,.worksites-detail-section,.worksites-material-groups,.worksites-stack{gap:16px;display:grid}.worksites-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start}.worksites-detail-card,.worksites-kpi-card,.worksites-linked-card,.worksites-note-card,.worksites-planning-placeholder__card,.worksites-material-group{background:#fbfcfc;border:1px solid #e6eaee;border-radius:18px}.worksites-detail-card{gap:16px;padding:18px;display:grid}.worksites-detail-card--hero{grid-column:1/-1}.worksites-detail-card__top,.worksites-detail-card__heading,.worksites-material-group__header,.worksites-linked-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.worksites-detail-card__title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.worksites-detail-card h4,.worksites-material-group__header h5{font-family:var(--font-heading);letter-spacing:-.03em;font-size:1.15rem}.worksites-detail-card p,.worksites-detail-card__heading p,.worksites-empty-copy,.worksites-linked-card__meta,.worksites-planning-placeholder__card p,.worksites-note-card p{color:var(--ink-soft);line-height:1.6}.worksites-detail-actions{flex-wrap:wrap;gap:10px;display:flex}.worksites-detail-infos,.worksites-kpi-grid,.worksites-planning-placeholder__summary{gap:12px;display:grid}.worksites-detail-infos{grid-template-columns:repeat(4,minmax(0,1fr))}.worksites-detail-infos div,.worksites-kpi-card{gap:6px;display:grid}.worksites-detail-infos span,.worksites-kpi-card span,.worksites-note-card span,.worksites-material-group__header span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.86rem;font-weight:700}.worksites-detail-infos strong,.worksites-kpi-card strong{color:#12343b;font-size:1rem}.worksites-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.worksites-kpi-card,.worksites-note-card,.worksites-planning-placeholder__card{padding:16px}.worksites-linked-card{gap:10px;padding:14px 16px;display:grid}.worksites-linked-card--link{cursor:pointer;color:inherit;text-decoration:none;transition:background .14s,border-color .14s}.worksites-linked-card--link:hover{background:#f0f7f4;border-color:#0f766e}.worksites-linked-card__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.worksites-row-title{gap:4px;display:grid}.worksites-row-title span{color:var(--ink-soft);font-size:.82rem}.worksites-team-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 10px;font-size:.82rem}.worksites-team-btn:hover:not(:disabled){background:var(--accent);color:#fff}.worksites-team-btn:disabled{opacity:.5;cursor:default}.worksites-team-btn--unset{border-color:var(--ink-soft);color:var(--ink-soft)}.worksites-team-btn--unset:hover:not(:disabled){background:var(--ink-soft);color:#fff}.worksites-team-row--assigned{background:color-mix(in srgb, var(--accent) 6%, transparent)}.worksites-material-group{gap:14px;padding:16px;display:grid}.worksites-table__link-cell{text-align:right}.worksites-planning-placeholder{gap:16px;display:grid}.worksites-planning-placeholder__summary{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-viewer__info-list strong,.directory-history__top strong{color:#12343b}.directory-viewer__card{background:#fff;border:1px solid #12343b14;border-radius:16px;gap:10px;padding:16px;display:grid}.directory-viewer__card-top,.directory-viewer__meta,.directory-history__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.directory-history__item{grid-template-columns:12px minmax(0,1fr);align-items:start;gap:14px;display:grid}.directory-history__dot{background:#0f766e;border-radius:999px;width:12px;height:12px;margin-top:4px}.directory-history__content{gap:6px;display:grid}.status-pill--draft{color:#475467;background:#f3f4f6}.status-pill--active,.status-pill--accepted{color:#027a48;background:#ecfdf3}.status-pill--sent{color:#175cd3;background:#eff8ff}.status-pill--rejected{color:#c01048;background:#fff1f3}.status-pill--archived{color:#6941c6;background:#f4f3ff}.entity-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:10px;padding:16px;display:grid}.entity-card__top,.entity-card__meta,.segmented-control{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.entity-card__top span,.entity-card__meta{color:var(--ink-soft);font-size:.92rem}.inline-form{gap:16px;display:grid}.segmented-control{background:#f3f4f6;border-radius:12px;padding:4px}.segment{color:#4b5563;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1 1 0;min-height:42px;font-weight:700}.segment.active{color:#0f766e;background:#fff;box-shadow:0 1px 2px #1018280f}.worksites-modal .segmented-control{background:#f6f8f9;border:1px solid #e7ecef}.worksites-modal .segment{color:#536471;min-height:44px}.worksites-modal .segment.active{color:#0f766e;box-shadow:inset 0 0 0 1px #0f766e1f,0 1px 2px #1018280a}.empty-state{text-align:center;background:#fff;border:1px dashed #d0d5dd;border-radius:14px;place-content:center;gap:10px;min-height:220px;padding:24px;display:grid}@media (width<=1080px){.hero-grid,.stats-grid,.roles-grid,.workspace__metrics,.flow-grid,.domain-grid,.roadmap-grid,.dashboard-grid,.entity-grid,.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero,.workspace__modules,.workspace__details,.panel__split,.form-grid{grid-template-columns:1fr}}@media (width<=720px){.topbar,.hero-grid,.footer-bar,.workspace__header,.workspace__grid{width:min(var(--page-width), calc(100% - 22px))}.hero-shell{padding-top:14px}.topbar{align-items:flex-start}.hero-grid,.stats-grid,.roles-grid,.flow-grid,.domain-grid,.workspace__metrics,.roadmap-grid,.hero-card__grid,.auth-role-grid,.dashboard-grid,.dashboard-quick-grid,.dashboard-shell-grid,.dashboard-module-grid,.entity-grid,.form-grid{grid-template-columns:1fr}.hero-copy,.hero-card,.panel,.workspace__header,.dashboard-hero{padding:22px}.section-heading,.panel__header,.footer-bar,.workspace__topline,.auth-inline-action,.app-section__header,.dashboard-section__header,.dashboard-frame__header,.entity-toolbar,.form-actions{flex-direction:column;align-items:flex-start}.hero-copy h1,.workspace__title{font-size:clamp(2.2rem,15vw,3.5rem)}}@media (width<=980px){.auth-shell{grid-template-columns:1fr}.auth-hero,.auth-panel{padding:24px}.artisan-app,.admin-app{grid-template-columns:1fr}.artisan-sidebar{border-bottom:1px solid #12343b14;border-right:0}.admin-sidebar{border-bottom:1px solid #0f766e1f;border-right:0}.directory-viewer__stats{grid-template-columns:1fr}}.text-muted{color:var(--ink-soft)}.text-sm{font-size:.86rem}.col-right{text-align:right}.btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:#12343b;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 20px;font-size:.92rem;font-weight:700;transition:background-color .16s,transform .16s;display:inline-flex}.btn-primary:hover:not(:disabled){background:#1a4854;transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:#31454d;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d0d7de;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:.92rem;font-weight:700;transition:border-color .16s,background-color .16s;display:inline-flex}.btn-ghost:hover:not(:disabled){background:#f7f9fa;border-color:#9eaab0}.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.btn-ghost--sm{border-radius:10px;min-height:34px;padding:0 12px;font-size:.86rem}.btn-ghost--danger{color:#b91c1c;border-color:#fca5a5}.btn-ghost--danger:hover:not(:disabled){background:#fff5f5;border-color:#f87171}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:10px;align-items:center;gap:6px;min-height:40px;padding:0 20px;font-size:.9rem;font-weight:600;transition:background .14s,box-shadow .14s;display:inline-flex}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc262647}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.confirm-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1100;background:#0f172a80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;gap:20px;width:100%;max-width:420px;padding:28px 28px 24px;display:flex;box-shadow:0 24px 64px #0f172a38}.confirm-modal__icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.confirm-modal__icon--danger{color:#dc2626;background:#fef2f2}.confirm-modal__content{flex-direction:column;gap:10px;display:flex}.confirm-modal__title{color:var(--ink);font-size:17px;font-weight:700;font-family:var(--font-heading);margin:0;line-height:1.3}.confirm-modal__lead{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.confirm-modal__list{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;margin:0;padding:12px 16px;list-style:none;display:flex}.confirm-modal__list li{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:flex}.confirm-modal__list li:before{content:"–";color:var(--line-strong)}.confirm-modal__list li strong{color:var(--ink);text-align:right;min-width:20px;font-weight:700}.confirm-modal__list-item--warn{color:var(--ink)!important}.confirm-modal__list-item--warn strong{color:#dc2626!important}.confirm-modal__footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.btn-outline{color:#5a7278;cursor:pointer;background:0 0;border:1.5px dashed #d0d7de;border-radius:10px;align-items:center;gap:6px;min-height:34px;padding:0 14px;font-size:.88rem;font-weight:700;transition:border-color .16s,color .16s;display:inline-flex}.btn-outline:hover{color:#0f766e;border-color:#0f766e}.btn-icon{cursor:pointer;color:#12343b;background:#fff;border:1px solid #12343b1f;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:.82rem;line-height:1;transition:background-color .14s,border-color .14s;display:inline-flex}.btn-icon:hover{background:#f0f7f4;border-color:#0f766e59}.btn-icon--danger{color:#b42318;border-color:#b423182e}.btn-icon--danger:hover{background:#fff5f4;border-color:#b4231866}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.form-group{gap:6px;display:grid}.form-group--grow{flex:1 1 0}.form-label{color:#374151;font-size:.86rem;font-weight:700}.form-hint-inline{color:var(--ink-soft);font-size:.82rem;font-weight:400}.form-input{color:#1f2937;background:#fff;border:1px solid #d0d5dd;border-radius:10px;width:100%;min-height:42px;padding:0 12px;font-size:.94rem;transition:border-color .16s,box-shadow .16s}.form-input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.form-input--sm{border-radius:8px;min-height:34px;padding:0 9px;font-size:.88rem}.form-input--num{text-align:right;width:96px}.form-hint{color:var(--ink-soft);font-size:.86rem}.form-error{color:#b91c1c;font-size:.88rem;font-weight:600}.form-error-inline{color:#b91c1c;white-space:nowrap;font-size:.82rem}.form-actions{border-top:1px solid #f0f2f4;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;padding-top:16px;display:flex}.form-card{background:#fff;border:1px solid #dde3e8;border-radius:16px;gap:16px;max-width:560px;padding:24px;display:grid;box-shadow:0 2px 8px #12343b0f}.form-card__title{letter-spacing:-.03em;padding-bottom:4px;font-size:1.05rem;font-weight:700}.btn-cancel{color:#5a7278;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;min-height:40px;padding:0 16px;font-size:.92rem;font-weight:600;transition:color .16s,background-color .16s;display:inline-flex}.btn-cancel:hover{color:#12343b;background:#f0f4f5}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.badge--inline{margin-left:10px}.badge--draft{color:#6b7280;background:#f3f4f6}.badge--sent{color:#1d4ed8;background:#dbeafe}.badge--accepted{color:#065f46;background:#d1fae5}.badge--rejected{color:#b91c1c;background:#fee2e2}.badge--archived{color:#9ca3af;background:#f9fafb}.page-loading,.page-error{min-height:240px;color:var(--ink-soft);justify-content:center;align-items:center;padding:40px;font-size:.95rem;display:flex}.page-error{color:#b91c1c}.artisan-page{align-content:start;gap:24px;padding:24px;display:grid}.artisan-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.artisan-page__title{font-family:var(--font-heading);letter-spacing:-.05em;color:#12343b;font-size:1.7rem;font-weight:800}.artisan-page__subtitle{color:var(--ink-soft);margin-top:4px;font-size:.9rem}.data-table-wrapper{background:#fff;border:1px solid #dde3e8;border-radius:16px;overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f0f3f5;padding:13px 16px;font-size:.92rem}.data-table th{color:#6b7d83;letter-spacing:.05em;text-transform:uppercase;background:#fbfcfc;font-size:.8rem;font-weight:800}.data-table__row--clickable{cursor:pointer;transition:background-color .14s}.data-table__row--clickable:hover{background:#f7fbfa}.empty-state{text-align:center;color:var(--ink-soft);justify-items:center;gap:14px;padding:48px 24px;font-size:.94rem;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#12343b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;flex-direction:column;width:640px;max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 64px #12343b38}.modal--xl{width:min(1080px,100%)}.lib-modal{height:min(720px,100vh - 80px)}.modal__body{flex:auto;min-height:0;padding:20px 22px 24px;overflow:auto}.modal__header{border-bottom:1px solid #edf0f2;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 14px;display:flex}.modal__title{letter-spacing:-.03em;font-size:1.05rem;font-weight:700}.modal__close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:inline-flex}.modal__close:hover{background:#f3f4f6}.modal__tabs{border-bottom:1px solid #edf0f2;flex:none;gap:2px;padding:12px 22px 0;display:flex}.modal__tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:.9rem;font-weight:700;transition:color .16s,border-color .16s}.modal__tab:hover{color:#374151}.modal__tab--active{color:#0f766e;border-bottom-color:#0f766e}.worksites-modal__actions{background:linear-gradient(#fff0,#fff 20px);justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding-top:14px;padding-bottom:4px;display:flex;position:sticky;bottom:-24px}.lib-modal__body{flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:200px 240px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.lib-modal__cats{border-right:1px solid #edf0f2;min-height:0;padding:8px 0;overflow-y:auto}.lib-modal__cat-all{text-align:left;color:#6b7280;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 16px;font-size:.85rem;font-weight:500}.lib-modal__cat-all:hover{background:#f3f6f8}.lib-modal__cat-all--active{color:#0f766e;font-weight:700;background:#edf7f5!important}.lib-modal__list{border-right:1px solid #edf0f2;flex-direction:column;min-height:0;display:flex;overflow:hidden}.lib-modal__wp-list{flex-direction:column;flex:1;gap:1px;padding:0 0 8px;display:flex;overflow-y:auto}.lib-modal__right{min-height:0;padding:16px 20px;overflow-y:auto}.lib-tree{overflow-y:auto}.lib-tree__item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding-right:8px;font-size:.88rem;transition:background-color .12s;display:flex}.lib-tree__item:hover{background:#f3f6f8}.lib-tree__item--active{color:#0f766e;background:#edf7f5;font-weight:700}.lib-tree__arrow{color:#9ca3af;flex:0 0 12px;font-size:.76rem}.lib-tree__name{flex:1}.lib-tree__count{color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:1px 7px;font-size:.76rem}.lib-modal__wp-list--inline{margin-top:6px;padding-left:12px}.lib-wp-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:4px 8px;font-size:.88rem;transition:background-color .12s;display:flex}.lib-wp-item__label{flex:1}.lib-wp-item__import{color:#0f766e;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;transition:opacity .12s,background-color .12s;display:inline-flex}.lib-wp-item:hover .lib-wp-item__import{opacity:1}.lib-wp-item__import:hover{background:#d1fae5}.lib-detail{flex-direction:column;height:100%;display:flex;overflow-y:auto}.lib-detail__inner{flex-direction:column;gap:20px;padding:2px 0 32px;display:flex}.lib-detail__head{flex-direction:column;gap:8px;display:flex}.lib-detail__title{letter-spacing:-.02em;color:#111827;font-size:1.05rem;font-weight:700;line-height:1.4}.lib-detail__badges{flex-wrap:wrap;gap:6px;display:flex}.lib-detail__badge{border-radius:20px;align-items:center;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.lib-detail__badge--unit{color:#475569;background:#f1f5f9}.lib-detail__badge--vat{color:#16a34a;background:#f0fdf4}.lib-detail__badge--perso{color:#7c3aed;background:#fdf4ff}.lib-detail__desc{color:#6b7280;background:#f8fafc;border-left:3px solid #e2e8f0;border-radius:0 6px 6px 0;margin:0;padding:10px 14px;font-size:.86rem;line-height:1.6}.lib-detail__stats{flex-wrap:wrap;gap:10px;display:flex}.lib-stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:80px;padding:10px 18px;display:flex}.lib-stat-card--accent{background:color-mix(in srgb, var(--brand) 6%, white);border-color:color-mix(in srgb, var(--brand) 20%, white)}.lib-stat-card__val{color:#111827;letter-spacing:-.03em;font-size:1.2rem;font-weight:700}.lib-stat-card--accent .lib-stat-card__val{color:var(--brand)}.lib-stat-card__label{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-size:.72rem;font-weight:600}.lib-detail__articles{flex-direction:column;gap:20px;display:flex}.lib-art-section__title{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;align-items:center;gap:8px;margin-bottom:8px;font-size:.78rem;font-weight:700;display:flex}.lib-detail__unit{color:var(--ink-soft);font-size:.88rem}.lib-detail__description{color:var(--ink-soft);font-size:.9rem;line-height:1.5}.lib-detail__cat-row{align-items:center;gap:6px;padding:4px 0 2px;display:flex}.lib-detail__cat-value{color:var(--ink-soft);font-size:12px;font-style:normal}.lib-detail__cat-value em{color:var(--ink-soft);opacity:.6}.lib-detail__cat-edit-btn{cursor:pointer;color:var(--ink-soft);opacity:0;background:0 0;border:none;border-radius:5px;padding:2px 5px;font-size:13px;line-height:1;transition:opacity .12s,background .12s}.lib-detail__head:hover .lib-detail__cat-edit-btn{opacity:1}.lib-detail__cat-edit-btn:hover{background:var(--bg);color:var(--accent)}.lib-detail__cat-select{border:1.5px solid var(--accent);background:var(--surface);color:var(--ink);border-radius:7px;outline:none;flex:1;max-width:320px;padding:4px 8px;font-size:12px}.lib-detail__cat-save,.lib-detail__cat-cancel{cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 6px;font-size:14px;line-height:1}.lib-detail__cat-save{color:#0f766e}.lib-detail__cat-save:hover{background:#ecfdf5}.lib-detail__cat-cancel{color:var(--ink-soft)}.lib-detail__cat-cancel:hover{background:var(--bg)}.lib-detail__import-bar{align-items:center;gap:10px;padding-top:2px;display:flex}.lib-detail__import-btn{padding:7px 16px;font-size:.84rem}.lib-detail__import-ok{color:#16a34a;font-size:.84rem;font-weight:600}.lib-mylib-empty{text-align:center;color:#6b7280;padding:32px 16px;font-size:.9rem}.lib-mylib-empty__hint{color:#9ca3af;margin-top:8px;font-size:.82rem}.lib-mylib-editor{flex-direction:column;display:flex}.lib-mylib-form{flex-direction:column;gap:24px;padding:4px 0 40px;display:flex}.lib-mylib-form__header{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.lib-mylib-form__title{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-size:.88rem;font-weight:700}.lib-mylib-form__actions{align-items:center;gap:10px;display:flex}.lib-mylib-notice{color:#16a34a;font-size:.82rem;font-weight:600}.lib-mylib-notice--err{color:#ef4444}.lib-mylib-form__fields{flex-direction:column;gap:12px;display:flex}.lib-mylib-form__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lib-mylib-field{color:#374151;flex-direction:column;gap:5px;font-size:.82rem;font-weight:600;display:flex}.lib-mylib-field .form-input{font-size:.88rem}.lib-mylib-articles{flex-direction:column;display:flex}.lib-mylib-articles__table td{padding:5px 8px}.lib-mylib-cell-input{color:#111827;text-align:right;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:3px 6px;font-family:inherit;font-size:.84rem;transition:border-color .12s,background .12s}.lib-mylib-cell-input:hover{background:#f9fafb;border-color:#d1d5db}.lib-mylib-cell-input:focus{border-color:var(--brand);background:#fff;outline:none}.lib-mylib-row--dirty td{background:#fffbeb}.lib-mylib-row--dirty .lib-mylib-cell-input{border-color:#fbbf24}.lib-detail__table{border-collapse:collapse;width:100%;font-size:.88rem}.lib-detail__table th,.lib-detail__table td{text-align:left;border-bottom:1px solid #f0f3f5;padding:7px 10px}.lib-detail__table th{color:#6b7d83;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:800}.lib-article__material{color:var(--ink-soft);font-style:italic}.lib-detail__actions{gap:10px;padding-top:4px;display:flex}.lib-loading,.lib-empty{color:var(--ink-soft);text-align:center;padding:14px 8px;font-size:.88rem}.lib-empty--sm{padding:8px;font-size:.82rem}.lib-empty--center{justify-content:center;align-items:center;min-height:120px;display:flex}.quote-editor{flex-direction:column;min-height:100%;display:flex}.quote-editor__header{background:#fff;border-bottom:1px solid #edf0f2;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px 12px;display:flex}.quote-editor__header-left{align-items:center;gap:14px;display:flex}.quote-editor__header-actions{align-items:center;gap:8px;display:flex}.quote-editor__number{font-family:var(--font-heading);letter-spacing:-.04em;color:#12343b;align-items:center;gap:8px;font-size:1.25rem;font-weight:800;display:flex}.quote-editor__meta{color:var(--ink-soft);margin-top:3px;font-size:.88rem}.quote-editor__table-wrap{flex:1 1 0;overflow:auto}.quote-table{border-collapse:collapse;width:100%;min-width:900px;font-size:.88rem}.qt-head th{text-align:left;color:#6b7d83;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#f9fafb;border-bottom:2px solid #e5e9ec;padding:10px;font-size:.76rem;font-weight:800}.quote-table td{vertical-align:middle;padding:8px 10px}.qt-num{width:52px;padding-left:20px!important}.qt-label{min-width:260px}.qt-unit{width:64px}.qt-num-col{text-align:right;width:100px;padding-right:12px!important}.qt-actions{text-align:right;white-space:nowrap;width:72px;padding-right:10px!important}.qt-section-row td{color:#fff;background:#12343b;border-bottom:none;font-weight:700}.qt-section-num{color:#ffffff8c;font-weight:800}.qt-section-label{font-size:.92rem}.qt-section-total{color:#ffffffe6}.qt-section-row .qt-actions button{color:#ffffffa6;background:0 0;border-color:#0000}.qt-section-row .qt-actions button:hover{color:#fff;background:#ffffff1f;border-color:#fff3}.qt-ouvrage-row td{background:#f4f8f7;border-bottom:1px solid #e5e9ec}.qt-ouvrage-row:hover td{background:#edf5f3}.qt-ouvrage-label{align-items:flex-start;gap:6px;display:flex}.qt-expand-btn{cursor:pointer;color:#0f766e;background:0 0;border:none;flex:none;margin-top:1px;padding:0 2px;font-size:.9rem}.qt-ouvrage-name{color:#12343b;font-weight:600}.qt-description{color:var(--ink-soft);margin-top:2px;font-size:.82rem;font-weight:400;line-height:1.4}.qt-article-row td{background:#fff;border-bottom:1px solid #f0f3f5}.qt-article-row:hover td{background:#f9fbfa}.qt-article-row--sub td:first-child{padding-left:32px}.qt-text-row td{color:var(--ink-soft);background:#fff;border-bottom:1px solid #f0f3f5;font-style:italic}.qt-kind-tag{letter-spacing:.04em;text-transform:uppercase;color:#5a7278;background:#f0f4f5;border-radius:6px;flex:none;align-items:center;margin-right:6px;padding:2px 7px;font-size:.72rem;font-weight:800;display:inline-flex}.qt-kind-tag--small{padding:1px 5px;font-size:.7rem}.qt-material-label{color:#6b7280;font-size:.82em;font-style:italic}.qt-ds{color:#6b7d83}.qt-marge{color:#0f766e}.qt-vat{color:#6b7d83}.qt-total{color:#12343b}.qt-edit-row td,.qt-add-row td{vertical-align:middle;background:#fffbe6;border-bottom:1px solid #f0e080}.qt-edit-input{width:100%;min-width:120px}.qt-actionbar-row td{border-bottom:none;padding:0}.qt-actionbar{background:#f7f9fa;border-bottom:1px solid #edf0f2;align-items:center;gap:4px;padding:6px 16px 6px 52px;display:flex}.qt-actionbar--sub{background:#f9fbfb;padding-left:72px}.qt-actionbar__btn{color:#4b6470;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d0d7de;border-radius:7px;align-items:center;gap:4px;min-height:26px;padding:0 10px;font-size:.8rem;font-weight:700;transition:border-color .12s,color .12s,background-color .12s;display:inline-flex}.qt-actionbar__btn:hover{color:#0f766e;background:#f0faf8;border-color:#0f766e}.qt-actionbar__btn--primary{color:#12343b;border-color:#12343b;font-size:.84rem}.qt-actionbar__btn--primary:hover{color:#fff;background:#12343b}.qt-empty{text-align:center;color:var(--ink-soft);padding:40px;font-size:.94rem}.quote-table__footer{background:#f9fafb;border-top:1px solid #edf0f2;align-items:center;gap:8px;padding:12px 20px 12px 52px;display:flex}.quote-editor__summary{background:#fff;border-top:2px solid #12343b;flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:stretch;gap:0;padding:14px 24px;display:flex}.qsummary__block{align-items:stretch;gap:0;display:flex}.qsummary__block+.qsummary__block{border-left:1px solid #e5e9ec;margin-left:20px;padding-left:20px}.qsummary__row{flex-direction:column;justify-content:center;align-items:flex-end;gap:1px;padding:0 16px;display:flex}.qsummary__row+.qsummary__row{border-left:1px solid #f0f3f5}.qsummary__label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.76rem;font-weight:700}.qsummary__val{color:#12343b;font-size:.95rem;font-weight:700}.qsummary__val--ttc{color:#0f766e;font-size:1.1rem}.qsummary__row--discount .qsummary__label,.qsummary__row--discount .qsummary__val{color:#e45c2b}.qsummary__row--ttc .qsummary__label{color:#0f766e}.qov-modal{width:min(900px,100%)}.qov-modal-badge{vertical-align:middle;margin-left:10px;font-size:.78rem}.qov-modal-grid{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}@media (width<=700px){.qov-modal-grid{grid-template-columns:1fr}}.qov-modal-card{background:#f9fafb;border:1px solid #e5e9ec;border-radius:12px;padding:16px 18px}.qov-modal-card__title{text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;margin-bottom:12px;font-size:.72rem;font-weight:700}.qov-modal-rows{flex-direction:column;gap:0;display:flex}.qov-modal-row{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;font-size:.85rem;display:flex}.qov-modal-row:last-child{border-bottom:none}.qov-modal-row--ttc{border-top:2px solid #12343b;border-bottom:none;margin-top:4px;padding-top:8px}.qov-modal-row>span:first-child{color:#6b7280;white-space:nowrap}.qov-modal-address{color:#374151;text-align:right;font-size:.82rem}.qov-modal-profit{align-items:center;gap:14px;display:flex}.qov-modal-profit-rows{flex-direction:column;flex:1;gap:10px;display:flex}.qov-modal-profit-row{align-items:center;gap:8px;font-size:.84rem;display:flex}.qov-modal-profit-row>span:nth-child(2){color:#6b7280;flex:1}.qov-modal-profit-row small{color:#9ca3af;font-size:.76rem;font-weight:400}.qov-modal-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.qov-status-actions{border-top:1px solid #edf0f2;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.qov-status-actions__label{color:#9ca3af;margin-right:4px;font-size:.8rem}.qov-status-btn{cursor:pointer;border:1.5px solid;border-radius:8px;padding:7px 16px;font-size:.84rem;font-weight:600;transition:background .14s,opacity .14s}.qov-status-btn:disabled{opacity:.5;cursor:not-allowed}.qov-status-btn--success{color:#16a34a;background:#f0fdf4;border-color:#86efac}.qov-status-btn--success:hover:not(:disabled){background:#dcfce7}.qov-status-btn--danger{color:#dc2626;background:#fff5f5;border-color:#fca5a5}.qov-status-btn--danger:hover:not(:disabled){background:#fee2e2}.qov-status-btn--neutral{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.qov-status-btn--neutral:hover:not(:disabled){background:#e5e7eb}.qe-locked-banner{color:#92400e;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:0 0 12px;padding:10px 16px;font-size:.88rem}.qe-meta-panel{background:#f8fafa;border:1px solid #d9e3e5;border-radius:12px;margin:0 0 16px;padding:16px 20px}.qe-management-panel{background:#f8fbfb;border:1px solid #d9e6e3;border-radius:14px;gap:16px;margin:0 0 16px;padding:18px 20px;display:grid}.qe-management-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.qe-management-panel__header h3{margin:0 0 4px;font-size:1rem}.qe-management-panel__header p{color:var(--ink-soft);margin:0;line-height:1.5}.qe-management-panel__message{color:var(--ink-soft);margin:0}.qe-management-panel__meta{flex-wrap:wrap;gap:8px;display:flex}.qe-management-panel__meta span{min-height:32px;color:var(--teal-deep);background:#edf7f4;border-radius:999px;align-items:center;padding:0 12px;font-size:.84rem;font-weight:600;display:inline-flex}.qe-management-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.qe-management-card{background:#fff;border:1px solid #dbe6e3;border-radius:12px;gap:12px;padding:14px 16px;display:grid}.qe-management-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.qe-management-card__top span{color:var(--ink-soft);font-size:.84rem}.qe-management-card dl{gap:10px;margin:0;display:grid}.qe-management-card dl div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.qe-management-card dt{color:var(--ink-soft);font-size:.84rem}.qe-management-card dd{color:var(--ink-strong);margin:0;font-weight:700}.qe-meta-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:12px 16px;display:grid}@media (width<=768px){.qe-meta-grid{grid-template-columns:1fr 1fr}.qe-management-panel{padding:16px}}.qe-duration-row{gap:8px;display:flex}.qe-duration-row .form-input:first-child{flex:0 0 80px}.qe-duration-row .form-input:last-child{flex:1}.qe-table-toolbar{background:#f9fafb;border-bottom:1px solid #edf0f2;align-items:center;gap:8px;padding:6px 16px;display:flex}.qt-toggle-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:20px;padding:4px 12px;font-size:.78rem;transition:all .15s}.qt-toggle-btn--active{color:#0f766e;background:#ecfdf5;border-color:#0f766e}.qt-qty-cell{white-space:nowrap;position:relative}.qt-qty-val{cursor:text;text-align:right;border:1px solid #0000;border-radius:4px;min-width:28px;padding:2px 4px;transition:border-color .12s,background .12s;display:inline-block}.qt-qty-val:hover{background:#f9fafb;border-color:#d1d5db}.qt-inline-qty{text-align:right;width:64px!important;height:26px!important;padding:2px 4px!important}.qt-metre-btn{color:#6b7280;cursor:pointer;vertical-align:middle;background:#f9fafb;border:1px solid #d0d5dd;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:6px;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.qt-metre-btn svg{width:15px;height:15px}.qt-metre-btn:hover{color:#0f766e;background:#ecfdf5;border-color:#6ee7b7}.metre-modal{width:min(760px,100%)}.metre-table{border-collapse:collapse;width:100%;font-size:.85rem}.metre-table th{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;text-align:left;border-bottom:1px solid #e5e7eb;padding:4px 8px;font-size:.72rem;font-weight:700}.metre-table th.col-right{text-align:right}.metre-table td{vertical-align:middle;padding:4px 6px}.metre-table td .form-input{height:30px;font-size:.82rem}.metre-table td:first-child .form-input{min-width:160px}.metre-table td .form-input--num{text-align:right;width:70px}.metre-table__result{color:#0f766e;white-space:nowrap;min-width:60px;font-weight:600}.metre-table__result--ded{color:#dc2626}.metre-table__actions{white-space:nowrap;align-items:center;gap:4px;display:flex}.metre-row--deduction td:first-child .form-input{color:#7f1d1d;background:#fff5f5;border-color:#fca5a5}.metre-row--deduction .form-input--num{background:#fff5f5;border-color:#fca5a5}.metre-sign-btn{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #d0d5dd;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.9rem;font-weight:700;transition:background .1s;display:inline-flex}.metre-sign-btn:hover{background:#e5e7eb}.metre-sign-btn--ded{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.metre-sign-btn--ded:hover{background:#fecaca}.metre-deduct-btn{color:#dc2626!important;border-color:#fca5a5!important}.metre-deduct-btn:hover{background:#fee2e2!important}.metre-footer{border-top:1px solid #e5e7eb;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.metre-total{color:var(--ink);font-size:.95rem}.metre-total strong{color:#0f766e;font-size:1.05rem}.metre-actions{border-top:1px solid #edf0f2;justify-content:flex-end;gap:8px;padding:12px 22px 16px;display:flex}.qt-metre-detail-row td{padding:0!important}.qt-metre-detail{color:#374151;background:#f8fffe;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.78rem;display:flex;padding:3px 10px 5px 32px!important}.qt-metre-detail__icon{opacity:.7;flex-shrink:0;font-size:.82rem}.qt-metre-chip{white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;align-items:center;gap:2px;padding:1px 6px;display:inline-flex}.qt-metre-chip--ded{background:#fff5f5;border-color:#fca5a5}.qt-metre-chip__calc{color:#6b7280}.qt-metre-chip__val{color:#047857;margin-left:2px;font-weight:600}.qt-metre-chip--ded .qt-metre-chip__val{color:#dc2626}.app-button--ghost{color:#0f766e;background:#fff;border:1px solid #cfe3df}.app-button--ghost:hover{background:#f4fbf9}.management-page{gap:20px;display:grid}.management-page__header{align-items:end}.management-page__subtitle{margin-top:6px}.management-shell{border-radius:22px;gap:18px;padding:22px;display:grid}.management-shell__header{justify-content:space-between;align-items:end;gap:16px;display:flex}.management-shell__header h3{letter-spacing:-.04em;font-size:1.5rem}.management-shell__header p{max-width:660px;color:var(--ink-soft);line-height:1.6}.management-tabs,.management-subtabs{flex-wrap:wrap;gap:8px;display:flex}.management-tab,.management-subtab{color:#48616a;cursor:pointer;background:#fff;border:1px solid #dbe5e2;border-radius:999px;min-height:42px;padding:0 16px;font-weight:700;transition:border-color .16s,background-color .16s,color .16s,transform .16s}.management-tab:hover,.management-subtab:hover{background:#f6fbfa;border-color:#b6d8d1}.management-tab.active,.management-subtab.active{color:#0f766e;background:#edf7f5;border-color:#0f766e}.management-content{gap:20px;display:grid}.management-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.management-week-grid__field .form-input{text-align:center}.management-highlight-grid,.management-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.management-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-stat-card{background:#fff;border:1px solid #dbe5e2;border-radius:16px;gap:6px;padding:16px 18px;display:grid}@media (width<=1260px){.management-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=860px){.management-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.management-stat-card span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.management-stat-card strong{color:#12343b;letter-spacing:-.03em;font-size:1.1rem}.management-stat-card p{color:var(--ink-soft);font-size:.9rem;line-height:1.5}.management-overview{gap:18px;display:grid}.management-overview__copy h4,.management-detail-card h4{margin-bottom:10px;font-size:1.05rem}.management-bullet-list,.management-rule-list{color:#334a52;gap:10px;padding-left:18px;line-height:1.55;display:grid}.management-block-grid,.management-roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.management-info-card,.management-detail-card{background:#fff;border:1px solid #dbe5e2;border-radius:18px;gap:10px;padding:18px;display:grid}.management-info-card strong{color:#12343b}.management-info-card p,.management-detail-card p{color:var(--ink-soft);line-height:1.6}.management-detail-card__header{justify-content:space-between;align-items:start;gap:14px;display:flex}.management-detail-card__tag{color:#0f766e;white-space:nowrap;background:#edf7f5;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:.8rem;font-weight:800;display:inline-flex}.management-steps{gap:12px;display:grid}.management-step{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:14px;display:grid}.management-step span{color:#0f766e;background:#edf7f5;border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.management-step strong{margin-bottom:4px;display:block}.management-table-shell{border:1px solid #e5ece9;border-radius:16px;overflow:auto}.management-table{border-collapse:collapse;width:100%}.management-table th,.management-table td{text-align:left;border-bottom:1px solid #edf1ef;padding:12px 14px}.management-table th{color:#2e4a52;text-transform:uppercase;letter-spacing:.04em;background:#f3faf8;font-size:.82rem;font-weight:800}.management-table td{color:#173942}.management-table tbody tr:last-child td{border-bottom:none}.management-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.management-search{flex:380px;width:auto}.management-toolbar__filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.management-filter{min-width:220px}.management-empty-state{min-height:180px}.management-feedback{border:1px solid #0000;border-radius:14px;padding:12px 14px;font-size:.94rem;line-height:1.5}.management-feedback--success{color:#0f6c4f;background:#effaf5;border-color:#b9e3d4}.management-feedback--error{color:#b42318;background:#fff4f1;border-color:#f2b8ae}.management-row-title{gap:4px;display:grid}.management-row-title strong{color:#12343b}.management-row-title span,.management-footer-note,.management-form-note{color:var(--ink-soft);font-size:.92rem;line-height:1.55}.management-mini-badge{color:#0f766e;background:#eef8f6;border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:0 10px;font-size:.8rem;font-weight:700;display:inline-flex}.table-actions-cell{text-align:right;white-space:nowrap;width:104px}.table-action-button{color:#34535b;cursor:pointer;background:#fff;border:1px solid #dbe5e2;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:6px;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.table-action-button:hover{color:#0f766e;background:#f6fbfa;border-color:#b6d8d1}.table-action-button:disabled{opacity:.5;cursor:not-allowed}.table-action-button--danger:hover{color:#b42318;background:#fff3f2;border-color:#f6b6ad}.management-modal{width:min(1080px,100% - 24px)}.management-modal__header-actions{align-items:center;gap:12px;display:flex}.management-modal__body{padding-top:18px}.management-view-switcher{background:#f8fbfa;border:1px solid #dbe5e2;border-radius:999px;align-items:center;padding:4px;display:inline-flex}.management-view-switcher__button{color:#53717a;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:34px;padding:0 14px;font-size:.9rem;font-weight:700}.management-view-switcher__button--active{color:#0f766e;background:#fff;box-shadow:0 1px 3px #0f172a14}.management-form{gap:22px}.management-form-section{gap:16px;display:grid}.management-form-section+.management-form-section{border-top:1px solid #edf0f2;padding-top:18px}.management-form-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:18px;display:grid}.management-checkbox-list{gap:10px;display:grid}.management-checkbox-row{cursor:pointer;background:#fff;border:1px solid #e5ece9;border-radius:14px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px;display:grid}.management-checkbox-row input{margin-top:2px}.management-checkbox-row:hover{background:#f7fbfa;border-color:#b6d8d1}.management-form-section__top{justify-content:space-between;align-items:start;gap:12px;display:flex}.management-form-section__top h4{margin-bottom:6px;font-size:1.02rem}.management-form-section__top p{color:var(--ink-soft);line-height:1.55}.management-form-code{color:#0f766e;white-space:nowrap;background:#f3faf8;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.management-inline-button{border-radius:12px;min-height:38px;padding:0 14px;font-size:.92rem}.management-inline-button--danger{color:#b42318;border-color:#f2c7c2}.management-inline-button--danger:hover{color:#9f281c;background:#fff4f3;border-color:#f0b1a8}.management-summary-card{background:linear-gradient(#fff,#f8fbfb);border:1px solid #dbe5e2;border-radius:18px;gap:12px;padding:18px;display:grid}.management-summary-card>span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800}.management-summary-card strong{color:#12343b;font-family:var(--font-heading);letter-spacing:-.04em;font-size:2rem}.management-summary-card p,.management-summary-card dt{color:var(--ink-soft)}.management-summary-card dl{gap:10px;display:grid}.management-summary-card dl div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.management-summary-card dd{color:#12343b;margin:0;font-weight:700}.management-settings{gap:20px;display:grid}.management-qualification-block{background:#fbfdfd;border:1px solid #e6eeeb;border-radius:18px;gap:14px;padding:18px;display:grid}.management-qualification-block__header{justify-content:space-between;align-items:start;gap:14px;display:flex}.management-qualification-block__header h5{color:#16373e;margin:0 0 4px;font-size:1rem}.management-qualification-block__header p{color:var(--ink-soft);margin:0;font-size:.93rem}.management-qualification-empty{color:var(--ink-soft);background:#fff;border:1px dashed #cfe0db;border-radius:14px;padding:14px 16px}.management-qualification-list{gap:12px;display:grid}.management-qualification-card{background:#fff;border:1px solid #dfe8e5;border-radius:16px;gap:14px;padding:16px;display:grid}.management-qualification-card__actions{justify-content:flex-end;display:flex}.management-settings-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.management-settings-section{background:#fff;border:1px solid #dbe5e2;border-radius:20px;gap:18px;padding:22px;display:grid}.management-settings-section .form-grid{gap:14px}.management-settings-summary{position:sticky;top:16px}.management-viewer-loading{color:var(--ink-soft);padding:28px 10px;font-size:.96rem}.management-viewer{gap:20px;display:grid}.management-viewer-hero{background:linear-gradient(#fff 0%,#f8fbfb 100%);border:1px solid #dbe5e2;border-radius:22px;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:18px;padding:20px;display:grid}.management-viewer-avatar{color:#0f766e;width:120px;height:120px;font-family:var(--font-heading);letter-spacing:-.04em;background:#eef8f6;border-radius:24px;justify-content:center;align-items:center;font-size:2.1rem;font-weight:800;display:flex;overflow:hidden}.management-viewer-avatar img{object-fit:cover;width:100%;height:100%}.management-viewer-identity{gap:10px;display:grid}.management-viewer-identity__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.management-viewer-identity__top h3{color:#12343b;font-family:var(--font-heading);letter-spacing:-.04em;margin:0;font-size:clamp(1.6rem,2vw,2.1rem)}.management-viewer-identity p{color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.5}.management-viewer-badges{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.management-viewer-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.management-viewer-stat{background:#fff;border:1px solid #dbe5e2;border-radius:18px;gap:8px;padding:18px;display:grid}.management-viewer-stat span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800}.management-viewer-stat strong{color:#12343b;font-family:var(--font-heading);letter-spacing:-.04em;font-size:1.6rem}.management-viewer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.management-viewer-card{background:#fff;border:1px solid #dbe5e2;border-radius:20px;gap:14px;padding:18px;display:grid}.management-viewer-card h4{color:#12343b;margin:0;font-size:1.05rem}.management-definition-list{gap:12px;display:grid}.management-definition-list div{border-bottom:1px solid #eef3f2;justify-content:space-between;align-items:baseline;gap:18px;padding-bottom:10px;display:flex}.management-definition-list dt{color:var(--ink-soft);font-weight:500}.management-definition-list dd{color:#12343b;text-align:right;margin:0;font-weight:700}.management-document-links,.management-chip-list,.management-viewer-qualifications{gap:12px;display:grid}.management-document-link,.management-chip{color:#0f766e;background:#f8fbfa;border:1px solid #dbe5e2;border-radius:12px;align-items:center;width:fit-content;max-width:100%;min-height:38px;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.management-chip{flex-wrap:wrap;gap:4px}.management-chip--stacked{justify-items:start;width:100%;padding:12px 14px;display:grid}.management-chip--stacked small{color:var(--ink-soft);font-size:.84rem;font-weight:500;line-height:1.5}.management-viewer-qualification-group{gap:10px;display:grid}.management-viewer-qualification-group>strong{color:#16373e}.management-empty-inline{color:var(--ink-soft);font-size:.92rem}.management-viewer-note{color:var(--ink-soft);margin:0;line-height:1.65}.management-week-grid--viewer{margin-top:8px}.management-week-grid__cell{text-align:center;background:#fbfdfd;border:1px solid #dbe5e2;border-radius:14px;gap:6px;padding:12px;display:grid}.management-week-grid__cell span{color:var(--ink-soft);font-size:.84rem}.management-week-grid__cell strong{color:#12343b;font-size:1rem}.management-settings-flags{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.management-settings-toggle{color:#173942;cursor:pointer;background:#f8fbfb;border:1px solid #dbe5e2;border-radius:16px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.management-settings-toggle input{margin-top:3px}.management-settings-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.management-modal__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=1100px){.management-shell__header,.management-detail-card__header{grid-template-columns:1fr;display:grid}.management-highlight-grid,.management-block-grid,.management-roadmap-grid,.management-stats-grid,.management-settings-grid,.management-settings-flags,.management-form-grid{grid-template-columns:1fr}.management-settings-summary{position:static}}@media (width<=720px){.management-shell{padding:16px}.management-page__header{align-items:start}.management-page__header .app-button{justify-content:center;width:100%}.management-table th,.management-table td{padding:10px 12px;font-size:.9rem}.management-toolbar{align-items:stretch}.management-filter,.management-search{width:100%}.management-modal__actions{justify-content:stretch;width:100%}.management-settings-section{padding:18px}.management-settings-actions{justify-content:stretch}.management-settings-actions .app-button{width:100%}}.lib-page{flex-direction:column;gap:0;height:100vh;margin:-24px -24px -28px;display:flex;overflow:hidden}.lib-page__header{flex-shrink:0;padding:20px 24px 0}.lib-tabs-bar{border-bottom:2px solid #edf0f2;flex-shrink:0;justify-content:space-between;align-items:flex-end;padding-right:20px;display:flex}.lib-tabs{border-bottom:none;gap:2px;padding:16px 24px 0;display:flex}.lib-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 20px;font-size:.88rem;font-weight:600;transition:color .14s}.lib-tab--active{color:#0f766e;border-bottom-color:#0f766e}.lib-cats-config-btn{color:#6b7280;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1.5px solid #e2e8f0;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:6px;margin-bottom:0;padding:6px 14px 8px;font-size:.82rem;font-weight:600;transition:color .14s,background .14s,border-color .14s;display:flex}.lib-cats-config-btn:hover{color:#374151;background:#f1f5f9;border-color:#cbd5e1}.lib-cats-config-btn--hidden{visibility:hidden;pointer-events:none}.lib-cats-config-btn--active{color:#7c3aed;background:#fff;border-color:#c4b5fd #c4b5fd #fff;margin-bottom:-2px}.lib-tab:hover:not(.lib-tab--active){color:#374151}.lib-ouvrages{flex:1;min-height:0;display:flex;overflow:hidden}.lib-cats{border-right:1px solid #edf0f2;flex-direction:column;flex-shrink:0;width:260px;min-width:260px;padding:0;display:flex;overflow:hidden}.lib-cats__items{flex:1;min-height:0;padding-bottom:12px;overflow-y:auto}.lib-cats__toolbar{flex-shrink:0;align-items:center;gap:4px;padding:10px 10px 6px 14px;display:flex}.lib-cats__title{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;flex:1;font-size:.7rem;font-weight:700}.lib-cats__toggle-btn{color:#6b7280;cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #e5e7eb;border-radius:4px;padding:1px 5px;font-size:.62rem;line-height:1.6}.lib-cats__toggle-btn:hover{background:#f3f4f6}.lib-cats__toggle-btn:disabled{opacity:.35;cursor:default}.lib-cats__search{flex-shrink:0;padding:0 10px 8px;position:relative}.lib-cats__search-input{color:#374151;box-sizing:border-box;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;outline:none;width:100%;padding:5px 28px 5px 10px;font-size:.8rem}.lib-cats__search-input:focus{background:#fff;border-color:#0f766e}.lib-cats__search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:2px;font-size:.75rem;line-height:1;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.lib-cats__loading{color:#9ca3af;padding:16px;font-size:.85rem}.lib-cat-item{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;width:100%;padding:6px 12px;font-size:.84rem;transition:background .12s;display:flex}.lib-cat-item:hover{background:#f3f7f6}.lib-cat-item--active{color:#0f766e;background:#e8f4f2;font-weight:600}.lib-cat-arrow{color:#9ca3af;flex-shrink:0;width:12px;font-size:.7rem}.lib-cat-arrow-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:.7rem;line-height:1}.lib-cat-item__name{flex:1}.lib-cat-item__count{color:#6b7280;background:#e5e7eb;border-radius:10px;flex-shrink:0;padding:1px 7px;font-size:.72rem}.lib-cat-item--active .lib-cat-item__count{color:#0f766e;background:#d1fae5}.lib-list{border-right:1px solid #edf0f2;flex-direction:column;flex-shrink:0;width:320px;min-width:260px;display:flex;overflow:hidden}.lib-list__search{border-bottom:1px solid #edf0f2;flex-shrink:0;padding:10px 12px}.lib-list__toolbar{border-bottom:1px solid #edf0f2;flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;display:flex}.lib-list__search-input{flex:1;min-width:0}.lib-list__group-btns{flex-shrink:0;gap:4px;display:flex}.lib-list__items{flex:1;overflow-y:auto}.lib-list__empty{color:#9ca3af;text-align:center;padding:24px 16px;font-size:.84rem}.lib-wp-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f3f4f6;align-items:center;gap:6px;width:100%;padding:10px 14px;font-size:.84rem;transition:background .12s;display:flex}.lib-wp-item:hover{background:#f8fafb}.lib-wp-item--active{background:#e8f4f2}.lib-wp-item__label{color:#12343b;flex:1;font-weight:500}.lib-wp-item__unit{color:#9ca3af;font-size:.76rem}.lib-wp-item__mine{color:#7c3aed;background:#ede9fe;border-radius:8px;padding:1px 7px;font-size:.7rem}.lib-group{border-bottom:1px solid #edf0f2}.lib-group__header{cursor:pointer;text-align:left;color:#374151;letter-spacing:.02em;text-transform:uppercase;background:#f4f7f6;border:none;align-items:center;gap:6px;width:100%;padding:6px 12px;font-size:.78rem;font-weight:700;display:flex}.lib-group__header:hover{background:#eaf1ef}.lib-group__arrow{color:#9ca3af;flex-shrink:0;width:12px;font-size:.7rem}.lib-group__name{flex:1}.lib-group__count{color:#fff;text-align:center;background:#9ca3af;border-radius:8px;min-width:18px;padding:0 6px;font-size:.7rem;font-weight:600}.lib-detail{padding:16px 20px;overflow-y:auto}.lib-detail__empty{color:#9ca3af;text-align:center;padding:32px 0;font-size:.88rem}.lib-detail__header{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.lib-detail__title{color:#12343b;font-size:1rem;font-weight:700}.lib-detail__desc{color:#6b7280;margin-top:4px;font-size:.82rem}.lib-detail__meta{flex-shrink:0;gap:8px;display:flex}.lib-detail__unit,.lib-detail__vat{color:#6b7280;background:#f3f4f6;border-radius:8px;padding:3px 10px;font-size:.78rem;font-weight:600}.lib-articles-table{border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;font-size:.84rem;overflow:hidden}.lib-articles-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:7px 10px;font-size:.7rem;font-weight:700}.lib-th--right,.lib-td--right{text-align:right}.lib-articles-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:9px 10px}.lib-articles-table tr:last-child td{border-bottom:none}.lib-articles-table tr:hover td{background:#f8fafc}.lib-td--num{font-variant-numeric:tabular-nums;color:#111827;font-weight:600}.lib-td--unit{color:#9ca3af;font-size:.8rem}.lib-kind-badge{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.lib-article-label{flex-direction:column;gap:2px;display:flex}.lib-article-label span{font-weight:500}.lib-article-material{color:#9ca3af;font-size:.76rem;font-weight:400}.lib-cats-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:900;background:#0f172a73;justify-content:center;align-items:center;padding:32px 24px;display:flex;position:fixed;inset:0}.lib-cats-modal{background:var(--surface);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:860px;height:min(82vh,680px);display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a33}.lib-cats-modal__header{border-bottom:1.5px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 18px;display:flex}.lib-cats-modal__title-block{color:var(--accent);align-items:center;gap:14px;display:flex}.lib-cats-modal__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 2px;font-size:10px;font-weight:700}.lib-cats-modal__title{color:var(--ink);font-size:17px;font-weight:700;font-family:var(--font-heading);margin:0}.lib-cats-modal__close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:background .12s,color .12s;display:flex}.lib-cats-modal__close:hover{background:var(--bg);color:var(--ink)}.lib-cats-modal__body{flex:1;min-height:0;display:flex;overflow:hidden}.lib-cats-modal__body .lib-mycat{flex:1}.lib-mycat{flex:1;min-height:0;display:flex;overflow:hidden}.lib-mycat__tree{border-right:1px solid var(--line);flex-direction:column;width:320px;min-width:260px;display:flex;overflow:hidden}.lib-mycat__tree-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.lib-mycat__tree-title{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-size:.75rem;font-weight:700}.lib-mycat__import-btn{color:var(--brand);border:1px solid color-mix(in srgb, var(--brand) 30%, transparent);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:.78rem;font-weight:600}.lib-mycat__import-btn:hover{background:color-mix(in srgb, var(--brand) 6%, transparent)}.lib-mycat__error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin:8px 12px;padding:8px 12px;font-size:.82rem}.lib-mycat__empty{text-align:center;color:#9ca3af;padding:24px 16px;font-size:.84rem;line-height:1.6}.lib-mycat__tree-items{flex:1;padding:6px 0;overflow-y:auto}.lib-mycat__add-root{border-top:1px solid var(--line);flex-shrink:0;gap:6px;padding:10px;display:flex}.lib-mycat__add-input{font-size:.84rem}.lib-mycat__add-btn{padding:6px 14px;font-size:1rem;line-height:1}.lib-mycat__node-row{border-radius:6px;align-items:center;gap:4px;margin:1px 6px;padding:5px 8px;transition:background .12s;display:flex}.lib-mycat__node-row:hover{background:#f3f4f6}.lib-mycat__node-row--active{background:color-mix(in srgb, var(--brand) 8%, transparent)}.lib-mycat__node-label{text-align:left;color:#374151;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:0;font-size:.84rem;display:flex}.lib-mycat__node-input{border:1px solid var(--brand);background:#fff;border-radius:4px;outline:none;flex:1;padding:2px 6px;font-size:.84rem}.lib-mycat__node-actions{opacity:0;gap:2px;transition:opacity .12s;display:flex}.lib-mycat__node-row:hover .lib-mycat__node-actions{opacity:1}.lib-mycat__node-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:.82rem;line-height:1}.lib-mycat__node-btn:hover{background:#e5e7eb}.lib-mycat__node-btn--danger{color:#ef4444}.lib-mycat__node-btn--danger:hover{background:#fee2e2}.lib-mycat__wp-count{color:#9ca3af;font-size:.78rem}.lib-mycat__detail{flex:1;padding:20px 28px;overflow-y:auto}.lib-mycat__detail-inner{flex-direction:column;gap:24px;max-width:560px;display:flex}.lib-mycat__detail-head{border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding-bottom:14px;display:flex}.lib-mycat__detail-head h3{color:#111827;font-size:1.05rem;font-weight:700}.lib-mycat__sub-section{flex-direction:column;gap:10px;display:flex}.lib-mycat__sub-add{gap:8px;display:flex}.lib-mycat__children{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;padding:6px;display:flex}.lib-mycat__modal-overlay{z-index:200;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lib-mycat__modal{background:#fff;border-radius:12px;flex-direction:column;width:440px;max-width:95vw;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e}.lib-mycat__modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.lib-mycat__modal-header h3{font-size:1rem;font-weight:700}.lib-mycat__modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1rem}.lib-mycat__modal-close:hover{background:#f3f4f6}.lib-mycat__modal-hint{color:#6b7280;padding:12px 20px 0;font-size:.84rem;line-height:1.5}.lib-mycat__modal-list{flex-direction:column;flex:1;gap:4px;padding:10px 12px 16px;display:flex;overflow-y:auto}.lib-mycat__modal-item{cursor:pointer;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .12s,border-color .12s;display:flex}.lib-mycat__modal-item:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 6%, white);border-color:color-mix(in srgb, var(--brand) 30%, white)}.lib-mycat__modal-item:disabled{opacity:.6;cursor:default}.lib-mycat__modal-item-name{color:#111827;font-size:.88rem;font-weight:600}.lib-mycat__modal-item-count{color:#9ca3af;font-size:.78rem}.lib-fournitures{flex:1;min-height:0;display:flex;overflow:hidden}.lib-four-list{border-right:1px solid var(--line);flex-direction:column;width:320px;min-width:260px;display:flex;overflow:hidden}.lib-four-search{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.lib-fournitures__count{color:#9ca3af;font-size:.75rem}.lib-four-items{flex-direction:column;flex:1;display:flex;overflow-y:auto}.lib-four-item{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--line);background:0 0;flex-direction:column;gap:3px;padding:10px 16px;transition:background .12s;display:flex}.lib-four-item:hover{background:#f9fafb}.lib-four-item--active{background:#f0fdf4}.lib-four-item__label{color:var(--ink);font-size:.85rem;font-weight:500;line-height:1.35}.lib-four-item__meta{align-items:center;gap:8px;display:flex}.lib-four-item__unit{color:#fff;background:#9ca3af;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600}.lib-four-item__cat{color:#6b7280;font-size:.72rem}.lib-four-mats{border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.lib-four-mats__header{padding:16px 16px 0}.lib-four-mats__subtitle{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-top:10px;margin-bottom:4px;font-size:.72rem;font-weight:700}.lib-four-mat-items{flex:1;padding:4px 0 12px;overflow-y:auto}.lib-four-mat-item{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f3f4f6;align-items:flex-start;gap:10px;width:100%;padding:10px 16px;transition:background .12s;display:flex;position:relative}.lib-four-mat-item:hover{background:#f9fafb}.lib-four-mat-item--active{background:#f0fdf4!important}.lib-four-mat-item--has-data:after{content:"";background:#16a34a;border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.lib-four-mat-item__img{object-fit:contain;border:1px solid #e5e7eb;border-radius:4px;flex-shrink:0;width:36px;height:36px}.lib-four-mat-item__body{flex:1;min-width:0}.lib-four-mat-item__label{color:var(--ink);font-size:.82rem;font-weight:500;line-height:1.3;display:block}.lib-four-mat-item__brand{color:#6b7280;margin-top:1px;font-size:.72rem;display:block}.lib-four-mat-item__meta{color:#9ca3af;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:.7rem;display:flex}.lib-four-mat-item__price{color:#6b7280}.lib-four-mat-item__myprice{color:#16a34a;font-weight:600}.lib-four-mat-item__default{color:#854d0e;background:#fef9c3;border-radius:4px;flex-shrink:0;align-self:flex-start;padding:2px 6px;font-size:.65rem;font-weight:600}.lib-four-detail{flex:1;padding:20px 24px;overflow-y:auto}.lib-four-detail__header{margin-bottom:12px}.lib-four-detail__badges{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.lib-four-detail__mat-title{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin:16px 0 8px;font-size:.75rem;font-weight:700}.lib-mat-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;gap:16px;margin-bottom:20px;padding:16px;display:flex}.lib-mat-card__img{object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;width:80px;height:80px}.lib-mat-card__info{flex:1;min-width:0}.lib-mat-card__label{color:var(--ink);margin-bottom:2px;font-size:.9rem;font-weight:600;line-height:1.3}.lib-mat-card__brand{color:#6b7280;margin-bottom:6px;font-size:.78rem}.lib-mat-card__refs{color:#9ca3af;flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:.72rem;display:flex}.lib-mat-card__public-price{color:var(--ink);margin-bottom:8px;font-size:.82rem}.lib-mat-card__sheet{color:#2563eb;font-size:.78rem;text-decoration:none}.lib-mat-card__sheet:hover{text-decoration:underline}.lib-mes-donnees{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px}.lib-mes-donnees__title{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-bottom:14px;font-size:.75rem;font-weight:700}.lib-mes-donnees__pv-bar{background:#f0fdf4;border-radius:8px;margin:4px 0 12px;padding:10px 12px}.lib-mes-donnees__pv-label{color:var(--ink);margin-bottom:8px;font-size:.82rem}.lib-mes-donnees__bar{border-radius:4px;gap:1px;height:8px;display:flex;overflow:hidden}.lib-mes-donnees__bar-cost{background:#3b82f6;border-radius:4px 0 0 4px;min-width:4px}.lib-mes-donnees__bar-margin{background:#16a34a;border-radius:0 4px 4px 0;min-width:4px}.lib-mes-donnees__actions{align-items:center;gap:8px;margin-top:14px;display:flex}.lib-mes-donnees__saved{color:#16a34a;font-size:.82rem;font-weight:600}.qov-page{flex-direction:column;gap:16px;max-width:960px;margin:0 auto;padding:24px 20px 60px;display:flex}.qov-nav{align-items:center;gap:10px;display:flex}.qov-identity{background:#f9fafb;border-left:4px solid #12343b;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.qov-quote-number{color:#12343b;letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.qov-quote-notes{color:#6b7280;margin-top:2px;font-size:.88rem}.qov-identity__meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.qov-status-badge{letter-spacing:.02em;border-radius:20px;padding:4px 14px;font-size:.82rem;font-weight:700}.qov-date{color:#6b7280;font-size:.82rem}.qov-grid{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}@media (width<=768px){.qov-grid{grid-template-columns:1fr}}.qov-card{background:#fff;border:1px solid #e5e9ec;border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px #12343b0d}.qov-card__title{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-bottom:14px;font-size:.76rem;font-weight:700}.qov-card__body{flex-direction:column;gap:4px;display:flex}.qov-info-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;display:flex}.qov-info-row:last-child{border-bottom:none}.qov-info-row--ttc{border-top:2px solid #12343b;border-bottom:none;margin-top:6px;padding-top:8px}.qov-info-label{color:#6b7280;white-space:nowrap;font-size:.82rem}.qov-info-value{color:#12343b;text-align:right;font-size:.9rem;font-weight:600}.qov-address{color:#374151;font-size:.82rem;font-weight:400}.qov-ttc{color:#0f766e;font-size:1.05rem}.qov-profit-body{align-items:center;gap:16px;flex-direction:row!important}.qov-donut-wrap{flex:none}.qov-profit-rows{flex-direction:column;flex:1;gap:8px;display:flex}.qov-profit-row{align-items:center;gap:8px;display:flex}.qov-profit-row--total{border-top:1px solid #e5e9ec;margin-top:2px;padding-top:8px}.qov-profit-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.qov-profit-label{color:#6b7280;flex:1;font-size:.82rem}.qov-profit-val{color:#12343b;white-space:nowrap;font-size:.9rem;font-weight:700}.qov-profit-val--green{color:#0f766e}.qov-profit-pct{color:#9ca3af;font-size:.78rem;font-weight:400}.qv-split{grid-template-columns:310px 1fr;height:100vh;margin:-24px -24px -28px;display:grid;overflow:hidden}.qv-split__panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.qv-split__panel-top{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:6px;padding:14px 16px 12px;display:flex}.qv-split__panel-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0;font-size:.7rem;font-weight:700}.qv-split__panel-title{color:var(--ink);margin:0;font-size:1rem;font-weight:700}.qv-split__sections{flex-direction:column;flex:1;gap:22px;padding:16px;display:flex;overflow-y:auto}.qv-split__section{flex-direction:column;gap:10px;display:flex}.qv-split__section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:700}.qv-split__panel-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.qv-split__notice{color:#16a34a;flex:1;font-size:.8rem}.qv-split__notice--err{color:#dc2626}.qv-swatches{flex-wrap:wrap;gap:6px;display:flex}.qv-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:26px;height:26px;transition:transform .1s}.qv-swatch:hover{transform:scale(1.15)}.qv-swatch--active{border-color:var(--ink);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ink)}.qv-custom-color{cursor:pointer;color:var(--ink-soft);align-items:center;gap:8px;margin-top:2px;font-size:.78rem;display:flex}.qv-custom-color input[type=color]{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;width:26px;height:26px;padding:0}.qv-custom-color code{color:var(--accent);font-family:monospace;font-size:.75rem}.qv-table-styles{gap:8px;display:flex}.qv-table-style{border:2px solid var(--border);background:var(--surface-raised);cursor:pointer;color:var(--ink-soft);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:8px 6px;font-size:.72rem;transition:border-color .15s,background .15s;display:flex}.qv-table-style svg{width:60px;height:42px}.qv-table-style:hover{border-color:var(--accent)}.qv-table-style--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--accent);font-weight:700}.qv-split__control{border:1px solid var(--border);background:var(--surface-raised);width:100%;color:var(--ink);box-sizing:border-box;border-radius:8px;padding:8px 10px;font-size:.88rem}.qv-split__control:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.qv-split__control--sm{width:80px}.qv-split__row{align-items:center;gap:8px;display:flex}.qv-split__unit{color:var(--ink-soft);font-size:.85rem}.qv-split__field{color:var(--ink-soft);flex-direction:column;gap:5px;font-size:.8rem;font-weight:500;display:flex}.qv-split__field+.qv-split__field{margin-top:8px}.qv-toggles{flex-direction:column;display:flex}.qv-toggle{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.qv-toggle:last-child{border-bottom:none}.qv-toggle__copy{flex-direction:column;gap:1px;display:flex}.qv-toggle__copy strong{color:var(--ink);font-size:.85rem;font-weight:600}.qv-toggle__copy span{color:var(--ink-soft);font-size:.73rem}.qv-toggle__track{background:#d1d5db;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.qv-toggle__track--on{background:var(--accent)}.qv-toggle__thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.qv-toggle__track--on .qv-toggle__thumb{transform:translate(16px)}.qv-split__loading{color:var(--ink-soft);padding:20px 16px;font-size:.88rem}.qv-split__preview{background:#e5e7eb;flex-direction:column;display:flex;overflow:hidden}.qv-split__preview-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.qv-split__preview-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.7rem;font-weight:700}.qv-split__preview-viewport{flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.qv-pdf-embed{border:none;width:100%;height:100%;display:block}.qv-pdf-status{color:var(--ink-soft);flex-direction:column;align-items:center;gap:16px;padding:40px;display:flex}.qv-pdf-status--error{color:#dc2626}.qv-pdf-spinner{border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.75s linear infinite qv-spin}@keyframes qv-spin{to{transform:rotate(360deg)}}.qlist-tabs{border-bottom:2px solid #e5e7eb;gap:4px;margin-bottom:12px;padding-bottom:0;display:flex}.qlist-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:8px 14px;font-size:.88rem;font-weight:600;transition:color .16s,border-color .16s;display:inline-flex}.qlist-tab:hover{color:#12343b}.qlist-tab--active{color:#12343b;border-bottom-color:#12343b}.qlist-tab__count{color:#374151;background:#e5e7eb;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.qlist-tab--active .qlist-tab__count{color:#fff;background:#12343b}.qlist-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.qt-mat-btn{color:#6b7280;cursor:pointer;vertical-align:middle;background:#f9fafb;border:1px solid #d0d5dd;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;font-size:.76rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.qt-mat-btn:hover{color:#374151;background:#e5e7eb;border-color:#9ca3af}.qt-mat-btn--set{color:#166534;background:#f0fdf4;border-color:#86efac}.qt-mat-btn--set:hover{background:#dcfce7;border-color:#4ade80}.qt-mat-btn__label{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.qt-mat-btn__label--empty{color:#9ca3af;font-style:italic}.modal--lg{max-width:820px}.modal__subtitle{color:#6b7280;margin:2px 0 0;font-size:.82rem}.mat-picker__body{max-height:60vh;padding:16px;overflow-y:auto}.mat-picker__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.mat-picker__card{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;transition:border-color .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.mat-picker__card:hover{border-color:#9ca3af;box-shadow:0 4px 12px #00000014}.mat-picker__card--active{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e26}.mat-picker__img-wrap{background:#f9fafb;justify-content:center;align-items:center;height:100px;display:flex;overflow:hidden}.mat-picker__img-wrap--empty{color:#d1d5db;font-size:2.2rem}.mat-picker__img{object-fit:contain;width:100%;height:100%;padding:8px}.mat-picker__info{flex-direction:column;flex:1;gap:3px;padding:10px 12px;display:flex}.mat-picker__manuf{text-transform:uppercase;letter-spacing:.04em;color:#0f766e;font-size:.72rem;font-weight:700}.mat-picker__label{color:#1f2937;font-size:.85rem;font-weight:600;line-height:1.3}.mat-picker__meta{color:#9ca3af;font-size:.75rem}.mat-picker__price{color:#374151;margin-top:4px;font-size:.78rem}.mat-picker__check{color:#fff;background:#0f766e;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:8px;right:10px}.mat-picker__footer{background:#f9fafb;border-top:1px solid #e5e7eb;align-items:center;gap:10px;padding:12px 16px;display:flex}.settings-hub{gap:28px;display:grid}.settings-hub__hero{background:linear-gradient(#fff 0%,#f4f8fc 100%);border:1px solid #d2dde8;border-radius:28px;gap:18px;padding:30px 32px;display:grid;box-shadow:0 1px 2px #1018280d,0 22px 54px #0f172a0f}.settings-hub__hero h1{letter-spacing:-.04em;color:#10243d;margin:0;font-size:clamp(1.75rem,2.5vw,2.6rem);line-height:1.02}.settings-hub__hero .section-lead{color:#526277;max-width:980px;font-size:1rem}.settings-hub__summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.settings-hub__summary-card{background:linear-gradient(#fff 0%,#f9fbfe 100%);border:1px solid #d6e0ea;border-radius:20px;gap:8px;padding:20px 22px;display:grid;box-shadow:0 1px 2px #1018280a,inset 0 1px #ffffffb3}.settings-hub__summary-card span{text-transform:uppercase;letter-spacing:.08em;color:#6b7a90;font-size:.75rem;font-weight:700}.settings-hub__summary-card strong{color:#10243d;font-size:1.45rem;line-height:1.1}.settings-hub__notice{border:1px solid var(--border);border-radius:16px;margin:0;padding:14px 18px}.settings-hub__notice--error{color:#b91c1c;background:#fef2f2e6;border-color:#dc26262e}.settings-hub__notice--success{color:#0f766e;background:#f0fdfaf2;border-color:#0d94882e}.settings-hub__shell{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}.settings-hub__sidebar,.settings-hub__workspace{background:#fff;border:1px solid #d7e1eb;border-radius:26px;padding:28px;box-shadow:0 1px 2px #1018280d,0 20px 48px #0f172a0f}.settings-hub__sidebar{background:linear-gradient(#fff 0%,#f9fbfd 100%)}.settings-hub__sidebar h2{color:#10243d;margin:0 0 16px;font-size:1rem}.settings-hub__tabs{gap:10px;display:grid}.settings-hub__tab{text-align:left;cursor:pointer;background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #dce5ee;border-radius:20px;gap:7px;padding:18px;transition:border-color .14s,background .14s,transform .14s,box-shadow .14s;display:grid}.settings-hub__tab strong{color:#10243d;font-size:1rem}.settings-hub__tab span{color:#66758a;font-size:.84rem;line-height:1.45}.settings-hub__tab:hover{background:linear-gradient(#fff 0%,#f7fcfb 100%);border-color:#0f766e4d;transform:translateY(-1px);box-shadow:0 14px 30px #0f172a14}.settings-hub__tab.active{background:linear-gradient(#eefbf7 0%,#ddf3ec 100%);border-color:#0f766e6b #0f766e6b #0f766e6b #0f766e;border-left-style:solid;border-left-width:4px;padding-left:15px;box-shadow:inset 0 0 0 1px #0f766e14,0 8px 18px #0f766e14}.settings-hub__workspace{background:linear-gradient(#fff 0%,#fcfdff 100%);gap:22px;display:grid}.settings-hub__workspace-header{border-bottom:1px solid #dde6ef;padding-bottom:22px}.settings-hub__workspace-kicker{text-transform:uppercase;letter-spacing:.08em;color:#0f766e;margin:0 0 8px;font-size:.8rem;font-weight:700}.settings-hub__workspace-header h2{color:#10243d;margin:0;font-size:1.68rem;line-height:1.08}.settings-hub__workspace-header p{color:#5d6d83;max-width:720px;margin:10px 0 0;line-height:1.55}.settings-hub__sections{gap:20px;display:grid}.settings-hub__section-card{background:linear-gradient(#fff 0%,#f8fbfd 100%);border:1px solid #dbe4ee;border-radius:24px;gap:18px;padding:24px;display:grid;box-shadow:0 1px 2px #1018280a,inset 0 1px #ffffffbf}.settings-hub__section-head h3{color:#10243d;margin:0;font-size:1.12rem}.settings-hub__section-head p{color:#55657a;margin:8px 0 0;line-height:1.5}.settings-hub__section-body{gap:18px;display:grid}.settings-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-hub__grid--single{grid-template-columns:1fr}.settings-hub__field{gap:8px;display:grid}.settings-hub__field-label{color:#17324f;font-size:.9rem;font-weight:700}.settings-hub__field input,.settings-hub__field select,.settings-hub__field textarea{color:#10243d;width:100%;min-height:54px;font:inherit;background:#f9fbfd;border:1px solid #bfcedd;border-radius:16px;padding:0 16px;transition:border-color .14s,box-shadow .14s,background .14s;box-shadow:inset 0 1px #ffffffe6}.settings-hub__field input::placeholder,.settings-hub__field textarea::placeholder{color:#97a3b6}.settings-hub__field textarea{resize:vertical;min-height:130px;padding:14px 16px}.settings-hub__field input:hover,.settings-hub__field select:hover,.settings-hub__field textarea:hover{background:#fff;border-color:#9fb2c8}.settings-hub__field input:focus,.settings-hub__field select:focus,.settings-hub__field textarea:focus{background:#fff;border-color:#0f766e99;outline:none;box-shadow:0 0 0 4px #0f766e1a}.settings-hub__field input[type=checkbox]{accent-color:#0f766e;border-radius:6px;width:20px;min-height:20px;padding:0}.settings-hub__field-hint{color:#5c6f86;font-size:.8rem}.settings-hub__toggles{gap:12px;display:grid}.settings-hub__toggle{cursor:pointer;background:linear-gradient(#fff 0%,#f6fafc 100%);border:1px solid #d1dbe6;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.settings-hub__toggle-copy{gap:4px;display:grid}.settings-hub__toggle-copy strong{color:#10243d;font-size:.95rem}.settings-hub__toggle-copy span{color:#64748b;font-size:.84rem;line-height:1.45}.settings-hub__color-field{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;display:grid}.settings-hub__color-swatch{background:var(--swatch,#1a56db);cursor:pointer;border:1px solid #cfd8e3;border-radius:16px;width:88px;height:52px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d}.settings-hub__color-swatch input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.settings-hub__color-code{letter-spacing:.02em;font-family:Consolas,Menlo,monospace}.settings-hub__logo-field{flex-direction:column;gap:8px;display:flex}.settings-hub__logo-preview{background:linear-gradient(#fff 0%,#f7fafc 100%);border:1px solid #d7e2ec;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.settings-hub__logo-preview img{object-fit:contain;border-radius:4px;max-width:160px;max-height:56px}.settings-hub__logo-remove{color:#ef4444;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #fca5a5;border-radius:6px;padding:4px 10px;font-size:.8rem}.settings-hub__logo-remove:hover{background:#fee2e2}.settings-hub__logo-upload-btn{color:var(--brand);border:1.5px dashed var(--brand);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:8px 16px;font-size:.85rem;font-weight:500;transition:background .15s}.settings-hub__logo-upload-btn:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 6%, transparent)}.settings-hub__logo-upload-btn:disabled{opacity:.5;cursor:default}.settings-hub__field-hint--error{color:#ef4444}.settings-hub__footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink-soft);background:linear-gradient(#ffffffeb 0%,#fff 36%);border-top:1px solid #d9e2eb;justify-content:space-between;align-items:center;gap:16px;margin:4px -6px 0;padding:18px 22px 4px;font-size:.88rem;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 28px #0f172a0f}.settings-hub__footer-copy{gap:4px;display:grid}.settings-hub__footer-copy strong{color:#10243d;font-size:.93rem}.settings-hub__footer-copy span{color:#64748b;line-height:1.45}.settings-hub__save-button{justify-content:center;min-width:240px;box-shadow:0 12px 28px #0f766e2e}.settings-roles__list{gap:16px;display:grid}.settings-roles__card{background:#fff;border:1px solid #d7e2ec;border-radius:18px;gap:16px;padding:18px;display:grid}.settings-roles__identity{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-roles__identity strong{color:#10243d;font-size:1rem}.settings-roles__identity span{color:#66758a;font-size:.88rem}.settings-roles__badge{color:#47627a;text-transform:uppercase;letter-spacing:.04em;background:#f4f8fb;border:1px solid #d7e2ec;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:700}.settings-roles__grid{grid-template-columns:minmax(220px,.4fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.settings-roles__permissions{background:#f8fbfd;border:1px solid #d7e2ec;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;display:grid}.settings-roles__perm{color:#344054;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.settings-roles__perm input{accent-color:#0f766e;width:18px;height:18px}@media (width<=900px){.settings-roles__grid{grid-template-columns:1fr}.settings-roles__permissions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.settings-hub__summary,.settings-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-hub__shell{grid-template-columns:1fr}}@media (width<=720px){.settings-hub__hero,.settings-hub__sidebar,.settings-hub__workspace{border-radius:22px;padding:20px}.settings-hub__summary,.settings-hub__grid,.settings-hub__color-field{grid-template-columns:1fr}.settings-hub__footer{flex-direction:column;align-items:stretch}}.imp-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.imp-modal{background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:520px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0f172a2e}.imp-modal__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.imp-modal__kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-size:11px;font-weight:700}.imp-modal__title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:15px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.imp-modal__close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:16px;line-height:1}.imp-modal__close:hover{background:var(--bg);color:var(--ink)}.imp-modal__path{background:var(--bg);border-bottom:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px;padding:10px 24px;font-size:12px;display:flex}.imp-modal__path-label{color:var(--ink-soft);font-weight:600}.imp-modal__path-crumb{color:var(--ink);align-items:center;gap:4px;display:flex}.imp-modal__path-sep{color:var(--ink-soft);opacity:.6}.imp-modal__choices{flex-direction:column;gap:10px;padding:20px 24px;display:flex;overflow-y:auto}.imp-choice{border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:16px 18px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.imp-choice:hover:not(:disabled){border-color:var(--accent);background:#fff8f5;box-shadow:0 2px 8px #eb5e2814}.imp-choice:disabled{opacity:.45;cursor:not-allowed}.imp-choice__icon{background:var(--bg);width:44px;height:44px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.imp-choice__body{flex-direction:column;flex:1;gap:3px;display:flex}.imp-choice__body strong{color:var(--ink);font-size:14px;font-weight:700}.imp-choice__body span{color:var(--ink-soft);font-size:12px;line-height:1.4}.imp-choice__arrow{color:var(--ink-soft);flex-shrink:0;font-size:18px}.imp-modal__confirm{flex-direction:column;flex:1;gap:14px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.imp-confirm__info>p{color:var(--ink);margin:0 0 12px;font-size:13px}.imp-confirm__chain{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:12px 16px;display:flex}.imp-confirm__chain-item{color:var(--ink);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.imp-confirm__chain-arrow{color:var(--ink-soft)}.imp-confirm__note{color:var(--ink-soft);margin:10px 0 0;font-size:12px;font-style:italic}.imp-modal__link-hint{color:var(--ink);margin:0;font-size:13px}.imp-link-tree{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex:1;min-height:120px;max-height:280px;overflow-y:auto}.imp-cat-row{cursor:pointer;align-items:center;gap:4px;padding:6px 10px;transition:background .1s;display:flex}.imp-cat-row:hover{background:var(--line)}.imp-cat-row--active{background:#eb5e2814}.imp-cat-label{cursor:pointer;color:var(--ink);text-align:left;background:0 0;border:none;flex:1;padding:0;font-size:13px}.imp-cat-row--active .imp-cat-label{color:var(--accent);font-weight:600}.imp-cat-check{color:var(--accent);font-size:12px;font-weight:700}.imp-modal__error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:8px 12px;font-size:13px}.imp-modal__footer{flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}
