.formal-product-center { color: var(--text, #172033); }
.formal-product-head { display:flex; justify-content:space-between; gap:24px; padding:28px; border:1px solid var(--line,#f0dfdc); border-radius:18px; color:var(--text,#2d2024); background:linear-gradient(135deg,#fff4f7,#fffaf5); box-shadow:0 10px 28px rgba(100,54,61,.08); }
.formal-product-head p,.formal-drawer header>div>span { margin:0 0 7px; font-size:12px; letter-spacing:.16em; color:var(--brand,#8d3148); }
.formal-product-head h2,.formal-drawer h2 { margin:0; font-size:25px; }
.formal-product-head>div>span { display:block; margin-top:8px; max-width:740px; color:var(--muted,#8e7a80); }
.formal-product-head.formal-product-head-compact { align-items:center; padding:14px 18px; border-radius:10px; }
.formal-product-head.formal-product-head-compact h2 { font-size:19px; }
.formal-product-head.formal-product-head-compact>div>span { margin-top:3px; font-size:12px; }
.formal-product-head nav,.formal-drawer footer { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.formal-product-center button { border:1px solid #dfcfd3; border-radius:9px; padding:8px 13px; background:#fff; color:var(--brand,#8d3148); cursor:pointer; }
.formal-product-head button { border-color:#dfc5ca; background:#fff; color:var(--brand,#8d3148); }
.formal-product-head button:hover { border-color:var(--brand,#8d3148); background:#fff7f9; }
.formal-product-head button.formal-return-button { border-color:var(--brand,#8d3148); font-weight:700; box-shadow:0 4px 12px rgba(141,49,72,.08); }
.formal-product-center button.primary,.formal-product-head button.primary { border-color:var(--brand,#8d3148); background:var(--brand,#8d3148); color:#fff; }
.formal-product-head-actions { justify-content:flex-end; }
.formal-product-head-actions .formal-product-quiet-action { border-color:transparent; background:transparent; color:#765f66; }
.formal-product-maintenance { position:relative; }
.formal-product-maintenance>summary { display:flex; min-height:35px; align-items:center; gap:7px; box-sizing:border-box; padding:8px 13px; border:1px solid #dfc5ca; border-radius:9px; color:var(--brand,#8d3148); background:#fff; cursor:pointer; list-style:none; white-space:nowrap; }
.formal-product-maintenance>summary::-webkit-details-marker { display:none; }
.formal-product-maintenance>summary span { transition:transform .18s ease; }
.formal-product-maintenance[open]>summary { border-color:var(--brand,#8d3148); background:#fff7f9; }
.formal-product-maintenance[open]>summary span { transform:rotate(180deg); }
.formal-product-maintenance>div { position:absolute; z-index:15; top:calc(100% + 7px); right:0; display:grid; min-width:170px; overflow:hidden; padding:6px; border:1px solid #ead9dd; border-radius:9px; background:#fff; box-shadow:0 12px 28px rgba(70,38,48,.16); }
.formal-product-maintenance>div>button { width:100%; border:0; padding:9px 10px; background:transparent; text-align:left; white-space:nowrap; }
.formal-product-maintenance>div>button:hover { background:#fff4f7; }
.formal-product-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0; }
.formal-product-kpis article,.formal-product-card,.formal-product-unavailable { border:1px solid #eadfdf; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(100,54,61,.06); }
.formal-product-kpis article { padding:17px; }
.formal-product-kpis span,.formal-product-kpis small { display:block; color:#6b7c83; }
.formal-product-kpis strong { display:block; margin:5px 0; font-size:25px; }
.formal-product-card { overflow:hidden; }
.formal-product-filters { display:grid; grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(135px,.8fr)) auto; gap:10px; padding:16px; border-bottom:1px solid #e5ecee; }
.formal-product-center input,.formal-product-center select,.formal-product-center textarea { width:100%; box-sizing:border-box; border:1px solid #dfd2d5; border-radius:8px; padding:9px 10px; background:#fff; color:#2d2024; font:inherit; }
.formal-table-wrap { overflow:auto; }
.formal-product-card table { width:100%; border-collapse:collapse; min-width:1050px; }
.formal-product-card th,.formal-product-card td { padding:13px 12px; text-align:left; border-bottom:1px solid #edf1f2; vertical-align:middle; }
.formal-product-card th { color:#765f66; font-weight:600; background:#fff7f8; }
.formal-product-card td b,.formal-product-card td small { display:block; }
.formal-product-card td small { margin-top:4px; color:#819097; }
.formal-chip { display:inline-flex; padding:4px 8px; border-radius:999px; background:#e4f5f1; color:#0a6e66; }
.formal-chip.warn { background:#fff1d7; color:#9a6200; }
.formal-empty { padding:28px !important; text-align:center !important; color:#77878d; }
.formal-product-unavailable { margin-top:18px; padding:28px; border-color:#eabf93; background:#fffaf4; }
.formal-product-unavailable strong { font-size:18px; color:#8d4b14; }
.formal-loading { margin-top:18px; padding:36px; border-radius:14px; background:#fff; text-align:center; color:#765f66; }
.formal-drawer-backdrop { position:fixed; inset:0; z-index:1200; display:flex; justify-content:flex-end; background:rgba(45,32,36,.44); backdrop-filter:blur(2px); }
.formal-drawer { width:min(760px,94vw); height:100%; overflow:auto; border-left:1px solid #eadfdf; background:#fbf7f4; box-shadow:-18px 0 48px rgba(70,38,48,.22); }
.formal-drawer>header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; gap:20px; padding:22px 25px; color:#2d2024; border-bottom:1px solid #eadfdf; background:linear-gradient(135deg,#fff4f7,#fffaf5); }
.formal-drawer>header p { margin:6px 0 0; color:#8e7a80; }
.formal-drawer>header>button { width:34px; height:34px; padding:0; border:1px solid #dfcfd3; font-size:22px; color:#765f66; background:#fff; }
.formal-drawer form>footer,.formal-drawer>footer { position:sticky; bottom:0; justify-content:flex-end; padding:15px 24px; border-top:1px solid #dce5e7; background:#fff; }
.formal-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:24px; }
.formal-form-grid label>span { display:block; margin-bottom:6px; color:#765f66; }
.formal-form-grid .wide,.formal-attribute-fields { grid-column:1/-1; }
.formal-attribute-fields { padding-top:15px; border-top:1px solid #dce5e7; }
.formal-attribute-fields>header { display:flex; justify-content:space-between; margin-bottom:12px; }
.formal-attribute-fields>header span { color:#728288; }
.formal-attribute-fields>div { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.formal-detail { padding:24px; }
.formal-detail>section { margin-bottom:14px; padding:18px; border:1px solid #eadfdf; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(100,54,61,.035); }
.formal-detail h3 { margin:0 0 13px; }
.formal-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }
.formal-detail dl div { padding:10px; border-radius:8px; background:#fff7f8; }
.formal-detail dt { color:#8e7a80; }
.formal-detail dd { margin:4px 0 0; }
.formal-tags { display:flex; flex-wrap:wrap; gap:8px; }
.formal-tags span { display:inline-flex; align-items:center; gap:5px; padding:7px 9px; border-radius:8px; background:#fff1f4; }
.formal-tags span.is-disabled { color:#907e84; background:#f2eeee; }
.formal-tags span button { padding:2px 6px; border:0; color:var(--brand,#8d3148); background:transparent; font-size:11px; }
.formal-detail ol { margin:0; padding-left:20px; }
.formal-detail li { padding:6px; }
.formal-detail li span { margin-left:8px; color:#7b898e; }
.formal-sku-management>header { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:12px; }
.formal-sku-management>header h3 { margin-bottom:4px; }
.formal-sku-management>header p { margin:0; color:#806d73; font-size:12px; line-height:1.55; }
.formal-sku-management>header>span { flex:none; padding:5px 9px; border-radius:999px; color:#8d3148; background:#fff0f3; font-size:12px; }
.formal-sku-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.formal-sku-list article { padding:10px; border:1px solid #eee1e3; border-radius:8px; background:#fffafa; }
.formal-sku-list article>div:first-child { display:flex; justify-content:space-between; gap:8px; }
.formal-sku-list article b { overflow-wrap:anywhere; font-size:13px; }
.formal-sku-list article small { flex:none; color:#927e84; }
.formal-sku-list .formal-tags { margin-top:8px; }
.formal-sku-editor { margin-top:11px; border:1px solid #eadcdf; border-radius:9px; background:#fff; }
.formal-sku-editor>summary { padding:10px 12px; color:#8d3148; cursor:pointer; font-weight:700; }
.formal-sku-editor .formal-form-grid { padding:12px; }
.formal-sku-editor form>footer { position:static; padding:10px 12px; }
.formal-composition-list { margin-top:14px; padding-top:12px; border-top:1px dashed #e9dadd; }
.formal-composition-list h4 { margin:0 0 8px; }
.formal-composition-list article { padding:9px 11px; border:1px solid #e5ece8; border-radius:8px; background:#f7fbf8; }
.formal-composition-list article+article { margin-top:7px; }
.formal-composition-list article>div { display:flex; justify-content:space-between; gap:10px; }
.formal-composition-list article span,.formal-composition-list article p { color:#66766d; font-size:12px; }
.formal-composition-list article p { margin:6px 0 0; overflow-wrap:anywhere; }
.formal-composition-list article footer { display:flex; gap:8px; justify-content:flex-end; margin-top:9px; }
.formal-composition-list article footer button { padding:6px 10px; }
.formal-composition-review-reason { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; margin-top:9px; }
.formal-composition-review-reason>span { white-space:nowrap; font-weight:700; color:#5f323d !important; }
.formal-composition-review-reason input { width:100%; min-width:0; padding:7px 9px; border:1px solid #e0c6cc; border-radius:7px; background:#fff; color:#332629; }
.formal-composition-review-reason input:focus { outline:2px solid rgba(151,48,72,.16); border-color:#a63a54; }
.formal-composition-review>h4 { display:flex; align-items:center; gap:7px; }
.formal-composition-review>h4 span { display:inline-flex; min-width:22px; height:22px; align-items:center; justify-content:center; border-radius:999px; color:#8d3148; background:#fff0f3; font-size:11px; }
.formal-composition-list article.composition-pending { border-color:#eccb83; background:#fffaf0; }
.formal-composition-list article.composition-rejected { border-color:#efd8dc; background:#fff7f8; }
.formal-composition-list article.composition-retired { border-color:#e2e2e2; background:#f8f8f8; }
.formal-composition-list .formal-validation-blocked { color:#b34730; font-weight:700; }
.formal-composition-list .formal-validation-ok { color:#218553; }
.formal-composition-list .formal-validation-warning { color:#a36a13; }
.formal-composition-history { margin-top:10px; border:1px solid #eee1e3; border-radius:8px; }
.formal-composition-history>summary { padding:9px 11px; color:#806d73; cursor:pointer; }
.formal-composition-history .formal-composition-list { margin:0; padding:0 10px 10px; border:0; }
.formal-composition-preview { margin:0 12px 4px; padding:10px; border:1px dashed #decdd1; border-radius:8px; background:#fffafa; }
.formal-composition-preview>p { margin:0; color:#806d73; font-size:12px; }
.formal-composition-preview section>header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.formal-composition-preview section>header span { color:#6d8074; font-size:11px; }
.formal-composition-preview section>p { margin:7px 0 0; font-size:12px; }
.formal-composition-preview section.is-pass { border-left:3px solid #2b9360; padding-left:9px; }
.formal-composition-preview section.is-blocked { border-left:3px solid #c27a24; padding-left:9px; }
.formal-composition-diff { display:grid; gap:5px; margin-top:9px; padding:8px; border-radius:7px; background:#fff; }
.formal-composition-diff b,.formal-composition-diff span { font-size:12px; overflow-wrap:anywhere; }
.formal-composition-diff span { color:#67575c; }
.formal-component-grid { grid-template-columns:1fr !important; }
.formal-component-grid label { display:grid; grid-template-columns:auto 1fr 88px; gap:8px; align-items:center; padding:7px 9px; border:1px solid #eee4e5; border-radius:7px; background:#fffafa; }
.formal-component-grid label>span { margin:0; overflow-wrap:anywhere; color:#4e3d43; }
.formal-component-grid input[type="number"] { min-width:0; }
.formal-composition-picker>header { align-items:flex-start; gap:12px; }
.formal-composition-picker>header span { max-width:58%; text-align:right; font-size:12px; line-height:1.45; }
.formal-composition-picker>.formal-composition-search { display:grid; grid-template-columns:1fr auto; gap:8px; margin-bottom:12px; }
.formal-composition-search button { white-space:nowrap; }
.formal-composition-picker>.formal-composition-picker-columns { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.formal-composition-picker-columns>section { min-width:0; padding:10px; border:1px solid #eee1e3; border-radius:8px; background:#fffafa; }
.formal-composition-picker-columns h5 { margin:0 0 8px; color:#765f66; }
.formal-component-results,.formal-component-selected { display:grid; grid-template-columns:1fr !important; gap:7px !important; max-height:270px; overflow:auto; }
.formal-component-results article { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; padding:7px 8px; border:1px solid #eee4e5; border-radius:7px; background:#fff; }
.formal-component-results article span { min-width:0; overflow-wrap:anywhere; color:#4e3d43; font-size:12px; line-height:1.4; }
.formal-component-results article button,.formal-component-selected label button { padding:5px 8px; white-space:nowrap; }
.formal-component-selected label { grid-template-columns:1fr 76px auto; background:#fff; }
.formal-component-selected .formal-empty,.formal-component-results .formal-empty { padding:16px 8px !important; }
@media (max-width:680px) {
  .formal-composition-picker>.formal-composition-picker-columns { grid-template-columns:1fr; }
  .formal-composition-picker>.formal-composition-search { grid-template-columns:1fr; }
}
.formal-migration>main { padding:24px; }
.formal-migration-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.formal-migration-summary article { padding:13px; border-radius:10px; background:#fff1f4; }
.formal-migration-summary span,.formal-migration-summary strong { display:block; }
.formal-migration-summary strong { margin-top:4px; font-size:21px; }
.formal-migration-list { max-height:420px; overflow:auto; border:1px solid #dce5e7; border-radius:10px; background:#fff; }
.formal-migration-list div { display:grid; grid-template-columns:120px 1fr 1fr; gap:8px; padding:9px 12px; border-bottom:1px solid #edf1f2; }
.formal-migration-list em { color:#a36218; }
.formal-sheet-card { margin-top:18px; border-radius:10px; }
.formal-sheet-page { height:calc(100vh - 330px); min-height:470px; border:0; border-radius:0; background:#fff; }
.formal-sheet-page .aibos-pm-sheet { width:100%; }
.formal-sheet-page .aibos-pm-table textarea {
  width:calc(100% - 4px);
  height:53px;
  min-height:53px;
  max-height:53px;
  margin:2px;
  padding:0;
  border:1px solid #dfd2d5;
  border-radius:0;
  background:#fff;
  text-align:center;
  font:12px/1.2 Arial,"Microsoft YaHei",sans-serif;
}
.formal-sheet-page .aibos-pm-table textarea:focus { box-shadow:inset 0 0 0 2px rgba(141,49,72,.22); }
.formal-sheet-page .aibos-pm-table tr.is-dirty td:not(.aibos-pm-left-spacer):not(.aibos-pm-row-tools) { background:#fff6df; }
.formal-sheet-page .aibos-pm-actions { flex:0 0 auto; }
.formal-sheet-save-status { color:#76646a; font-size:12px; white-space:nowrap; }
.formal-sheet-page button:disabled { cursor:not-allowed; opacity:.45; }
.formal-sheet-asset { position:relative; display:grid; width:55px; height:55px; place-items:center; overflow:hidden; }
.formal-sheet-asset img { display:block; width:100%; height:100%; object-fit:contain; }
.formal-sheet-asset.is-offline { padding:3px; color:#9a858b; font-size:10px; line-height:1.15; }
.formal-sheet-empty { width:auto !important; max-width:none !important; color:#8b777e; }
.formal-legacy-table-shell { margin-top:10px; overflow:hidden; border:1px solid #eadfdf; border-radius:9px; background:#fff; }
.formal-product-table-controls { display:grid; grid-template-columns:minmax(230px,1.8fr) repeat(4,minmax(118px,1fr)) auto; gap:10px; align-items:end; padding:12px 14px; border-bottom:1px solid #f0dfdc; background:#fffafa; }
.formal-product-table-controls label { min-width:0; }
.formal-product-table-controls label>span { display:block; margin-bottom:3px; color:#8d7880; font-size:11px; }
.formal-product-table-controls input,.formal-product-table-controls select { height:36px; min-height:36px; padding:6px 9px; border-radius:7px; font-size:12px; }
.formal-product-control-actions { display:flex; gap:5px; align-items:center; }
.formal-product-control-actions button { min-height:36px; padding:6px 11px; border-radius:7px; white-space:nowrap; }
.formal-product-control-actions .formal-product-reset-action { border-color:transparent; background:transparent; color:#765f66; }
.formal-product-import-draft-notice { display:flex; align-items:center; gap:9px; min-height:32px; padding:6px 10px; border-bottom:1px solid #eed9ab; color:#805d16; background:#fff8df; font-size:12px; }
.formal-product-import-draft-notice span { color:#947842; }
.formal-legacy-table-status { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; padding:5px 14px; border-bottom:1px solid #f0dfdc; color:#765f66; font-size:12px; }
.formal-legacy-table-status em { color:#99868b; font-style:normal; }
.formal-legacy-table-status>div { display:flex; align-items:center; gap:8px; }
.formal-legacy-table-status button { padding:5px 10px; border-radius:7px; font-size:12px; }
.formal-legacy-table-status button:disabled { cursor:not-allowed; opacity:.45; }
.formal-product-page-count { min-width:72px; color:#765f66; text-align:center; white-space:nowrap; }
.formal-product-import { width:min(900px,96vw); }
.formal-product-import>main { display:grid; gap:14px; padding:20px 24px; }
.formal-product-import-loading { min-height:180px; place-items:center; color:#765f66; }
.formal-product-import-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.formal-product-import-summary article { padding:12px; border:1px solid #eadfdf; border-radius:9px; background:#fff; }
.formal-product-import-summary article.is-ok { border-color:#a9ddc9; background:#f1fbf7; }
.formal-product-import-summary article.is-create { border-color:#b8d5ee; background:#f2f8fd; }
.formal-product-import-summary article.is-warn { border-color:#efc0c9; background:#fff3f5; }
.formal-product-import-summary span,.formal-product-import-summary strong { display:block; }
.formal-product-import-summary span { color:#8d7880; font-size:12px; }
.formal-product-import-summary strong { margin-top:4px; color:#35272c; font-size:23px; }
.formal-product-import-rules { display:grid; gap:5px; padding:11px 13px; border:1px solid #eadfdf; border-radius:9px; background:#fffafa; font-size:12px; }
.formal-product-import-rules span { color:#765f66; }
.formal-product-import-rules em { color:#a15c18; font-style:normal; }
.formal-product-import-mapping { display:grid; gap:8px; padding:11px 13px; border:1px solid #dbe8ef; border-radius:9px; background:#f7fbfd; font-size:12px; }
.formal-product-import-mapping>div { display:flex; flex-wrap:wrap; gap:6px; }
.formal-product-import-mapping span { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border:1px solid #d7e5ec; border-radius:6px; color:#4f626b; background:#fff; }
.formal-product-import-mapping span em { color:#842a43; font-style:normal; font-weight:700; }
.formal-product-import-mapping span i { color:#a18f95; font-style:normal; }
.formal-product-import-mapping p { margin:0; color:#a15c18; }
.formal-product-import-create-settings { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; padding:12px 13px; border:1px solid #dce6cf; border-radius:9px; background:#fbfdf8; }
.formal-product-import-create-settings>div,.formal-product-import-create-settings>p { grid-column:1/-1; }
.formal-product-import-create-settings>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.formal-product-import-create-settings>div span,.formal-product-import-create-settings>p { color:#786f59; font-size:11px; }
.formal-product-import-create-settings label { display:grid; gap:4px; min-width:0; color:#765f66; font-size:11px; }
.formal-product-import-create-settings select { width:100%; min-height:34px; padding:5px 7px; border:1px solid #dfd8c8; border-radius:7px; background:#fff; color:#453b35; }
.formal-product-import-create-settings>p { margin:0; padding-top:3px; color:#9b681b; }
.formal-product-import-list { max-height:430px; overflow:auto; border:1px solid #eadfdf; border-radius:9px; background:#fff; }
.formal-product-import-list>div { display:grid; grid-template-columns:64px minmax(130px,.8fr) minmax(150px,1fr) minmax(220px,1.4fr); gap:10px; align-items:center; padding:8px 10px; border-bottom:1px solid #f2e8e8; font-size:12px; }
.formal-product-import-list>div:last-child { border-bottom:0; }
.formal-product-import-list>div.is-head { position:sticky; top:0; z-index:1; color:#765f66; background:#fff4f6; font-weight:700; }
.formal-product-import-list b,.formal-product-import-list small { display:block; }
.formal-product-import-list small { margin-top:3px; color:#948087; }
.formal-product-import-list i { display:inline-flex; padding:3px 7px; border-radius:999px; font-style:normal; }
.formal-product-import-list i.is-matched { color:#0b7460; background:#e6f7f1; }
.formal-product-import-list i.is-unmatched { color:#996315; background:#fff1d7; }
.formal-product-import-list i.is-conflict { color:#a52d45; background:#fde6eb; }
.formal-category-settings { width:min(560px,94vw); }
.formal-category-settings form>main { display:grid; gap:10px; padding:20px 24px; }
.formal-category-toolbar { display:grid; grid-template-columns:1fr auto; gap:10px; padding:20px 24px 0; }
.formal-category-settings form>main>label { display:grid; grid-template-columns:22px minmax(130px,.7fr) minmax(200px,1.2fr) auto; gap:12px; align-items:center; padding:10px 12px; border:1px solid #eadfdf; border-radius:9px; background:#fff; }
.formal-category-settings form>main>label.is-dragging { opacity:.45; border-color:var(--brand,#8d3148); }
.formal-category-settings label>i { color:#a58f95; font-style:normal; cursor:grab; user-select:none; }
.formal-category-settings label>button { padding:6px 9px; }
.toast,.toast-container,#toast { z-index:1600 !important; }
.formal-category-settings label>span { display:flex; flex-direction:column; gap:3px; min-width:0; }
.formal-category-settings label b { overflow:hidden; color:#765f66; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.formal-category-settings label small { color:#a08d93; }
.formal-legacy-table-shell .aibos-pm-page { height:calc(100vh - 335px); min-height:430px; border:0; border-radius:0; }
.formal-legacy-table-shell .aibos-pm-sheet { width:100%; }
.formal-legacy-table-shell .aibos-pm-table { width:100%; min-width:1748px; }
.formal-legacy-table-shell .aibos-pm-table .aibos-pm-data-col { width:auto !important; min-width:57px !important; max-width:none !important; }
.formal-legacy-table-shell .aibos-pm-table th:not(.aibos-pm-left-spacer-head):not(.aibos-pm-control-head),
.formal-legacy-table-shell .aibos-pm-table td:not(.aibos-pm-left-spacer):not(.aibos-pm-row-tools) { width:auto; min-width:57px; max-width:none; }
.formal-legacy-table-shell .aibos-pm-table textarea { width:calc(100% - 4px); }
.formal-legacy-table-shell .aibos-pm-image-cell { width:100%; }
.aibos-pm-storage-offline { display:grid; place-items:center; color:#9a858b; font-size:10px; line-height:1.15; text-align:center; }
.formal-product-section-tabs { display:flex; gap:4px; margin:0 0 10px; padding:4px; border:1px solid #eadfdf; border-radius:9px; background:#fff; }
.formal-product-section-tabs button { padding:7px 15px; border:0; border-radius:6px; color:#745e65; background:transparent; }
.formal-product-section-tabs button.is-active { color:#fff; background:var(--brand,#8d3148); box-shadow:0 4px 12px rgba(141,49,72,.18); }
.formal-product-command-bar { width:100%; max-width:100%; align-items:center !important; overflow:visible !important; }
.formal-product-command-actions { display:flex; flex:0 0 auto; align-items:center; gap:6px; min-width:max-content; margin-left:auto; font-size:14px; }
.formal-product-command-actions>button,
.formal-product-command-actions .formal-product-maintenance>summary,
.formal-product-ledger-state { display:inline-flex; min-height:36px; height:36px; align-items:center; justify-content:center; box-sizing:border-box; border-radius:9px; padding:0 8px; font-size:14px; font-weight:600; line-height:1.2; white-space:nowrap; }
.formal-product-command-actions>button { border:1px solid #dfc5ca; background:#fff; }
.formal-product-command-actions>button:hover { border-color:var(--brand,#8d3148); background:#fff7f9; }
.formal-product-command-actions>button.formal-product-quiet-action { border-color:transparent; color:#765f66; background:transparent; }
.formal-product-ledger-state { color:var(--brand,#8d3148); background:#f9ebee; }
.formal-product-command-actions .formal-product-maintenance>summary { min-height:36px; height:36px; padding:0 8px; font-size:14px; }
.formal-product-command-actions .formal-product-maintenance>div { top:calc(100% + 8px); }
.formal-code-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:0 0 12px; }
.formal-code-kpis article { display:flex; align-items:center; gap:13px; min-height:72px; padding:13px 16px; border:1px solid #eadfdf; border-radius:10px; background:#fff; box-shadow:0 5px 16px rgba(100,54,61,.05); }
.formal-code-kpis i { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:50%; color:var(--brand,#8d3148); background:#fbe7ec; font-size:18px; font-style:normal; font-weight:700; }
.formal-code-kpis span,.formal-code-kpis strong { display:block; }
.formal-code-kpis span { color:#89757b; font-size:12px; }
.formal-code-kpis strong { margin-top:3px; color:#2c2024; font-size:24px; }
.formal-code-workspace { display:grid; grid-template-columns:minmax(0,2.25fr) minmax(330px,.85fr); gap:12px; align-items:stretch; }
.formal-code-workspace>aside { display:grid; gap:12px; }
.formal-code-card { overflow:hidden; border:1px solid #eadfdf; border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(100,54,61,.05); }
.formal-code-card>header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:13px 15px 9px; }
.formal-code-card h3 { margin:0; color:#35272c; font-size:16px; }
.formal-code-card header p { margin:3px 0 0; color:#9a878c; font-size:12px; }
.formal-code-filters { display:flex; flex-wrap:nowrap; gap:6px; align-items:flex-end; padding:8px 10px 11px; overflow-x:auto; border-bottom:1px solid #f0e7e7; }
.formal-code-filters label { flex:1 1 86px; min-width:72px; }
.formal-code-filters label:nth-child(4),.formal-code-filters label:nth-child(6),.formal-code-filters label:nth-child(7) { flex:.72 1 70px; }
.formal-code-filters label>span { display:block; margin-bottom:4px; color:#8c787e; font-size:12px; }
.formal-code-filters input,.formal-code-filters select { min-height:34px; padding:7px 7px; font-size:12px; }
.formal-code-filters>button { flex:0 0 auto; min-height:34px; padding:7px 8px; white-space:nowrap; }
.formal-code-search { position:relative; }
.formal-code-search span { position:absolute; right:10px; bottom:8px; color:#9b888e; font-size:16px; }
.formal-code-search input { padding-right:28px; }
.formal-code-filters .formal-code-export { justify-self:stretch; }
.formal-code-ledger { display:flex; min-width:0; height:100%; flex-direction:column; }
.formal-code-table-wrap { flex:1 1 auto; min-height:435px; overflow-x:hidden; overflow-y:auto; }
.formal-code-ledger table { width:100%; min-width:0; border-collapse:collapse; table-layout:fixed; }
.formal-code-ledger th,.formal-code-ledger td { padding:7px 6px; overflow:hidden; border-bottom:1px solid #f0e7e7; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.formal-code-ledger th:nth-child(1) { width:11%; }
.formal-code-ledger th:nth-child(2) { width:13%; }
.formal-code-ledger th:nth-child(3) { width:7%; }
.formal-code-ledger th:nth-child(4) { width:9%; }
.formal-code-ledger th:nth-child(5) { width:10%; }
.formal-code-ledger th:nth-child(6),
.formal-code-ledger th:nth-child(7),
.formal-code-ledger th:nth-child(8),
.formal-code-ledger th:nth-child(9) { width:9%; }
.formal-code-ledger th:nth-child(10) { width:7%; }
.formal-code-ledger th:nth-child(11) { width:7%; }
.formal-code-ledger th { color:#755f66; background:#fff7f8; font-size:12px; font-weight:700; }
.formal-code-ledger td { color:#4b3d42; font-size:12px; }
.formal-code-ledger tbody tr { min-height:60px; }
.formal-code-product-image { text-align:center !important; }
.formal-code-product-image img { display:block; width:46px; height:46px; margin:auto; border:1px solid #eadfe1; border-radius:6px; object-fit:cover; }
.formal-code-product-image span { display:grid; width:46px; height:46px; margin:auto; place-items:center; padding:4px; border:1px dashed #decfd3; border-radius:6px; color:#9b858c; background:#fffafa; font-size:9px; line-height:1.2; white-space:normal; }
.formal-code-spec { max-width:180px; overflow:hidden; text-overflow:ellipsis; }
.formal-code-value b { color:#34252a; letter-spacing:.02em; }
.formal-code-value small { display:block; margin-top:3px; color:#927b82; font-size:10px; }
.formal-code-missing { color:#a08e93; }
.formal-code-card button.link { padding:3px 5px; border:0; color:var(--brand,#8d3148); background:transparent; }
.formal-code-status { display:inline-flex; min-width:52px; justify-content:center; padding:3px 7px; border-radius:6px; font-weight:700; }
.formal-code-status.is-used { color:#24804c; background:#e8f6e9; }
.formal-code-status.is-reserved { color:#2d74ad; background:#e8f3ff; }
.formal-code-status.is-voided { color:#786d70; background:#f0eeee; }
.formal-code-ledger>footer { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:20px; min-height:45px; margin-top:auto; padding:7px 15px; border-top:1px solid #f0e7e7; color:#806c72; }
.formal-code-ledger>footer>div { display:flex; align-items:center; gap:7px; }
.formal-code-ledger>footer button { min-width:32px; padding:5px 8px; }
.formal-code-ledger>footer b { display:grid; width:31px; height:31px; place-items:center; border-radius:5px; color:#fff; background:var(--brand,#8d3148); }
.formal-code-rules>header { align-items:center; border-bottom:1px solid #f0e7e7; }
.formal-code-rules>header>span { display:flex; align-items:center; gap:6px; }
.formal-code-rules>header button { padding:7px 10px; }
.formal-code-rule-list article { display:grid; grid-template-columns:minmax(72px,.55fr) minmax(145px,1fr) 38px auto auto; gap:7px; align-items:center; padding:10px 12px; border-bottom:1px solid #f0e7e7; }
.formal-code-rule-list article>b { color:#4e3d43; font-size:12px; }
.formal-code-rule-list code { overflow:hidden; color:#4f4246; font:12px/1.35 Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.formal-code-rule-list article>span { color:#88747a; font-size:12px; }
.formal-code-rule-list article>button { padding:5px 8px; }
.formal-code-dictionary { margin:10px; padding:10px; border:1px solid #eee3e3; border-radius:8px; background:#fffdfd; }
.formal-code-dictionary>header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.formal-code-dictionary>div { display:flex; flex-wrap:wrap; gap:7px; }
.formal-code-dictionary>div>span { padding:6px 9px; border:1px solid #eadfe1; border-radius:6px; color:#68565c; background:#fff; font-size:12px; }
.formal-code-dictionary>div>span b { margin-left:3px; color:#32252a; }
.formal-code-preview form { padding:8px 14px 14px; }
.formal-code-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.formal-code-preview-grid label:nth-child(-n+2) { grid-column:span 1; }
.formal-code-preview-grid label>span { display:block; margin-bottom:4px; color:#867279; font-size:12px; }
.formal-code-preview-grid input,.formal-code-preview-grid select { min-height:35px; padding:7px 8px; }
.formal-code-preview output { display:grid; min-height:70px; margin:12px 0 8px; place-items:center; border:1px solid #efd4da; border-radius:5px; color:var(--brand,#8d3148); background:linear-gradient(135deg,#fff7f9,#fff1f4); font-size:25px; font-weight:800; letter-spacing:.03em; text-align:center; word-break:break-all; }
.formal-code-preview output.is-conflict { color:#a46318; border-color:#f0cf9d; background:#fff9ee; }
.formal-code-preview-barcode { margin:0 0 8px; padding:8px 10px 4px; border:1px solid #eee2e4; border-radius:6px; background:#fff; }
.formal-code-preview-barcode>span { display:block; margin-bottom:3px; color:#8b777d; font-size:11px; text-align:center; }
.formal-code-availability { margin:0 0 8px; font-size:12px; text-align:center; }
.formal-code-availability.is-ok { color:#247b4a; }
.formal-code-availability.is-error { color:#a25916; }
.formal-code-preview footer { display:flex; justify-content:center; gap:12px; margin-top:9px; }
.formal-code-preview footer button { min-width:130px; }
.formal-code-preview form>small { display:block; margin-top:12px; color:#8b777d; font-size:12px; line-height:1.5; }
.formal-code-drawer .formal-detail { padding-bottom:8px; }
.formal-code-drawer>form+.formal-detail { padding-top:0; }
.formal-code-change-list { display:grid; gap:8px; }
.formal-code-change-list article { display:grid; gap:6px; padding:10px 12px; border:1px solid #eadfdf; border-radius:9px; background:#fffafa; }
.formal-code-change-list article>div { display:flex; justify-content:space-between; gap:10px; }
.formal-code-change-list code { color:#8d3148; font:700 13px/1.4 Consolas,monospace; }
.formal-code-change-list p,.formal-code-change-list em,.formal-code-change-list small { margin:0; color:#746168; font-size:12px; }
.formal-code-change-list article>footer { display:flex; justify-content:flex-end; gap:7px; }
.formal-code-token-help { display:flex !important; flex-wrap:wrap; gap:8px; }
.formal-code-token-help code { padding:7px 9px; border-radius:6px; color:var(--brand,#8d3148); background:#fff1f4; }
.formal-barcode-drawer { width:min(860px,calc(100vw - 52px)); }
.formal-barcode-drawer .formal-detail>section:first-child dl { grid-template-columns:repeat(4,minmax(0,1fr)); }
.formal-barcode-note { margin:0 0 10px; color:#8c777e; font-size:12px; }
.formal-barcode-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.formal-barcode-card { overflow:hidden; border:1px solid #eadfe1; border-radius:8px; background:#fff; }
.formal-barcode-card>header { display:flex; align-items:center; justify-content:space-between; padding:9px 11px; border-bottom:1px solid #f0e6e8; background:#fff8f9; }
.formal-barcode-card>header b { color:#4b373e; font-size:13px; }
.formal-barcode-card>header span { color:#917a81; font-size:11px; }
.formal-barcode-card>section { padding:10px; border-bottom:1px dashed #eadfe1; }
.formal-barcode-card>section:last-child { border-bottom:0; }
.formal-barcode-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:3px; }
.formal-barcode-meta small { color:#8c777e; font-size:11px; }
.formal-barcode-meta button { padding:4px 8px; border-color:#dfcfd3; border-radius:6px; color:var(--brand,#8d3148); background:#fff7f9; font-size:11px; }
.formal-barcode-svg { display:block; width:100%; height:110px; padding:4px; box-sizing:border-box; background:#fff; }
.formal-barcode-svg.is-compact { height:84px; }
.formal-barcode-svg text { fill:#211b1d; font:8px Consolas,monospace; letter-spacing:.5px; }
.formal-barcode-empty { display:grid; min-height:92px; place-items:center; padding:12px; color:#9b878d; background:#fffafa; font-size:12px; text-align:center; }
.formal-draft-resume { position:fixed; z-index:1190; right:18px; top:50%; display:grid; min-width:176px; padding:10px 13px !important; border-color:var(--brand,#8d3148) !important; border-radius:12px 0 0 12px !important; color:#fff !important; background:var(--brand,#8d3148) !important; box-shadow:0 10px 28px rgba(100,54,61,.28); text-align:left; transform:translateY(-50%); }
.formal-draft-resume span { color:#f8dce4; font-size:10px; letter-spacing:.08em; }
.formal-draft-resume b { margin-top:2px; font-size:12px; }
@media (max-width:900px) {
  .formal-product-head { flex-direction:column; }
  .formal-product-kpis { grid-template-columns:1fr 1fr; }
  .formal-product-filters { grid-template-columns:1fr 1fr; }
  .formal-form-grid,.formal-attribute-fields>div { grid-template-columns:1fr; }
  .formal-form-grid .wide,.formal-attribute-fields { grid-column:auto; }
  .formal-code-kpis { grid-template-columns:1fr 1fr; }
  .formal-code-workspace { grid-template-columns:1fr; }
  .formal-code-filters { grid-template-columns:1fr 1fr; }
  .formal-code-filters .formal-code-export { justify-self:stretch; }
  .formal-code-preview-grid { grid-template-columns:1fr 1fr; }
  .formal-barcode-grid { grid-template-columns:1fr; }
  .formal-barcode-drawer .formal-detail>section:first-child dl { grid-template-columns:1fr 1fr; }
  .formal-product-table-controls { grid-template-columns:1fr 1fr; }
  .formal-product-control-actions { grid-column:1/-1; flex-wrap:wrap; }
  .formal-product-import-summary { grid-template-columns:1fr 1fr; }
  .formal-product-import-create-settings { grid-template-columns:1fr 1fr; }
  .formal-product-import-list>div { grid-template-columns:50px 1fr; }
  .formal-product-import-list>div>span:nth-child(3),.formal-product-import-list>div>span:nth-child(4) { grid-column:2; }
  .formal-sku-list { grid-template-columns:1fr; }
}
@media (min-width:901px) and (max-width:1250px) {
  .formal-code-workspace { grid-template-columns:1fr; }
  .formal-code-workspace>aside { grid-template-columns:1fr 1fr; }
  .formal-product-table-controls { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .formal-product-control-actions { grid-column:1/-1; }
}
