:root {
    --fs-ink: #172033;
    --fs-muted: #687087;
    --fs-paper: #f5f1e8;
    --fs-card: rgba(255, 255, 255, 0.9);
    --fs-line: rgba(23, 32, 51, 0.11);
    --fs-orange: #e96624;
    --fs-clay: #b94f28;
    --fs-teal: #16796f;
}

.fullspectrum-body {
    min-height: 100vh;
    margin: 0;
    color: var(--fs-ink);
    font-family: "Inter", sans-serif;
    background:
        radial-gradient(circle at 4% 10%, rgba(233, 102, 36, 0.17), transparent 24rem),
        radial-gradient(circle at 94% 15%, rgba(22, 121, 111, 0.16), transparent 30rem),
        linear-gradient(135deg, #f1eadc 0%, #faf9f5 52%, #e9f1ef 100%);
}

.fullspectrum-body * { box-sizing: border-box; }
.fs-shell { width: min(1480px, calc(100% - 32px)); margin: 0 auto; padding: 118px 0 80px; }
.fs-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.55fr); gap: 28px; align-items: end; padding: 48px; border: 1px solid rgba(255,255,255,.75); border-radius: 38px; background: rgba(255,255,255,.68); box-shadow: 0 30px 90px rgba(23,32,51,.1); backdrop-filter: blur(20px); }
.fs-kicker { display: block; margin-bottom: 10px; color: var(--fs-clay); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.fs-hero h1, .fs-panel h2, .fs-preview-card h2, .fs-section-title h2, .fs-success h2, .fs-color-lab h2 { font-family: "Playfair Display", Georgia, serif; }
.fs-hero h1 { max-width: 850px; margin: 0; font-size: clamp(2.8rem, 6vw, 6.2rem); line-height: .94; letter-spacing: -.055em; }
.fs-hero h1 em { color: var(--fs-orange); font-style: normal; }
.fs-hero > div > p { max-width: 760px; margin: 24px 0 0; color: var(--fs-muted); font-size: 1.08rem; line-height: 1.75; }
.fs-hero-note { padding: 24px; border-radius: 26px; color: #fef8ee; background: linear-gradient(150deg, #162035, #253856); box-shadow: 0 20px 46px rgba(23,32,51,.2); }
.fs-hero-note span { color: #f5c47f; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.fs-hero-note strong { display: block; margin: 12px 0 8px; font-size: 1.15rem; }
.fs-hero-note p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.55; }

.fs-color-lab { margin-top: 24px; padding: 34px; border: 1px solid rgba(255,255,255,.82); border-radius: 34px; background: rgba(255,255,255,.74); box-shadow: 0 26px 70px rgba(23,32,51,.09); backdrop-filter: blur(20px); }
.fs-color-lab .is-hidden { display: none; }
.fs-color-lab-head { display: flex; justify-content: space-between; gap: 26px; align-items: end; margin-bottom: 24px; }
.fs-color-lab-head h2 { max-width: 840px; margin: 0; font-size: clamp(1.8rem,3vw,3rem); letter-spacing: -.035em; }
.fs-color-lab-head p { max-width: 820px; margin: 10px 0 0; color: var(--fs-muted); line-height: 1.65; }
.fs-stock-counter { display: flex; gap: 12px; align-items: center; min-width: 210px; padding: 14px 18px; border: 1px solid rgba(22,121,111,.18); border-radius: 20px; color: var(--fs-teal); background: #edf8f5; }
.fs-stock-counter strong { font-family: "Playfair Display", Georgia, serif; font-size: 2rem; }
.fs-stock-counter span { color: #405f5a; font-size: .76rem; font-weight: 700; line-height: 1.4; }
.fs-procurement-feedback { margin-bottom: 18px; padding: 14px 17px; border-radius: 16px; font-size: .84rem; font-weight: 750; }
.fs-procurement-feedback.is-success { color: #0e625a; background: #e7f7f2; }
.fs-procurement-feedback.is-error { color: #922b21; background: #fff0ed; }
.fs-color-lab-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: 18px; }
.fs-image-picker-card, .fs-match-card { min-width: 0; padding: 24px; border: 1px solid var(--fs-line); border-radius: 26px; background: rgba(249,250,251,.82); }
.fs-tool-title { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: center; margin-bottom: 18px; }
.fs-tool-title > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; color: #fff; background: var(--fs-ink); font-size: .72rem; font-weight: 800; }
.fs-tool-title strong, .fs-tool-title small { display: block; }
.fs-tool-title strong { font-size: 1rem; }
.fs-tool-title small { margin-top: 3px; color: var(--fs-muted); font-size: .75rem; line-height: 1.4; }
.fs-image-dropzone { display: flex; gap: 10px; align-items: center; padding: 13px 15px; border: 1px dashed rgba(23,32,51,.24); border-radius: 18px; color: var(--fs-ink); background: #fff; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.fs-image-dropzone:hover, .fs-image-dropzone.is-dragging { border-color: var(--fs-orange); background: #fff8ef; transform: translateY(-1px); }
.fs-image-dropzone strong { font-size: .84rem; }
.fs-image-dropzone small { margin-left: auto; color: var(--fs-muted); font-size: .74rem; }
.fs-upload-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 11px; color: #fff; background: var(--fs-orange); font-size: 1.25rem; }
.fs-image-stage { position: relative; display: grid; place-items: center; min-height: 330px; max-height: 560px; margin-top: 12px; overflow: hidden; border-radius: 22px; background: linear-gradient(145deg,#152033,#243956); cursor: crosshair; }
.fs-image-stage canvas { display: block; width: auto; max-width: 100%; height: auto; max-height: 560px; }
.fs-image-stage.is-empty canvas { display: none; }
.fs-image-empty { display: grid; gap: 7px; max-width: 330px; padding: 34px; color: rgba(255,255,255,.72); text-align: center; line-height: 1.5; }
.fs-image-empty strong { color: #fff; }
.fs-image-stage:not(.is-empty) .fs-image-empty { display: none; }
.fs-picker-marker { position: absolute; display: none; width: 26px; height: 26px; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px #172033,0 8px 20px rgba(0,0,0,.35); pointer-events: none; transform: translate(-50%,-50%); }
.fs-picker-marker.is-visible { display: block; }
.fs-picker-actions { display: grid; grid-template-columns: auto minmax(150px,.8fr) minmax(180px,1fr) auto; gap: 10px; align-items: end; margin-top: 12px; }
.fs-target-color-field { display: grid; gap: 6px; color: var(--fs-ink); font-size: .74rem; font-weight: 750; }
.fs-target-color-field > span { display: grid; grid-template-columns: 52px 1fr; overflow: hidden; min-height: 48px; border: 1px solid var(--fs-line); border-radius: 15px; background: #fff; }
.fs-target-color-field input { width: 52px; height: 48px; padding: 5px; border: 0; background: transparent; cursor: pointer; }
.fs-target-color-field code { display: flex; align-items: center; padding: 0 12px; color: var(--fs-ink); font-family: "Inter",sans-serif; font-size: .8rem; font-weight: 800; }
.fs-material-field { display: grid; gap: 6px; color: var(--fs-ink); font-size: .74rem; font-weight: 750; }
.fs-material-field select { min-height: 48px; padding: 0 38px 0 13px; border: 1px solid var(--fs-line); border-radius: 15px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .82rem; font-weight: 750; }
.fs-picker-help { min-height: 20px; margin: 10px 0 0; color: var(--fs-muted); font-size: .74rem; }
.fs-picker-help.is-error { color: #a52d24; }

.fs-match-card { display: flex; flex-direction: column; }
.fs-match-idle { display: grid; place-items: center; flex: 1; min-height: 350px; padding: 30px; color: var(--fs-muted); text-align: center; }
.fs-match-idle strong { margin-top: 24px; color: var(--fs-ink); }
.fs-match-idle p { max-width: 440px; line-height: 1.6; }
.fs-match-orbit { position: relative; width: 110px; height: 110px; border: 1px solid rgba(23,32,51,.12); border-radius: 50%; animation: fs-orbit-spin 14s linear infinite; }
.fs-match-orbit span { position: absolute; width: 34px; height: 34px; border: 5px solid #fff; border-radius: 50%; box-shadow: 0 7px 16px rgba(23,32,51,.15); }
.fs-match-orbit span:nth-child(1) { top: -7px; left: 38px; background: var(--fs-orange); }
.fs-match-orbit span:nth-child(2) { right: 3px; bottom: 2px; background: var(--fs-teal); }
.fs-match-orbit span:nth-child(3) { bottom: 2px; left: 3px; background: #172033; }
@keyframes fs-orbit-spin { to { transform: rotate(360deg); } }
.fs-match-loading, .fs-match-error { margin-top: auto; margin-bottom: auto; padding: 24px; border-radius: 18px; text-align: center; }
.fs-match-loading { color: #6d4a17; background: #fff5df; }
.fs-match-error { color: #922b21; background: #fff0ed; }
.fs-match-result.is-hidden, .fs-match-loading.is-hidden, .fs-match-error.is-hidden, .fs-order-recommendation.is-hidden, .fs-result-option.is-hidden { display: none; }
.fs-result-option { display: grid; gap: 12px; padding: 17px; border: 1px solid var(--fs-line); border-radius: 22px; background: rgba(255,255,255,.82); }
.fs-result-option + .fs-result-option { margin-top: 14px; }
.fs-result-option-head { display: flex; gap: 11px; align-items: center; }
.fs-result-option-head > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 11px; color: #fff; background: var(--fs-ink); font-size: .7rem; font-weight: 850; }
.fs-result-option-head div { display: grid; gap: 2px; }
.fs-result-option-head strong { color: var(--fs-ink); font-size: .9rem; }
.fs-result-option-head small { color: var(--fs-muted); font-size: .69rem; line-height: 1.35; }
.fs-match-summary { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; padding: 18px; border-radius: 20px; background: #fff; }
.fs-match-summary > div { display: grid; grid-template-columns: 52px 1fr; gap: 2px 10px; align-items: center; min-width: 0; }
.fs-match-swatch { grid-row: 1/3; width: 52px; height: 52px; border: 5px solid #f1f2f4; border-radius: 16px; box-shadow: inset 0 0 0 1px rgba(23,32,51,.08); }
.fs-match-summary small { color: var(--fs-muted); font-size: .67rem; }
.fs-match-summary strong { overflow: hidden; text-overflow: ellipsis; font-size: .82rem; }
.fs-match-arrow { color: var(--fs-orange); font-size: 1.7rem; }
.fs-quality-line { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin: 14px 0; color: var(--fs-muted); font-size: .76rem; }
.fs-quality-badge { padding: 8px 11px; border-radius: 999px; color: #11665d; background: #dff5ef; font-weight: 800; }
.fs-quality-badge.is-warning { color: #8a4a12; background: #fff0d5; }
.fs-quality-badge.is-impossible { color: #922b21; background: #ffe5e0; }
.fs-recipe-list { display: grid; gap: 8px; }
.fs-recipe-item { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px 12px; border: 1px solid var(--fs-line); border-radius: 16px; background: rgba(255,255,255,.78); }
.fs-recipe-item > span { width: 38px; height: 38px; border: 4px solid #fff; border-radius: 12px; box-shadow: 0 3px 10px rgba(23,32,51,.12); }
.fs-recipe-item strong, .fs-recipe-item small { display: block; }
.fs-recipe-item small { margin-top: 2px; color: var(--fs-muted); font-size: .67rem; }
.fs-recipe-item b { color: var(--fs-clay); font-size: .9rem; }
.fs-recipe-note { margin: 12px 0; color: var(--fs-muted); font-size: .76rem; line-height: 1.55; }
.fs-order-recommendation { border-color: rgba(233,102,36,.2); background: #fff8ee; }
.fs-order-recommendation p { color: #6d5a45; font-size: .76rem; line-height: 1.55; }
.fs-order-color { display: flex; gap: 12px; align-items: center; }
.fs-order-color > span { width: 50px; height: 50px; flex: 0 0 auto; border: 5px solid #fff; border-radius: 15px; box-shadow: 0 5px 14px rgba(23,32,51,.12); }
.fs-order-color strong, .fs-order-color code { display: block; }
.fs-order-color code { margin-top: 3px; color: var(--fs-muted); }
.fs-order-recommendation form { margin: 0; }
.fs-stock-recommendation { border-color: rgba(22,121,111,.22); background: linear-gradient(145deg,#f7fffc,#edf8f4); }
.fs-stock-recommendation > p { margin: 0; color: #526b67; font-size: .76rem; line-height: 1.55; }
.fs-stock-match-summary { border: 1px solid rgba(22,121,111,.12); box-shadow: 0 10px 26px rgba(22,121,111,.06); }
.fs-stock-quality { margin: 0; padding: 0 2px; }
.fs-anycubic-match-summary { border: 1px solid rgba(233,102,36,.12); box-shadow: 0 10px 26px rgba(185,79,40,.06); }
.fs-anycubic-quality { margin: 0; padding: 0 2px; }
.fs-global-summary { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 12px; align-items: center; padding: 13px; border-radius: 17px; background: #f3f5f7; }
.fs-global-summary .fs-match-swatch { width: 58px; height: 58px; }
.fs-global-summary div { display: grid; gap: 2px; }
.fs-global-summary small, .fs-global-summary span { color: var(--fs-muted); font-size: .7rem; }
.fs-global-summary strong { color: var(--fs-ink); }

.fs-success { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 24px; padding: 28px 32px; border: 1px solid rgba(22,121,111,.22); border-radius: 28px; background: rgba(235,250,246,.9); box-shadow: 0 20px 50px rgba(22,121,111,.1); }
.fs-success h2 { margin: 0; font-size: 2rem; }
.fs-success p { margin: 6px 0 0; color: var(--fs-muted); }
.fs-success-actions, .fs-generation-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.fs-workbench { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(390px, .65fr); gap: 24px; margin-top: 24px; align-items: start; }
.fs-config-column { display: grid; gap: 18px; }
.fs-panel { padding: 28px; border: 1px solid rgba(255,255,255,.8); border-radius: 30px; background: var(--fs-card); box-shadow: 0 24px 64px rgba(23,32,51,.08); backdrop-filter: blur(18px); }
.fs-panel-head { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: start; margin-bottom: 24px; }
.fs-panel-head > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; color: #fff; background: var(--fs-ink); font-weight: 800; }
.fs-panel-head h2 { margin: 0; font-size: 1.55rem; letter-spacing: -.025em; }
.fs-panel-head p { margin: 5px 0 0; color: var(--fs-muted); line-height: 1.5; }
.fs-panel-head--split { grid-template-columns: 46px 1fr auto; }
.fs-count-field { min-width: 170px; }
.fs-fields { display: grid; gap: 14px; }
.fs-fields--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fs-fields--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fs-panel label, .fs-filament-card label { display: grid; gap: 8px; min-width: 0; color: var(--fs-ink); font-size: .86rem; font-weight: 750; }
.fs-panel label small { color: var(--fs-muted); font-weight: 500; }
.fs-panel input, .fs-panel select { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--fs-line); border-radius: 15px; color: var(--fs-ink); background: rgba(255,255,255,.88); font: inherit; outline: none; transition: border-color .2s, box-shadow .2s; }
.fs-panel input:focus, .fs-panel select:focus { border-color: rgba(233,102,36,.6); box-shadow: 0 0 0 4px rgba(233,102,36,.11); }
.errorlist { margin: 0; padding: 0; color: #b42318; font-size: .76rem; list-style: none; }
.fs-form-errors { padding: 18px 20px; border: 1px solid rgba(180,35,24,.2); border-radius: 20px; color: #8f1d14; background: #fff0ed; }
.fs-form-errors p { margin: 4px 0; }

.fs-presets { display: flex; gap: 8px; margin: -4px 0 18px; overflow-x: auto; padding-bottom: 4px; }
.fs-presets button, .fs-view-tabs button { flex: 0 0 auto; padding: 9px 13px; border: 1px solid var(--fs-line); border-radius: 999px; color: var(--fs-ink); background: rgba(255,255,255,.72); font: inherit; font-size: .78rem; font-weight: 750; cursor: pointer; }
.fs-presets button:hover, .fs-view-tabs button:hover, .fs-view-tabs button.is-active { color: #fff; border-color: var(--fs-orange); background: var(--fs-orange); }
.fs-filament-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fs-filament-card { position: relative; display: grid; grid-template-columns: minmax(0,1.4fr) 74px minmax(90px,.6fr); gap: 12px; align-items: end; padding: 20px; border: 1px solid var(--fs-line); border-radius: 22px; background: rgba(248,249,250,.78); }
.fs-filament-card.is-hidden { display: none; }
.fs-filament-slot { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: #fff; background: var(--fs-ink); font-size: .73rem; font-weight: 800; }
.fs-filament-card label { padding-top: 34px; }
.fs-color-field input[type="color"] { padding: 5px; cursor: pointer; }
.fs-ratio-status { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; align-items: center; margin-top: 18px; }
.fs-ratio-status > div { height: 10px; overflow: hidden; border-radius: 999px; background: #e1e4e9; }
.fs-ratio-status > div span { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--fs-teal),#54b7a8); transition: width .25s, background .25s; }
.fs-ratio-status strong { color: var(--fs-teal); }
.fs-ratio-status small { grid-column: 1/-1; color: var(--fs-muted); }
.fs-ratio-status.is-invalid > div span { background: #c73f32; }
.fs-ratio-status.is-invalid strong { color: #a52d24; }
.fs-pattern-row { display: grid; grid-template-columns: minmax(230px,.5fr) 1fr; gap: 18px; align-items: stretch; }
.fs-pattern-explainer { display: flex; align-items: center; padding: 18px; border-radius: 18px; color: var(--fs-muted); background: #f2f4f6; line-height: 1.6; }

.fs-submit-zone { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 24px 28px; border-radius: 28px; color: #fff; background: linear-gradient(135deg,#172033,#253a5a); box-shadow: 0 24px 60px rgba(23,32,51,.18); }
.fs-submit-zone strong, .fs-submit-zone small { display: block; max-width: 650px; }
.fs-submit-zone small { margin-top: 6px; color: rgba(255,255,255,.68); line-height: 1.5; }
.fs-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 0 18px; border: 0; border-radius: 15px; text-decoration: none; font: inherit; font-size: .86rem; font-weight: 800; cursor: pointer; }
.fs-button--primary { color: #fff; background: linear-gradient(135deg,var(--fs-orange),var(--fs-clay)); box-shadow: 0 12px 28px rgba(185,79,40,.22); }
.fs-button--quiet { color: var(--fs-ink); background: #ece8de; }
.fs-button--danger { color: #a52d24; background: #fff0ed; }
.fs-button--small { min-height: 40px; padding: 0 13px; font-size: .76rem; }
.fs-button:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }

.fs-preview-column { position: sticky; top: 104px; }
.fs-preview-card { padding: 24px; border-radius: 32px; color: #fffaf2; background: radial-gradient(circle at top right,rgba(233,102,36,.17),transparent 34%),linear-gradient(160deg,#111927,#1d2d49); box-shadow: 0 30px 80px rgba(23,32,51,.25); }
.fs-preview-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.fs-preview-head h2 { margin: 0; font-size: 1.65rem; }
.fs-simulated-swatch { width: 58px; height: 58px; border: 5px solid rgba(255,255,255,.15); border-radius: 18px; background: #808080; box-shadow: 0 12px 28px rgba(0,0,0,.25); }
.fs-view-tabs { display: flex; gap: 7px; margin: 20px 0 12px; overflow-x: auto; }
.fs-view-tabs button { color: rgba(255,255,255,.72); border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.07); }
.fs-view-tabs button.is-hidden { display: none; }
.fs-canvas-wrap { overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 24px; background: radial-gradient(circle at 50% 25%,#304867,#111826 70%); }
.fs-canvas-wrap canvas { display: block; width: 100%; height: auto; aspect-ratio: 1.22; }
.fs-layer-control { margin-top: 16px; padding: 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(255,255,255,.05); }
.fs-layer-control > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; font-size: .78rem; }
.fs-layer-control span { color: rgba(255,255,255,.62); }
.fs-layer-control input { width: 100%; accent-color: var(--fs-orange); }
.fs-live-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 16px 0 0; }
.fs-live-metrics div { padding: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(255,255,255,.05); }
.fs-live-metrics dt { color: rgba(255,255,255,.6); font-size: .72rem; }
.fs-live-metrics dd { margin: 5px 0 0; font-weight: 800; }
.fs-preview-warning { margin-top: 14px; padding: 14px 15px; border-left: 3px solid #f5c47f; border-radius: 10px 16px 16px 10px; color: rgba(255,255,255,.72); background: rgba(245,196,127,.08); font-size: .78rem; line-height: 1.55; }

.fs-history { margin-top: 28px; padding: 34px; border: 1px solid rgba(255,255,255,.8); border-radius: 34px; background: rgba(255,255,255,.68); box-shadow: 0 26px 70px rgba(23,32,51,.08); }
.fs-section-title { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 22px; }
.fs-section-title h2 { margin: 0; font-size: 2.2rem; }
.fs-section-title > span { color: var(--fs-muted); }
.fs-generation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.fs-generation-card { overflow: hidden; border: 1px solid var(--fs-line); border-radius: 26px; background: #fff; box-shadow: 0 18px 40px rgba(23,32,51,.07); }
.fs-generation-preview { min-height: 190px; background: radial-gradient(circle,var(--mix-color),#172033); }
.fs-generation-preview img { display: block; width: 100%; height: 220px; object-fit: cover; }
.fs-generation-body { padding: 20px; }
.fs-generation-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--fs-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.fs-generation-body h3 { margin: 14px 0; font-size: 1.25rem; }
.fs-generation-body p { color: var(--fs-muted); font-size: .82rem; }
.fs-mini-palette { display: flex; gap: 6px; flex-wrap: wrap; }
.fs-mini-palette span { padding: 7px 9px; border-left: 5px solid var(--filament-color); border-radius: 9px; color: var(--fs-ink); background: #f1f2f4; font-size: .72rem; font-weight: 700; }
.fs-generation-actions form { margin: 0; }
.fs-empty-state { padding: 44px; border: 1px dashed rgba(23,32,51,.2); border-radius: 24px; text-align: center; }
.fs-empty-state p { color: var(--fs-muted); }

.fs-stand-lab { margin-top: 28px; padding: 38px; border: 1px solid rgba(255,255,255,.82); border-radius: 36px; background: linear-gradient(145deg,rgba(255,255,255,.84),rgba(238,244,242,.76)); box-shadow: 0 30px 84px rgba(23,32,51,.11); backdrop-filter: blur(20px); }
.fs-stand-head { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 24px; }
.fs-stand-head h2 { margin: 0; font-family: "Playfair Display",Georgia,serif; font-size: clamp(2rem,4vw,3.6rem); letter-spacing: -.04em; }
.fs-stand-head p { max-width: 820px; margin: 12px 0 0; color: var(--fs-muted); line-height: 1.65; }
.fs-stand-dimensions { min-width: 260px; padding: 18px 20px; border: 1px solid rgba(22,121,111,.16); border-radius: 22px; color: #174f4a; background: #e8f5f2; }
.fs-stand-dimensions strong, .fs-stand-dimensions span { display: block; }
.fs-stand-dimensions strong { font-size: 1.05rem; }
.fs-stand-dimensions span { margin-top: 5px; color: #56716d; font-size: .72rem; line-height: 1.4; }
.fs-stand-workspace { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,.45fr); min-height: 690px; overflow: hidden; border: 1px solid rgba(23,32,51,.1); border-radius: 30px; background: #172033; box-shadow: 0 24px 60px rgba(23,32,51,.18); }
.fs-stand-viewport { position: relative; min-width: 0; min-height: 690px; overflow: hidden; background: radial-gradient(circle at 48% 35%,rgba(87,113,147,.54),transparent 34%),linear-gradient(155deg,#202e46,#0f1624 68%); touch-action: none; }
.fs-stand-viewport::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to top,#000,transparent 75%); pointer-events: none; }
.fs-stand-viewport.is-light { background: radial-gradient(circle at 48% 34%,rgba(255,255,255,.96),transparent 35%),linear-gradient(155deg,#eef4f3,#cddbdc 72%); }
.fs-stand-viewport.is-light::before { opacity: .34; background-image: linear-gradient(rgba(29,57,75,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(29,57,75,.12) 1px,transparent 1px); }
.fs-stand-viewport.is-light .fs-stand-badge, .fs-stand-viewport.is-light .fs-stand-help { color: #34475d; background: rgba(255,255,255,.78); box-shadow: 0 8px 24px rgba(37,61,73,.1); }
.fs-stand-viewport.is-light .fs-stand-badge span { color: #b75022; }
.fs-stand-viewport canvas { position: absolute; inset: 0; width: 100%; height: 100%; cursor: grab; }
.fs-stand-viewport canvas:active { cursor: grabbing; }
.fs-stand-loading { position: absolute; inset: 0; z-index: 3; display: grid; place-content: center; justify-items: center; gap: 9px; padding: 28px; color: rgba(255,255,255,.72); text-align: center; background: rgba(13,20,32,.68); backdrop-filter: blur(8px); transition: opacity .35s,visibility .35s; }
.fs-stand-loading.is-hidden { visibility: hidden; opacity: 0; }
.fs-stand-loading.is-error { color: #ffd5cd; }
.fs-stand-loading > span { width: 42px; height: 42px; margin-bottom: 7px; border: 3px solid rgba(255,255,255,.18); border-top-color: #f5c47f; border-radius: 50%; animation: fs-orbit-spin .9s linear infinite; }
.fs-stand-loading.is-error > span { border: 0; animation: none; }
.fs-stand-loading.is-error > span::before { content: "!"; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: #b94f28; font-weight: 900; }
.fs-stand-loading strong { color: #fff; font-size: 1rem; }
.fs-stand-loading small { max-width: 420px; line-height: 1.5; }
.fs-stand-badge { position: absolute; top: 18px; left: 18px; z-index: 2; padding: 10px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; color: rgba(255,255,255,.72); background: rgba(13,20,32,.66); font-size: .72rem; font-weight: 750; backdrop-filter: blur(12px); }
.fs-stand-badge span { color: #f5c47f; }
.fs-stand-help { position: absolute; right: 18px; bottom: 18px; z-index: 2; padding: 9px 12px; border-radius: 12px; color: rgba(255,255,255,.62); background: rgba(13,20,32,.58); font-size: .67rem; backdrop-filter: blur(10px); pointer-events: none; }
.fs-stand-controls { display: flex; flex-direction: column; gap: 18px; max-height: 880px; overflow-y: auto; padding: 24px; color: var(--fs-ink); background: rgba(250,248,242,.98); scrollbar-color: rgba(23,32,51,.24) transparent; }
.fs-stand-control-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.fs-stand-control-head span, .fs-stand-control-head strong { display: block; }
.fs-stand-control-head span { color: var(--fs-muted); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fs-stand-control-head strong { margin-top: 4px; font-size: .95rem; }
.fs-stand-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.fs-stand-actions .fs-button { min-width: 0; padding: 0 12px; font-size: .77rem; }
.fs-stand-actions .fs-button.is-active { color: #fff; background: var(--fs-teal); }
.fs-stand-theme-toggle { grid-column: 1/-1; }
.fs-stand-theme-toggle span { margin-right: 5px; font-size: .95rem; }
.fs-stand-range { display: grid; gap: 10px; padding: 15px; border: 1px solid var(--fs-line); border-radius: 18px; background: #fff; }
.fs-stand-range > span { display: flex; justify-content: space-between; gap: 12px; font-size: .75rem; }
.fs-stand-range output { color: var(--fs-clay); font-weight: 850; }
.fs-stand-range input { width: 100%; accent-color: var(--fs-orange); }
.fs-stand-kits { flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(22,121,111,.18); border-radius: 20px; background: linear-gradient(145deg,#f5fbf8,#fff); }
.fs-stand-kits > header { padding: 14px 15px 10px; }
.fs-stand-kits > header strong, .fs-stand-kits > header small { display: block; }
.fs-stand-kits > header strong { font-size: .8rem; }
.fs-stand-kits > header small { margin-top: 3px; color: var(--fs-muted); font-size: .6rem; }
.fs-stand-kit-grid { display: grid; grid-template-columns: 1fr; gap: 7px; padding: 0 11px 11px; }
.fs-stand-kit-item { position: relative; min-width: 0; }
.fs-stand-kit { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: center; width: 100%; min-width: 0; height: 100%; padding: 10px; border: 1px solid transparent; border-radius: 14px; color: var(--fs-ink); background: rgba(255,255,255,.76); text-align: left; cursor: pointer; transition: transform .2s,border-color .2s,background .2s; }
.fs-stand-kit:hover:not(:disabled), .fs-stand-kit.is-active { border-color: rgba(22,121,111,.35); background: #fff; transform: translateY(-1px); box-shadow: 0 9px 22px rgba(23,32,51,.07); }
.fs-stand-kit:disabled { opacity: .45; cursor: not-allowed; }
.fs-stand-kit > span:last-child { min-width: 0; }
.fs-stand-kit strong, .fs-stand-kit small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-stand-kit strong { font-size: .64rem; }
.fs-stand-kit small { margin-top: 3px; color: var(--fs-muted); font-size: .53rem; }
.fs-stand-kit-swatches { display: flex; align-items: center; padding-left: 4px; }
.fs-stand-kit-swatches i { width: 22px; height: 22px; margin-left: -4px; border: 2px solid #fff; border-radius: 50%; background: var(--kit-color); box-shadow: 0 3px 8px rgba(23,32,51,.14); }
.fs-stand-kit-item.is-custom .fs-stand-kit { padding-right: 30px; border-color: rgba(233,102,36,.16); }
.fs-stand-kit-delete { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; color: #9b3f29; background: #ffe7df; font: inherit; font-size: 1rem; line-height: 1; cursor: pointer; }
.fs-stand-kit-delete:hover { color: #fff; background: #b94f28; }
.fs-stand-kits > p { margin: 0; padding: 9px 14px; border-top: 1px solid rgba(22,121,111,.12); color: #35645f; background: rgba(22,121,111,.055); font-size: .58rem; font-weight: 750; }
.fs-stand-content-backdrop { position: fixed; inset: 0; z-index: 60; background: rgba(10,17,31,.48); backdrop-filter: blur(4px); }
.fs-stand-content-backdrop[hidden] { display: none; }
.fs-stand-content-panel { position: fixed; top: 50%; left: 50%; z-index: 61; display: grid; grid-template-columns: minmax(270px,.92fr) minmax(320px,1.08fr); width: min(820px,calc(100vw - 28px)); max-height: min(650px,calc(100vh - 28px)); margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(233,102,36,.24); border-radius: 22px; color: var(--fs-ink); background: linear-gradient(145deg,#fff,#fff9f0); box-shadow: 0 30px 90px rgba(10,17,31,.34); transform: translate(-50%,-50%); animation: fs-stand-modal-in .18s ease-out; }
.fs-stand-content-panel[hidden], .fs-stand-content-panel [data-stand-context][hidden] { display: none; }
.fs-stand-content-panel > header { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 14px 15px; border-bottom: 1px solid rgba(233,102,36,.12); background: rgba(255,255,255,.82); }
.fs-stand-content-panel > header span, .fs-stand-content-panel > header strong { display: block; }
.fs-stand-content-panel > header span { color: var(--fs-clay); font-size: .56rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.fs-stand-content-panel > header strong { font-size: .8rem; }
.fs-stand-context-preview { position: relative; grid-column: 1; grid-row: 2; min-width: 0; min-height: 350px; overflow: hidden; border-right: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 52% 40%,rgba(91,104,143,.42),transparent 38%),linear-gradient(155deg,#22314a,#111827 72%); }
.fs-stand-context-preview::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to top,#000,transparent 78%); pointer-events: none; }
.fs-stand-context-preview canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.fs-stand-context-preview > div { position: absolute; right: 14px; bottom: 13px; left: 14px; display: flex; gap: 6px 10px; align-items: baseline; padding: 9px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; color: rgba(255,255,255,.7); background: rgba(13,20,32,.58); backdrop-filter: blur(10px); }
.fs-stand-context-preview span { color: #f5c47f; font-size: .54rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fs-stand-context-preview strong { min-width: 0; overflow: hidden; color: #fff; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.fs-stand-context-preview small { margin-left: auto; color: rgba(255,255,255,.58); font-size: .54rem; white-space: nowrap; }
.fs-stand-context-preview.is-unavailable::after { content: "Aperçu 3D indisponible"; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.72); font-size: .7rem; font-weight: 800; }
.fs-stand-content-panel > [data-stand-context], .fs-stand-content-panel > .fs-stand-nfc-editor { grid-column: 2; grid-row: 2; align-self: center; max-height: 590px; overflow-y: auto; }
.fs-stand-content-panel .fs-stand-logo-editor { margin: 11px; }
body.fs-stand-modal-open { overflow: hidden; }
@keyframes fs-stand-modal-in { from { opacity: 0; transform: translate(-50%,-47%) scale(.98); } to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }
.fs-stand-content-hidden { display: inline-flex !important; grid-template-columns: none !important; gap: 6px !important; align-items: center; min-height: 32px; padding: 0 9px; border: 1px solid rgba(23,32,51,.1); border-radius: 9px; color: #59657a; background: #f5f4ef; font-size: .56rem; font-weight: 800; cursor: pointer; }
.fs-stand-content-hidden input { accent-color: var(--fs-orange); }
.fs-stand-qr-editor { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 11px; padding: 13px; border: 1px solid rgba(23,32,51,.08); border-radius: 18px; background: #fff; }
.fs-stand-qr-preview { grid-row: 1/3; display: grid; place-items: center; width: 64px; aspect-ratio: 1; overflow: hidden; border: 5px solid #eef0f4; border-radius: 14px; color: #4e5a70; background: #172033; font-size: .7rem; font-weight: 900; }
.fs-stand-qr-preview canvas { width: 100%; height: 100%; }
.fs-stand-qr-editor > label:not(.fs-stand-content-hidden) { display: grid; gap: 5px; }
.fs-stand-qr-editor > label > span { color: var(--fs-clay); font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fs-stand-qr-editor > label > strong { font-size: .72rem; }
.fs-stand-qr-editor input[type="url"] { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid var(--fs-line); border-radius: 11px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .65rem; }
.fs-stand-qr-editor small { color: var(--fs-muted); font-size: .56rem; line-height: 1.4; }
.fs-stand-qr-editor small.is-ready { color: #16796f; font-weight: 800; }
.fs-stand-guide-card > .fs-stand-qr-editor { margin: 0; padding: 16px; }
.fs-stand-qr-heading { display: flex; gap: 12px; align-items: center; }
.fs-stand-qr-heading > div:last-child { display: grid; gap: 3px; }
.fs-stand-qr-heading strong { font-size: .78rem; }
.fs-stand-qr-heading small { color: var(--fs-muted); font-size: .6rem; line-height: 1.4; }
.fs-stand-qr-editor .wp-purpose-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fs-stand-qr-editor input:not([type="hidden"]), .fs-stand-qr-editor select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--fs-line); border-radius: 11px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .65rem; }
.fs-stand-qr-editor .wp-destination-fields { gap: 8px; }
.fs-stand-qr-editor .fs-stand-qr-colors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.fs-stand-guide-card > .fs-stand-logo-editor { margin: 0; }
.fs-stand-nfc-editor { overflow: hidden; background: transparent; }
.fs-stand-nfc-editor[hidden] { display: none; }
.fs-stand-nfc-editor > header { display: grid; gap: 5px; padding: 13px; border-bottom: 1px solid rgba(22,121,111,.1); }
.fs-stand-nfc-editor > header span, .fs-stand-nfc-editor > header strong { display: block; }
.fs-stand-nfc-editor > header span { color: var(--fs-teal); font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fs-stand-nfc-editor > header strong { margin-top: 3px; font-size: .72rem; }
.fs-stand-nfc-editor > header small { color: var(--fs-muted); font-size: .56rem; line-height: 1.4; }
.fs-stand-nfc-cards { display: grid; gap: 8px; padding: 11px; }
.fs-stand-nfc-card { display: grid; grid-template-columns: 1fr; gap: 9px; padding: 12px; border: 1px solid rgba(23,32,51,.07); border-radius: 15px; background: #fff; }
.fs-stand-nfc-preview { grid-row: 1/3; display: grid; place-items: center; width: 48px; aspect-ratio: 1; overflow: hidden; border: 4px solid #fff; border-radius: 13px; color: #526076; background: #eef1f3; font-size: .54rem; font-weight: 900; box-shadow: 0 5px 14px rgba(23,32,51,.1); }
.fs-stand-nfc-preview img { width: 78%; height: 78%; object-fit: contain; }
.fs-stand-nfc-preview img[hidden], .fs-stand-nfc-preview span[hidden] { display: none; }
.fs-stand-nfc-card > label { display: grid; gap: 4px; min-width: 0; }
.fs-stand-nfc-card > label span { color: var(--fs-clay); font-size: .56rem; font-weight: 850; text-transform: uppercase; }
.fs-stand-nfc-card > label strong { font-size: .64rem; }
.fs-stand-nfc-card input[type="url"] { width: 100%; min-width: 0; min-height: 38px; padding: 0 10px; border: 1px solid var(--fs-line); border-radius: 10px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .62rem; }
.fs-stand-nfc-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.fs-stand-nfc-actions .fs-button { min-height: 31px; padding: 0 10px; font-size: .58rem; }
.fs-stand-nfc-card > small { color: var(--fs-muted); font-size: .54rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-stand-nfc-picker { width: min(720px,calc(100vw - 24px)); max-height: min(760px,calc(100vh - 24px)); padding: 0; overflow: hidden; border: 0; border-radius: 24px; color: var(--fs-ink); background: #fbfaf6; box-shadow: 0 30px 90px rgba(10,17,31,.35); }
.fs-wizard-body.is-embedded .fs-stand-nfc-picker { max-height: calc(100vh - 112px); margin-top: 96px; margin-bottom: 16px; }
.fs-stand-nfc-picker::backdrop { background: rgba(10,17,31,.62); backdrop-filter: blur(7px); }
.fs-stand-nfc-picker-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 18px; border-bottom: 1px solid var(--fs-line); background: #fff; }
.fs-stand-nfc-picker-head span, .fs-stand-nfc-picker-head strong { display: block; }
.fs-stand-nfc-picker-head span { color: var(--fs-clay); font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fs-stand-nfc-picker-head strong { margin-top: 4px; font-size: .92rem; }
.fs-stand-nfc-picker-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.fs-stand-nfc-picker-actions .fs-button { min-height: 40px; padding: 0 14px; font-size: .66rem; cursor: pointer; }
.fs-stand-nfc-library-note { display: grid; gap: 3px; margin: 0; padding: 13px 18px 2px; color: var(--fs-muted); }
.fs-stand-nfc-library-note strong { color: var(--fs-ink); font-size: .7rem; }
.fs-stand-nfc-library-note span { font-size: .6rem; line-height: 1.45; }
.fs-stand-nfc-logo-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; max-height: 520px; padding: 14px 18px 20px; overflow-y: auto; }
.fs-stand-nfc-logo-empty { grid-column: 1/-1; margin: 0; padding: 24px; border: 1px dashed var(--fs-line); border-radius: 14px; color: var(--fs-muted); background: #fff; text-align: center; font-size: .66rem; }
.fs-stand-nfc-logo-option { display: grid; gap: 7px; justify-items: center; min-width: 0; padding: 10px 7px; border: 1px solid transparent; border-radius: 14px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .56rem; font-weight: 750; cursor: pointer; }
.fs-stand-nfc-logo-option:hover, .fs-stand-nfc-logo-option.is-selected { border-color: rgba(233,102,36,.4); background: #fff7ec; transform: translateY(-1px); }
.fs-stand-nfc-logo-option img { width: 58px; height: 58px; object-fit: contain; border-radius: 11px; background: #f3f4f5; }
.fs-stand-nfc-logo-option span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-stand-kit-creator { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 12px; border-top: 1px solid rgba(22,121,111,.14); background: #fff; }
.fs-stand-kit-creator label { display: grid; gap: 5px; min-width: 0; }
.fs-stand-kit-creator label span { color: var(--fs-muted); font-size: .56rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fs-stand-kit-creator input[type="text"] { min-width: 0; min-height: 38px; padding: 0 11px; border: 1px solid var(--fs-line); border-radius: 11px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .65rem; }
.fs-stand-kit-creator > button { align-self: end; min-height: 38px; padding: 0 12px; border: 0; border-radius: 11px; color: #fff; background: var(--fs-orange); font: inherit; font-size: .61rem; font-weight: 850; cursor: pointer; }
.fs-stand-kit-creator > small { grid-column: 1/-1; color: var(--fs-muted); font-size: .56rem; line-height: 1.4; }
.fs-stand-kit-creator > small.is-error { color: #ad3d27; font-weight: 800; }
.fs-stand-object-panel { flex: 0 0 auto; overflow: hidden; border: 1px solid var(--fs-line); border-radius: 20px; background: #fff; }
.fs-stand-object-panel > header { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 14px 15px; border-bottom: 1px solid var(--fs-line); }
.fs-stand-object-panel > header strong, .fs-stand-object-panel > header small { display: block; }
.fs-stand-object-panel > header strong { font-size: .8rem; }
.fs-stand-object-panel > header small { margin-top: 3px; color: var(--fs-muted); font-size: .6rem; }
.fs-stand-object-panel > header > span { padding: 5px 8px; border-radius: 999px; color: #8d451e; background: #fff0df; font-size: .58rem; font-weight: 850; white-space: nowrap; }
.fs-stand-object-collapse { display: inline-flex; gap: 7px; align-items: center; padding: 5px 8px; border: 0; border-radius: 999px; color: #8d451e; background: #fff0df; font: inherit; font-size: .58rem; font-weight: 850; white-space: nowrap; cursor: pointer; }
.fs-stand-object-collapse b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #fff; background: var(--fs-orange); font-size: .82rem; line-height: 1; }
.fs-stand-object-list[hidden] { display: none; }
.fs-stand-object-list { display: grid; gap: 7px; padding: 11px; }
.fs-stand-object-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 9px; align-items: center; min-width: 0; padding: 9px; border: 1px solid transparent; border-radius: 15px; background: rgba(23,32,51,.035); transition: opacity .2s,border-color .2s,background .2s; }
.fs-stand-object-row:hover { border-color: rgba(233,102,36,.16); background: #fffaf2; }
.fs-stand-object-row.is-configurable { cursor: pointer; }
.fs-stand-object-row.is-configurable::after { content: "›"; grid-column: 4; color: var(--fs-clay); font-size: 1.15rem; font-weight: 900; }
.fs-stand-object-row.is-configurable { grid-template-columns: 42px minmax(0,1fr) auto auto; }
.fs-stand-object-row.is-configurable.is-active { border-color: rgba(233,102,36,.38); background: #fff7ec; box-shadow: inset 3px 0 0 var(--fs-orange); }
.fs-stand-object-row:has([data-stand-hidden]:checked) { opacity: .52; }
.fs-stand-object-row.is-unavailable { opacity: .5; background: rgba(23,32,51,.025); }
.fs-stand-object-swatch { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(23,32,51,.1); border-radius: 12px; background: #fff; cursor: pointer; box-shadow: 0 5px 14px rgba(23,32,51,.09); }
.fs-stand-object-swatch i { width: 32px; height: 32px; border-radius: 9px; background: var(--selected-color,#ddd); }
.fs-stand-object-swatch:hover:not(:disabled), .fs-stand-object-swatch.is-active { border-color: var(--fs-orange); outline: 3px solid rgba(233,102,36,.12); }
.fs-stand-object-swatch:disabled { cursor: not-allowed; filter: grayscale(.7); }
.fs-stand-object-tool { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(23,32,51,.1); border-radius: 12px; color: #fff; background: linear-gradient(145deg,#172033,#53617c); font-size: .6rem; font-weight: 900; letter-spacing: .04em; box-shadow: 0 5px 14px rgba(23,32,51,.09); }
.fs-stand-object-copy { min-width: 0; }
.fs-stand-object-copy strong, .fs-stand-object-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-stand-object-copy strong { font-size: .72rem; }
.fs-stand-object-copy small { margin-top: 3px; color: var(--fs-muted); font-size: .56rem; }
.fs-stand-hidden-toggle { display: grid; justify-items: center; gap: 3px; min-width: 42px; color: var(--fs-muted); cursor: pointer; }
.fs-stand-hidden-toggle input { width: 18px; height: 18px; margin: 0; accent-color: var(--fs-clay); }
.fs-stand-hidden-toggle span { font-size: .51rem; font-weight: 750; }
.fs-stand-hidden-toggle:has(input:disabled) { cursor: not-allowed; }
.fs-stand-object-row--logo { grid-template-columns: 46px minmax(0,1fr) auto; }
.fs-stand-object-row--logo .fs-stand-logo-preview { grid-row: 1/3; grid-column: 1; width: 46px; border-width: 3px; }
.fs-stand-object-row--logo .fs-stand-object-copy { grid-row: 1; grid-column: 2; }
.fs-stand-object-row--logo .fs-stand-hidden-toggle { grid-row: 1; grid-column: 3; }
.fs-stand-logo-inline-actions { grid-row: 2; grid-column: 2/4; display: flex; flex-wrap: wrap; gap: 6px; }
.fs-stand-logo-inline-actions label, .fs-stand-logo-inline-actions button { min-height: 28px; padding: 0 10px; border: 1px solid rgba(233,102,36,.2); border-radius: 9px; color: #9b461e; background: #fff1e2; font: inherit; font-size: .56rem; font-weight: 800; cursor: pointer; }
.fs-stand-logo-inline-actions label { display: inline-flex; align-items: center; }
.fs-stand-logo-inline-actions button { color: #516076; border-color: rgba(23,32,51,.1); background: #f2f1ed; }
.fs-stand-logo-inline-actions button:disabled { opacity: .45; cursor: not-allowed; }
.fs-stand-logo-editor { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 14px; border: 1px solid rgba(233,102,36,.18); border-radius: 20px; background: linear-gradient(145deg,#fff,#fff8ed); }
.fs-stand-logo-preview { position: relative; display: grid; place-items: center; width: 84px; aspect-ratio: 1; overflow: hidden; border: 6px solid #fff; border-radius: 50%; color: #8b654e; background: #e3bfd2; box-shadow: 0 8px 22px rgba(23,32,51,.14); }
.fs-stand-logo-preview::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(23,32,51,.12); border-radius: inherit; pointer-events: none; }
.fs-stand-logo-preview img { width: 74%; height: 74%; object-fit: contain; }
.fs-stand-logo-preview img[hidden] { display: none; }
.fs-stand-logo-preview span { font-size: .76rem; font-weight: 900; letter-spacing: .08em; }
.fs-stand-logo-copy > span { color: var(--fs-clay); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.fs-stand-logo-copy > strong { display: block; margin-top: 4px; font-size: .78rem; line-height: 1.35; }
.fs-stand-logo-copy p { margin: 5px 0 9px; color: var(--fs-muted); font-size: .65rem; line-height: 1.45; }
.fs-stand-logo-copy > small { display: block; margin-top: 7px; overflow: hidden; color: #637086; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.fs-stand-logo-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.fs-stand-logo-actions .fs-button { min-height: 34px; padding: 0 12px; font-size: .66rem; cursor: pointer; }
.fs-stand-logo-color-control { --selected-color:#5b618f; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; width: 100%; margin-top: 9px; padding: 9px; border: 1px solid rgba(23,32,51,.1); border-radius: 13px; color: var(--fs-ink); text-align: left; background: #fff; cursor: pointer; }
.fs-stand-logo-color-control i { width: 34px; height: 34px; border: 3px solid #fff; border-radius: 10px; background: var(--selected-color); box-shadow: 0 3px 10px rgba(23,32,51,.16); }
.fs-stand-logo-color-control b, .fs-stand-logo-color-control small { display: block; }.fs-stand-logo-color-control b { font-size: .67rem; }.fs-stand-logo-color-control small { margin-top: 2px; color: var(--fs-muted); font-size: .57rem; }
.fs-stand-logo-color-control:disabled { opacity: .48; cursor: not-allowed; }
.fs-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.fs-stand-parts { display: grid; gap: 8px; }
.fs-stand-parts label { display: grid; grid-template-columns: auto 35px 1fr; gap: 10px; align-items: center; padding: 10px 11px; border: 1px solid transparent; border-radius: 15px; background: rgba(23,32,51,.035); cursor: pointer; transition: border-color .2s,background .2s,opacity .2s; }
.fs-stand-parts label:hover { border-color: rgba(233,102,36,.18); background: #fff; }
.fs-stand-parts label:has(input:not(:checked)) { opacity: .48; }
.fs-stand-parts input { width: 17px; height: 17px; accent-color: var(--fs-teal); }
.fs-stand-parts i { width: 35px; height: 35px; border: 4px solid #fff; border-radius: 11px; background: var(--part-color); box-shadow: 0 4px 12px rgba(23,32,51,.12); }
.fs-stand-parts strong, .fs-stand-parts small { display: block; }
.fs-stand-parts strong { font-size: .78rem; }
.fs-stand-parts small { margin-top: 2px; color: var(--fs-muted); font-size: .65rem; line-height: 1.35; }
.fs-stand-color-panel { flex: 0 0 auto; overflow: hidden; border: 1px solid var(--fs-line); border-radius: 20px; background: #fff; }
.fs-stand-color-panel > header { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 14px 15px; border-bottom: 1px solid var(--fs-line); }
.fs-stand-color-panel > header strong, .fs-stand-color-panel > header small { display: block; }
.fs-stand-color-panel > header strong { font-size: .78rem; }
.fs-stand-color-panel > header small { margin-top: 3px; color: var(--fs-muted); font-size: .6rem; }
.fs-stand-color-panel > header > span { padding: 5px 8px; border-radius: 999px; color: #8d451e; background: #fff0df; font-size: .58rem; font-weight: 850; }
.fs-stand-color-grid { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 12px; }
.fs-stand-color-grid button { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 8px; align-items: center; min-width: 0; padding: 8px; border: 1px solid transparent; border-radius: 13px; color: var(--fs-ink); background: rgba(23,32,51,.035); text-align: left; cursor: pointer; transition: border-color .2s,background .2s,transform .2s; }
.fs-stand-color-grid button:hover, .fs-stand-color-grid button.is-active { border-color: rgba(233,102,36,.3); background: #fff9ef; transform: translateY(-1px); }
.fs-stand-color-grid button > i { width: 34px; height: 34px; border: 3px solid #fff; border-radius: 10px; background: var(--selected-color,#ddd); box-shadow: 0 4px 12px rgba(23,32,51,.13); }
.fs-stand-color-grid button > span { min-width: 0; }
.fs-stand-color-grid button strong, .fs-stand-color-grid button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-stand-color-grid button strong { font-size: .64rem; }
.fs-stand-color-grid button small { margin-top: 3px; color: var(--fs-muted); font-size: .54rem; }
.fs-stand-color-grid button > b { color: var(--fs-clay); font-size: .55rem; }
.fs-stand-palette { position: sticky; bottom: 0; z-index: 5; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(233,102,36,.28); border-radius: 22px; background: #fffdf9; box-shadow: 0 20px 50px rgba(23,32,51,.2); }
.fs-stand-palette[hidden] { display: none; }
.fs-stand-palette > header { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 14px; color: #fff; background: linear-gradient(135deg,#172033,#263b5a); }
.fs-stand-palette > header span, .fs-stand-palette > header strong { display: block; }
.fs-stand-palette > header span { color: #f5c47f; font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.fs-stand-palette > header strong { margin-top: 4px; font-size: .8rem; }
.fs-stand-palette > header .fs-button { min-height: 34px; padding: 0 11px; border-color: rgba(255,255,255,.22); color: #fff; background: rgba(255,255,255,.1); font-size: .62rem; }
.fs-stand-palette-search { display: grid; gap: 5px; padding: 12px 12px 8px; }
.fs-stand-palette-search span { color: var(--fs-muted); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fs-stand-palette-search input { width: 100%; min-height: 40px; padding: 0 12px; border: 1px solid var(--fs-line); border-radius: 12px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .68rem; }
.fs-stand-palette-list { max-height: 430px; overflow-y: auto; padding: 4px 12px 12px; scrollbar-color: rgba(23,32,51,.24) transparent; }
.fs-stand-palette-group + .fs-stand-palette-group { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--fs-line); }
.fs-stand-palette-group > header { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 0 2px 8px; }
.fs-stand-palette-group > header strong { font-size: .68rem; }
.fs-stand-palette-group > header span { color: var(--fs-muted); font-size: .57rem; }
.fs-stand-palette-options { display: grid; gap: 6px; }
.fs-stand-palette-option { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 9px; align-items: center; width: 100%; padding: 8px; border: 1px solid transparent; border-radius: 13px; color: var(--fs-ink); background: #f6f6f5; text-align: left; cursor: pointer; }
.fs-stand-palette-option:hover, .fs-stand-palette-option.is-selected { border-color: rgba(233,102,36,.35); background: #fff8ed; }
.fs-stand-palette-option.is-stocked { background: #f0f8f3; }
.fs-stand-palette-option.is-stocked:hover, .fs-stand-palette-option.is-stocked.is-selected { border-color: rgba(22,121,111,.36); background: #e7f5ed; }
.fs-stand-palette-option > i { width: 38px; height: 38px; border: 3px solid #fff; border-radius: 11px; background: var(--palette-color); box-shadow: 0 4px 12px rgba(23,32,51,.12); }
.fs-stand-palette-option strong, .fs-stand-palette-option small { display: block; }
.fs-stand-palette-option strong { font-size: .68rem; }
.fs-stand-palette-option small { margin-top: 3px; color: var(--fs-muted); font-size: .56rem; }
.fs-stand-palette-option b { padding: 5px 7px; border-radius: 999px; color: #9a4a22; background: #fff0df; font-size: .53rem; white-space: nowrap; }
.fs-stand-palette-option.is-stocked b { color: #176256; background: #d9efe5; }
.fs-stand-palette-empty { margin: 0; padding: 12px; border: 1px dashed rgba(23,32,51,.16); border-radius: 13px; color: var(--fs-muted); font-size: .63rem; line-height: 1.45; text-align: center; }
.fs-stand-palette-no-results { padding: 22px 12px; color: var(--fs-muted); font-size: .66rem; text-align: center; }
.fs-stand-proof { margin-top: auto; padding: 17px; border-radius: 19px; color: rgba(255,255,255,.76); background: linear-gradient(145deg,#172033,#273c5c); }
.fs-stand-proof span, .fs-stand-proof strong { display: block; }
.fs-stand-proof span { color: #f5c47f; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fs-stand-proof strong { margin-top: 8px; color: #fff; font-size: .82rem; }
.fs-stand-proof p { margin: 7px 0 0; font-size: .68rem; line-height: 1.5; }
.fs-wizard-body { padding-top: 0; }
.fs-wizard-header { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; gap: 24px; align-items: center; width: min(1480px,calc(100% - 32px)); margin: 16px auto 0; padding: 14px 18px; border: 1px solid rgba(255,255,255,.82); border-radius: 22px; background: rgba(255,255,255,.86); box-shadow: 0 18px 46px rgba(23,32,51,.12); backdrop-filter: blur(20px); }
.fs-wizard-header > div span, .fs-wizard-header > div strong { display: block; }
.fs-wizard-header > div span { color: var(--fs-clay); font-size: .62rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.fs-wizard-header > div strong { margin-top: 4px; font-family: "Playfair Display",Georgia,serif; font-size: 1.25rem; }
.fs-wizard-header nav { display: flex; gap: 8px; align-items: center; }
.fs-wizard-header form { margin: 0; }
.fs-wizard-header .fs-button { min-height: 40px; padding: 0 14px; text-decoration: none; }
.fs-wizard-shell { padding-top: 34px; }
.fs-wizard-intro { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 22px; padding: 30px 34px; border: 1px solid rgba(255,255,255,.82); border-radius: 30px; background: rgba(255,255,255,.72); box-shadow: 0 24px 65px rgba(23,32,51,.08); }
.fs-wizard-intro h1 { max-width: 850px; margin: 0; font-family: "Playfair Display",Georgia,serif; font-size: clamp(2rem,4vw,4rem); line-height: 1; letter-spacing: -.045em; }
.fs-wizard-intro p { max-width: 850px; margin: 16px 0 0; color: var(--fs-muted); line-height: 1.65; }
.fs-wizard-messages { display: grid; gap: 8px; margin-bottom: 16px; }
.fs-wizard-messages p { margin: 0; padding: 12px 15px; border: 1px solid rgba(22,121,111,.2); border-radius: 14px; color: #176256; background: #e9f7f1; font-size: .75rem; font-weight: 750; }
.fs-wizard-messages p.is-error { border-color: rgba(185,79,40,.22); color: #9b3f29; background: #fff0e9; }
.fs-wizard-body.is-embedded { background: transparent; }
.fs-wizard-body.is-embedded .fs-wizard-shell { width: 100%; padding: 16px; }
.fs-wizard-submit-card { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 22px; padding: 26px 30px; border: 1px solid rgba(255,255,255,.82); border-radius: 28px; background: linear-gradient(135deg,rgba(255,255,255,.94),rgba(244,251,249,.94)); box-shadow: 0 24px 65px rgba(23,32,51,.09); }
.fs-wizard-submit-card h2 { margin: 4px 0 0; font-family: "Playfair Display",Georgia,serif; font-size: 1.7rem; }
.fs-wizard-submit-card p { margin: 8px 0 0; color: var(--fs-muted); }
.fs-wizard-submit-card .fs-button { flex: 0 0 auto; min-height: 48px; padding: 0 22px; }
.fs-wizard-recap, .fs-wizard-confirmation { margin-top: 22px; padding: 28px; border: 1px solid rgba(255,255,255,.86); border-radius: 30px; background: rgba(255,255,255,.95); box-shadow: 0 26px 70px rgba(23,32,51,.11); }
.fs-wizard-recap[hidden], .fs-wizard-confirmation[hidden], .fs-wizard-submit-card[hidden] { display: none; }
.fs-wizard-recap > header { display: flex; justify-content: space-between; gap: 24px; align-items: start; margin-bottom: 22px; }
.fs-wizard-recap h2, .fs-wizard-confirmation h2 { margin: 4px 0 0; font-family: "Playfair Display",Georgia,serif; font-size: 2rem; }
.fs-wizard-recap header p, .fs-wizard-confirmation > p { margin: 9px 0 0; color: var(--fs-muted); }
.fs-wizard-recap-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: 22px; }
.fs-wizard-recap-visual { overflow: hidden; border: 1px solid var(--fs-line); border-radius: 24px; background: #111a2c; }
.fs-wizard-recap-visual img { display: block; width: 100%; min-height: 360px; object-fit: contain; background: radial-gradient(circle at 50% 45%,#263a58,#101827 68%); }
.fs-wizard-recap-visual > div { padding: 15px 18px; color: #fff; background: #172033; }
.fs-wizard-recap-visual span, .fs-wizard-recap-visual strong { display: block; }
.fs-wizard-recap-visual span { color: #b8c4d8; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.fs-wizard-recap-visual strong { margin-top: 4px; }
.fs-wizard-recap form { display: grid; gap: 16px; }
.fs-wizard-quote-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.fs-wizard-quote-summary > div { padding: 15px; border-radius: 16px; background: #f4f3ed; }
.fs-wizard-quote-summary span, .fs-wizard-quote-summary strong { display: block; }
.fs-wizard-quote-summary span { color: var(--fs-muted); font-size: .62rem; font-weight: 750; }
.fs-wizard-quote-summary strong { margin-top: 5px; font-size: 1.05rem; }
.fs-wizard-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.fs-wizard-contact-grid label { display: grid; gap: 6px; }
.fs-wizard-contact-grid label.is-wide { grid-column: 1/-1; }
.fs-wizard-contact-grid span { color: #4e5b70; font-size: .65rem; font-weight: 800; }
.fs-wizard-contact-grid input, .fs-wizard-contact-grid textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--fs-line); border-radius: 13px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .72rem; }
.fs-wizard-contact-grid input { min-height: 44px; }
.fs-wizard-contact-grid textarea { resize: vertical; }
.fs-wizard-account-note { padding: 14px 16px; border: 1px solid rgba(22,121,111,.16); border-radius: 16px; background: #eff8f5; }
.fs-wizard-account-note strong { color: #17675f; font-size: .72rem; }
.fs-wizard-account-note p { margin: 5px 0 0; color: #526b68; font-size: .64rem; line-height: 1.5; }
.fs-wizard-submit-status { min-height: 20px; margin: 0; color: #17675f; font-size: .67rem; font-weight: 750; }
.fs-wizard-submit-status.is-error { color: #ad3d27; }
.fs-wizard-confirmation { text-align: center; }
.fs-wizard-confirmation > div { display: inline-grid; gap: 4px; min-width: 220px; margin: 20px 5px 0; padding: 14px 18px; border-radius: 15px; background: #f4f3ed; }
.fs-wizard-confirmation > div span { color: var(--fs-muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.fs-wizard-confirmation-files { display: grid; gap: 10px; max-width: 760px; margin: 20px auto 0; padding: 16px; border: 1px solid var(--fs-line); border-radius: 18px; text-align: left; }
.fs-wizard-confirmation-files > div { display: flex; flex-wrap: wrap; gap: 8px; }
.fs-wizard-confirmation-files a { padding: 8px 11px; border-radius: 999px; color: #98491f; background: #f6eadc; font-size: .72rem; font-weight: 750; overflow-wrap: anywhere; }
.fs-wizard-confirmation-link { display: inline-flex; margin-top: 18px; }
@media (max-width:900px) { .fs-wizard-recap-grid { grid-template-columns: 1fr; } }
@media (max-width:620px) { .fs-wizard-submit-card, .fs-wizard-recap > header { align-items: stretch; flex-direction: column; } .fs-wizard-contact-grid, .fs-wizard-quote-summary { grid-template-columns: 1fr; } .fs-wizard-contact-grid label.is-wide { grid-column: auto; } .fs-wizard-recap { padding: 20px 16px; } }
.fs-wizard-admin-body { min-height: 100vh; padding: 0; }
.fs-wizard-admin-body.is-embedded { background: transparent; }
.fs-wizard-admin-shell { padding-top: 24px; }
.fs-wizard-admin-hero { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-bottom: 18px; padding: 26px 30px; border: 1px solid rgba(255,255,255,.82); border-radius: 28px; background: rgba(255,255,255,.82); box-shadow: 0 20px 55px rgba(23,32,51,.08); }
.fs-wizard-admin-hero h1 { margin: 3px 0 0; font-family: "Playfair Display",Georgia,serif; font-size: clamp(1.8rem,3vw,3rem); }
.fs-wizard-admin-hero p { max-width: 760px; margin: 10px 0 0; color: var(--fs-muted); }
.fs-wizard-admin-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: 18px; align-items: start; }
.fs-wizard-admin-card { overflow: hidden; border: 1px solid var(--fs-line); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: 0 20px 55px rgba(23,32,51,.08); }
.fs-wizard-admin-card-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 20px 22px; border-bottom: 1px solid var(--fs-line); }
.fs-wizard-admin-card-head span { display: block; color: var(--fs-clay); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.fs-wizard-admin-card-head h2 { margin: 4px 0 0; font-size: 1.2rem; }
.fs-wizard-admin-card-head > strong, .fs-wizard-admin-card-head > button { padding: 8px 12px; border: 0; border-radius: 999px; color: #8d451e; background: #fff0df; font: inherit; font-size: .68rem; font-weight: 850; cursor: pointer; }
.fs-wizard-admin-kit-list { display: grid; gap: 8px; padding: 14px; }
.fs-wizard-admin-kit { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid rgba(23,32,51,.07); border-radius: 16px; background: #fafaf8; }
.fs-wizard-admin-kit.is-disabled { border-style: dashed; background: #f3f2ee; opacity: .78; }
.fs-wizard-admin-kit strong, .fs-wizard-admin-kit small { display: block; }
.fs-wizard-admin-kit small { margin-top: 3px; color: var(--fs-muted); font-size: .62rem; }
.fs-wizard-admin-kit button { min-height: 32px; padding: 0 10px; border: 0; border-radius: 9px; color: #8f431f; background: #fff0df; font: inherit; font-size: .62rem; font-weight: 800; cursor: pointer; }
.fs-wizard-admin-kit form button { color: #923d2c; background: #ffe9e3; }
.fs-wizard-admin-kit.is-disabled form button { color: #1f665d; background: #def2ec; }
.fs-wizard-admin-empty { margin: 0; padding: 18px; color: var(--fs-muted); text-align: center; }
.fs-wizard-admin-editor form { display: grid; gap: 16px; padding: 20px 22px 24px; }
.fs-wizard-admin-editor label { display: grid; gap: 6px; }
.fs-wizard-admin-editor label > span { color: #556178; font-size: .62rem; font-weight: 800; }
.fs-wizard-admin-editor input, .fs-wizard-admin-editor select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--fs-line); border-radius: 12px; color: var(--fs-ink); background: #fff; font: inherit; font-size: .7rem; }
.fs-wizard-admin-parts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.fs-wizard-admin-editor form > p { margin: 0; color: var(--fs-muted); font-size: .64rem; line-height: 1.55; }
@media (max-width:900px) { .fs-wizard-admin-grid { grid-template-columns: 1fr; } }
@media (max-width:620px) { .fs-wizard-admin-hero { align-items: stretch; flex-direction: column; } .fs-wizard-admin-parts { grid-template-columns: 1fr; } .fs-wizard-admin-kit { grid-template-columns: auto minmax(0,1fr); } .fs-wizard-admin-kit > button, .fs-wizard-admin-kit > form { grid-row: 2; } }

@media (max-width: 1120px) {
    .fs-workbench { grid-template-columns: 1fr; }
    .fs-color-lab-grid { grid-template-columns: 1fr; }
    .fs-preview-column { position: relative; top: auto; }
    .fs-generation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-stand-workspace { grid-template-columns: 1fr; }
    .fs-stand-viewport { min-height: 620px; }
    .fs-stand-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-stand-kit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-stand-color-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-stand-kits, .fs-stand-content-panel, .fs-stand-object-panel, .fs-stand-palette, .fs-stand-proof { grid-column: 1/-1; }
}

@media (max-width: 760px) {
    .fs-shell { width: min(100% - 18px,1480px); padding-top: 104px; }
    .fs-hero { grid-template-columns: 1fr; padding: 28px 22px; border-radius: 28px; }
    .fs-hero h1 { font-size: clamp(2.7rem,14vw,4.4rem); }
    .fs-panel, .fs-preview-card, .fs-history, .fs-color-lab, .fs-stand-lab { padding: 20px; border-radius: 24px; }
    .fs-color-lab-head { align-items: stretch; flex-direction: column; }
    .fs-stock-counter { min-width: 0; }
    .fs-image-picker-card, .fs-match-card { padding: 16px; border-radius: 20px; }
    .fs-image-stage { min-height: 250px; }
    .fs-picker-actions { grid-template-columns: 1fr; }
    .fs-picker-actions .fs-button { width: 100%; }
    .fs-match-summary { grid-template-columns: 1fr; }
    .fs-match-arrow { transform: rotate(90deg); text-align: center; }
    .fs-panel-head--split { grid-template-columns: 46px 1fr; }
    .fs-count-field { grid-column: 1/-1; }
    .fs-fields--three, .fs-fields--four, .fs-filament-grid, .fs-pattern-row, .fs-generation-grid { grid-template-columns: 1fr; }
    .fs-filament-card { grid-template-columns: 1fr 74px 92px; }
    .fs-submit-zone, .fs-success, .fs-section-title { align-items: stretch; flex-direction: column; }
    .fs-submit-zone { display: grid; }
    .fs-submit-zone .fs-button { width: 100%; }
    .fs-generation-preview img { height: auto; }
    .fs-stand-head { align-items: stretch; flex-direction: column; }
    .fs-stand-dimensions { min-width: 0; }
    .fs-stand-workspace { min-height: 0; border-radius: 22px; }
    .fs-stand-viewport { min-height: 500px; }
    .fs-stand-controls { display: flex; max-height: none; padding: 16px; }
    .fs-stand-content-panel { grid-template-columns: 1fr; width: min(480px,calc(100vw - 20px)); max-height: calc(100vh - 20px); overflow-y: auto; }
    .fs-stand-context-preview { grid-column: 1; grid-row: 2; min-height: 230px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .fs-stand-content-panel > [data-stand-context], .fs-stand-content-panel > .fs-stand-nfc-editor { grid-column: 1; grid-row: 3; align-self: stretch; max-height: none; overflow: visible; }
    .fs-stand-context-preview > div { right: 10px; bottom: 10px; left: 10px; }
    .fs-stand-context-preview small { display: none; }
    .fs-stand-actions { grid-template-columns: 1fr; }
    .fs-stand-kit-grid { grid-template-columns: 1fr; }
    .fs-stand-kit-creator { grid-template-columns: 1fr; }
    .fs-stand-kit-creator > button { width: 100%; }
    .fs-stand-help { right: 10px; bottom: 10px; left: 10px; text-align: center; }
    .fs-stand-nfc-logo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .fs-stand-nfc-picker-head { align-items: stretch; flex-direction: column; }
    .fs-stand-nfc-picker-actions { display: grid; grid-template-columns: 1fr auto; }
    .fs-stand-nfc-picker-actions .fs-button { justify-content: center; text-align: center; }
    .fs-wizard-header, .fs-wizard-intro { align-items: stretch; flex-direction: column; }
    .fs-wizard-header nav { display: grid; grid-template-columns: 1fr 1fr; }
    .fs-wizard-header .fs-button { width: 100%; }
    .fs-wizard-intro { padding: 24px 22px; }
    .fs-wizard-body:not(.is-embedded) .fs-wizard-shell { padding-top: 24px; }
}


@media (max-width: 480px) {
    .fs-stand-nfc-card { grid-template-columns: 1fr; }
    .fs-stand-nfc-logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fs-stand-nfc-picker-actions { grid-template-columns: 1fr; }
}
.fs-stand-question[hidden]{display:none!important}.fs-stand-question.is-active{animation:wp-question-in .28s ease both}.fs-stand-progress{margin-bottom:2px}.fs-stand-guide-card{display:grid;gap:14px;padding:20px;border:1px solid rgba(15,23,42,.09);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 12px 28px rgba(15,23,42,.06)}.fs-stand-guide-card h2{margin:0;font-family:"Playfair Display",serif;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.05}.fs-stand-guide-card>p{margin:0;color:#677083;font-size:.75rem;line-height:1.55}.fs-stand-guide-choice{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid rgba(15,23,42,.1);border-radius:18px;color:#172033;text-align:left;background:#f8f8f5;cursor:pointer}.fs-stand-guide-choice>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#143d59,#d76a2b);font-weight:900}.fs-stand-guide-choice div{display:grid;gap:3px}.fs-stand-guide-choice small,.fs-stand-guide-status{color:#788092;font-size:.65rem}.fs-stand-guide-choice>b{color:#d66022;font-size:.68rem}.fs-stand-guide-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.fs-stand-guide-buttons button{min-height:48px;border:1px solid rgba(15,23,42,.1);border-radius:15px;color:#172033;background:#fff;font-weight:800;cursor:pointer}.fs-stand-quantity-grid button span{grid-column:1/-1}.fs-stand-price-card{display:grid!important;grid-template-columns:1fr!important;gap:8px;margin-top:2px}.fs-stand-step-actions{position:sticky;z-index:8;bottom:6px;padding:7px;border-radius:999px;background:rgba(246,243,236,.92);backdrop-filter:blur(12px)}.fs-stand-final-summary{margin-bottom:16px}.fs-stand-final-summary button{min-width:0}.fs-stand-final-summary+ .fs-wizard-quote-summary{margin-top:0}

@media(max-width:600px){.fs-stand-guide-card{padding:16px}.fs-stand-guide-buttons{grid-template-columns:1fr}.fs-stand-guide-choice{grid-template-columns:42px minmax(0,1fr)}.fs-stand-guide-choice>span{width:42px;height:42px}.fs-stand-guide-choice>b{grid-column:2}.fs-stand-final-summary{grid-template-columns:1fr 1fr}}

.fs-stand-lab.is-guided-focus .fs-stand-workspace{grid-template-columns:1fr;overflow:visible;background:rgba(250,248,242,.98)}.fs-stand-lab.is-guided-focus .fs-stand-viewport{min-height:clamp(430px,58vh,620px);border-radius:30px 30px 0 0}.fs-stand-lab.is-guided-focus .fs-stand-controls{max-height:none;overflow:visible;border-radius:0 0 30px 30px}.fs-stand-inline-editor-host:empty{display:none}.fs-stand-content-panel.is-inline{position:relative;top:auto;left:auto;z-index:1;display:block;width:100%;max-height:none;overflow:visible;border:0;border-radius:18px;background:transparent;box-shadow:none;transform:none;animation:none}.fs-stand-content-panel.is-inline>header,.fs-stand-content-panel.is-inline>.fs-stand-context-preview{display:none}.fs-stand-content-panel.is-inline>[data-stand-context]{display:grid;max-height:none;margin:0;overflow:visible}.fs-stand-content-panel.is-inline .fs-stand-logo-editor,.fs-stand-content-panel.is-inline .fs-stand-qr-editor{margin:0}.fs-stand-logo-library{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.fs-stand-logo-library button{display:grid;gap:7px;justify-items:center;padding:10px 6px;border:1px solid rgba(23,32,51,.09);border-radius:15px;color:#172033;background:#fff;font:inherit;font-size:.58rem;font-weight:800;cursor:pointer}.fs-stand-logo-library button:hover,.fs-stand-logo-library button.is-active{border-color:#16796f;background:#eef8f5;box-shadow:inset 0 0 0 1px #16796f}.fs-stand-logo-library img{width:34px;height:34px;object-fit:contain}.fs-stand-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fs-stand-action-grid article{overflow:hidden;border:1px solid rgba(23,32,51,.09);border-radius:17px;background:#fff}.fs-stand-action-grid article>label{display:grid;grid-template-columns:auto 34px minmax(0,1fr);gap:9px;align-items:center;padding:11px;cursor:pointer}.fs-stand-action-grid article:has(input[type="checkbox"]:checked){border-color:#16796f;background:#f1faf7;box-shadow:inset 0 0 0 1px #16796f}.fs-stand-action-grid input[type="checkbox"]{width:18px;height:18px;accent-color:#16796f}.fs-stand-action-grid img{width:34px;height:34px;object-fit:contain}.fs-stand-action-grid strong,.fs-stand-action-grid small{display:block}.fs-stand-action-grid strong{font-size:.68rem}.fs-stand-action-grid small{margin-top:2px;color:#737d8f;font-size:.56rem}.fs-stand-action-grid [data-stand-action-fields]{display:grid;gap:8px;padding:0 11px 11px}.fs-stand-action-grid [data-stand-action-fields][hidden]{display:none}.fs-stand-action-grid [data-stand-action-fields] label{display:grid;gap:4px;color:#4d586c;font-size:.58rem;font-weight:800}.fs-stand-action-grid [data-stand-action-fields] input,.fs-stand-action-grid [data-stand-action-fields] select{width:100%;min-height:39px;padding:0 10px;border:1px solid rgba(23,32,51,.12);border-radius:10px;color:#172033;background:#fff;font:inherit;font-size:.62rem}.fs-stand-action-error{min-height:18px;margin:0;color:#a4471d;font-size:.62rem;font-weight:800}.fs-stand-controls>.fs-wizard-recap.is-inline-recap{margin:0;padding:20px;border-radius:22px;box-shadow:none}.fs-stand-controls>.fs-wizard-recap.is-inline-recap .fs-wizard-recap-grid{grid-template-columns:1fr}.fs-stand-controls>.fs-wizard-recap.is-inline-recap .fs-wizard-recap-visual{display:none}.fs-stand-controls>.fs-wizard-recap.is-inline-recap>header{display:grid;gap:10px;margin-bottom:16px}.fs-stand-controls>.fs-wizard-recap.is-inline-recap h2{font-size:1.6rem}.fs-stand-controls>.fs-wizard-recap.is-inline-recap form{gap:14px}

@media(max-width:760px){.fs-stand-lab.is-guided-focus .fs-stand-viewport{min-height:430px}.fs-stand-logo-library{grid-template-columns:repeat(3,minmax(0,1fr))}.fs-stand-action-grid{grid-template-columns:1fr}.fs-stand-controls>.fs-wizard-recap.is-inline-recap{padding:15px}.fs-stand-final-summary{grid-template-columns:1fr 1fr}}

@media(max-width:760px){.fs-stand-qr-editor .wp-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-stand-qr-editor .fs-stand-qr-colors{grid-template-columns:1fr}}
