/* Copyright (c) 2026 印广云。自有代码适用根 LICENSE。 */
#importProgressPanel{font-size:12px;color:#65758b;margin:8px 0}#importProgressBar{display:block;width:100%;height:8px;margin-top:6px;accent-color:#ff674b}
:root{
  --app-bg:#eef3f8;
  --panel:#fff;
  --preview:#f8fafc;
  --text:#00112f;
  --muted:#64748b;
  --border:#e6ebf2;
  --primary:#ff6f4f;
  --primary-dark:#e8502e;
  --success:#10b981;
  --success-dark:#059669;
  --neutral:#f8fafc;
  --neutral-hover:#eef2f7;
  --switch:#ff6f4f;
  --switch-dark:#e8502e;
  --primary-soft:#fff7f3;
  --primary-border:#ffd5cb;
}
:root[data-theme="blue"]{--primary:#1677ff;--primary-dark:#095fd8;--primary-soft:#edf5ff;--primary-border:#cfe1ff;--switch:#1677ff;--switch-dark:#095fd8}
:root[data-theme="dark"]{color-scheme:dark;--app-bg:#0d1118;--panel:#121923;--preview:#17202d;--text:#f8fafc;--muted:#9aa7ba;--border:#293446;--primary:#4f9cff;--primary-dark:#78b5ff;--primary-soft:#152a47;--primary-border:#355986;--neutral:#17202d;--neutral-hover:#203047;--switch:#4f9cff;--switch-dark:#266dbf}
*{box-sizing:border-box}
/* Theme chrome only: photo background swatches and actual image pixels retain their meaning. */
:root .ai-dropzone:not([data-has-input="true"]){background:linear-gradient(145deg,var(--panel),var(--primary-soft));border-color:var(--primary-border)}
:root .ai-dropzone.dragging{background:var(--primary-soft);border-color:var(--primary)}
:root :is(.ai-beauty-mode-row button.active,.ai-preview-switch button.active){background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-dark)}
:root :is(.ai-photo-preview-bar,.ai-preview-switch,.ai-crop-input){border-color:var(--primary-border)}
:root :is(.ai-photo-preview-bar strong,.ai-photo-preview-copy strong,.ai-photo-placeholder){color:var(--primary-dark)}
:root .ai-photo-preview-copy small{color:var(--muted)}
:root .ai-progress{background:linear-gradient(105deg,var(--panel),var(--primary-soft));border-color:var(--primary-border);box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 9%,transparent)}
:root .ai-progress i{background:linear-gradient(90deg,var(--primary-soft),color-mix(in srgb,var(--primary) 30%,var(--panel)) 45%,var(--primary) 94%,var(--primary-dark))}
:root .ai-progress i::before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 48%,transparent) 40%,var(--primary) 73%,var(--primary-dark))}
:root .ai-progress i::after{background:var(--primary-soft);box-shadow:0 0 18px color-mix(in srgb,var(--primary) 72%,transparent)}
:root .ai-progress-copy{color:var(--text)}
:root .ai-progress-copy small{color:var(--muted)}
:root .progress span{background:linear-gradient(90deg,var(--primary),var(--primary-dark))}
:root :is(.ai-brand-icon,.ai-preview-badge,.ai-prompt-save-box,.ai-prompt-community-publish){background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-dark)}
:root :is(.ai-outfit-library-item.active,.ai-prompt-template-card.is-default){background:var(--primary-soft);border-color:var(--primary-border);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 9%,transparent)}
:root :is(.ai-outfit-library-item:hover,.ai-prompt-template-card:hover,.ai-prompt-category-tabs button:hover,.ai-prompt-outfit-category-tabs button:hover,.ai-library-close:hover){background:var(--primary-soft);border-color:var(--primary-border)}
/* Theme changes only application chrome, never canvas, paper or photo pixels. */
:root[data-theme="dark"] :is(.settings-dialog,.settings-card,.account-settings-card,.chip-more-panel,.document-type-more,.file-layout-queue-panel,.file-layout-paper-panel,.file-layout-control-panel,.file-layout-options-panel,.file-layout-preset-context,.modal-card,.dialog-card,.ai-refine-dialog,.ai-refine-panel){background:var(--panel);color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] :is(input,select,textarea,.mode-tab,.chip,.btn:not(.primary):not(.success):not(.topmost-active),.footer-link-button,.file-layout-choice-chip,.file-layout-orientation-switch button,.file-layout-copy-control){background:var(--neutral);color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] :is(.mode-tab.active,.chip.active,.file-layout-choice-chip.active,.file-layout-orientation-switch button.active){background:var(--primary-soft);color:var(--primary-dark);border-color:var(--primary-border)}
:root[data-theme="dark"] .left-panel-fixed-bottom{box-shadow:none}
:root[data-theme="blue"] .chip.active{background:var(--primary-soft);color:var(--primary-dark)}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{
  background:var(--app-bg);
  color:var(--text);
  font-family:"Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;
  user-select:none;
  -webkit-user-select:none;
}
input,textarea,select{
  user-select:text;
  -webkit-user-select:text;
}
.app{width:100vw;height:100vh;background:var(--app-bg);display:flex;flex-direction:column}
.titlebar{display:none}
.titlebar img{width:26px;height:26px;object-fit:contain}
.titlebar-name{font-size:15px;font-weight:800;color:var(--text)}
.notice-button{
  margin-left:auto;border:1px solid var(--border);background:#fff;color:var(--text);
  height:28px;padding:0 12px;border-radius:999px;font:inherit;font-size:12px;font-weight:800;
  display:flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 6px 14px rgba(15,23,42,.05);
}
.notice-button:hover{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-dark)}
.notice-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.version-button{
  border:0;background:transparent;color:var(--text);font:inherit;font-weight:800;
  display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;
}
.version-button:hover{background:#eef2f7}
.workspace{position:relative;display:grid;grid-template-columns:370px minmax(0,1fr);gap:16px;padding:18px;flex:1;min-height:0}
.panel{background:var(--panel);border:1px solid var(--border);min-height:0}
.left-panel{padding:18px 14px 8px;overflow:hidden;display:flex;flex-direction:column}
.left-panel-scroll-content{min-height:0;flex:1;overflow:auto;padding-right:2px;overscroll-behavior:contain}
.left-panel-fixed-bottom{position:relative;z-index:6;flex:0 0 auto;padding-top:6px;background:var(--panel);box-shadow:0 -10px 18px rgba(255,255,255,.96)}
.preview-panel{padding:20px;display:flex;flex-direction:column}
.brand-row{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.brand-row img{width:40px;height:40px;object-fit:contain}
.brand-copy{min-width:0;flex:1}
.brand-copy h1{font-size:20px;line-height:1.15;margin:0;white-space:nowrap}
.brand-copy p{margin:2px 0 0;color:var(--muted);font-size:14px}
.work-mode-switch{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-10px 0 16px;
  padding:4px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;
}
.mode-tab{
  height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);
  font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;
}
.mode-tab.active{background:#fff;color:var(--primary-dark);box-shadow:0 6px 16px rgba(15,23,42,.08)}
.document-options{margin-top:2px}
.document-field h2{font-size:16px;margin:10px 0 8px}
.document-field .chip-grid{gap:6px;margin-bottom:8px}
.document-field #documentEnhanceLevels{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
.document-field #documentEnhanceLevels button{min-width:0;padding:5px 1px;font-size:10px;white-space:nowrap;min-height:28px}
.left-panel .section h2,.left-panel .document-field h2{font-size:16px;line-height:1.4;white-space:nowrap;flex-shrink:0}
.document-brightness-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.document-brightness-heading h2{margin:0}
.document-field .chip{height:28px;border-radius:6px;font-size:12px}
.document-hint{
  margin:2px 0 12px;padding:8px 10px;border:1px solid #dbeafe;border-radius:8px;
  background:#f8fbff;color:#475569;font-size:12px;line-height:1.45;
}
.pack-card-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-bottom:6px}
.document-template-mode-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.pack-card{
  min-height:36px;border:1px solid var(--border);border-radius:7px;background:#fff;
  display:flex;align-items:center;justify-content:center;
  font:inherit;font-size:10px;font-weight:800;color:#1f2a44;cursor:pointer;
  box-shadow:0 5px 14px rgba(15,23,42,.04);
}
.pack-card.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}
.pack-card-manual-label{font-size:11px;font-weight:900;letter-spacing:.02em}
.document-template-packs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;padding:3px 0 2px;overflow:visible}
.document-template-pack-card,#documentPackModes .pack-card{min-width:0;min-height:36px;height:36px;padding:3px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.layout-template-thumb.document-template-pack-preview{width:24px;height:30px;flex:0 0 24px;border-radius:4px}
.document-template-pack-preview .layout-template-paper{max-width:20px;max-height:26px;box-shadow:none}
.document-template-pack-preview .layout-template-slot{border-width:1px}
.document-template-pack-preview .layout-template-slot::after{display:none}
.pack-card-preview{
  width:16px;height:24px;border:1px solid #273244;border-radius:3px;background:#fff;
  display:grid;gap:2px;padding:2px;position:relative;
}
.pack-card-preview i{display:block;min-width:0;min-height:0;border:1px solid #455163;border-radius:2px;background:#f1f3f5}
.pack-card-preview.single-pack i{width:10px;height:6px;align-self:center;justify-self:center}
.pack-card-preview.double-pack,.pack-card-preview.triple-pack{grid-template-columns:1fr;padding:3px 2px}
.pack-card-preview.double-pack{grid-template-rows:repeat(2,1fr)}
.pack-card-preview.triple-pack{grid-template-rows:repeat(3,1fr)}
.pack-card-preview.quad-pack,.pack-card-preview.six-pack,.pack-card-preview.eight-pack{grid-template-columns:repeat(2,1fr)}
.pack-card-preview.quad-pack{grid-template-rows:repeat(2,1fr);padding:4px 2px}
.pack-card-preview.six-pack{grid-template-rows:repeat(3,1fr);padding:3px 2px}
.pack-card-preview.eight-pack{grid-template-rows:repeat(4,1fr);gap:1px;padding:2px}
.paper-switch-list{margin-top:0;margin-bottom:8px}
.crop-guide-row-actions{display:flex;align-items:center;gap:8px}
.crop-guide-style-options{display:flex;padding:2px;border:1px solid var(--border);border-radius:7px;background:#f8fafc}
.crop-guide-style-options button{
  min-width:34px;height:24px;padding:0 6px;border:0;border-radius:5px;background:transparent;
  color:var(--muted);font:inherit;font-size:11px;font-weight:900;cursor:pointer;
}
.crop-guide-style-options button.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 7px rgba(15,23,42,.10)}
.crop-guide-style-options button:focus-visible{outline:2px solid var(--primary-dark);outline-offset:2px}
.btn{
  border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:13px;
  line-height:1;font-weight:800;cursor:pointer;box-shadow:0 4px 10px rgba(15,23,42,.04);
  transition:background .16s ease, transform .16s ease, box-shadow .16s ease;
  font-family:inherit;white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 14px rgba(255,111,79,.13)}
.btn.primary:hover{background:var(--primary-dark)}
.btn.success{background:var(--success);border-color:var(--success);color:#fff;box-shadow:0 6px 14px rgba(16,185,129,.12)}
.btn.success:hover{background:var(--success-dark)}
.btn.neutral{background:var(--neutral);color:var(--text)}
.btn.neutral:hover{background:var(--neutral-hover)}
.btn.topmost-active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 14px rgba(255,111,79,.13)}
.btn.topmost-active:hover{background:var(--primary-dark)}
.btn.small{padding:7px 10px}
.btn.block{width:100%;height:34px;margin-bottom:8px}
.upload{
  width:100%;height:136px;border:1px solid var(--primary-border);border-radius:8px;
  background:linear-gradient(180deg,#fffaf8,#fff4f0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  margin-bottom:8px;cursor:pointer;color:var(--text);font-family:inherit;
}
.upload.dragging{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,111,79,.14),0 10px 28px rgba(255,111,79,.12)}
.upload strong{font-size:26px;color:var(--primary);line-height:1}
.upload span{font-weight:800;font-size:16px}
.section h2{font-size:20px;margin:16px 0 10px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.section-title-row h2{margin-right:auto}
.section-action-button{
  height:28px;padding:0 9px;border:1px solid var(--primary-border);border-radius:7px;background:var(--primary-soft);
  color:var(--primary-dark);font:inherit;font-size:11px;font-weight:900;cursor:pointer;
}
.section-action-button:hover{background:var(--primary-soft);border-color:var(--primary-border)}
.section-action-button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.section-help{margin:-6px 0 10px;color:#94a3b8;font-size:11px;line-height:1.4}
.chip-grid{display:grid;gap:8px;margin-bottom:12px}
.chip-grid.two{grid-template-columns:repeat(2,1fr)}
.chip-grid.four{grid-template-columns:repeat(4,1fr)}
.chip-grid.three{grid-template-columns:repeat(3,1fr)}
.chip-grid.five{grid-template-columns:repeat(5,1fr);gap:6px}
.chip-grid.paper-row{grid-template-columns:repeat(4,1fr)}
.chip{
  height:34px;border:1px solid var(--border);border-radius:7px;background:#f8fafc;
  font-family:inherit;font-size:14px;color:var(--text);cursor:pointer;
}
.chip-grid.five .chip{font-size:12px;padding:0 4px;white-space:nowrap}
.document-adjust-inline{display:grid;gap:8px;margin:-2px 0 10px;padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}
.document-manual-adjust-heading h2{margin:0}
.document-manual-adjust-field .document-adjust-inline{margin:0}
.document-adjust-inline.hidden{display:none}
 .document-adjust-inline label{display:grid;grid-template-columns:42px minmax(0,1fr) 66px;align-items:center;gap:10px;color:#475569;font-size:12px;font-weight:600}
.document-adjust-inline input[type="range"]{appearance:none;-webkit-appearance:none;width:100%;height:6px;padding:0;border:0;border-radius:99px;background:linear-gradient(to right,var(--primary) 0 var(--adjust-fill,0%),#e2e8f0 var(--adjust-fill,0%) 100%);outline:none}
.document-adjust-inline input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 1px 4px #0003;cursor:pointer}
.document-adjust-inline input[type="range"]:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
.document-adjust-inline .document-adjust-number{width:66px;min-width:0;height:32px;padding:4px 6px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#334155;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.document-adjust-note{color:#64748b;font-size:11px;line-height:1.45}
.document-type-row{margin-bottom:0}
.document-type-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 8px}
.document-field .document-type-heading h2{margin:0}
.document-inference-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#64748b;font-size:11px;font-weight:800}
.document-inference-options{display:flex;padding:2px;border:1px solid var(--border);border-radius:7px;background:#f8fafc}
.document-inference-options button{min-width:42px;height:24px;padding:0 6px;border:0;border-radius:5px;background:transparent;color:#64748b;font:inherit;font-size:9px;font-weight:900;white-space:nowrap;cursor:pointer}
.document-inference-options button.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 7px rgba(15,23,42,.10)}
.document-inference-options button:disabled{opacity:.48;cursor:not-allowed}
.document-inference-options button:focus-visible{outline:2px solid var(--primary-dark);outline-offset:2px}
.document-type-more{margin-top:8px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fff}
.document-type-more.hidden{display:none}
.document-more-types{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.document-more-types .chip{height:30px;font-size:12px}
.document-custom-size{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:#475569}
.document-custom-size.hidden{display:none}
.document-custom-size label{display:flex;align-items:center;gap:4px;white-space:nowrap}
.document-custom-size input{width:54px;height:28px;padding:0 5px;border:1px solid var(--border);border-radius:5px;font:inherit}
.document-custom-size .document-custom-name{flex:1 1 100%}
.document-custom-size .document-custom-name input{width:auto;min-width:0;flex:1}
.document-custom-size .document-custom-keywords{flex:1 1 220px;align-items:flex-start}
.document-custom-size .document-custom-keywords textarea{box-sizing:border-box;min-width:160px;min-height:42px;flex:1;padding:5px 7px;border:1px solid var(--border);border-radius:5px;resize:vertical;font:inherit}
.document-custom-size .custom-size-save{align-self:flex-end;margin-left:auto}
.chip.active{background:#fff0ea;border-color:var(--primary-border);color:var(--primary-dark);box-shadow:0 5px 12px rgba(255,111,79,.08)}
.chip-more-panel{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-4px 0 12px;
  padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.chip-more-panel.hidden{display:none}
.chip-more-panel .chip{height:32px;font-size:13px}
.chip-more-options{display:contents}
#idSizeMorePanel #idCustom{grid-column:1/-1;margin:2px 0 0;padding-top:9px;border-top:1px solid var(--border)}
.custom-row{display:flex;align-items:center;gap:7px;margin-bottom:14px;font-size:12px;flex-wrap:wrap}
.custom-row input{width:62px;height:30px;border:1px solid var(--border);padding:0 8px;margin-left:4px}
.custom-row .custom-name-field{flex:1 1 150px;display:flex;align-items:center;gap:4px}
.custom-row .custom-name-field input{width:100%;min-width:105px;margin-left:0}
.custom-size-save{
  height:30px;padding:0 11px;border:1px solid #ffd2c7;border-radius:6px;background:#fff4f0;
  color:var(--primary-dark);font:inherit;font-weight:900;cursor:pointer;
}
.custom-size-save:hover{background:#ffe9e2}
.saved-size-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.managed-chip{cursor:grab;user-select:none}
.managed-chip:active{cursor:grabbing}
.managed-chip.dragging{opacity:.42;transform:scale(.97)}
.managed-chip.drag-over{border-color:#ff6b52;box-shadow:inset 3px 0 0 #ff6b52}
.managed-button-edit-card{width:min(430px,calc(100vw - 44px))}
.managed-button-edit-fields{display:grid;gap:13px;margin-top:18px}
.managed-button-edit-fields>label,.managed-button-size-fields label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:800}
.managed-button-edit-fields input,.managed-button-edit-fields textarea{padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;font:inherit;color:#172033;outline:0;resize:vertical}
.managed-button-edit-fields input{height:36px;padding-top:0;padding-bottom:0}
.managed-button-edit-fields input:focus,.managed-button-edit-fields textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,107,82,.13)}
.managed-button-size-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.managed-button-size-fields.hidden,.managed-button-edit-fields>label.hidden{display:none}
.managed-button-edit-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.photo-template-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hidden{display:none!important}
.app-footer{
  position:static;z-index:5;margin-top:8px;padding:9px 0 2px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;
  color:var(--muted);font-size:12px;border-top:1px solid var(--border);background:var(--panel);
}
.app-version{
  white-space:nowrap;border:0;background:transparent;padding:0;margin:0;
  color:var(--muted);font:inherit;cursor:pointer;
}
.app-version:hover,.app-version:focus-visible{color:var(--primary-dark)}
.app-version-wrap{display:flex;align-items:center;gap:7px;min-width:0}
.app-version-group{display:flex;align-items:center;gap:8px;min-width:0}
.app-version-group>*{flex-shrink:0}
.app-footer>.settings-icon-button{flex-shrink:0}
.app-footer:has(.footer-partner:not(.hidden)){font-size:10px;gap:4px}
.app-footer:has(.footer-partner:not(.hidden)) .app-version-group{gap:4px}
.app-footer:has(.footer-partner:not(.hidden)) .footer-link-button{width:26px;font-size:10px}
.footer-partner{font-size:inherit;color:#94a3b8;white-space:nowrap;line-height:1;
  border:0;background:transparent;padding:0;margin:0;font-family:inherit;cursor:pointer;
}
.footer-partner:hover,.footer-partner:focus-visible{color:var(--primary-dark)}
.footer-link-button{width:32px;height:24px;flex:none;white-space:nowrap;background:#f8fafc;border:1px solid var(--border);border-radius:6px;
  padding:0;color:var(--text);font-size:11px;font-weight:600;
  box-shadow:0 6px 14px rgba(15,23,42,.05);cursor:pointer;font-family:inherit;
}
.footer-link-button:hover{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-dark)}
.settings-icon-button{
  width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;
  color:#334155;font-size:18px;line-height:1;display:grid;place-items:center;cursor:pointer;
  box-shadow:0 6px 14px rgba(15,23,42,.05);font-family:"Segoe UI Symbol","Microsoft YaHei UI",sans-serif;
}
.settings-icon-button:hover{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-dark)}
.settings-icon-button:active{transform:translateY(1px)}
.footer-actions{display:flex;align-items:center;gap:6px}
.settings-dialog{
  position:fixed;inset:0;z-index:52;display:grid;place-items:center;
  background:rgba(15,23,42,.16);backdrop-filter:blur(8px);
}
.settings-dialog.hidden{display:none}
.settings-card{
  position:relative;width:min(620px,calc(100vw - 44px));max-height:calc(100vh - 40px);overflow:hidden;border:1px solid #ffd8cf;border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(244,251,255,.94));
  box-shadow:0 24px 70px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.8);
  padding:22px;color:var(--text);display:flex;flex-direction:column;
}
.settings-close{
  position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:9px;
  background:#f4f6f8;color:#7b8493;font-size:20px;line-height:1;cursor:pointer;
}
.settings-card h2{margin:0 0 16px;font-size:22px}
.settings-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;padding-right:4px}
.settings-list>*{flex:0 0 auto}
.settings-row{
  min-height:66px;border:1px solid var(--border);border-radius:12px;background:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;
}
.settings-row strong{display:block;font-size:15px;margin-bottom:5px}
.settings-row span{
  display:block;max-width:250px;color:var(--muted);font-size:12px;line-height:1.45;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.account-settings-card{align-items:stretch;border-color:#ffd9cf;background:linear-gradient(145deg,#fffaf8,#fff)}
.account-settings-body{width:100%;min-width:0}
.account-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.account-settings-title-group{display:flex;align-items:center;gap:10px;min-width:0}
.account-settings-title-group>div{min-width:0}
.account-settings-icon{
  flex:0 0 auto;width:32px;height:32px;display:grid!important;place-items:center;border-radius:10px;
  background:linear-gradient(145deg,#ff7b5e,var(--primary-dark));color:#fff!important;font-size:12px!important;font-weight:900;
  box-shadow:0 7px 16px rgba(239,79,49,.2);
}
.account-settings-card .account-settings-title-group strong{margin:0 0 2px;font-size:14px}
.account-settings-card .account-settings-title-group span:not(.account-settings-icon){max-width:none;white-space:normal}
.account-status-badge{
  flex:0 0 auto;max-width:none!important;padding:4px 9px;border:1px solid #e2e8f0;border-radius:999px;
  background:#f8fafc;color:#64748b!important;font-size:10px!important;font-weight:900;white-space:nowrap!important;
}
.account-status-badge.signed{border-color:#bbf7d0;background:#ecfdf5;color:#047857!important}
.account-status-badge.loading{border-color:#fed7aa;background:#fff7ed;color:#c2410c!important}
.account-guest-view{display:flex;align-items:center;justify-content:space-between;gap:12px}
.account-guest-view p{min-width:0;margin:0;color:#64748b;font-size:12px;line-height:1.5}
.account-guest-view .btn{flex:0 0 auto}
.account-signed-view{margin-top:11px;padding-top:10px;border-top:1px solid #ffebe5}
.account-identity-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px}
.account-avatar{
  width:36px;height:36px;display:grid!important;place-items:center;border-radius:50%;background:#fff0ea;
  color:var(--primary-dark)!important;font-size:14px!important;font-weight:900;border:1px solid var(--primary-border);
}
.account-identity-row>div{min-width:0}
.account-identity-row strong{margin:0 0 2px;font-size:13px}
.account-settings-card .account-identity-row span{max-width:none;white-space:normal}
.account-device-status{padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#64748b!important;font-size:10px!important;font-weight:800;white-space:nowrap!important}
.account-device-status.claimed{background:#ecfdf5;color:#047857!important}
.account-device-status.claim-required{background:#fff7ed;color:#c2410c!important}
.account-entitlement-grid{display:grid;grid-template-columns:minmax(112px,1.35fr) repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}
.account-entitlement-grid>div{min-width:0;padding:8px;border:1px solid #eef2f7;border-radius:9px;background:#f8fafc}
.account-entitlement-grid span{max-width:none!important;color:#64748b!important;font-size:11px!important;white-space:nowrap!important}
.account-entitlement-grid strong{margin:3px 0 0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-invite-value{display:flex;align-items:center;gap:4px;min-width:0}
.account-invite-value strong{flex:1;min-width:0}
.account-invite-copy{
  flex:0 0 auto;height:22px;padding:0 6px;border:1px solid var(--primary-border);border-radius:7px;background:var(--primary-soft);
  color:var(--primary-dark);font:inherit;font-size:9px;font-weight:900;line-height:1;cursor:pointer;
}
.photoshop-settings-row>div{min-width:0;flex:1}
.settings-row.photoshop-settings-row span{max-width:none}
.photoshop-settings-row .btn{flex:0 0 auto;min-width:66px}
.shortcut-settings-row{align-items:stretch}
.shortcut-settings-body{width:100%;min-width:0}
.shortcut-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.shortcut-settings-heading>div{min-width:0}
.shortcut-settings-heading .toggle{flex:0 0 auto}
.shortcut-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.shortcut-settings-grid label{display:grid;gap:5px;color:#64748b;font-size:10px;font-weight:800}
.shortcut-settings-grid input{width:100%;height:34px;padding:0 9px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;color:#334155;font:inherit;font-size:11px;font-weight:800;text-align:center;cursor:pointer;outline:none}
.shortcut-settings-grid input:hover{border-color:var(--primary-border);background:#fff8f5}
.shortcut-settings-grid input.recording{border-color:#ff8067;background:#fff2ed;box-shadow:0 0 0 3px rgba(255,107,82,.12);color:#c2410c}
.settings-row .shortcut-settings-status{display:block;max-width:none;margin-top:8px;color:#64748b;font-size:10px;white-space:normal}
.settings-row .shortcut-settings-status.success{color:#15803d}
.settings-row .shortcut-settings-status.error{color:#dc2626}
.product-info-card,.product-feedback-card{position:relative;width:min(520px,calc(100vw - 48px));padding:28px;border:1px solid var(--primary-border);border-radius:20px;background:#fff;color:var(--text);box-shadow:none}
.product-info-card{text-align:center}.product-info-mark{display:grid;width:58px;height:58px;margin:0 auto 12px;place-items:center;border-radius:16px;background:linear-gradient(145deg,#ff7b5e,var(--primary-dark));color:#fff;font-size:24px;font-weight:900}.product-info-card h2{margin:0 0 6px}.product-info-card>strong{color:var(--primary-dark)}.product-info-card p{margin:12px 0;color:#64748b}.product-info-card small{display:block;margin-top:18px;padding-top:14px;border-top:1px solid var(--border);color:#94a3b8}
.product-feedback-card h2{margin:0 0 6px}.product-feedback-card>p{margin:0 0 16px;color:#64748b;font-size:12px}.product-feedback-card textarea{width:100%;height:150px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;color:var(--text);font:inherit;resize:vertical;outline:0}.product-feedback-card textarea:focus{border-color:var(--primary-border);background:#fff}.product-feedback-diagnostics{display:flex;align-items:center;gap:8px;margin-top:12px;color:#64748b;font-size:11px}.product-feedback-message{min-height:18px;margin-top:10px;color:#64748b;font-size:11px}.product-feedback-message.error{color:#dc2626}.product-feedback-message.success{color:#15803d}.product-feedback-card footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.document-type-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.document-device-switch{display:inline-flex;margin-left:auto;padding:3px;gap:2px;border-radius:9px;background:#f1f5f9}.document-device-switch button{padding:5px 9px;font-size:11px;font-weight:700;border:1px solid transparent;border-radius:7px;background:transparent;color:#64748b;cursor:pointer}.document-device-switch button.active{background:#fff;color:var(--primary);border-color:var(--primary-border);box-shadow:0 1px 3px #0f172a0d}.document-device-switch button:disabled{opacity:.5;cursor:wait}
.product-feedback-card{width:min(720px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;padding:28px;background:linear-gradient(135deg,#fff,#f3f8fb)}
.product-feedback-identity{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 16px}
.product-feedback-identity label,.product-feedback-card>label{font-size:12px;color:#64748b}
.product-feedback-identity input,#productFeedbackContact{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;color:var(--text)}
#productFeedbackContact{margin-bottom:14px}#productFeedbackContact:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.product-feedback-card textarea{box-sizing:border-box;margin-top:6px;height:150px}
#productFeedbackDropzone{display:grid;gap:7px;width:100%;padding:20px;margin-top:14px;border:1px dashed var(--primary-border);border-radius:12px;background:#f8fafc;color:var(--text);cursor:pointer}
#productFeedbackDropzone strong{font-size:17px}#productFeedbackDropzone span{color:#64748b;font-size:12px}
#productFeedbackImages{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}#productFeedbackImages>div{position:relative}#productFeedbackImages img{width:84px;height:65px;object-fit:contain;border:1px solid var(--border);border-radius:6px}#productFeedbackImages button{position:absolute;right:0;top:0;border:0;border-radius:50%;cursor:pointer}
.product-feedback-diagnostics{justify-content:space-between;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.product-feedback-diagnostics strong{display:block;color:var(--text);font-size:14px}.product-feedback-diagnostics small{display:block;margin-top:5px}.product-feedback-diagnostics input{appearance:none;width:38px;height:22px;border-radius:20px;background:#cbd5e1;position:relative;flex-shrink:0;cursor:pointer}.product-feedback-diagnostics input:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:white}.product-feedback-diagnostics input:checked{background:var(--primary)}.product-feedback-diagnostics input:checked:after{left:19px}
@media(max-width:520px){.product-feedback-identity{grid-template-columns:1fr}.product-feedback-card{padding:18px}}
.account-invite-copy:hover{border-color:#ffb9a9;background:#fff0ea}
.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:10px;flex-wrap:wrap}
.account-actions .btn{height:30px;padding:0 10px;font-size:11px}
.account-points-actions{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.account-points-balance{cursor:pointer}
.account-text-button{height:30px;padding:0 3px;border:0;background:transparent;color:#64748b;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.account-text-button:hover{color:#dc2626}
.invite-campaign-banner{display:grid;gap:3px;width:100%;margin:12px 0 9px;padding:9px 11px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;color:#9a3412;line-height:1.45}
.invite-campaign-banner strong{font-size:12px;font-weight:900}.invite-campaign-banner span{display:block;max-width:none;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:10px;color:#c2410c}
.account-card-message{margin-top:9px;padding:7px 9px;border-radius:8px;background:#f8fafc;color:#475569;font-size:11px;line-height:1.45}
.account-card-message.error{background:#fff1f2;color:#be123c}
.account-card-message.success{background:#ecfdf5;color:#047857}
.account-settings-card[aria-busy="true"] .account-actions,.account-settings-card[aria-busy="true"] .account-guest-view{opacity:.65}
.account-settings-card button:focus-visible{outline:2px solid rgba(232,80,46,.68);outline-offset:2px}
.account-settings-card button:disabled{
  cursor:not-allowed;opacity:.48;box-shadow:none;filter:saturate(.35)
}
.crop-line-card{align-items:stretch}
.crop-line-body{width:100%;min-width:0}
.crop-line-body>span{max-width:none;white-space:normal}
.die-cut-card{align-items:stretch}
.die-cut-body{position:relative;width:100%;min-width:0}
.die-cut-body>span{max-width:none;white-space:normal}
.die-cut-card{min-height:0;padding-top:10px;padding-bottom:10px}
.die-cut-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.die-cut-heading>strong{margin:0}
.die-cut-heading>label{position:absolute;right:0;top:50%;display:flex;align-items:center;gap:8px;transform:translateY(-50%);color:#475569;font-size:10px;font-weight:800;line-height:1.1}
.die-cut-heading .die-cut-input{width:92px}
.die-cut-body>span{margin-top:5px}
  .die-cut-calibration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.die-cut-calibration-grid>label{min-width:0;display:grid;gap:5px;color:#475569;font-size:11px;font-weight:800}
.settings-row .die-cut-calibration-grid>label>span{max-width:none;color:#475569;font-size:11px;white-space:normal}
.die-cut-input{height:32px;display:flex!important;align-items:center;border:1px solid var(--border);border-radius:8px;background:#f8fafc;overflow:hidden}
.die-cut-input:focus-within{border-color:#ffc2b6;box-shadow:0 0 0 3px rgba(255,111,79,.12)}
.die-cut-input input{width:100%;min-width:0;height:30px;padding:0 4px 0 8px;border:0;background:transparent;color:var(--text);font:inherit;font-size:12px;font-variant-numeric:tabular-nums;outline:0}
  .settings-row .die-cut-input em{flex:0 0 auto;padding-right:8px;color:#94a3b8;font-size:10px;font-style:normal}
.crop-line-control{
  margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.crop-line-control label{
  flex:0 0 52px;color:#475569;font-size:13px;font-weight:700;
}
.crop-color-list,.line-style-options{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}
.crop-line-color-control{min-height:28px}
.crop-line-color-control .crop-color-list{justify-content:flex-end}
.crop-color-swatch{
  width:28px;height:28px;border:1px solid var(--border);border-radius:9px;background:#fff;
  display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 12px rgba(15,23,42,.06);
}
.crop-color-swatch::before{
  content:"";width:18px;height:18px;border-radius:6px;background:var(--swatch);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.crop-color-swatch.active{
  border-color:#ffb6a7;box-shadow:0 0 0 3px rgba(255,111,79,.12);
}
.crop-color-custom{
  height:28px;padding:0 7px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;
  display:flex;align-items:center;gap:5px;color:#64748b;font-size:11px;font-weight:800;cursor:pointer;
}
.crop-color-custom input{width:17px;height:17px;padding:0;border:0;border-radius:5px;background:none;cursor:pointer}
.crop-line-style-thickness-row{align-items:flex-start}
.crop-line-inline-field{display:flex;align-items:center;gap:9px;min-width:0}
.crop-line-style-thickness-row>.crop-line-inline-field:first-child{flex:1}
.crop-line-inline-field>label{flex:0 0 auto}
.id-number-card{align-items:stretch}
.id-number-body{width:100%;min-width:0}
.id-number-body>span{max-width:none;white-space:normal}
.id-number-preview{
  margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.id-number-preview code{
  flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;background:#f8fafc;
  padding:8px 10px;color:#475569;font:inherit;font-size:12px;overflow:hidden;text-overflow:ellipsis;
}
.id-number-color-list{display:flex;align-items:center;gap:8px}
.line-style-option{
  width:48px;height:32px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;color:#1f2a44;
  display:grid;place-items:center;padding:0;font:inherit;font-size:12px;font-weight:700;
  cursor:pointer;
}
.line-style-option.active{
  color:var(--primary-dark);background:var(--primary-soft);border-color:var(--primary-border);
}
.line-preview{
  width:34px;height:0;border-top:2px solid currentColor;display:inline-block;
}
.line-preview.dashed{border:0;height:2px;background:repeating-linear-gradient(to right,currentColor 0 6px,transparent 6px 9px)}
.crop-line-width-options{display:flex;overflow:hidden;border:1px solid var(--border);border-radius:9px;background:#f8fafc}
.crop-line-width-options button{width:28px;height:30px;padding:0;border:0;border-right:1px solid var(--border);background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.crop-line-width-options button:last-child{border-right:0}
.crop-line-width-options button.active{background:var(--primary-soft);color:var(--primary-dark);box-shadow:inset 0 0 0 1px var(--primary-border)}
.license-card{align-items:stretch}
.license-card-body{width:100%;min-width:0}
.license-product-summary{padding:1px 0 9px}
.license-product-summary strong{margin-bottom:3px}
.photo-license-summary{margin-bottom:9px;border-bottom:1px solid #eef2f7}
.license-card .photo-license-summary span{max-width:none;font-size:13px;font-weight:700;color:#172033}
.license-card #licenseStatusText{max-width:none;font-size:13px;color:#475569}
.license-card #licenseRemainingText{max-width:none;font-size:13px;font-weight:700;color:#172033}
.license-card #inviteHelpText{
  max-width:none;margin-top:3px;color:#94a3b8;font-size:12px;white-space:normal;
}
.invite-code-line{
  margin-top:8px;display:flex;align-items:center;gap:8px;min-width:0;
}
.invite-code-line #licenseInviteCode{
  flex:1;max-width:none;color:#475569;font-size:13px;
}
.copy-icon-button{
  width:28px;height:28px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;
  color:#334155;font-size:15px;display:grid;place-items:center;cursor:pointer;
  box-shadow:0 4px 10px rgba(15,23,42,.04);font-family:"Segoe UI Symbol","Microsoft YaHei UI",sans-serif;
}
.copy-icon-button:hover{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-dark)}
.license-redeem-inline{
  display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:0;
}
.crop-line-style-edit{flex:0 0 auto;margin-left:2px}
.crop-line-dash-gap-editor{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;color:#64748b;font-size:11px}
.crop-line-dash-gap-editor label{flex:0 0 auto!important;width:auto!important;font-size:11px!important}
.crop-line-dash-gap-editor input{flex:1;min-width:80px;accent-color:var(--primary-dark)}
.crop-line-dash-gap-editor span{flex:0 0 42px;text-align:right;font-variant-numeric:tabular-nums}
.crop-line-live-sample{display:flex;flex:1 0 100%;height:28px;align-items:center;padding:0 10px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;overflow:hidden}
.crop-line-live-sample i{display:block;width:100%;min-height:1px;background:#999}

/* File imposition keeps an independent state while using the same left/right
 * shell as the established photo and card workspaces. */
.workspace.file-layout-active .left-panel-scroll-content > :not(.brand-row):not(.work-mode-switch):not(#fileLayoutOptionsPanel),
.workspace.file-layout-active .preview-panel > :not(#fileLayoutPreviewPanel){display:none!important}
.workspace.file-layout-active .preview-panel{padding:20px;display:flex;flex-direction:column}
.workspace.file-layout-active #fileLayoutOptionsPanel{display:block!important;margin-top:2px}
.workspace.file-layout-active #standardPrinterContent{display:none!important}
.workspace.file-layout-active #fileLayoutPrinterSection{display:block!important}
.workspace.file-layout-active #fileLayoutPreviewPanel{display:flex!important;flex:1;min-height:0;flex-direction:column;gap:10px}

.file-layout-submode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;background:#f3f6f9;border:1px solid var(--border);border-radius:10px}
.file-layout-submode button{height:34px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.file-layout-submode button.active{background:#fff;color:var(--primary-dark);box-shadow:0 4px 12px rgba(15,23,42,.08)}
.file-layout-setting-group{margin-top:12px;padding-top:2px;border-top:1px solid #e8edf3}
.file-layout-setting-group h2,.file-layout-card-options h2{font-size:14px;margin:10px 0 8px;color:#172033}
.file-layout-field{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;margin:8px 0;color:#475569;font-size:12px;font-weight:800}
.file-layout-options-panel input,.file-layout-options-panel select{min-width:0;width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 8px;font:inherit;color:var(--text)}
.file-layout-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.file-layout-inline-fields label{display:grid;grid-template-columns:1fr auto;gap:4px;color:#475569;font-size:11px;font-weight:800}
.file-layout-inline-fields label span{grid-column:1/-1}.file-layout-inline-fields input{grid-column:1/-1}.file-layout-inline-fields em{font-style:normal;color:var(--muted);font-size:10px}
.file-layout-switch-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0;color:#475569;font-size:12px;font-weight:800}.file-layout-switch-row input{width:18px;height:18px}
.file-layout-card-options{margin-top:12px;padding-top:2px;border-top:1px solid #e8edf3}.file-layout-card-options.hidden{display:none}

.file-layout-preview-panel .preview-header{align-items:flex-start}.file-layout-header-note{margin:3px 0 0;color:var(--muted);font-size:11px}
.file-layout-summary{display:flex;align-items:center;gap:8px;min-height:28px;padding:5px 10px;border:1px solid #e5eaf1;border-radius:8px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:800}
.file-layout-summary span+span{padding-left:9px;border-left:1px solid #dfe5ec}.file-layout-summary #fileLayoutPairWarning{margin-left:auto;border-left:0;padding-left:0;color:#c2410c}

.printer-preset-panel{position:relative;display:grid;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
.printer-template-actions{display:flex;gap:6px;align-items:center}
.printer-preset-tabs{display:flex;flex-wrap:wrap;gap:4px;max-height:96px;overflow:auto}
.printer-preset-tabs button{max-width:148px;height:28px;min-width:64px;padding:3px 9px;border:1px solid var(--border);border-radius:6px;background:var(--neutral);color:var(--text);font-size:11px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.printer-preset-tabs button:hover{background:var(--neutral-hover)}
.printer-preset-tabs button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}
.printer-preset-tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.printer-preset-tabs button:disabled{opacity:.5;cursor:not-allowed}
.printer-preset-hint{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.printer-template-dialog{width:min(440px,calc(100vw - 40px));max-height:calc(100vh - 40px);padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 16px 60px #0f172a30}
.printer-template-dialog::backdrop{background:#0f172a55}
.printer-template-dialog h2{margin:0 0 8px;font-size:20px}
.printer-template-dialog p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.printer-template-dialog label{display:block;margin-top:16px;font-size:13px}
.printer-template-dialog [hidden]{display:none}
.printer-template-dialog input[name="presetName"]{display:block;box-sizing:border-box;width:100%;height:36px;margin-top:8px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font:inherit}
.printer-template-dialog input[name="saveAsNew"]{margin:0 8px 0 0;accent-color:var(--primary)}
.printer-template-dialog :is(input,button):focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.printer-template-dialog :disabled{opacity:.5;cursor:not-allowed}
.printer-template-dialog .printer-template-error{min-height:22px;margin:10px 0;color:#b91c1c}
.printer-template-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.printer-template-dialog footer button{min-width:96px}
.printer-preset-context-menu{position:fixed;z-index:1200;min-width:108px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}
.printer-preset-context-menu button{display:block;width:100%;padding:7px 10px;border:0;border-radius:5px;background:transparent;color:var(--text);text-align:left}
.printer-preset-context-menu button:hover{background:var(--neutral-hover)}
.printer-preset-context-menu [data-printer-preset-action="delete"]{color:#dc2626}
.settings-row.printer-settings-card{display:none}

.file-layout-preview-panel.split-active>.preview-header,.file-layout-preview-panel.split-active>.file-layout-summary,.file-layout-preview-panel.split-active>.file-layout-workbench,.file-layout-preview-panel.split-active>.file-layout-statusbar{display:none!important}
.file-layout-split-workspace{display:flex;flex:1;min-height:0;flex-direction:column;gap:10px}
.file-layout-split-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid #dfe5ec;background:#fff}
.file-layout-split-header h2{margin:0;font-size:18px}.file-layout-split-header p{margin:3px 0 0;color:#6b7280;font-size:12px}
.file-layout-split-toolbar{display:flex;align-items:center;gap:10px;padding:0 14px;flex-wrap:wrap}
.file-layout-split-toolbar>label{display:flex;align-items:center;gap:6px;color:#4b5563;font-size:12px}.file-layout-split-toolbar input[type=number]{width:72px}.file-layout-split-toolbar em{font-style:normal;color:#6b7280}
.file-layout-split-check input{accent-color:#2563eb}
.file-layout-split-stage{position:relative;display:flex;flex:1;min-height:280px;align-items:center;justify-content:center;overflow:auto;margin:0 14px;border:1px solid #d7dee8;border-radius:8px;background:#e9edf3}
.file-layout-split-image-wrap{position:relative;max-width:calc(100% - 48px);max-height:calc(100% - 48px);line-height:0;cursor:crosshair;user-select:none}
.file-layout-split-image-wrap img{display:block;max-width:100%;max-height:calc(100vh - 290px);object-fit:contain;pointer-events:none}
.file-layout-split-line-layer,.file-layout-split-cursor-line{position:absolute;inset:0;pointer-events:none}
.file-layout-split-line{position:absolute;pointer-events:auto;cursor:move}
.file-layout-split-line.vertical{top:0;bottom:0;width:12px;transform:translateX(-6px);background:linear-gradient(90deg,transparent 5px,#ef4444 5px,#ef4444 7px,transparent 7px)}.file-layout-split-line.horizontal{left:0;right:0;height:12px;transform:translateY(-6px);background:linear-gradient(transparent 5px,#ef4444 5px,#ef4444 7px,transparent 7px)}
.file-layout-split-line.vertical.selected{background:linear-gradient(90deg,transparent 5px,#2563eb 5px,#2563eb 7px,transparent 7px)}.file-layout-split-line.horizontal.selected{background:linear-gradient(transparent 5px,#2563eb 5px,#2563eb 7px,transparent 7px)}.file-layout-split-line-label{position:absolute;z-index:2;padding:3px 5px;border-radius:4px;background:#111827;color:#fff;font-size:11px;line-height:1.2;white-space:nowrap;pointer-events:none}
.file-layout-split-cursor-line{background:transparent}.file-layout-split-cursor-line.vertical{width:1px;border-left:1px dashed #2563eb}.file-layout-split-cursor-line.horizontal{height:1px;border-top:1px dashed #2563eb}
.file-layout-split-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px 14px}.file-layout-split-footer span{color:#4b5563;font-size:12px}.file-layout-split-footer .file-layout-smart-layout{width:auto;min-width:190px}
.file-layout-workbench{display:grid;grid-template-columns:118px minmax(0,1fr) 220px;grid-template-rows:minmax(0,1fr);flex:1;min-height:0;border:1px solid var(--border);background:#f7f9fb;overflow:hidden}
.file-layout-queue-panel,.file-layout-control-panel{grid-row:1}.file-layout-paper-stage{grid-column:2;grid-row:1}
.file-layout-queue-panel{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--border);background:#fff}
.file-layout-queue-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;border-bottom:1px solid var(--border)}
.file-layout-queue-tabs button{height:31px;border:0;border-radius:6px;background:#f3f6f9;color:#64748b;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.file-layout-queue-tabs button.active{background:var(--primary-soft);color:var(--primary-dark)}
.file-layout-queue-list{flex:1;min-height:0;overflow:auto}.file-layout-queue-list.hidden{display:none}
.file-layout-file-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 7px 10px;border-bottom:1px solid #edf0f4;font-size:10px}.file-layout-file-thumb{position:relative;width:64px;height:64px}.file-layout-file-item img,.file-layout-file-placeholder{display:block;width:64px;height:64px;object-fit:contain;border:1px solid #edf0f4;border-radius:6px;background:#f8fafc}.file-layout-file-placeholder{display:grid;place-items:center;color:#94a3b8;font-size:10px;font-weight:700}.file-layout-file-item-copy{width:100%;min-width:0;text-align:center}.file-layout-file-item-copy strong,.file-layout-file-item-copy span{display:block;overflow:hidden;text-overflow:ellipsis}.file-layout-file-item-copy strong{display:-webkit-box;min-height:26px;line-height:13px;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;word-break:break-all}.file-layout-file-item-copy span{margin-top:3px;color:var(--muted);font-size:9px;line-height:12px;white-space:nowrap}
.file-layout-file-item{cursor:pointer;outline:0}.file-layout-file-item:hover{background:#fff8f5}.file-layout-file-item.selected{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.file-layout-file-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}
.file-layout-pair-item{padding:10px;border-bottom:1px solid #edf0f4;display:grid;gap:4px;font-size:11px}.file-layout-pair-item strong{color:#334155}.file-layout-pair-item small{color:var(--muted);line-height:1.4}.file-layout-pair-item.invalid{background:#fff7ed}.file-layout-pair-item.invalid small{color:#c2410c}
.file-layout-paper-stage{position:relative;display:block;min-width:0;min-height:0;overflow:auto;padding:28px 20px 28px 30px;background:#f5f7f9;cursor:default;user-select:none}.file-layout-paper-stage.panning{cursor:grabbing}
.file-layout-ruler-frame{position:absolute;inset:0;z-index:4;pointer-events:none}.file-layout-ruler-corner{position:absolute;top:0;left:0;width:14px;height:13px;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;background:#fafbfc}.file-layout-ruler{position:absolute;overflow:hidden;background-color:#fafbfc;color:#a6afba;font-size:6px;line-height:1;user-select:none}.file-layout-ruler-horizontal{top:0;right:0;left:14px;height:13px;border-bottom:1px solid #edf0f4;background-image:linear-gradient(to right,rgba(143,155,170,.42) .5px,transparent .5px),linear-gradient(to right,rgba(177,187,199,.34) .5px,transparent .5px);background-position:var(--ruler-origin-x,0) bottom,var(--ruler-origin-x,0) bottom;background-size:var(--ruler-major,40px) 5px,var(--ruler-minor,4px) 2px;background-repeat:repeat-x}.file-layout-ruler-vertical{top:13px;bottom:0;left:0;width:14px;border-right:1px solid #edf0f4;background-image:linear-gradient(to bottom,rgba(143,155,170,.42) .5px,transparent .5px),linear-gradient(to bottom,rgba(177,187,199,.34) .5px,transparent .5px);background-position:right var(--ruler-origin-y,0),right var(--ruler-origin-y,0);background-size:5px var(--ruler-major,40px),2px var(--ruler-minor,4px);background-repeat:repeat-y}.file-layout-ruler-label{position:absolute;color:#a6afba;font-size:6px;font-weight:500;pointer-events:none;white-space:nowrap}.file-layout-ruler-horizontal .file-layout-ruler-label{top:1px;transform:translateX(2px)}.file-layout-ruler-vertical .file-layout-ruler-label{left:1px;transform:translateY(2px);writing-mode:vertical-rl}.file-layout-artboard-list{display:flex;width:max-content;min-width:100%;flex-direction:column;align-items:center;gap:30px;transform-origin:top center}.file-layout-artboard{display:grid;width:max-content;justify-items:start;gap:calc(6px * var(--artboard-ui-scale,1));will-change:transform}.file-layout-artboard-body{display:flex;align-items:center;gap:calc(11px * var(--artboard-ui-scale,1))}.file-layout-artboard-paper{display:grid;width:max-content;gap:calc(6px * var(--artboard-ui-scale,1))}.file-layout-artboard-header{display:flex;width:100%;min-height:calc(27px * var(--artboard-ui-scale,1));align-items:center;gap:calc(8px * var(--artboard-ui-scale,1));color:#8792a2}.file-layout-artboard-label{margin-right:auto;color:#8b96a5;font-size:calc(9px * var(--artboard-ui-scale,1));font-weight:600;letter-spacing:.02em;cursor:grab;touch-action:none}.file-layout-artboard-label:active{cursor:grabbing}.file-layout-artboard-size{display:flex;align-items:center;gap:calc(4px * var(--artboard-ui-scale,1))}.file-layout-artboard-size label{display:grid;grid-template-columns:calc(10px * var(--artboard-ui-scale,1)) calc(39px * var(--artboard-ui-scale,1)) calc(16px * var(--artboard-ui-scale,1));align-items:center;color:#98a2b0;font-size:calc(8px * var(--artboard-ui-scale,1));font-weight:700}.file-layout-artboard-size input{width:calc(39px * var(--artboard-ui-scale,1));height:calc(23px * var(--artboard-ui-scale,1));border:0;border-bottom:1px solid #e2e7ed;outline:0;background:transparent;padding:0 calc(2px * var(--artboard-ui-scale,1));color:#556274;font-size:calc(9px * var(--artboard-ui-scale,1));font-weight:750}.file-layout-artboard-size em{font-style:normal;font-size:calc(7px * var(--artboard-ui-scale,1))}.file-layout-artboard-orientation{display:flex;gap:1px;padding:calc(2px * var(--artboard-ui-scale,1));border-radius:6px;background:#eef2f6}.file-layout-artboard-orientation button{min-width:calc(23px * var(--artboard-ui-scale,1));height:calc(19px * var(--artboard-ui-scale,1));border:0;border-radius:4px;background:transparent;color:#8994a4;font-size:calc(8px * var(--artboard-ui-scale,1));font-weight:800;cursor:pointer}.file-layout-artboard-orientation button.active{background:#fff;color:#ef5a3c;box-shadow:0 1px 4px rgba(15,23,42,.08)}.file-layout-artboard-add{display:grid;width:calc(30px * var(--artboard-ui-scale,1));height:calc(30px * var(--artboard-ui-scale,1));flex:0 0 auto;place-items:center;border:1px solid #dce3eb;border-radius:50%;background:#fff;color:#758296;line-height:1;cursor:pointer;box-shadow:0 3px 9px rgba(15,23,42,.05)}.file-layout-artboard-add svg{width:calc(13px * var(--artboard-ui-scale,1));height:calc(13px * var(--artboard-ui-scale,1));fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round}.file-layout-artboard-add:hover{border-color:#ffc4b7;background:var(--primary-soft);color:#ee5b3c}.file-layout-artboard-context-menu{position:fixed;z-index:10020;display:grid;min-width:112px;gap:2px;padding:4px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18)}.file-layout-artboard-context-menu.hidden{display:none}.file-layout-artboard-context-menu button{height:30px;border:0;border-radius:5px;background:#fff;color:#334155;padding:0 9px;text-align:left;font-size:11px;font-weight:800;cursor:pointer}.file-layout-artboard-context-menu button:hover{background:var(--primary-soft);color:var(--primary-dark)}.file-layout-artboard-context-menu button:disabled{opacity:.38;cursor:not-allowed}.file-layout-canvas{position:relative;display:flex;flex:0 0 auto;align-items:center;justify-content:center;max-width:none;max-height:none;background:#fff;border:1px solid #d7dde5;box-shadow:0 7px 16px rgba(15,23,42,.055);overflow:visible}
.file-layout-paper-stage.file-layout-preview-zoomed{align-items:flex-start;justify-content:flex-start}
.file-layout-canvas>img{display:block;width:100%;height:100%;object-fit:fill}.file-layout-canvas>img.hidden{display:none}
.file-layout-statusbar{min-height:28px;padding:6px 10px;border:1px solid #e5eaf1;border-radius:7px;background:#fff}.file-layout-status{color:var(--muted);font-size:11px;line-height:1.4}.file-layout-status.error{color:#dc2626}
.file-layout-paper-panel{min-width:0;overflow:auto;padding:11px;border-left:1px solid var(--border);background:#fff}.file-layout-paper-module+.file-layout-paper-module{margin-top:14px;padding-top:12px;border-top:1px solid #e8edf3}.file-layout-paper-module h2{margin:0;color:#172033;font-size:14px}.file-layout-paper-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:9px}.file-layout-title-edge-limit{display:flex;align-items:center;gap:4px;color:#64748b;font-size:10px;font-weight:800}.file-layout-title-edge-limit .file-layout-mm-input{grid-template-columns:42px auto}.file-layout-title-edge-limit input{height:27px;padding:0 5px}.file-layout-paper-source-toggle{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0 0 9px;padding:3px;border-radius:8px;background:#f1f5f9}.file-layout-paper-source-toggle button{height:28px;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:11px;font-weight:900;cursor:pointer}.file-layout-paper-source-toggle button.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 7px rgba(15,23,42,.08)}.file-layout-paper-choice-field{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:6px;margin:9px 0;color:#475569;font-size:11px;font-weight:800}.file-layout-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.file-layout-choice-chip,.file-layout-orientation-switch button{min-width:0;height:29px;border:1px solid var(--border);border-radius:7px;background:#f8fafc;color:#475569;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.file-layout-choice-chip.active,.file-layout-orientation-switch button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}.file-layout-choice-chip.dragging{opacity:.5}.file-layout-choice-chip.drag-over{border-color:var(--primary);box-shadow:0 0 0 2px rgba(255,107,82,.16)}.file-layout-orientation-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px}.file-layout-side-size-row{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);gap:4px;align-items:end;margin-top:10px}.file-layout-side-size-row label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px;color:#475569;font-size:10px;font-weight:800}.file-layout-side-size-row label span{grid-column:1/-1}.file-layout-side-size-row input{min-width:0;width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 6px;font:inherit;color:var(--text)}.file-layout-side-size-row em{display:flex;height:32px;align-items:center;font-style:normal;color:var(--muted);font-size:10px;line-height:1}.file-layout-current-size-row{margin:10px 0 0 58px}.file-layout-size-separator{padding-bottom:9px;color:#94a3b8;text-align:center;font-size:12px}.file-layout-custom-paper-editor{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:5px;margin:8px 0 0 58px}.file-layout-custom-paper-editor input,.file-layout-custom-paper-editor button{height:30px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 7px;color:var(--text);font-size:10px;font-weight:800}.file-layout-custom-paper-editor button{padding:0;cursor:pointer}.file-layout-preset-context{position:fixed;z-index:10020;display:grid;gap:3px;width:118px;padding:4px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18)}.file-layout-preset-context button{height:30px;border:0;border-radius:5px;background:#fff;color:#334155;text-align:left;padding:0 9px;font-size:11px;font-weight:800;cursor:pointer}.file-layout-preset-context button:hover{background:var(--primary-soft);color:var(--primary-dark)}.file-layout-preset-context button:disabled{opacity:.38;cursor:not-allowed}.file-layout-module-help{margin:-4px 0 10px;color:#94a3b8;font-size:10px;line-height:1.35}.file-layout-item-size-row{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}.file-layout-aspect-lock{width:28px;height:32px;border:1px solid var(--border);border-radius:7px;background:#f8fafc;color:#64748b;font-size:13px;cursor:pointer}.file-layout-aspect-lock[aria-pressed="true"]{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}.file-layout-aspect-copy{margin-top:7px;color:#64748b;font-size:10px;text-align:center}.file-layout-toolbar{gap:10px}.file-layout-copy-control{display:flex;align-items:center;height:36px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:0 11px;color:#0f2748;font-size:13px;font-weight:900;box-shadow:0 5px 14px rgba(15,23,42,.04)}.file-layout-copy-control input{width:28px;border:0;outline:0;background:transparent;color:#0f2748;font:inherit;text-align:center}.file-layout-copy-control input::-webkit-inner-spin-button,.file-layout-copy-control input::-webkit-outer-spin-button{appearance:none;margin:0}
.file-layout-driver-paper-row{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:6px;margin:0 0 3px;color:#475569;font-size:11px;font-weight:800}.file-layout-driver-paper-row strong{min-width:0;overflow:hidden;color:#0f2748;text-align:right;text-overflow:ellipsis;white-space:nowrap}.file-layout-driver-paper-row strong.roll{color:var(--primary-dark)}.file-layout-driver-paper-detail{min-height:16px;margin:0 0 8px;color:#94a3b8;font-size:10px;line-height:1.35;text-align:right}.file-layout-edge-limit-field{margin-top:10px}.file-layout-mm-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}.file-layout-mm-input input{min-width:0;width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 7px;font:inherit;color:var(--text)}.file-layout-mm-input em{font-style:normal;color:var(--muted);font-size:10px}
.file-layout-quick-paper{display:flex;align-items:center;gap:3px;height:36px;padding:3px;border:1px solid var(--border);border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04)}.file-layout-quick-paper label{display:grid;grid-template-columns:11px 48px 16px;align-items:center;height:28px;color:#64748b;font-size:9px;font-weight:800}.file-layout-quick-paper input{min-width:0;width:48px;height:25px;border:0;border-bottom:1px solid #dbe3ec;outline:0;background:transparent;padding:0 2px;color:#0f2748;font:inherit;font-size:10px;font-weight:800}.file-layout-quick-paper em{font-style:normal;font-size:8px}.file-layout-quick-orientation{margin-left:2px}.file-layout-quick-orientation.crop-guide-style-options button{min-width:27px;height:25px;padding:0 5px;font-size:10px}
@media (max-width:1280px){.file-layout-workbench{grid-template-columns:108px minmax(0,1fr) 205px}.file-layout-paper-panel{padding:10px}.file-layout-paper-stage{padding:26px 14px 14px 28px}.file-layout-quick-paper{order:2}}@media (max-width:1050px){.file-layout-workbench{grid-template-columns:108px minmax(0,1fr)}.file-layout-paper-panel{display:none}}
.license-redeem-inline input{
  height:42px;border:1px solid var(--border);border-radius:12px;padding:0 13px;
  font:inherit;font-size:14px;color:var(--text);background:#fff;
}
.license-redeem-inline input:focus{
  outline:0;border-color:var(--primary-border);box-shadow:0 0 0 3px rgba(255,111,79,.12);
}
.license-redeem-inline .btn{height:42px;border-radius:12px;padding:0 16px}
.license-purchase-button{width:100%;height:42px;margin-top:10px;border-radius:12px}
.invite-campaign-panel{
  margin-top:9px;padding:10px;border:1px solid #fed7aa;border-radius:10px;
  background:linear-gradient(145deg,#fffaf4,#fff);color:#475569;
}
.invite-campaign-panel.hidden{display:none}
.invite-campaign-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.invite-campaign-heading strong{margin:0;color:#c2410c;font-size:12px}
.license-card .invite-campaign-heading span{
  flex:0 0 auto;max-width:none;color:#ea580c;font-size:10px;font-weight:800;white-space:nowrap;
}
.invite-campaign-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.invite-campaign-stats>div{min-width:0;padding:7px 8px;border:1px solid #ffedd5;border-radius:8px;background:rgba(255,255,255,.82)}
.license-card .invite-campaign-stats span{max-width:none;color:#9a6a54;font-size:10px;white-space:nowrap}
.invite-campaign-stats strong{margin:2px 0 0;color:#7c2d12;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.license-card .invite-campaign-note{max-width:none;margin-top:7px;color:#9a6a54;font-size:10px;line-height:1.45;white-space:normal}
.invite-redeem-message{
  margin-top:8px;padding:8px 10px;border:1px solid #dbeafe;border-radius:8px;
  background:#f8fbff;color:#475569;font-size:12px;line-height:1.45;white-space:normal;
}
.invite-redeem-message.hidden{display:none}
.invite-redeem-message.success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}
.invite-redeem-message.error{border-color:#fecaca;background:#fff7f7;color:#dc2626}
.ai-provider-settings-card{align-items:stretch}
.ai-provider-settings-body{width:100%;min-width:0}
.ai-provider-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ai-provider-settings-heading>div{min-width:0}
.ai-provider-settings-card .ai-provider-settings-heading span{max-width:none;white-space:normal}
.ai-provider-settings-badge{
  flex:0 0 auto!important;width:auto!important;max-width:none!important;padding:3px 8px;border:1px solid #e2e8f0;border-radius:999px;
  background:#f8fafc;color:#64748b!important;font-size:10px!important;font-weight:900;line-height:1.4!important;white-space:nowrap!important;
}
.ai-provider-settings-badge.configured{border-color:#bbf7d0;background:#ecfdf5;color:#047857!important}
.ai-provider-switch{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px;padding:4px;
  border:1px solid #e5eaf1;border-radius:10px;background:#f4f7fa;
}
.ai-provider-switch button{
  height:34px;border:0;border-radius:7px;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:900;cursor:pointer;
}
.ai-provider-switch button:hover{color:var(--primary-dark)}
.ai-provider-switch button.active{background:#fff;color:var(--primary-dark);box-shadow:0 5px 13px rgba(15,23,42,.08)}
.ai-provider-switch button:focus-visible,.ai-settings-key-field input:focus-visible{outline:2px solid rgba(232,80,46,.7);outline-offset:2px}
.ai-provider-model-line{
  margin-top:9px;padding:8px 10px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.settings-row .ai-provider-model-line span{max-width:none;color:#64748b;font-size:11px;white-space:nowrap}
.ai-provider-model-line strong{margin:0;color:#1e40af;font-size:12px;overflow-wrap:anywhere;text-align:right}
.ai-settings-key-field{display:grid;gap:5px;margin-top:9px;color:#475569;font-size:11px;font-weight:800}
.settings-row .ai-settings-key-field>span{max-width:none;color:#475569;font-size:11px;white-space:normal}
.ai-settings-key-field input{
  width:100%;height:38px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;padding:0 10px;
  color:#1f2937;font:inherit;font-size:12px;box-sizing:border-box;
}
.ai-provider-settings-footer{display:flex;align-items:center;gap:12px;margin-top:9px}
.settings-row .ai-provider-settings-footer .ai-online-config-status{flex:1;max-width:none;margin:0;white-space:normal}
.ai-provider-settings-footer .ai-online-save-button{width:auto;min-width:126px;min-height:36px;margin:0;padding:0 14px;flex:0 0 auto}
.paper-edge-inline{display:flex;align-items:center;gap:6px;margin-left:auto}
.paper-edge-inline>span{color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}
.paper-edge-custom{width:58px;height:24px;display:grid;grid-template-columns:minmax(0,34px) auto;align-items:center;gap:1px;padding:0 4px;border:1px solid #dbe3ec;border-radius:6px;background:#fff;color:#64748b}
.paper-edge-custom:focus-within{border-color:#ffad9b;box-shadow:0 0 0 2px rgba(255,111,79,.08)}
.paper-edge-custom input{min-width:0;width:34px;height:20px;padding:0;border:0;background:transparent;color:#334155;font:900 10px/1 inherit;text-align:center;outline:0;appearance:textfield}
.paper-edge-custom input::-webkit-inner-spin-button,.paper-edge-custom input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.paper-edge-custom em{color:#94a3b8;font-size:8px;font-style:normal}
.ai-photo-license-summary{padding:9px 0;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7}
.combined-license-summary{padding:10px 0;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7}
.combined-license-summary>span{display:block;margin-top:5px}
.ai-entitlement-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ai-entitlement-heading>div{min-width:0}
.settings-row .ai-entitlement-heading span{max-width:none;white-space:normal}
.ai-entitlement-badge{
  flex:0 0 auto;padding:4px 9px;border:1px solid #fed7aa;border-radius:999px;
  background:#fff7ed;color:#c2410c;font-size:10px;font-weight:900;white-space:nowrap;
}
.ai-entitlement-badge.active{border-color:#bbf7d0;background:#ecfdf5;color:#047857}
.ai-entitlement-badge.expired{border-color:#fecaca;background:#fff1f2;color:#be123c}
.ai-entitlement-badge.permanent{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.ai-entitlement-progress{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:9px 10px;
  border:1px solid #ffe0d7;border-radius:9px;background:#fff;color:#475569;font-size:12px;font-weight:800;
}
.settings-row .ai-entitlement-progress span{max-width:none;color:inherit;font-size:inherit;white-space:normal}
.ai-entitlement-progress span:last-child{text-align:right;color:var(--primary-dark)}
.ai-photo-license-summary small{display:block;margin-top:7px;color:#94a3b8;font-size:11px;line-height:1.55}
.ai-task-provider-row{display:flex;align-items:center;gap:9px;padding:8px 10px;margin-bottom:9px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#475569;font-size:12px}
.ai-task-provider-row>span{font-weight:900;color:#334155;white-space:nowrap}
.ai-task-provider-row>small{min-width:0;flex:1;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-task-provider-row>small.error{color:#dc2626}
.ai-provider-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin:0}
.ai-provider-summary-card{box-sizing:border-box;min-height:48px;margin:0;align-self:stretch}
.ai-provider-action-row>.ai-managed-account,.ai-provider-action-row>.ai-online-config-launcher{grid-column:1;grid-row:1}
.ai-provider-action-row>.ai-history-launcher{grid-column:2;grid-row:1}
.ai-managed-account{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;padding:7px 9px;border:1px solid var(--primary-border);border-radius:9px;background:var(--primary-soft);color:var(--primary-dark);font-size:10px}
.ai-managed-account span{font-weight:800}.ai-managed-account strong{color:var(--primary-dark);font-size:12px}.ai-managed-recharge{height:26px;padding:0 8px;border:1px solid var(--primary-border);border-radius:7px;background:#fff;color:var(--primary-dark);font:inherit;font-size:11px;font-weight:900;cursor:pointer}.ai-managed-recharge:hover{border-color:var(--primary);background:var(--primary-soft)}.ai-managed-model-select{width:auto;min-width:92px;max-width:156px;height:26px;padding:0 22px 0 7px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#475569;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.ai-managed-model-select:disabled{cursor:wait;color:#94a3b8}
.ai-managed-resolution-select{width:auto;min-width:80px;height:26px;padding:0 22px 0 7px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#475569;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.ai-task-provider-switch{display:flex;gap:3px;padding:3px;border-radius:8px;background:#f1f5f9}
.ai-task-provider-switch button{min-width:48px;height:27px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#64748b;font-weight:800;cursor:pointer}
.ai-task-provider-switch button.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 8px rgba(15,23,42,.08)}
.ai-task-provider-switch button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.ai-task-provider-switch button:disabled{cursor:not-allowed;opacity:.55}
.ai-online-config-launcher{
  width:100%;padding:7px 9px;border:1px solid #dbeafe;border-radius:9px;
  background:linear-gradient(180deg,#fbfdff,#f5f9ff);color:#334155;display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;cursor:pointer;
}
.ai-online-config-launcher:hover{border-color:#93c5fd;background:#f0f7ff}
.ai-online-config-launcher:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px}
.ai-online-config-launcher-icon{width:28px;height:28px;border-radius:8px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-size:10px;font-weight:900}
.ai-online-config-launcher>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}
.ai-online-config-launcher strong{font-size:10px}
.ai-online-config-launcher small{color:#7c8ba1;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-online-config-launcher>b{padding:2px 6px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:8px;font-weight:900;white-space:nowrap}
.ai-online-config-launcher.configured>b{background:#dcfce7;color:#047857}
.ai-history-launcher{width:100%;padding:6px 9px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:#475569;display:grid;grid-template-columns:24px auto minmax(0,1fr);align-items:center;gap:7px;text-align:left;cursor:pointer}.ai-history-launcher:hover{border-color:#cbd5e1;background:#f8fafc}.ai-history-launcher>span{width:24px;height:24px;border-radius:7px;background:#f1f5f9;color:#64748b;display:grid;place-items:center;font-size:10px;font-weight:900}.ai-history-launcher strong{font-size:10px;white-space:nowrap}.ai-history-launcher small{min-width:0;color:#94a3b8;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-dialog{
  position:fixed;inset:0;z-index:55;display:grid;place-items:center;
  background:rgba(15,23,42,.16);backdrop-filter:blur(8px);
}
.id-number-dialog{
  position:fixed;inset:0;z-index:58;display:grid;place-items:center;
  background:rgba(15,23,42,.16);backdrop-filter:blur(8px);
}
.id-number-dialog.hidden{display:none}
.photo-layout-dialog{position:fixed;inset:0;z-index:69;display:grid;place-items:center;background:rgba(15,23,42,.32);backdrop-filter:blur(6px)}
.photo-layout-dialog.hidden{display:none}
.icc-dialog{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:rgba(15,23,42,.28);backdrop-filter:blur(7px)}
.icc-dialog.hidden{display:none}
.icc-dialog-card{position:relative;width:min(620px,calc(100vw - 44px));max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid #dbe3ee;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.24)}
.icc-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:34px}
.icc-dialog-header h2{margin:0;color:#172033;font-size:21px}
.icc-dialog-header p{margin:6px 0 0;color:#64748b;font-size:12px;line-height:1.5}
.icc-profile-list{display:grid;gap:8px;margin-top:16px}
.icc-profile-option{position:relative;min-height:58px;padding:10px 82px 10px 12px;border:1px solid #dbe3ec;border-radius:10px;background:#fbfcfe;color:#334155;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;cursor:pointer}
.icc-profile-option:hover{border-color:var(--primary-border);background:#fff8f5}
.icc-profile-option[aria-selected="true"]{border-color:#ffad9b;background:#fff4f0;box-shadow:0 0 0 2px rgba(255,111,79,.08)}
.icc-profile-option strong{max-width:100%;font-size:12px;line-height:1.4}
.icc-profile-option span{max-width:100%;color:#7b8797;font-size:10px;overflow-wrap:anywhere}
.icc-profile-option b{position:absolute;right:10px;top:50%;transform:translateY(-50%);padding:4px 8px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:9px}
.icc-profile-option[aria-selected="true"] b{background:#ffded5;color:#c2410c}
.icc-profile-empty{margin:0;padding:18px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-size:12px;text-align:center}
.icc-dialog-actions{display:flex;justify-content:flex-end;margin-top:12px}
.icc-dialog-actions .btn{min-width:170px}
.icc-dialog-help{margin:14px 0 0;color:#94a3b8;font-size:10px;line-height:1.6}
.switch-row-actions{display:flex;align-items:center;gap:10px}
.photo-mix-align{display:inline-flex;overflow:hidden;border:1px solid #dbe4ee;border-radius:7px;background:#f8fafc}
.photo-mix-align button{min-width:30px;height:28px;padding:0 7px;border:0;border-right:1px solid #dbe4ee;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.photo-mix-align button:last-child{border-right:0}
.photo-mix-align button:hover{background:var(--primary-soft);color:var(--primary-dark)}
.photo-mix-align button.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 7px rgba(15,23,42,.08)}
.photo-mix-center-button{height:28px;padding:0 8px;border:1px solid #dbe4ee;border-radius:7px;background:#f8fafc;color:#64748b;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.photo-mix-center-button:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}
.photo-mix-center-button[aria-pressed="true"]{border-color:var(--primary-border);background:#fff;color:var(--primary-dark);box-shadow:0 2px 7px rgba(15,23,42,.08)}
.photo-mix-center-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.document-watermark-card{width:min(650px,calc(100vw - 44px))}
.watermark-field{position:relative;display:flex;align-items:center;gap:10px;margin-top:16px;color:#334155;font-size:13px;font-weight:700}
.watermark-field>span{min-width:64px}
.watermark-field input{min-width:0;flex:1;height:40px;padding:0 12px;border:1px solid #dbe3ee;border-radius:10px;background:#fff;color:#172033;font:inherit;outline:none}
.watermark-field input:focus{border-color:var(--primary-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
.watermark-field input[type="color"]{padding:4px;cursor:pointer}
.watermark-field em{position:absolute;right:10px;color:#94a3b8;font-size:11px;font-style:normal;font-weight:500}
.watermark-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.watermark-grid .watermark-field{display:grid;grid-template-columns:1fr;margin-top:14px}
.watermark-grid .watermark-field>span{min-width:0}
.watermark-template-panel{margin-top:14px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.watermark-template-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#64748b;font-size:10px}
.watermark-template-heading strong{color:#334155;font-size:12px}
.watermark-template-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
.watermark-template-item{position:relative;min-width:0}
.watermark-template-apply{width:100%;height:44px;padding:6px 25px 6px 9px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;color:#334155;text-align:left;cursor:pointer}
.watermark-template-apply:hover,.watermark-template-apply.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}
.watermark-template-apply strong,.watermark-template-apply small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.watermark-template-apply strong{font-size:11px}.watermark-template-apply small{margin-top:3px;color:#94a3b8;font-size:8px}
.watermark-template-delete{position:absolute;right:4px;top:50%;width:20px;height:20px;padding:0;transform:translateY(-50%);border:0;border-radius:6px;background:#f1f5f9;color:#94a3b8;cursor:pointer}
.watermark-template-delete:hover{background:#fee2e2;color:#dc2626}
.watermark-template-save-row{display:flex;gap:8px;margin-top:14px}
.watermark-template-save-row input{min-width:0;flex:1;height:38px;padding:0 11px;border:1px solid #dbe3ee;border-radius:9px;color:#172033;font:inherit;outline:none}
.watermark-template-save-row input:focus{border-color:var(--primary-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
.watermark-template-save-row .btn{flex:0 0 auto}
.watermark-template-status{min-height:16px;margin:7px 0 0;color:#16a34a;font-size:10px}.watermark-template-status.error{color:#dc2626}
.document-watermark-object{cursor:move;background:transparent!important}
.photo-layout-card{
  width:min(720px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:20px;
  border:1px solid #dbe3ee;border-radius:12px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.24);
}
.photo-layout-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.photo-layout-header h2{margin:0;font-size:22px}
.photo-layout-header p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.photo-layout-template-panel{margin-top:14px;padding:11px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfcfe}
.photo-layout-template-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.photo-layout-template-heading>div{min-width:0}
.photo-layout-template-heading strong{display:block;color:#334155;font-size:13px}
.photo-layout-template-heading span{display:block;margin-top:3px;color:#94a3b8;font-size:10px}
.photo-layout-template-heading>span{flex:0 0 auto;margin:0;padding:2px 7px;border-radius:999px;background:#eef2f7;color:#64748b;font-weight:800}
.photo-layout-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.photo-layout-template-empty{grid-column:1/-1;margin:0;padding:10px;border:1px dashed #dbe3ec;border-radius:7px;color:#94a3b8;font-size:11px;text-align:center}
.photo-layout-template-item{position:relative;min-width:0;border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 5px 14px rgba(15,23,42,.04)}
.photo-layout-template-item.dragging,.pack-card.dragging,.photo-template-chip.dragging{opacity:.55}
.photo-layout-template-item.drag-over,.pack-card.drag-over,.photo-template-chip.drag-over{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}
.photo-layout-template-apply{width:100%;min-height:108px;padding:12px;border:0;background:transparent;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;color:#334155;text-align:left;cursor:pointer}
.photo-layout-template-apply:hover{background:var(--primary-soft)}
.layout-template-thumb{width:76px;height:86px;display:grid;place-items:center;border:1px solid #e4eaf1;border-radius:8px;background:linear-gradient(145deg,#eef2f6,#f8fafc);overflow:hidden}
.layout-template-paper{position:relative;display:block;border:1px solid #8794a5;border-radius:2px;background:#fff;box-shadow:0 4px 10px rgba(15,23,42,.12)}
.layout-template-slot{position:absolute;display:block;box-sizing:border-box;border:1px solid #526276;border-radius:1px;background:linear-gradient(135deg,#d9e2ec,#f8fafc);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}
.layout-template-slot::after{content:"\2191";position:absolute;inset:0;display:grid;place-items:center;color:#2563eb;font:800 7px/1 sans-serif;transform:rotate(var(--slot-rotation,0deg));transform-origin:center}
.layout-template-slot.mirrored{background:repeating-linear-gradient(135deg,#d8e4ee 0,#d8e4ee 3px,#eef3f7 3px,#eef3f7 6px)}
.layout-template-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.photo-layout-template-apply strong{max-width:100%;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photo-layout-template-apply small{max-width:100%;color:#7b8797;font-size:9px;line-height:1.5;white-space:normal}
.photo-layout-template-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:9px 12px;border-top:1px solid #edf1f6;background:#fafbfd}
.photo-layout-template-actions button{height:30px;min-width:54px;padding:0 7px;border:0;border-radius:6px;background:#f1f5f9;color:#64748b;font:800 9px/1 inherit;cursor:pointer}
.photo-layout-template-use{background:#eaf3ff;color:#1d5fbf}
.photo-layout-template-use:hover{background:#dbeafe;color:#1d4ed8}
.photo-layout-template-share:hover{background:#e0f2fe;color:#0369a1}
.photo-layout-template-delete{position:static;transform:none}
.photo-layout-template-delete:hover{background:#fee2e2;color:#dc2626}
.photo-layout-template-save{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;margin-top:10px}
.photo-layout-template-save label{color:#64748b;font-size:10px;font-weight:800}
.photo-layout-template-save input{min-width:0;height:32px;padding:0 9px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:11px}
.photo-layout-template-save .btn{height:32px;padding:0 10px;font-size:10px}
.photo-layout-template-status{display:block;min-height:14px;margin-top:5px;color:#64748b;font-size:9px}
.photo-layout-template-status.error{color:#dc2626}
.photo-mix-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px;margin:14px 0 10px}
.photo-mix-preset-list{display:contents}
.photo-mix-preset-card{
  width:100%;min-width:0;min-height:82px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;
  display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;color:#334155;text-align:left;
  font:inherit;cursor:pointer;box-shadow:0 5px 14px rgba(15,23,42,.04);
}
.photo-mix-preset-card.has-preview{grid-template-columns:54px minmax(0,1fr)}
.photo-mix-preset-card:hover{border-color:var(--primary-border);background:#fffaf8}
.photo-mix-preset-card.active{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:0 0 0 2px rgba(255,111,79,.10)}
.photo-mix-preset-thumb{width:52px;height:62px;display:block;object-fit:contain;border:1px solid #e4eaf1;border-radius:7px;background:#fff}
.photo-mix-preset-thumb[hidden]{display:none}
.photo-mix-preset-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.photo-mix-preset-copy strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.photo-mix-preset-copy small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#7b8797;font-size:9px;line-height:1.5}
.photo-mix-preset-shell{position:relative;min-width:0}
.photo-mix-preset-shell .photo-mix-preset-card{height:100%;padding-right:30px}
.photo-mix-preset-delete{position:absolute;right:6px;top:6px;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:#f8fafc;color:#94a3b8;font:inherit;font-size:15px;font-weight:700;line-height:1;cursor:pointer}
.photo-mix-preset-delete:hover{background:#fee2e2;color:#dc2626}
.photo-mix-preset-save{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:5px}
.photo-mix-preset-save label{color:#64748b;font-size:11px;font-weight:800}
.photo-mix-preset-save input{min-width:0;height:32px;padding:0 9px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:11px}
.photo-mix-preset-save .btn{height:32px;padding:0 10px;font-size:10px}
.photo-mix-preset-status{display:block;min-height:14px;color:#64748b;font-size:9px}
.photo-mix-preset-status.error{color:#dc2626}
.photo-layout-summary{margin:16px 0 10px;padding:9px 11px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;color:#475569;font-size:12px}
.photo-layout-quick{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 10px;color:#64748b;font-size:12px}
.photo-layout-quick button{min-width:32px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.photo-layout-quick button:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}
.photo-layout-rows{display:flex;flex-direction:column;gap:8px}
.photo-layout-row{
  display:grid;grid-template-columns:28px minmax(150px,1fr) 112px minmax(160px,1.1fr) 32px;align-items:center;gap:8px;
  padding:10px;border:1px solid var(--border);border-radius:9px;background:#fafcff;
}
.photo-layout-index{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#fff0ea;color:var(--primary-dark);font-size:12px;font-weight:900}
.photo-layout-row select,.photo-layout-row input{width:100%;height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 8px;font:inherit;color:var(--text)}
.photo-layout-count-field{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px;white-space:nowrap}
.photo-layout-count-field input{width:64px}
.photo-layout-fill{display:flex;align-items:center;gap:7px;color:#475569;font-size:12px;cursor:pointer}
.photo-layout-fill input{width:16px;height:16px;accent-color:var(--primary)}
.photo-layout-remove{width:30px;height:30px;border:0;border-radius:7px;background:#fff;color:#94a3b8;font-size:18px;cursor:pointer}
.photo-layout-remove:hover{background:#fee2e2;color:#dc2626}
.photo-layout-remove:disabled{opacity:.35;cursor:not-allowed}
.photo-layout-add{margin-top:10px;width:100%;height:36px;border:1px dashed var(--primary-border);border-radius:8px;background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.photo-layout-note{margin-top:8px;color:#94a3b8;font-size:11px}
.photo-layout-actions{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.photo-layout-actions-spacer{flex:1}
.photo-mix-card{width:min(760px,calc(100vw - 48px))}
.manual-crop-dialog{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:rgba(15,23,42,.38);backdrop-filter:blur(6px)}
.manual-crop-dialog.hidden{display:none}
.manual-crop-card{width:min(1040px,calc(100vw - 48px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;border:1px solid #dbe3ee;border-radius:8px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.25);padding:16px}
.manual-crop-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.manual-crop-header h2{margin:0;font-size:22px}
.manual-crop-header p{margin:4px 0 0;color:var(--muted);font-size:12px}
.manual-crop-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#f3f6fa}
.manual-crop-mode-tabs button{height:34px;border:0;border-radius:6px;background:transparent;color:#64748b;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.manual-crop-mode-tabs button.active{background:#fff;color:var(--primary-dark);box-shadow:0 4px 12px rgba(15,23,42,.08)}
.manual-crop-pane{min-height:0;flex:1;display:flex;flex-direction:column}
.manual-crop-pane.hidden{display:none}
.manual-crop-close{width:32px;height:32px;border:1px solid var(--border);border-radius:7px;background:#f8fafc;color:#64748b;font-size:20px;cursor:pointer}
.manual-crop-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.manual-crop-preset{height:32px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:#f8fafc;color:#334155;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.manual-crop-preset.active{border-color:var(--primary-border);background:#fff0ea;color:var(--primary-dark);box-shadow:0 0 0 2px rgba(255,111,79,.08)}
.manual-crop-custom-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#fafcff;color:#475569;font-size:12px}
.manual-crop-custom-row label{display:flex;align-items:center;gap:5px;white-space:nowrap}
.manual-crop-custom-row input{width:72px;height:30px;border:1px solid var(--border);border-radius:6px;padding:0 7px;font:inherit;background:#fff}
.manual-crop-swap{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#475569;font-size:17px;cursor:pointer}
.manual-crop-stage{min-height:320px;flex:1;display:grid;place-items:center;overflow:auto;border:1px solid var(--border);background:#e8edf3}
.manual-crop-stage canvas{display:block;max-width:100%;max-height:calc(100vh - 280px);touch-action:none;cursor:crosshair}
.manual-crop-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}
.manual-crop-selected{margin-right:auto;color:#64748b;font-size:12px;font-weight:800}
.multi-split-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fafcff}
.multi-split-toolbar span{margin-left:auto;color:#64748b;font-size:12px;font-weight:800}
.id-number-card-modal{
  position:relative;width:min(380px,calc(100vw - 48px));border:1px solid #ffd8cf;border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(244,251,255,.94));
  box-shadow:0 24px 70px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.8);
  padding:24px;color:var(--text);
}
.id-number-card-modal h2{margin:0 0 8px;font-size:22px}
.id-number-card-modal p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.55}
.id-number-modal-field{
  display:flex;flex-direction:column;gap:7px;margin-top:12px;color:#475569;font-size:13px;font-weight:800;
}
.id-number-card-modal input{
  width:100%;height:42px;border:1px solid var(--border);border-radius:12px;padding:0 13px;
  font:inherit;font-size:14px;color:var(--text);background:#fff;user-select:text;-webkit-user-select:text;
}
.id-number-card-modal input:focus{
  outline:0;border-color:var(--primary-border);box-shadow:0 0 0 3px rgba(255,111,79,.12);
}
.id-number-modal-colors{
  margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.id-number-modal-colors>span{font-size:13px;font-weight:800;color:#475569}
.id-number-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.notice-dialog.hidden{display:none}
.notice-card{
  position:relative;width:min(420px,calc(100vw - 48px));border:1px solid #ffd8cf;border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(244,251,255,.94));
  box-shadow:0 24px 70px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.8);
  padding:24px;color:var(--text);
}
.notice-card h2{margin:4px 0 10px;font-size:22px}
.notice-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7;white-space:pre-wrap}
.notice-close{
  position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:9px;
  background:#f4f6f8;color:#7b8493;font-size:20px;line-height:1;cursor:pointer;
}
.notice-card #noticeLinkBtn{margin-top:18px}
.promotion-toast{position:fixed;left:18px;bottom:18px;z-index:86;width:min(340px,calc(100vw - 36px));border:1px solid #ffd6cc;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 16px 42px rgba(15,23,42,.18);overflow:hidden;animation:promotion-toast-in .22s ease-out}
.promotion-toast.hidden{display:none}
.promotion-toast-content{width:100%;padding:15px 42px 15px 16px;border:0;background:linear-gradient(135deg,#fffaf8,#f7fbff);display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:#334155;text-align:left;cursor:pointer}
.promotion-toast-content:hover{background:linear-gradient(135deg,#fff5f1,#f1f8ff)}
.promotion-toast-label{padding:2px 7px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:9px;font-weight:900}
.promotion-toast-content strong{max-width:100%;font-size:15px;line-height:1.4}
.promotion-toast-content>span:not(.promotion-toast-label){display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#64748b;font-size:11px;line-height:1.55}
.promotion-toast-content em{color:var(--primary-dark);font-size:10px;font-style:normal;font-weight:800}
.promotion-toast-close{position:absolute;right:9px;top:9px;z-index:1;width:27px;height:27px;padding:0;border:0;border-radius:8px;background:#f3f5f8;color:#7b8493;font-size:18px;line-height:1;cursor:pointer}
.promotion-toast-close:hover{background:#fee2e2;color:#dc2626}
@keyframes promotion-toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.switch-list{margin-top:12px}
.switch-row{height:40px;display:flex;align-items:center;justify-content:space-between;font-size:16px}
.photo-gap-row{gap:8px}
.photo-gap-label{min-width:0;white-space:nowrap}
.photo-gap-control{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.photo-gap-input{display:flex;align-items:center;gap:4px;color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}
.photo-gap-input input{width:44px;height:24px;padding:0 5px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font:inherit;text-align:right;outline:0}
.photo-gap-input input:focus{border-color:#ffc2b6;box-shadow:0 0 0 3px rgba(255,111,79,.12)}
.photo-gap-row:not(.gap-enabled) .photo-gap-input{color:#94a3b8}
.switch-setting-label{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.switch-setting-label:hover{color:var(--primary)}
.switch-setting-label.active{color:var(--primary);font-weight:700}
.toggle{
  width:56px;height:24px;border:0;padding:0;background:transparent;position:relative;cursor:pointer;
  filter:drop-shadow(0 8px 12px rgba(70,82,110,.12));
}
.toggle .track{
  position:absolute;inset:0;border-radius:999px;overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.60),rgba(236,242,251,.30));
  border:1px solid rgba(255,255,255,.78);
  box-shadow:
    0 8px 16px rgba(92,104,132,.12),
    inset 0 1px 0 rgba(255,255,255,.80),
    inset 0 -5px 11px rgba(130,145,170,.10),
    inset 0 0 0 1px rgba(255,255,255,.22);
  backdrop-filter:blur(12px) saturate(145%);
}
.toggle .track:before{
  content:"";position:absolute;inset:3px;border-radius:999px;border:1px solid rgba(255,255,255,.65);
  box-shadow:inset 0 0 6px rgba(255,255,255,.60);
}
.toggle .track:after{
  content:"";position:absolute;inset:-8px;opacity:.55;
  background:
    radial-gradient(circle at 30% 12%, rgba(255,255,255,.88), transparent 22%),
    linear-gradient(110deg, transparent 18%, rgba(255,255,255,.48) 32%, transparent 48%);
  transform:translateX(-38%);
  transition:transform .45s ease,opacity .28s ease;
}
.toggle .label{position:absolute;top:50%;transform:translateY(-50%);font-size:6px;font-weight:900;line-height:1}
.toggle .label.off{right:7px;color:#98a2b3}
.toggle .label.on{left:8px;color:#fff;opacity:0}
.toggle .knob{
  position:absolute;left:4px;top:4px;width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.96), rgba(255,255,255,.56) 44%, rgba(232,239,249,.40) 100%);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:
    0 7px 14px rgba(94,105,130,.18),
    inset 4px 5px 10px rgba(255,255,255,.72),
    inset -5px -7px 10px rgba(154,170,205,.10);
  transition:left .28s cubic-bezier(.2,1.28,.28,1);
}
.toggle .knob:before{
  content:"";position:absolute;inset:3px;border-radius:inherit;border:1px solid rgba(255,255,255,.70);
  box-shadow:inset 0 0 8px rgba(255,255,255,.70);
}
.toggle .icon{position:absolute;inset:0}
.toggle .minus:before{content:"";position:absolute;left:5px;right:5px;top:7px;height:2px;border-radius:99px;background:#aeb6c4}
.toggle .check{opacity:0}
.toggle .check:before{
  content:"";position:absolute;left:50%;top:50%;width:8px;height:4px;border-left:2px solid var(--switch-dark);
  border-bottom:2px solid var(--switch-dark);transform:translate(-50%,-65%) rotate(-45deg);transform-origin:center;
}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .track{
  background:
    radial-gradient(circle at 83% 42%, rgba(255,255,255,.55), transparent 25%),
    linear-gradient(135deg,rgba(255,111,79,.92),rgba(255,111,79,.62));
  border-color:rgba(255,255,255,.62);
  box-shadow:
    0 10px 22px rgba(255,111,79,.28),
    0 0 22px rgba(255,111,79,.18),
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -6px 14px rgba(205,54,28,.18),
    inset 0 0 0 1px rgba(255,255,255,.18);
}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .track:after{transform:translateX(28%);opacity:.76}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .label.off{opacity:0}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .label.on{opacity:1}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .knob{
  left:36px;
  background:radial-gradient(circle at 32% 24%, rgba(255,255,255,.96), rgba(255,235,229,.68) 44%, rgba(255,181,165,.42) 100%);
  box-shadow:
    0 8px 16px rgba(214,66,36,.22),
    0 0 16px rgba(255,255,255,.35),
    inset 4px 5px 10px rgba(255,255,255,.82),
    inset -5px -7px 10px rgba(255,111,79,.16);
}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .minus{opacity:0}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .check{opacity:1}
/* Match ERP's glass, spring and light-trail switch in every platform theme. */
.toggle{flex-shrink:0;border-radius:999px;--toggle-accent:var(--primary)}
.toggle .track{transition:background .2s,box-shadow .2s,transform .14s}
.toggle .knob{transition:left .24s cubic-bezier(.2,1.12,.28,1),background .18s,box-shadow .18s}
.toggle .icon,.toggle .label{transition:opacity .12s,transform .18s cubic-bezier(.2,1.12,.28,1)}
.toggle .check:before{border-color:var(--toggle-accent)}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .track{background:radial-gradient(circle at 82% 44%,#ffffff80,transparent 25%),linear-gradient(135deg,color-mix(in srgb,var(--toggle-accent) 90%,transparent),color-mix(in srgb,var(--toggle-accent) 58%,transparent));box-shadow:0 8px 18px color-mix(in srgb,var(--toggle-accent) 28%,transparent),inset 0 1px 0 #ffffff90,inset 0 -8px 18px color-mix(in srgb,var(--toggle-accent) 16%,transparent)}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .knob{background:radial-gradient(circle at 32% 24%,white,color-mix(in srgb,var(--toggle-accent) 12%,white) 45%,color-mix(in srgb,var(--toggle-accent) 24%,white));box-shadow:0 7px 15px color-mix(in srgb,var(--toggle-accent) 22%,transparent),inset 4px 5px 10px #ffffffd0}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .track:after{animation:toggle-light-trail .65s ease-out infinite}
:is(.toggle[aria-checked="true"], .local-standard-toggle:has(input:checked)) .check{animation:toggle-check-in .24s cubic-bezier(.2,1.12,.28,1)}
.toggle:active:not(:disabled) .track{transform:scale(.985)}
.toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@keyframes toggle-light-trail{0%{transform:translateX(-42%);opacity:0}30%{opacity:.9}100%{transform:translateX(42%);opacity:0}}
@keyframes toggle-check-in{from{transform:rotate(-10deg) scale(.55);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.toggle,.toggle *,.toggle *:before,.toggle *:after{animation:none!important;transition:none!important}}
.printer-section{margin:0;padding-top:0;border-top:1px solid var(--border)}
.printer-section h2{margin:0;font-size:14px;line-height:1.25}
.printer-mode-content{min-height:0}
.printer-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 8px}
.printer-panel-heading .btn{height:26px;min-width:48px;padding:0 9px;font-size:11px;box-shadow:none}
.printer-row{display:flex;gap:8px}
.printer-panel-device-row select{min-width:0;flex:1;height:34px}
.printer-panel-device-row .btn{height:34px;padding:0 12px}
.printer-panel-device-row{align-items:center}
.printer-panel-icc-row.icc-profile-row{grid-template-columns:auto minmax(0,1fr) auto}
.printer-panel-icc-actions{display:flex;gap:6px}
.printer-panel-icc-row>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.printer-settings-card>div:first-child{min-width:0}
.settings-row.printer-settings-card span{max-width:300px;white-space:normal}
.printer-settings-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.printer-settings-actions .btn.small{min-width:50px}
.icc-profile-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;margin-top:8px}
.icc-profile-label{color:#334155;font-size:11px;font-weight:800;white-space:nowrap}
.icc-profile-name{min-width:0;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icc-profile-row .btn.small{min-width:46px;height:28px;padding:0 8px;font-size:11px}
select{height:34px;flex:1;border:1px solid var(--border);background:#fff;padding:0 8px;font-family:inherit}
.printer-section select{font-size:12px}.printer-section .btn{font-size:12px}
.print-status{margin-top:10px;color:var(--muted);font-size:11px}
.progress{height:6px;background:#e8eef5;border-radius:999px;overflow:hidden;margin-top:6px}
.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--success),#34d399)}
.preview-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px 12px;margin-bottom:14px}
.preview-header h1{font-size:32px;line-height:1.1;margin:0;white-space:nowrap}
.preview-primary-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.print-dpi-control{width:72px;height:32px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 5px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#64748b;font-size:10px;font-weight:800;box-shadow:0 4px 10px rgba(15,23,42,.04);white-space:nowrap}
.print-dpi-control input{width:36px;min-width:0;height:24px;padding:0 1px;border:0;border-bottom:1px solid #cbd5e1;background:transparent;color:var(--text);font:inherit;text-align:center;outline:0}
.print-dpi-control input:focus{border-bottom-color:var(--primary)}
.print-copies-control{width:52px;height:32px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 5px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#64748b;font-size:12px;font-weight:800;box-shadow:0 4px 10px rgba(15,23,42,.04);white-space:nowrap}
.print-copies-control input{width:22px;min-width:0;height:24px;padding:0 1px;border:0;border-bottom:1px solid #cbd5e1;background:transparent;color:var(--text);font:inherit;text-align:center;outline:0}
.print-copies-control input:focus{border-bottom-color:var(--primary)}
.document-header-action{min-width:0;height:34px}
.document-output-modes{
  position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;
  min-width:118px;height:30px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;overflow:hidden;
}
.document-output-modes.hidden{display:none}
.document-output-slider{
  position:absolute;z-index:0;top:3px;left:3px;width:calc(50% - 5px);height:calc(100% - 6px);
  border-radius:6px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.08);
  transition:transform .22s cubic-bezier(.2,.8,.2,1);
}
.document-output-modes.gray-mode .document-output-slider{transform:translateX(calc(100% + 4px))}
.document-output-button{position:relative;z-index:1;min-width:50px;height:24px;padding:0 6px;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:12px;font-weight:900}
.document-output-button.active{color:var(--primary-dark);background:transparent;border-color:transparent;box-shadow:none}
.document-paper-section{position:relative}
.document-paper-section .section-title-row{margin:16px 0 10px}
.document-paper-section .section-title-row h2{margin:0}
.document-paper-section .document-output-modes{width:118px}
.document-spacing-row{height:auto;min-height:40px;gap:6px}
.document-spacing-copy{display:flex;align-items:center;min-width:0;margin-right:auto}
.document-spacing-copy>span{font-weight:800;white-space:nowrap}
.document-spacing-controls{display:flex;align-items:center;justify-content:flex-start;gap:5px;min-width:0}
.document-spacing-controls>label{display:flex;align-items:center;gap:2px;color:#64748b;font-size:10px;font-weight:800;white-space:nowrap}
.document-spacing-controls input{width:32px;height:24px;padding:0 2px;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--text);font:inherit;text-align:center;outline:0}
.document-spacing-controls input:disabled{background:#f1f5f9;color:#94a3b8}
.document-spacing-row.gap-enabled .document-spacing-copy>span{color:var(--primary-dark)}
.document-output-button:hover{background:transparent}
.stats-row{height:22px;display:flex;align-items:center;gap:14px;min-width:0}
.stats{
  min-width:0;flex:1;height:22px;color:var(--muted);font-size:14px;overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis;
}
.selected-document-size{
  flex:0 0 auto;max-width:46%;height:22px;color:#2563eb;font-size:13px;font-weight:800;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.preview-canvas{
  border:1px solid #e2e8f0;background:var(--preview);flex:1;display:grid;
  grid-template-columns:286px 1fr;gap:18px;padding:22px;color:#64748b;font-size:28px;
  min-height:0;overflow:hidden;position:relative;
}
.preview-canvas.photo-mode{grid-template-columns:286px 1fr}
.queue-panel{
  min-height:0;border:1px solid #e2e8f0;background:#fff;border-radius:6px;
  display:grid;grid-template-columns:1fr 1fr;overflow:hidden;
}
.preview-canvas.photo-mode .queue-panel{grid-template-columns:1fr 1fr}
.preview-canvas.photo-mode .source-queue-column{display:flex}
.preview-canvas.photo-mode .queue-column+.queue-column{border-left:1px solid #e2e8f0}
.preview-canvas.photo-mode.photo-mixed{grid-template-columns:286px 1fr}
.preview-canvas.photo-mode.photo-mixed .queue-panel{grid-template-columns:1fr 1fr}
.preview-canvas.photo-mode.photo-mixed .source-queue-column{display:flex}
.preview-canvas.photo-mode.photo-mixed .queue-column+.queue-column{border-left:1px solid #e2e8f0}
.queue-column{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.queue-column+.queue-column{border-left:1px solid #e2e8f0}
.source-queue-list{gap:7px;position:relative;flex:1;min-height:0}
.source-queue-item{position:relative}
.source-queue-item.selected{border-color:#7cb7ff;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.10)}
.source-queue-item.dragging{opacity:.45;transform:scale(.98)}
.source-queue-item.manual-drop-ready{border-color:#a7e7d0;background:#f2fcf8}
.source-queue-item.manual-drop-ready::after{
  content:"可拖";position:absolute;right:5px;top:5px;padding:1px 4px;border-radius:999px;
  background:#d9f8eb;color:#087657;font-size:9px;font-weight:900;pointer-events:none
}
.source-selection-box{
  position:fixed;z-index:79;border:1px solid #2563eb;background:rgba(37,99,235,.12);
  pointer-events:none;border-radius:4px;
}
.source-context-menu{
  position:fixed;z-index:120;min-width:168px;padding:6px;border:1px solid #dbe4ee;border-radius:8px;
  background:#fff;box-shadow:0 14px 32px rgba(15,23,42,.18);font-size:13px;color:var(--text)
}
.source-context-menu button{
  display:block;width:100%;padding:7px 10px;border:0;border-radius:5px;background:transparent;color:inherit;
  text-align:left;font:inherit;cursor:pointer
}
.source-context-menu button:hover{background:#fff1ed;color:#d94d35}
.source-context-menu button:disabled{color:#b7c0cc;background:transparent;cursor:not-allowed}
.import-source-menu{min-width:132px}
.source-context-field{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:8px;padding:5px 7px;color:#475569;font-size:12px;font-weight:700}
.source-context-field select,.source-context-field input{width:100%;min-width:0;height:30px;padding:0 8px;border:1px solid #dbe4ee;border-radius:6px;background:#fff;color:#172033;font:inherit;outline:none}
.source-context-field select:focus-visible,.source-context-field input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,107,82,.13)}
.source-context-fill{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:2px 7px 5px;padding:6px 8px;border:1px solid #dbe4ee;border-radius:6px;background:#f8fafc;color:#475569;font-size:12px;font-weight:800}
.source-context-fill .toggle{display:flex;width:56px;min-width:56px;padding:0;transform:none}
.source-context-menu .source-context-ps{background:#eff6ff;color:#2563eb;font-weight:900;text-align:center}
.source-context-menu .source-context-ps:hover{background:#dbeafe;color:#1d4ed8}
.document-object-size-panel{
  width:218px;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:4px 2px 6px;padding:8px;
  border:1px solid #dbeafe;border-radius:7px;background:#f8fbff;box-sizing:border-box
}
.document-object-size-presets{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.source-context-menu .document-object-size-presets button{
  min-width:0;padding:6px 2px;border:1px solid #dbeafe;border-radius:6px;background:#fff;color:#475569;
  font-size:10px;font-weight:800;text-align:center
}
.source-context-menu .document-object-size-presets button:hover,.source-context-menu .document-object-size-presets button.active{
  border-color:#93c5fd;background:#eff6ff;color:#2563eb
}
.document-object-size-panel label{
  min-width:0;display:grid;grid-template-columns:auto minmax(48px,1fr) auto;align-items:center;gap:4px;
  color:#475569;font-size:12px;font-weight:700
}
.document-object-size-panel input{
  min-width:0;width:100%;height:29px;padding:0 6px;border:1px solid #cbd5e1;border-radius:6px;
  background:#fff;color:#172033;font:inherit;box-sizing:border-box;outline:0
}
.document-object-size-panel input:focus-visible{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.16)}
.document-object-size-panel span{grid-column:1/-1;color:#64748b;font-size:10px;line-height:1.35}
.source-context-menu .document-object-size-apply{
  grid-column:1/-1;margin:0;padding:7px 10px;background:#eff6ff;color:#2563eb;text-align:center;font-weight:800
}
.source-context-menu .document-object-size-apply:hover{background:#dbeafe;color:#1d4ed8}
.source-photo-plan{display:block;color:#e6573e;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.source-context-divider{height:1px;margin:5px 2px;background:#e8eef5}
.source-context-title{padding:4px 10px;color:#94a3b8;font-size:11px;font-weight:800}
.queue-title{
  height:36px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #e2e8f0;
  color:var(--text);font-size:14px;font-weight:800;background:#fafcff;
}
.layout-queue-title{position:relative;justify-content:space-between;align-items:center;gap:4px;height:34px;min-height:34px;box-sizing:border-box;padding:0 5px 0 8px;font-size:12px}
.layout-queue-title>span:first-child{white-space:nowrap}
.queue-orientation-controls{
  display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid #dbe4ee;border-radius:6px;background:#f8fafc
}
.queue-orientation-controls button{
  width:23px;height:21px;padding:0;border:0;border-radius:4px;background:transparent;color:#64748b;
  font:900 10px/1 inherit;display:grid;place-items:center;cursor:pointer
}
.queue-orientation-controls button:hover,.queue-orientation-controls button:focus-visible{
  background:var(--primary-soft);color:#c84029;outline:0
}
.queue-orientation-controls button.active{
  background:#fff;color:var(--primary-dark);box-shadow:0 1px 5px rgba(15,23,42,.12)
}
/* Copyright (c) 2026 印广云。适用根 LICENSE；禁止未经授权破解，正常开发与授权审计不受限制。 */
.source-queue-title{justify-content:space-between;gap:8px;padding:8px 10px;flex-wrap:nowrap;min-height:42px}
#photoSizeTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px}
#photoSizeTitleRow h2{margin:0}
#sourceLargePreviewBtn{padding:0 8px;height:28px;flex-shrink:0}
#sourcePreviewVersions{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 12px}
#sourcePreviewNavigation{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}
#sourcePreviewNavigation.hidden{display:none}
#sourcePreviewNavigation label{display:flex;align-items:center;gap:6px;min-width:0}
#sourcePreviewNavigation select{max-width:180px;min-width:80px;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel)}
#sourcePreviewVersions.hidden{display:none}
#sourcePreviewVersions .active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}
.source-queue-item{touch-action:none}
.source-queue-item.drag-over{outline:2px solid var(--primary);outline-offset:1px}
.queue-title-action{
  min-width:0;height:25px;padding:0 8px;border:1px solid var(--primary-border);border-radius:6px;background:var(--primary-soft);
  color:var(--primary-dark);font:800 11px/1 inherit;white-space:nowrap;cursor:pointer;transition:border-color .18s,background .18s,color .18s
}
.queue-title-action:hover,.queue-title-action:focus-visible{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);outline:0}
.queue-title-action.active{border-color:var(--primary);background:var(--primary);color:#fff}
.queue-list{padding:10px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;min-height:0}
.queue-empty{font-size:13px;color:#94a3b8;text-align:center;margin-top:12px}
.queue-item{
  position:relative;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;padding:6px;cursor:pointer;
  text-align:left;font-family:inherit;color:var(--text);
}
.queue-item.active{border-color:#ffb8a9;background:#fff5f1;box-shadow:0 0 0 2px rgba(255,111,79,.10)}
.queue-item.selected{border-color:#7cb7ff;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.10)}
.queue-item img{background:#fff;border:1px solid #edf2f7;display:block}
.queue-paper-preview{width:100%;height:92px;display:grid;place-items:center;overflow:hidden}
.queue-paper-preview img{width:auto;height:auto;max-width:100%;max-height:92px;object-fit:contain}
.source-queue-item img{width:100%;height:76px;object-fit:contain}
.source-queue-item .queue-meta{justify-content:center;margin-top:3px}
.source-document-type{font-size:12px;font-weight:800;color:#475569;line-height:18px}
.source-document-type.overridden{color:#c2410c}
.source-document-type.needs-confirmation{color:#b45309}
.source-page-indicator{display:block;margin-top:1px;color:#94a3b8;font-size:10px;font-weight:700;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queue-document-label{
  display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#475569;font-size:11px;font-weight:800;line-height:16px;text-align:center
}
.queue-document-label.needs-confirmation{color:#b45309}
.queue-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:5px;font-size:12px;color:#64748b}
.queue-meta.queue-meta-index-only{justify-content:center}
.queue-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.preview-stage{
  min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;position:relative;
}
.preview-stage.preview-zoomed{overflow:auto}
.preview-stage{padding:24px;box-sizing:border-box;overscroll-behavior:contain;scrollbar-gutter:stable;place-items:safe center}
.preview-stage #previewImage{max-width:none;max-height:none}
.preview-stage.preview-zoomed #previewImage{max-width:none;max-height:none}
.preview-stage>span:only-child{
  max-width:360px;padding:10px 14px;border:1px dashed #d8e1eb;border-radius:8px;
  background:rgba(255,255,255,.72);color:#718096;font-size:16px;font-weight:700;
  line-height:1.55;text-align:center;
}
.empty-layout-artboard{display:grid;place-items:center;box-sizing:border-box;width:min(82%,620px);max-height:calc(100% - 56px);border:1px solid #cfd8e5;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.empty-layout-artboard>span{max-width:calc(100% - 28px);padding:9px 13px;border:1px dashed var(--primary-border);border-radius:8px;background:var(--primary-soft);color:var(--primary-dark);font-size:13px;font-weight:800;line-height:1.45;text-align:center}
.preview-stage.direct-drop-target{outline:3px solid #10b981;outline-offset:-6px;background:#ecfdf5}
.preview-stage.direct-drop-target::after{
  content:"松开照片，自动裁切并排版";position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);
  padding:10px 16px;border-radius:999px;background:#047857;color:#fff;font-size:14px;font-weight:900;white-space:nowrap;
  box-shadow:0 10px 24px rgba(4,120,87,.24);pointer-events:none
}
.main-drop-overlay{
  position:fixed;z-index:1500;inset:14px;display:grid;place-items:center;pointer-events:none;
  border:3px dashed rgba(255,111,79,.78);border-radius:18px;
  background:rgba(246,248,251,.88);backdrop-filter:blur(5px);
  opacity:0;visibility:hidden;transform:scale(.992);
  transition:opacity .14s ease,visibility .14s ease,transform .14s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 16px 48px rgba(15,35,67,.12)
}
.main-drop-overlay.visible{opacity:1;visibility:visible;transform:scale(1)}
.main-drop-card{
  min-width:360px;padding:34px 46px 30px;display:flex;flex-direction:column;align-items:center;gap:8px;
  border:1px solid rgba(255,111,79,.2);border-radius:20px;background:#fff;text-align:center;
  box-shadow:0 22px 60px rgba(15,35,67,.16)
}
.main-drop-icon{
  width:72px;height:72px;margin-bottom:6px;display:grid;place-items:center;border-radius:22px;
  background:linear-gradient(145deg,#ff8063,#ff6547);box-shadow:0 12px 28px rgba(255,111,79,.28)
}
.main-drop-icon svg{width:38px;height:38px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.main-drop-card strong{color:#0f2343;font-size:24px;font-weight:900;letter-spacing:.01em}
.main-drop-card span{color:#64748b;font-size:14px;font-weight:700}
.main-drop-card em{margin-top:7px;color:#94a3b8;font-size:12px;font-style:normal}
@media (prefers-reduced-motion:reduce){.main-drop-overlay{transition:none}}
.preview-stage img{
  width:auto;
  height:auto;
  max-width:calc(100% - 48px);
  max-height:calc(100% - 48px);
  object-fit:contain;
  border:1px solid var(--border);
  background:#fff;
  display:block;
}
.document-editor-page{
  position:relative;z-index:0;isolation:isolate;overflow:hidden;border:1px solid #cfd8e5;background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.08);touch-action:none;cursor:default;
}
.document-editor-page.canvas-overflow-enabled{overflow:visible}
.document-editor-page.source-drop-target{border-color:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.16),0 8px 24px rgba(15,23,42,.08)}
.document-editor-page.source-drop-target::after{
  content:"松开即可放到纸张";position:absolute;z-index:var(--document-editor-snap-z,9);left:50%;top:14px;
  transform:translateX(-50%);padding:5px 10px;border-radius:999px;background:#047857;color:#fff;
  font-size:11px;font-weight:900;white-space:nowrap;pointer-events:none
}
.document-editor-shell{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.layout-template-save-floating{
  height:30px;padding:0 13px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#2563eb;
  font:800 12px/1 inherit;cursor:pointer;box-shadow:0 5px 13px rgba(37,99,235,.09);
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.layout-template-save-floating:hover,.layout-template-save-floating:focus-visible{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8;box-shadow:0 7px 17px rgba(37,99,235,.14);outline:0}
.layout-template-save-floating:active{transform:translateY(1px)}
.document-editor-object{
  position:absolute;display:block;max-width:none!important;max-height:none!important;margin:0!important;
  border:0!important;background:#fff;object-fit:fill;cursor:move;touch-action:none;
  box-sizing:border-box;box-shadow:none;z-index:2;
}
.document-editor-object:hover{outline:0;box-shadow:none}
.document-editor-object.selected{outline:2px solid #2563eb;outline-offset:-2px;box-shadow:none}
.document-editor-object.drag-preview{pointer-events:none}
.document-editor-empty-hint{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:9px 14px;border:1px dashed #94a3b8;
  border-radius:8px;background:rgba(248,250,252,.92);color:#64748b;font-size:12px;font-weight:800;
  white-space:nowrap;pointer-events:none
}
.document-selection-box{position:absolute;z-index:var(--document-editor-selection-z,8);border:1px solid #2563eb;background:rgba(37,99,235,.10);pointer-events:none}
.document-editor-crop-layer{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.document-editor-crop-layer.legacy-full-sheet{z-index:var(--document-editor-guide-z,7)}
.document-editor-crop-layer.corner-marks{z-index:var(--document-editor-guide-z,7)}
.document-editor-crop-layer.die-cut{z-index:var(--document-editor-guide-z,7)}
.document-editor-crop-mark{position:absolute;display:block;box-sizing:border-box;pointer-events:none}
.document-editor-crop-mark.horizontal{border-top:var(--crop-mark-width,1px) var(--crop-mark-style,dashed) var(--crop-mark-color,#999)}
.document-editor-crop-mark.vertical{border-left:var(--crop-mark-width,1px) var(--crop-mark-style,dashed) var(--crop-mark-color,#999)}
.document-editor-crop-mark.pattern-dashed.horizontal{border-top:0;height:var(--crop-mark-width,1px)!important;background:repeating-linear-gradient(to right,var(--crop-mark-color,#999) 0 6px,#fff 6px calc(6px + var(--crop-mark-gap,3px)));background-position:var(--crop-mark-phase,0) 0}
.document-editor-crop-mark.pattern-dashed.vertical{border-left:0;width:var(--crop-mark-width,1px)!important;background:repeating-linear-gradient(to bottom,var(--crop-mark-color,#999) 0 6px,#fff 6px calc(6px + var(--crop-mark-gap,3px)));background-position:0 var(--crop-mark-phase,0)}
  .document-editor-registration-mark{
    position:absolute;display:block;box-sizing:border-box;border-radius:50%;background:#000;overflow:visible;pointer-events:none
  }
  .document-editor-registration-mark.corner::before,.document-editor-registration-mark.corner-dot::before{
    content:"";position:absolute;left:calc(100% + 2px);top:calc(100% + 2px);width:5px;height:5px;border-left:1px solid #000;border-top:1px solid #000
  }
  .document-editor-registration-mark.dot::before,.document-editor-registration-mark.corner-dot::before{
    box-shadow:5px 5px 0 -3px #000
  }
.document-editor-registration-mark.up-direction::after{
  content:"";position:absolute;left:calc(100% + var(--registration-arrow-gap,1px));top:0;width:0;height:0;
  border-left:var(--registration-arrow-half-width,2px) solid transparent;
  border-right:var(--registration-arrow-half-width,2px) solid transparent;
  border-bottom:var(--registration-arrow-height,4px) solid #ef0015
}
.document-snap-line{position:absolute;z-index:var(--document-editor-snap-z,9);display:none;pointer-events:none;background:#38bdf8;box-shadow:0 0 0 1px rgba(56,189,248,.15)}
.document-snap-line.vertical{top:0;bottom:0;width:1px}
.document-snap-line.horizontal{left:0;right:0;height:1px}
.document-editor-hint-outside{display:block;max-width:100%;padding:3px 7px;color:#64748b;font-size:9px;line-height:1.35;text-align:center;white-space:normal;pointer-events:none}
.ai-entry-button{
  min-height:32px;display:flex;align-items:center;gap:6px;background:var(--primary-soft);color:var(--primary-dark);
  border-color:var(--primary-border);box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 10%,transparent);
}
.ai-entry-button svg{width:16px;height:16px;flex:0 0 auto}
.ai-entry-button:hover,.ai-entry-button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.ai-entry-button.hidden{display:none}
body.ai-modal-open{overflow:hidden}
.ai-drawer-backdrop{
  position:fixed;z-index:80;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(5px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,visibility 0s linear .2s;
}
.ai-drawer-backdrop.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,visibility 0s}
.ai-panel{
  position:fixed;z-index:81;left:50%;top:50%;width:min(980px,calc(100vw - 56px));height:min(720px,calc(100vh - 56px));
  min-width:0;min-height:0;padding:0;border:1px solid #dbe3ee;border-radius:16px;background:#fff;color:var(--text);font-size:13px;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;scrollbar-width:thin;
  box-shadow:0 30px 90px rgba(15,23,42,.28);opacity:0;transform:translate(-50%,-48%) scale(.985);
  visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s;
}
.ai-panel.open{
  opacity:1;transform:translate(-50%,-50%) scale(1);visibility:visible;pointer-events:auto;
  transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s;
}
.ai-panel.expanded{width:calc(100vw - 24px);height:calc(100vh - 24px);border-radius:12px}
.ai-panel.hidden{display:none}
.ai-panel button,.ai-panel input,.ai-panel textarea{font-family:inherit}
.ai-panel button{cursor:pointer}
.ai-panel button:disabled{cursor:not-allowed}
.ai-panel button:focus-visible,.ai-panel input:focus-visible,.ai-panel textarea:focus-visible{
  outline:2px solid rgba(232,80,46,.75);outline-offset:2px;
}
.ai-panel-header{
  min-width:0;padding:16px 18px;border-bottom:1px solid #e6ebf2;background:linear-gradient(180deg,#fff,#fbfcfe);
  display:flex;align-items:center;gap:11px;flex:0 0 auto;
}
.ai-brand-icon{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;
  color:var(--primary-dark);background:linear-gradient(145deg,var(--primary-soft),#ffe1d8);
  border:1px solid #ffd5ca;box-shadow:0 7px 16px rgba(255,111,79,.12);
}
.ai-brand-icon svg{width:23px;height:23px}
.ai-panel-heading{min-width:0;flex:1}
.ai-panel-heading-mode{display:flex;align-items:center;gap:6px}
.ai-visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.ai-close-button{
  width:36px;height:36px;padding:0;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;
  color:#64748b;display:grid;place-items:center;flex:0 0 auto;
}
.ai-panel-window-button{width:36px;height:36px;padding:0;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;display:grid;place-items:center;flex:0 0 auto}
.ai-close-button:hover,.ai-panel-window-button:hover{background:#fff4f0;border-color:#ffcabc;color:var(--primary-dark)}
.ai-close-button svg,.ai-panel-window-button svg{width:17px;height:17px}
.ai-title-line{display:flex;align-items:center;gap:7px;min-width:0}
.ai-title-line h2{margin:0;font-size:19px;line-height:1.2;white-space:nowrap}
.ai-preview-badge{
  padding:2px 6px;border-radius:999px;background:var(--primary-soft);color:#c2410c;
  border:1px solid #fed7cc;font-size:10px;font-weight:800;white-space:nowrap;
}
.ai-panel-heading p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.3}
.ai-panel-body{
  min-width:0;min-height:0;padding:16px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;
  overflow:hidden;background:#f7f9fc;
}
.ai-panel-preview-column{
  min-width:0;min-height:0;padding:10px;border:1px solid #e1e7ef;border-radius:12px;background:#fff;
  display:flex;flex-direction:column;
}
.ai-panel-settings-column{
  min-width:0;min-height:0;padding:0 4px 4px 0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
  display:flex;flex-direction:column;
}
.ai-preview-column-hint{margin:9px 4px 1px;color:#8491a3;font-size:10px;line-height:1.45;text-align:center}
.ai-batch-queue{
  min-height:0;max-height:176px;margin-top:9px;padding:8px;border:1px solid #e2e8f0;border-radius:9px;
  background:#f8fafc;display:flex;flex-direction:column;gap:7px;flex:0 0 auto;
}
.ai-batch-queue-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#334155;font-size:11px}
.ai-batch-queue-heading strong{font-size:11px}
.ai-batch-queue-heading small{color:#64748b;font-size:9px;font-weight:800}
.ai-batch-queue-list{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;scrollbar-width:thin}
.ai-batch-item{
  min-width:0;min-height:49px;padding:4px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#475569;
  display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:6px;text-align:left;
}
.ai-batch-item:hover{border-color:#f5b5a5;background:#fffaf8}
.ai-batch-item.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(255,111,79,.12)}
.ai-batch-item.running{border-color:#f59e0b;background:#fffbeb}
.ai-batch-item.success b{color:#047857;background:#ecfdf5}
.ai-batch-item.failed b{color:#b91c1c;background:#fef2f2}
.ai-batch-item.cancelled b{color:#64748b;background:#f1f5f9}
.ai-batch-item:disabled{cursor:default;opacity:1}
.ai-batch-item img{width:34px;height:41px;border-radius:4px;background:#eef2f7;object-fit:cover}
.ai-batch-item>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.ai-batch-item strong,.ai-batch-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-batch-item strong{font-size:10px;color:#334155}
.ai-batch-item small{font-size:8px;color:#8491a3}
.ai-batch-item b{padding:2px 4px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:8px;white-space:nowrap}
.ai-mode-switch{
  display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px;padding:3px;
  border:1px solid #e5eaf1;border-radius:9px;background:#f8fafc;flex:0 0 auto;
}
.ai-mode-button{
  min-width:0;min-height:44px;padding:5px 6px;border:0;border-radius:7px;background:transparent;
  color:#64748b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.ai-mode-button strong{font-size:11px;line-height:1.3;white-space:nowrap}
.ai-mode-button small{font-size:9px;line-height:1.25;color:#94a3b8;white-space:nowrap}
.ai-mode-button:hover{color:var(--primary-dark)}
.ai-mode-button.active{background:#fff;color:var(--primary-dark);box-shadow:0 5px 13px rgba(15,23,42,.08)}
.ai-mode-button.active small{color:#d05a40}
.ai-mode-switch-compact{
  width:auto;max-width:135px;min-width:0;margin-top:0;padding:2px;gap:2px;flex:1 1 auto;
}
.ai-mode-switch-compact .ai-mode-button{min-height:30px;padding:3px 5px;border-radius:6px}
.ai-mode-switch-compact .ai-mode-button strong{font-size:10px}
.ai-panel-heading-mode .ai-preview-badge{margin-left:auto;flex:0 0 auto}
.ai-mode-switch-modal{margin:0;padding:4px;gap:4px;background:#eef2f7}
.ai-mode-switch-modal .ai-mode-button{min-height:40px;flex-direction:row}
.ai-mode-switch-modal .ai-mode-button strong{font-size:12px}
.ai-mode-panel{display:block;min-width:0;margin-top:auto;padding-top:12px;flex:0 0 auto}
.ai-mode-panel.hidden,.ai-mode-panel[hidden],[data-ai-mode-panel].hidden,[data-ai-mode-panel][hidden]{display:none!important}
.ai-dropzone{
  min-width:0;min-height:240px;height:auto;margin-top:0;border:1px dashed #f2aa98;border-radius:9px;overflow:hidden;
  background:linear-gradient(145deg,#fffdfc,#fff5f1);display:flex;flex-direction:column;flex:1 1 auto;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.ai-dropzone[data-has-input="true"]{height:auto;background:#fff}
.ai-dropzone.dragging{border-color:var(--primary);background:#fff0ea;box-shadow:0 0 0 3px rgba(255,111,79,.12)}
.ai-photo-preview-bar{
  height:30px;padding:0 9px;border-bottom:1px solid rgba(246,163,143,.42);background:rgba(255,255,255,.72);
  display:flex;align-items:center;justify-content:flex-start;gap:6px;flex:0 0 auto;
}
.ai-photo-preview-bar strong{min-width:0;margin-right:auto;font-size:11px;color:#7c2d1d;white-space:nowrap}
.ai-preview-switch{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid #fed5ca;border-radius:6px;background:#fff}
.ai-preview-switch,.ai-crop-input,.ai-clear-input{flex:0 0 auto}
.ai-preview-switch button{height:21px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:#9a5b4d;font-size:9px;font-weight:900}
.ai-preview-switch button.active{background:var(--primary-soft);color:#b83f25}
.ai-preview-switch button:disabled{opacity:.42}
.ai-clear-input{height:24px;padding:0 4px;border:0;background:transparent;color:#9a5b4d;font-size:9px;font-weight:800}
.ai-clear-input:hover{color:var(--primary-dark)}
.ai-crop-input{height:23px;padding:0 6px;border:1px solid #fed5ca;border-radius:5px;background:#fff;color:#9a5b4d;font-size:9px;font-weight:900;cursor:pointer}
.ai-crop-input:hover{background:var(--primary-soft);color:var(--primary-dark)}
.ai-photo-preview-empty{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px}
.ai-photo-preview-image{display:block;min-height:0;width:100%;height:0;flex:1 1 auto;padding:0;object-fit:contain;background:transparent;cursor:zoom-in}
.ai-photo-preview-image:hover{background:#fffaf8}
.ai-photo-preview-image:focus-visible{outline:2px solid rgba(232,80,46,.72);outline-offset:-5px}
.ai-dropzone[data-has-input="true"] .ai-photo-preview-empty{display:none!important}
.ai-dropzone[data-has-input="false"] .ai-photo-preview-image,
.ai-dropzone[data-has-input="false"] .ai-preview-switch,
.ai-dropzone[data-has-input="false"] .ai-crop-input,
.ai-dropzone[data-has-input="false"] .ai-clear-input{display:none!important}
.ai-photo-placeholder{position:relative;width:54px;height:70px;color:#f09a85;flex:0 0 auto}
.ai-photo-placeholder>svg{width:100%;height:100%;display:block;filter:drop-shadow(0 5px 8px rgba(126,51,32,.08))}
.ai-photo-placeholder i{
  position:absolute;right:-5px;bottom:-3px;width:24px;height:24px;border-radius:50%;background:var(--primary);
  color:#fff;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 5px 10px rgba(255,111,79,.25);
}
.ai-photo-placeholder i svg{width:13px;height:13px}
.ai-photo-preview-copy{min-width:0;max-width:144px;display:flex;flex-direction:column;gap:5px}
.ai-photo-preview-copy strong{font-size:12px;color:#9f321d;line-height:1.35}
.ai-photo-preview-copy small{font-size:9px;color:#8b6a62;line-height:1.45}
.ai-service-card{
  margin-top:13px;padding:11px;border:1px solid #e5eaf1;border-radius:8px;
  background:linear-gradient(180deg,#fbfcfe,#f8fafc);flex:0 0 auto;
}
.ai-section-heading,.ai-field-label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ai-section-heading{font-weight:900;font-size:12px}
.ai-recommend-badge{
  padding:2px 6px;border-radius:999px;background:#ecfdf5;color:#047857;
  border:1px solid #bbf7d0;font-size:10px;font-weight:900;
}
.ai-local-hint{margin:7px 0 0;color:#64748b;font-size:10px;line-height:1.4}
.ai-tool-tabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px;padding:3px;
  border:1px solid #e5eaf1;border-radius:9px;background:#f8fafc;flex:0 0 auto;
}
.ai-tool-tabs-local{grid-template-columns:repeat(2,minmax(0,1fr))}
.ai-tool-tab{
  min-height:46px;padding:5px 3px;border:0;border-radius:7px;background:transparent;color:#64748b;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:11px;font-weight:900;transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.ai-tool-tab svg{width:17px;height:17px}
.ai-tool-tab:hover{color:var(--primary-dark)}
.ai-tool-tab.active{background:#fff;color:var(--primary-dark);box-shadow:0 5px 13px rgba(15,23,42,.08)}
.ai-tool-content{min-height:0;margin-top:13px;flex:0 0 auto}
.ai-tool-panel.hidden{display:none}
.ai-field-label{margin-bottom:9px;font-weight:900;font-size:12px}
.ai-field-label small{color:#94a3b8;font-size:10px;font-weight:700;text-align:right}
.ai-background-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ai-choice-card{
  min-height:60px;padding:6px 2px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#475569;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:800;
}
.ai-choice-card:hover,.ai-style-button:hover,.ai-outfit-card:hover{border-color:var(--primary-border);background:var(--primary-soft)}
.ai-choice-card.active,.ai-style-button.active,.ai-outfit-card.active{
  border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 8%,transparent);
}
.ai-color-swatch{width:24px;height:24px;border-radius:6px;border:1px solid rgba(15,23,42,.13);display:block;background:var(--ai-color,#fff)}
.ai-inline-check{
  display:flex;align-items:flex-start;gap:7px;margin-top:11px;color:#475569;font-size:10px;line-height:1.4;cursor:pointer;
}
.ai-inline-check input{width:15px;height:15px;margin:0;flex:0 0 auto;accent-color:var(--primary)}
.ai-local-controls{display:grid;gap:9px;margin-top:13px}
.ai-local-control-row{
  min-width:0;padding:10px;border:1px solid #e5eaf1;border-radius:8px;
  background:linear-gradient(180deg,#fff,#fbfcfe);
}
.ai-matting-quality-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(210px,1.25fr);align-items:center;gap:8px;padding:7px 8px}
.ai-matting-quality-row[hidden]{display:none!important}
#aiPanel[data-ai-mode-current="online"] .ai-matting-quality-row{display:none!important}
.ai-matting-quality-heading{min-width:0;margin:0;align-items:center}
.ai-matting-quality-heading>small{min-width:0;text-align:right}
.ai-matting-quality-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;border-radius:7px;background:#f1f5f9}
.ai-matting-quality-switch button{height:28px;padding:0 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:#64748b;font-size:10px;font-weight:900;cursor:pointer}
.ai-matting-quality-switch button:hover:not(:disabled){color:var(--primary-dark)}
.ai-matting-quality-switch button.active{border-color:#ffd0c4;background:#fff;color:var(--primary-dark);box-shadow:0 2px 7px rgba(15,23,42,.08)}
.ai-matting-quality-switch button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.ai-matting-quality-switch button:disabled{cursor:not-allowed;opacity:.55}
.ai-background-compact-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px}
.ai-photo-size-compact-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px}
.ai-local-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.ai-background-inline-heading{margin:0;flex-direction:column;align-items:flex-start;gap:3px}
.ai-photo-size-inline-heading{margin:0;flex-direction:column;align-items:flex-start;gap:3px}
.ai-background-add-button,.ai-beauty-add-button{width:30px;min-width:30px;height:28px;padding:0;border:1px dashed #f4a894;border-radius:5px;background:var(--primary-soft);color:var(--primary-dark);font-size:15px;font-weight:700;cursor:pointer}
.ai-background-add-button:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}
.ai-local-row-heading>strong{color:#334155;font-size:12px;line-height:1.3}
.ai-local-row-heading>small{color:#94a3b8;font-size:9px;font-weight:700;line-height:1.3}
.ai-background-mode-hint{display:none}
.ai-inline-check-compact{align-items:center;margin:0;font-size:9px;white-space:nowrap}
.ai-inline-check-compact input{width:14px;height:14px}
.ai-background-options-inline{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0}
.ai-background-options-inline .ai-color-choice{
  width:auto;min-width:0;min-height:28px;padding:2px 4px;flex:1 1 0;justify-content:center;flex-direction:row;gap:3px;font-size:9px;
}
.ai-photo-size-options,.ai-photo-size-more{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}
.ai-photo-size-more{grid-column:2;margin-top:-2px;padding:4px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc}
.ai-photo-size-options .chip,.ai-photo-size-more .chip{height:28px;min-width:52px;padding:0 8px;font-size:9px;white-space:nowrap}
.ai-photo-size-options .chip.dragging,.ai-photo-size-more .chip.dragging{opacity:.45}.ai-photo-size-options .chip.drag-over,.ai-photo-size-more .chip.drag-over{border-color:#ff8f78;background:#fff4f0}
.ai-background-options-inline #aiBackgroundAddBtn{flex:0 0 28px;padding:0}
.ai-background-options-inline #aiBackgroundAddBtn+[data-ai-custom-background]{margin-left:0}
.ai-background-options-inline .ai-color-swatch{width:12px;height:12px;border-radius:3px;flex:0 0 auto}
.ai-color-swatch-none{background:linear-gradient(135deg,#fff 45%,#ef4444 46%,#ef4444 54%,#fff 55%)}
.ai-beauty-outfit-controls{display:grid;grid-template-columns:auto minmax(250px,auto) auto auto;align-items:center;justify-content:start;gap:6px}
.ai-beauty-outfit-controls>strong{color:#334155;font-size:12px}
.ai-beauty-mode-row{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto}
.ai-beauty-mode-row button{
  flex:0 0 58px;min-width:0;height:25px;padding:0 4px;border:1px solid #e2e8f0;border-radius:5px;background:#fff;color:#64748b;
  font-size:9px;font-weight:900;
}
.ai-beauty-mode-row .ai-beauty-add-button{flex-basis:28px}
.ai-beauty-mode-row button.active{border-color:#ffad9b;background:#fff4f0;color:var(--primary-dark)}
.ai-outfit-inline{min-width:0}
.ai-outfit-inline .ai-template-launcher{width:28px;min-height:28px;height:28px;padding:0;display:grid;place-items:center;border-radius:6px;background:#f1f5f9;border-color:#e2e8f0}
.ai-outfit-launcher-icon{font-size:17px;line-height:1;color:#94a3b8;filter:grayscale(1)}
.ai-template-launcher.active{background:#fff;border-color:var(--primary-border)}
.ai-template-launcher.active .ai-outfit-launcher-icon{color:var(--primary-dark);filter:none}
.ai-outfit-inline .ai-outfit-thumb{display:none;width:22px;height:24px;border-radius:4px;object-fit:cover}
.ai-template-launcher.active .ai-outfit-launcher-icon{display:none}
.ai-template-launcher.active .ai-outfit-thumb{display:block}
.ai-beauty-online-stack{display:grid;gap:7px;min-width:0;margin-top:7px}
.ai-prompt-workspace{display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:stretch;gap:8px;min-width:0}
.ai-prompt-editors{display:grid;gap:8px;min-width:0}
.ai-inline-prompt-card{position:relative;min-width:0;padding:10px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff}
.ai-inline-prompt-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.ai-inline-prompt-heading label{color:#334155;font-size:12px;font-weight:900}
.ai-inline-prompt-heading small{color:#64748b;font-size:9px;line-height:1.3;text-align:right}
.ai-inline-prompt-card textarea{
  display:block;width:100%;min-height:94px;max-height:190px;padding:9px 10px;resize:vertical;
  border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:12px;line-height:1.6;
}
.ai-photo-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ai-inline-prompt-card textarea:focus{border-color:#ffad9b;outline:0;box-shadow:0 0 0 3px rgba(255,111,79,.10)}
.ai-selection-prompt-card textarea{min-height:106px}
.ai-inline-prompt-card .ai-custom-prompt-input{min-height:108px;max-height:190px}
.ai-quick-prompt-panel{min-width:0;padding:9px;border:1px solid #dbeafe;border-radius:8px;background:#fbfdff;display:flex;flex-direction:column}
.ai-crop-correction-row{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:7px;padding-bottom:7px;border-bottom:1px solid #e2e8f0;color:#334155;font-size:10px;font-weight:900}
.ai-crop-correction-row .toggle{transform:scale(.82);transform-origin:right center}
  .ai-quick-prompt-heading .ai-quick-prompt-settings{width:25px;padding:0;font-size:13px}
  .ai-quick-prompt-heading .ai-online-prompt-launcher{width:auto;height:25px;padding:0 8px;border:1px solid #fed5ca;border-radius:5px;background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.ai-quick-prompt-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px;color:#334155;font-size:11px}
.ai-quick-prompt-heading button,.ai-quick-prompt-item button{border:1px solid #fed5ca;border-radius:5px;background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:9px;font-weight:900;cursor:pointer}
.ai-quick-prompt-heading button{height:25px;padding:0 7px}
.ai-quick-prompt-list{display:grid;gap:5px;min-height:232px;max-height:256px;overflow-y:scroll;overflow-x:hidden;scrollbar-color:#cbd5e1 #f8fafc;scrollbar-width:thin;flex:1 1 auto}
.ai-quick-prompt-list::-webkit-scrollbar{width:7px}
.ai-quick-prompt-list::-webkit-scrollbar-track{background:#f8fafc;border-radius:999px}
.ai-quick-prompt-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid #f8fafc}
.ai-quick-prompt-list>small{padding:8px 2px;color:#94a3b8;font-size:10px;line-height:1.4}
.ai-quick-prompt-item{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;border-radius:5px;cursor:grab}
.ai-quick-prompt-item.dragging{opacity:.45;cursor:grabbing}
.ai-quick-prompt-item.drop-ready{box-shadow:0 0 0 2px #2563eb}
.ai-quick-prompt-item button{height:25px;padding:0 5px}
.ai-quick-prompt-use{overflow:hidden;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:#fff!important;color:#475569!important;border-color:#dbe3ec!important}
#aiPanel[data-ai-mode-current="local"] .ai-online-beauty-control,#aiPanel[data-ai-mode-current="local"] #aiBeautyPanel{display:none}
#aiPanel[data-ai-mode-current="local"] #aiOutfitLabel,#aiPanel[data-ai-mode-current="local"] #aiOutfitPanel{display:none}
#aiPanel[data-ai-mode-current="local"] .ai-beauty-outfit-controls{grid-template-columns:auto minmax(250px,auto)}
.ai-style-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ai-style-button{
  min-height:40px;padding:0 5px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;
  color:#475569;font-size:11px;font-weight:900;
}
.ai-tip{
  display:flex;align-items:flex-start;gap:7px;margin-top:12px;padding:9px;border:1px solid #dbeafe;
  border-radius:7px;background:#f8fbff;color:#52627a;font-size:10px;line-height:1.45;
}
.ai-tip svg{width:15px;height:15px;flex:0 0 auto;color:#3b82f6;margin-top:1px}
.ai-outfit-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ai-outfit-card{
  min-height:84px;padding:7px 5px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;
  color:#475569;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  font-size:10px;font-weight:800;
}
.ai-outfit-thumb{
  width:48px;height:60px;display:block;flex:0 0 auto;object-fit:cover;object-position:center 40%;
  border:1px solid #dbe3ec;border-radius:8px;background:#f4f6f8;box-shadow:0 2px 7px rgba(15,23,42,.08);
}
.ai-online-config-card{
  min-width:0;margin-top:13px;padding:11px;border:1px solid #e5eaf1;border-radius:8px;
  background:linear-gradient(180deg,#fbfcfe,#f8fafc);
}
.ai-online-badge{
  padding:2px 6px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;
  color:#1d4ed8;font-size:10px;font-weight:900;white-space:nowrap;
}
.ai-online-hint{margin:7px 0 10px;color:#64748b;font-size:10px;line-height:1.45}
.ai-online-model-summary{
  min-width:0;margin-bottom:9px;padding:8px 9px;border:1px solid #dbeafe;border-radius:7px;background:#f8fbff;
  display:flex;align-items:center;justify-content:space-between;gap:8px;color:#64748b;font-size:9px;
}
.ai-online-model-summary strong{min-width:0;color:#1e40af;font-size:10px;overflow-wrap:anywhere;text-align:right}
.ai-online-config-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}
.ai-online-field{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;color:#475569;font-size:10px;font-weight:800}
.ai-online-field input,.ai-online-field select{
  width:100%;min-width:0;height:36px;flex:none;padding:0 8px;border:1px solid #dbe3ec;border-radius:7px;
  background:#fff;color:#1f2937;font:inherit;font-size:11px;box-sizing:border-box;
}
.ai-online-field input::placeholder{color:#a2adbc}
.ai-online-field input:focus,.ai-online-field select:focus{border-color:#ffad9b;box-shadow:0 0 0 2px rgba(255,111,79,.08)}
.ai-online-model-field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ai-online-fetch-models-button{height:26px;min-width:72px;padding:0 9px;font-size:10px;line-height:1}
.ai-online-model-field .hidden{display:none}
.ai-online-config-status{min-height:15px;margin-top:8px;color:#64748b;font-size:9px;line-height:1.4}
.ai-online-config-status.error{color:#b91c1c}
.ai-online-config-status.success{color:#047857}
.ai-online-save-button{
  width:100%;min-height:40px;margin-top:8px;border:1px solid var(--primary);border-radius:8px;
  background:var(--primary);color:#fff;font-size:11px;font-weight:900;box-shadow:0 6px 14px rgba(255,111,79,.14);
}
.ai-online-save-button:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.ai-online-outfit-panel{margin-top:10px;padding:8px;border:1px solid #e5eaf1;border-radius:8px;background:#fff}
.ai-template-launcher{
  width:100%;min-height:70px;padding:9px;border:1px solid #e2e8f0;border-radius:9px;background:linear-gradient(180deg,#fff,#fbfcfe);
  color:#334155;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;
}
.ai-template-launcher:hover{border-color:var(--primary-border);background:#fffaf8}
.ai-template-launcher .ai-outfit-thumb{width:38px;height:46px;flex:0 0 auto}
.ai-outfit-inline .ai-template-launcher .ai-outfit-thumb{width:18px;height:22px;border-radius:3px;box-shadow:none}
.ai-template-launcher>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}
.ai-template-launcher strong{font-size:11px;line-height:1.35}
.ai-template-launcher small{color:#94a3b8;font-size:9px;line-height:1.4}
.ai-template-launcher>b{color:#94a3b8;font-size:22px;font-weight:500}
.ai-prompt-editor{margin-top:10px;padding-top:10px;border-top:1px solid #eef2f7}
.ai-prompt-editor .ai-field-label{margin-bottom:6px}
.ai-prompt-editor .ai-field-label button,.ai-prompt-actions button{
  height:26px;padding:0 8px;border:1px solid #fed5ca;border-radius:6px;background:var(--primary-soft);color:var(--primary-dark);
  font-size:9px;font-weight:900;
}
.ai-prompt-editor textarea{
  width:100%;min-height:68px;resize:vertical;padding:8px;border:1px solid #dbe3ec;border-radius:8px;background:#fbfcfe;
  color:#334155;font-size:10px;line-height:1.5;box-sizing:border-box;
}
.ai-prompt-editor textarea::placeholder{color:#9aa6b6}
.ai-prompt-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.ai-prompt-actions small{min-width:0;color:#94a3b8;font-size:8px;line-height:1.35}
.ai-prompt-actions button{flex:0 0 auto}
.ai-task-card{
  margin:0;padding:10px;border:1px solid #e5eaf1;border-radius:8px;background:#fbfcfe;flex:0 0 auto;
}
.ai-task-status{min-height:16px;color:#475569;font-size:10px;line-height:1.45}
.ai-task-status.error{color:#b91c1c}
.ai-progress{
  position:relative;height:54px;margin-top:8px;border:1px solid #f3ddd7;border-radius:12px;
  background:linear-gradient(105deg,#fffdfc 0%,#fff8f5 58%,#fff4f0 100%);overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 22px rgba(130,60,42,.08);isolation:isolate;
}
.ai-progress i{
  position:absolute;z-index:0;inset:0 auto 0 0;display:block;width:0;min-width:0;height:100%;overflow:visible;
  border-radius:inherit;background:linear-gradient(90deg,#fff3ee 0%,#ffd8ce 45%,#ff9d86 76%,#ff7357 94%,var(--primary-dark) 100%);
  transition:width .38s cubic-bezier(.22,.75,.24,1);
}
.ai-progress i::before{
  content:"";position:absolute;top:-28%;right:-18px;width:48px;height:156%;border-radius:48% 52% 44% 56%;
  background:linear-gradient(90deg,rgba(255,111,79,0),rgba(255,139,112,.48) 40%,rgba(255,111,79,.94) 73%,rgba(232,80,46,.76));
  filter:blur(5px);transform:skewX(-5deg) scaleY(1.04);opacity:.92;
}
.ai-progress i::after{
  content:"";position:absolute;top:-22%;right:-3px;width:10px;height:144%;border-radius:50%;
  background:rgba(255,226,217,.88);filter:blur(4px);box-shadow:0 0 18px rgba(255,111,79,.72);
}
.ai-progress-copy{position:absolute;z-index:2;inset:0 auto 0 14px;display:flex;justify-content:center;flex-direction:column;min-width:0;max-width:calc(100% - 86px);color:#5b2c22}
.ai-progress-copy strong{font-size:11px;line-height:1.25;font-weight:900;letter-spacing:.02em}
.ai-progress-copy small{margin-top:3px;color:#9b7168;font-size:8px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-progress>b{position:absolute;z-index:2;top:50%;right:16px;transform:translateY(-50%);color:var(--primary-dark);font-size:19px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.ai-task-card[aria-busy="true"] .ai-progress i{min-width:5%;animation:ai-progress-pulse 1.85s ease-in-out infinite}
@keyframes ai-progress-pulse{
  0%,100%{filter:brightness(.92);transform:translateX(-1px)}
  48%{filter:brightness(1.14);transform:translateX(3px)}
  72%{filter:brightness(1.02);transform:translateX(1px)}
}
.ai-task-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:9px}
.ai-task-actions button{min-height:40px;border-radius:8px;font-size:11px;font-weight:900}
.ai-generate-button{border:1px solid var(--primary);background:var(--primary);color:#fff;box-shadow:0 6px 14px rgba(255,111,79,.16)}
.ai-generate-button.hidden,#aiGenerateBtn.hidden{display:none!important}
.ai-generate-button.stop{border-color:#fecaca;background:#fff;color:#b91c1c;box-shadow:none}
.ai-generate-button:disabled{border-color:#e2e8f0;background:#eef2f7;color:#94a3b8;box-shadow:none}
.ai-panel-actions{
  position:relative;z-index:3;margin:0;padding:12px 16px 13px;border-top:1px solid #e6ebf2;flex:0 0 auto;
  background:#fff;box-shadow:0 -9px 24px rgba(15,23,42,.05);
  display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:9px 12px;
}
.ai-panel .ai-task-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);align-items:center;gap:7px 12px}
.ai-panel .ai-task-status{grid-column:1;grid-row:1}
.ai-panel .ai-task-card[aria-busy="true"] .ai-task-status{display:none}
.ai-panel .ai-progress{grid-column:1;grid-row:1;margin-top:0}
.ai-panel .ai-task-actions{grid-column:2;grid-row:1;margin-top:0}
@media (prefers-reduced-motion:reduce){.ai-task-card[aria-busy="true"] .ai-progress i{animation:none}.ai-progress i{transition:none}}
.ai-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ai-result-button{
  min-height:44px;padding:0 8px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:11px;font-weight:900;
}
.ai-result-button svg{width:16px;height:16px;flex:0 0 auto}
.ai-result-button.secondary{border:1px solid #dbe3ec;background:#fff;color:#334155}
.ai-result-button.primary{border:1px solid var(--primary);background:var(--primary);color:#fff}
.ai-result-button:disabled{cursor:not-allowed;opacity:.52}
.ai-panel-actions p{grid-column:1/-1;margin:0;text-align:right;color:#94a3b8;font-size:9px;line-height:1.4}
.ai-library-dialog{
  position:fixed;inset:0;z-index:82;display:grid;place-items:center;padding:22px;background:rgba(15,23,42,.34);backdrop-filter:blur(7px);
}
.ai-library-dialog.hidden{display:none}
.ai-library-card{
  width:min(1440px,calc(100vw - 32px));height:calc(100vh - 32px);max-height:none;overflow:auto;padding:20px;
  border:1px solid #dbe3ee;border-radius:14px;background:#fff;color:var(--text);box-shadow:0 28px 90px rgba(15,23,42,.28);
}
.ai-library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ai-library-header h2{margin:0;font-size:21px;line-height:1.3}
.ai-library-header p{margin:5px 0 0;color:#64748b;font-size:12px;line-height:1.5}
.ai-library-close{
  width:32px;height:32px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;
  font:inherit;font-size:20px;line-height:1;cursor:pointer;flex:0 0 auto;
}
.ai-library-close:hover{border-color:var(--primary-border);background:#fff4f0;color:var(--primary-dark)}
.ai-library-card button:focus-visible,.ai-library-card input:focus-visible,.ai-library-card textarea:focus-visible{outline:2px solid rgba(232,80,46,.72);outline-offset:2px}
.ai-online-config-dialog-card{width:min(620px,calc(100vw - 44px));height:auto;max-height:calc(100vh - 44px)}
.ai-history-dialog-card{width:min(1100px,calc(100vw - 48px));height:min(820px,calc(100vh - 64px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.ai-history-status{min-height:20px;margin-top:15px;color:#64748b;font-size:11px}.ai-history-status.error{color:#b91c1c}
.ai-history-header-actions{display:flex;align-items:center;gap:8px}.ai-history-clear-button{height:32px;padding:0 11px;border:1px solid #fecaca;border-radius:8px;background:#fff7f5;color:#c2410c;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.ai-history-clear-button:hover:not(:disabled){border-color:#fb7185;background:#fff1f2;color:#be123c}.ai-history-clear-button:disabled{cursor:not-allowed;opacity:.48}
.ai-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.ai-history-empty{grid-column:1/-1;margin:0;padding:28px;border:1px dashed #dbe3ec;border-radius:10px;background:#f8fafc;color:#94a3b8;font-size:12px;text-align:center}.ai-history-item{min-width:0;padding:9px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px}.ai-history-item img{width:78px;height:78px;object-fit:cover;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc}.ai-history-item>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.ai-history-item strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:11px}.ai-history-item small{color:#94a3b8;font-size:9px}.ai-history-item-actions{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.ai-history-item-actions button{height:27px;padding:0 8px;border:1px solid #dbe3ec;border-radius:6px;background:#fff;color:#475569;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.ai-history-item-actions button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.ai-history-item-actions button.danger{border-color:#fecaca;background:#fff7f5;color:#c2410c}.ai-history-item-actions button.danger:hover{border-color:#fb7185;background:#fff1f2;color:#be123c}
.ai-online-config-provider-switch{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 14px}
.ai-custom-profile-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:-3px 0 12px;padding:8px 10px;border:1px solid #dbeafe;border-radius:9px;background:#f8fbff;color:#475569;font-size:11px;font-weight:800}
.ai-custom-profile-row select{min-width:0;height:34px;padding:0 8px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#1f2937;font:inherit;font-size:11px}
.ai-custom-profile-row .btn{height:34px;padding:0 10px;font-size:11px;white-space:nowrap}
.ai-online-config-dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.ai-online-config-dialog-fields .ai-online-field:first-child{grid-column:1/-1}
.ai-online-config-dialog-fields .ai-custom-profile-name{grid-column:1/-1}
.ai-online-config-dialog-fields .ai-online-field input,.ai-online-config-dialog-fields .ai-online-field select{height:40px;font-size:12px}
.ai-online-config-dialog-status-row{display:flex;align-items:center;gap:10px;min-height:30px;margin-top:12px}
.ai-online-config-dialog-status-row .ai-online-config-status{flex:1;margin:0;font-size:10px}
.ai-online-signup-button{height:28px;flex:0 0 auto;padding:0 9px;font-size:10px;white-space:nowrap}
.ai-online-config-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid #eef2f7}
.ai-online-config-dialog-actions .btn{height:40px}
.ai-online-config-dialog-actions .ai-online-save-button{width:auto;min-width:136px;min-height:40px;margin:0;padding:0 16px}
.ai-library-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:16px 0 12px;padding:4px;border:1px solid #e5eaf1;border-radius:10px;background:#f4f7fa;
}
.ai-library-tabs button{height:36px;border:0;border-radius:7px;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.ai-library-tabs button.active{background:#fff;color:var(--primary-dark);box-shadow:0 5px 13px rgba(15,23,42,.08)}
.ai-outfit-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ai-outfit-library-item{
  min-width:0;min-height:94px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;text-align:left;cursor:pointer;
}
.ai-outfit-library-item:hover{border-color:var(--primary-border);background:#fffaf8}
.ai-outfit-library-item.active{border-color:#ffad9b;background:#fff4f0;box-shadow:0 0 0 2px rgba(255,111,79,.09)}
.ai-outfit-library-item .ai-outfit-thumb{width:58px;height:72px}
.ai-outfit-library-item>span{min-width:0;display:flex;flex-direction:column;gap:4px}
.ai-outfit-library-item strong{font-size:12px;line-height:1.35}
.ai-outfit-library-item small{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#7b8797;font-size:10px;line-height:1.5}
.ai-outfit-custom-editor{display:grid;gap:9px;margin-top:13px;padding:12px;border:1px solid #dbe7f2;border-radius:10px;background:#f8fbff}
.ai-outfit-custom-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.ai-outfit-reference-warning{color:#a65718;font-size:11px;line-height:1.45;text-align:right}
.ai-outfit-custom-fields{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px}
.ai-outfit-custom-fields label{display:grid;gap:4px;color:#64748b;font-size:10px;font-weight:800}
.ai-outfit-custom-fields input,.ai-outfit-custom-fields select,.ai-outfit-custom-fields textarea{width:100%;min-width:0;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:12px;padding:7px 8px}
.ai-outfit-custom-fields textarea{min-height:72px;resize:vertical;line-height:1.5}
.ai-outfit-custom-reference{grid-column:1/-1;display:flex!important;align-items:center;gap:8px}
.ai-outfit-custom-reference>span{min-width:36px}.ai-outfit-custom-reference .btn{font-size:11px;padding:6px 9px}
.ai-outfit-custom-reference img{display:none;width:34px;height:34px;object-fit:cover;border:1px solid #dbe3ec;border-radius:6px;background:#fff}
.ai-outfit-custom-reference img[src]{display:block}
.ai-outfit-custom-prompt{grid-column:1/-1}
.ai-outfit-custom-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;color:#64748b;font-size:10px}
.ai-outfit-custom-actions>span{min-width:0}.ai-outfit-custom-actions .btn{font-size:11px;padding:7px 10px}
.ai-library-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:13px;border-top:1px solid #eef2f7}
.ai-library-footer>span{color:#64748b;font-size:11px}
.ai-library-footer .btn{height:38px}
.ai-library-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.ai-background-library-card{width:min(520px,calc(100vw - 44px))}
.ai-background-editor{display:grid;gap:12px;margin-top:16px}
.ai-beauty-editor{display:grid;gap:12px;margin-top:16px}
.ai-beauty-editor>label{position:relative;display:grid;gap:5px;color:#475569;font-size:10px;font-weight:900}
.ai-beauty-editor input,.ai-beauty-editor textarea{width:100%;padding:9px 10px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#334155;font:inherit;box-sizing:border-box}
.ai-beauty-editor input{height:36px}
.ai-beauty-editor textarea{min-height:126px;resize:vertical;line-height:1.55}
.ai-background-editor>label,.ai-background-color-fields label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:900}
.ai-background-editor input[type="text"]{height:38px;padding:0 10px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;color:#334155;font:inherit;pointer-events:auto;user-select:text}
.ai-background-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border:1px solid #e2e8f0;border-radius:9px;background:#f4f7fa}
.ai-background-type-switch button{height:34px;border:0;border-radius:6px;background:transparent;color:#64748b;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.ai-background-type-switch button.active{background:#fff;color:var(--primary-dark);box-shadow:0 3px 10px rgba(15,23,42,.08)}
.ai-background-color-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ai-background-color-fields input[type="color"]{width:100%;height:42px;padding:3px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;cursor:pointer}
.ai-background-editor-preview{height:118px;border:1px solid #dbe3ec;border-radius:10px;background:#d9eaf7;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.ai-prompt-current-box{margin-top:16px;padding:11px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}
.ai-prompt-current-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#334155;font-size:12px;font-weight:900}
.ai-prompt-enable-switch{display:flex;align-items:center;gap:6px;color:#475569;font-size:10px;cursor:pointer}
.ai-prompt-enable-switch input{width:15px;height:15px;margin:0;accent-color:var(--primary)}
.ai-prompt-current-box textarea,.ai-prompt-save-box textarea{
  width:100%;resize:vertical;padding:8px 9px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;color:#334155;
  font:inherit;font-size:11px;line-height:1.5;box-sizing:border-box;
}
.ai-prompt-current-box textarea{min-height:96px}
.ai-prompt-current-box>small{display:block;margin-top:5px;color:#64748b;font-size:9px;line-height:1.45}
.ai-prompt-library-list{display:grid;gap:14px;margin-top:16px}
.ai-prompt-library-tabs{display:flex;gap:6px;margin-top:14px;padding:4px;border:1px solid #e2e8f0;border-radius:9px;background:#f4f7fa}
.ai-prompt-library-tabs button{min-height:34px;flex:1;border:0;border-radius:6px;background:transparent;color:#64748b;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.ai-prompt-library-tabs button.active{background:#fff;color:var(--primary-dark);box-shadow:0 3px 10px rgba(15,23,42,.08)}
.ai-prompt-category-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}
.ai-prompt-outfit-category-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ai-prompt-outfit-category-tabs button{min-height:30px;border:1px solid #dbe3ec;border-radius:999px;padding:0 13px;background:#fff;color:#64748b;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.ai-prompt-outfit-category-tabs button:hover{border-color:var(--primary-border);background:#fff8f5;color:var(--primary-dark)}
.ai-prompt-outfit-category-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}
.ai-prompt-category-tabs button{min-height:34px;padding:0 8px;border:1px solid #dbe3ec;border-radius:7px;background:#fff;color:#64748b;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.ai-prompt-category-tabs button:hover{border-color:var(--primary-border);background:#fff8f5;color:var(--primary-dark)}
.ai-prompt-category-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}
.ai-prompt-library-tabs button:focus-visible,.ai-prompt-category-tabs button:focus-visible,.ai-prompt-community-toolbar input:focus-visible,.ai-prompt-community-filters button:focus-visible,.ai-prompt-community-publish input:focus-visible,.ai-prompt-community-publish textarea:focus-visible,.ai-prompt-community-publish select:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.ai-prompt-template-section h3{margin:0 0 8px;color:#334155;font-size:13px}
.ai-prompt-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ai-prompt-template-card{position:relative;min-width:0;min-height:58px;padding:10px;border:1px solid #e2e8f0;border-radius:9px;background:#fbfcfe;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer}
.ai-prompt-template-card:hover{border-color:var(--primary-border);background:#fffaf8}
.ai-prompt-template-card:focus-visible{outline:2px solid rgba(232,80,46,.72);outline-offset:2px}
.ai-prompt-template-card.is-outfit{min-height:74px;grid-template-columns:46px minmax(0,1fr) auto}
.ai-prompt-template-outfit-preview{width:46px;height:58px;display:block;object-fit:cover;object-position:center 36%;border:1px solid #dbe3ec;border-radius:7px;background:#f4f6f8}
.ai-prompt-template-card.is-default{border-color:#fdba74;background:#fffaf7;box-shadow:0 0 0 2px rgba(251,146,60,.08)}
.ai-prompt-template-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
.ai-prompt-template-actions button{height:28px;padding:0 9px;border:1px solid #fed5ca;border-radius:6px;background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:9px;font-weight:900;cursor:pointer}
.ai-prompt-template-actions button:hover{background:#ffede8}
.ai-prompt-template-actions button.danger,.ai-prompt-community-actions button.danger{border-color:#fecaca;background:#fff7f7;color:#b91c1c}
.ai-prompt-template-actions button.danger:hover,.ai-prompt-community-actions button.danger:hover{background:#fee2e2}
.ai-prompt-template-actions button:disabled,.ai-prompt-community-actions button:disabled{cursor:not-allowed;opacity:.5}
.ai-prompt-template-card strong{min-width:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-prompt-template-default-marker{position:absolute;right:8px;top:7px;color:#c2410c;font-size:13px;line-height:1;font-weight:900}
.ai-prompt-template-empty{grid-column:1/-1;margin:0;padding:14px;border:1px dashed #dbe3ec;border-radius:8px;color:#94a3b8;font-size:11px;text-align:center}
.ai-prompt-save-box{margin-top:16px;padding:12px;border:1px solid #fed7cc;border-radius:10px;background:#fff8f5}
.ai-prompt-save-box>label{display:block;margin-bottom:6px;color:#7c3d2d;font-size:11px;font-weight:900}
.ai-prompt-save-box input,.ai-prompt-save-box select{width:100%;height:38px;margin-bottom:10px;border:1px solid #e5d2cc;border-radius:8px;padding:0 10px;background:#fff;color:#334155;font:inherit;font-size:11px;box-sizing:border-box}
.ai-prompt-save-box textarea{min-height:78px;margin-bottom:9px;border-color:#e5d2cc}
.ai-prompt-save-box button{display:block;min-width:132px;height:38px;margin-left:auto;padding:0 13px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.ai-prompt-save-status{display:block;min-height:15px;margin-top:6px;color:#9a5b4d;font-size:10px}
.ai-prompt-outfit-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid #dbeafe;border-radius:9px;background:#f8fbff;color:#64748b;font-size:10px;line-height:1.45}
.ai-prompt-outfit-tools.hidden{display:none}
.ai-prompt-outfit-tools button{min-height:34px;flex:0 0 auto;border:1px solid #bfdbfe;border-radius:7px;padding:0 11px;background:#fff;color:#1d4ed8;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.ai-prompt-outfit-tools button:hover{background:#eff6ff}
.ai-prompt-community-pane{margin-top:14px}
.ai-prompt-community-pane.hidden{display:none}
.ai-prompt-community-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.ai-prompt-community-toolbar input,.ai-prompt-community-publish input,.ai-prompt-community-publish textarea,.ai-prompt-community-publish select{width:100%;min-height:38px;border:1px solid #dbe3ec;border-radius:8px;padding:0 10px;box-sizing:border-box;background:#fff;color:#334155;font:inherit;font-size:11px}
.ai-prompt-community-publish textarea{height:auto;min-height:96px;padding:8px 58px 8px 10px;resize:vertical}
.ai-prompt-community-toolbar button,.ai-prompt-community-filters button,.ai-prompt-community-card button,.ai-prompt-community-publish button{min-height:34px;border:1px solid #fed5ca;border-radius:7px;padding:0 10px;background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.ai-prompt-community-toolbar button:hover,.ai-prompt-community-filters button:hover,.ai-prompt-community-card button:hover,.ai-prompt-community-publish button:hover{background:#ffede8}
.ai-prompt-community-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ai-prompt-community-filters button.active{border-color:var(--primary);background:var(--primary);color:#fff}
.ai-prompt-community-status{min-height:18px;margin:9px 0 4px;color:#64748b;font-size:10px;line-height:1.4}
.ai-prompt-community-status.error{color:#dc2626}
.ai-prompt-community-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:calc(100vh - 290px);overflow:auto;padding-right:2px}
.ai-prompt-community-card{padding:10px;border:1px solid #dbe3ec;border-radius:9px;background:#fbfcfe}
.ai-prompt-community-card header{display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.ai-prompt-community-card strong{min-width:0;color:#334155;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-prompt-community-card header small{flex:0 0 auto;color:#64748b;font-size:9px}
.ai-prompt-community-card p{display:-webkit-box;margin:5px 0;color:#64748b;font-size:10px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ai-prompt-community-meta{display:flex;flex-wrap:wrap;gap:5px;color:#64748b;font-size:9px}
.ai-prompt-community-meta span{padding:2px 5px;border-radius:999px;background:#eef2f7}
.ai-prompt-community-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;margin-top:8px}
.ai-prompt-community-actions button{min-height:27px;padding:0 8px;border-color:#e2e8f0;background:#fff;color:#64748b;font-size:9px;font-weight:800}
.ai-prompt-community-actions .primary{border-color:var(--primary);background:var(--primary);color:#fff}
.ai-prompt-community-actions .subtle,.ai-prompt-community-actions button.danger{border-color:transparent;background:transparent;color:#94a3b8;padding:0 4px;min-height:24px;font-weight:700}
.ai-prompt-community-actions .subtle:hover{background:#eef2f7;color:#334155}
.ai-prompt-community-actions .danger:hover{background:#fff1f0;color:#dc2626}
.ai-prompt-community-actions button[aria-pressed="true"]{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.ai-prompt-community-detail-card{width:min(920px,calc(100vw - 32px));height:auto;max-height:calc(100vh - 32px)}
.ai-prompt-community-detail-content{margin-top:16px;min-height:120px;white-space:pre-wrap;overflow-wrap:anywhere;color:#334155;font-size:13px;line-height:1.65}
.ai-prompt-community-detail-content img{float:left;width:110px;height:138px;margin:0 14px 10px 0;object-fit:cover;border:1px solid #dbe3ec;border-radius:9px;background:#f8fafc}
.ai-prompt-community-detail-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0}
.ai-prompt-community-detail-actions button{min-height:34px;border:1px solid #fed5ca;border-radius:7px;padding:0 12px;background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.ai-prompt-community-detail-actions button:hover{background:#ffede8}
.ai-prompt-community-detail-actions button.primary{border-color:var(--primary);background:var(--primary);color:#fff}
.ai-prompt-community-detail-actions button.primary:hover{background:var(--primary-dark)}
.ai-prompt-community-empty{margin:0;padding:18px;border:1px dashed #cbd5e1;border-radius:9px;color:#64748b;font-size:11px;line-height:1.55;text-align:center}
.ai-prompt-community-publish{margin-top:12px;padding:10px;border:1px solid #fed7cc;border-radius:10px;background:#fff8f5}
.ai-prompt-community-publish summary{color:#7c3d2d;font-size:11px;font-weight:900;cursor:pointer}
.ai-prompt-community-publish p{margin:7px 0;color:#9a5b4d;font-size:9px;line-height:1.45}
.ai-prompt-community-publish label{display:grid;gap:4px;margin-top:8px;color:#7c3d2d;font-size:10px;font-weight:900}
.ai-prompt-community-outfit-category-field.hidden{display:none}
.ai-prompt-community-prompt-field{position:relative;display:block}
.ai-prompt-community-reference-button{position:absolute;right:9px;bottom:9px;width:40px;min-width:40px!important;height:40px;min-height:40px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center;overflow:hidden;border:1px dashed #f4a18d!important;border-radius:8px!important;background:#fff!important;color:var(--primary-dark)!important;font-size:23px!important;line-height:1!important;box-shadow:none!important}
.ai-prompt-community-reference-button:hover{border-color:var(--primary)!important;background:#fff4f0!important}
.ai-prompt-community-reference-button.hidden{display:none!important}
.ai-prompt-community-reference-button img{display:none;width:100%;height:100%;object-fit:cover}
.ai-prompt-community-reference-button.has-reference{border-style:solid!important}
.ai-prompt-community-reference-button.has-reference span{display:none}
.ai-prompt-community-reference-button.has-reference img{display:block}
.ai-prompt-community-outfit-preview{width:54px;height:68px;float:left;margin:0 8px 6px 0;object-fit:cover;border:1px solid #dbe3ec;border-radius:7px;background:#fff}
#aiPromptCommunityPublishBtn{display:block;min-width:110px;margin:10px 0 0 auto;border-color:var(--primary);background:var(--primary);color:#fff}
.ai-photo-lightbox-dialog{position:fixed;inset:0;z-index:86;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.62);backdrop-filter:blur(9px)}
.ai-photo-lightbox-dialog.hidden{display:none}
.ai-photo-lightbox-card{width:min(940px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));padding:18px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:#fff;display:flex;flex-direction:column;box-shadow:0 30px 100px rgba(15,23,42,.42)}
.ai-photo-lightbox-stage{min-height:0;flex:1;margin-top:14px;border:1px solid #e2e8f0;border-radius:10px;background:#eef2f7;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:zoom-in}
.ai-photo-lightbox-stage:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.ai-photo-lightbox-stage img{display:block;flex:0 0 auto;max-width:none;max-height:none;background:#fff;box-shadow:0 10px 36px rgba(15,23,42,.14);cursor:inherit}
.ai-photo-lightbox-stage img.comparison-hidden{display:none}
.ai-photo-lightbox-stage.comparing{position:relative;overflow:hidden;cursor:default}
.source-comparison{position:absolute;inset:12px;min-width:0;min-height:0}
.source-comparison.side{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.source-compare-pane{position:relative;min-width:0;min-height:0;overflow:hidden;background:#e6ebf2}
.ai-photo-lightbox-stage .source-compare-pane img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;box-shadow:none;background:transparent}
.source-compare-pane span{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.92);font-size:12px;color:#334155;z-index:3}
.source-comparison.slider{bottom:48px}
.source-comparison.slider .source-compare-pane{position:absolute;inset:0}
.source-comparison.slider .refined{z-index:1}
.source-comparison.slider .refined span{left:auto;right:10px}
.source-comparison.slider .original{z-index:2;clip-path:inset(0 calc(100% - var(--compare-position,50%)) 0 0)}
.source-compare-divider{position:absolute;top:0;bottom:0;left:var(--compare-position,50%);width:28px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;color:white;font-weight:bold;cursor:ew-resize;touch-action:none;z-index:4;text-shadow:0 1px 3px #000}
.source-compare-divider::before{content:"";position:absolute;top:0;bottom:0;width:2px;background:white;box-shadow:0 0 4px #334155;z-index:-1}
.source-compare-range{position:absolute;bottom:-36px;left:0;width:100%;height:24px;accent-color:var(--primary);z-index:5}
.notice-strip{
  min-height:36px;display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;
  margin-top:12px;padding:8px 10px;color:#64748b;font-size:14px;border:1px solid var(--border);
  background:#fff;border-radius:8px;
}
.notice-strip-text{
  display:-webkit-box;overflow:hidden;color:#475569;line-height:1.45;
  -webkit-box-orient:vertical;-webkit-line-clamp:2;
}
input[type=range]{width:100%;accent-color:#ffb19f}
@media (max-width:1280px){
  .ai-panel{width:min(940px,calc(100vw - 40px));height:min(700px,calc(100vh - 40px))}
  .ai-choice-card{min-height:56px}
  .ai-online-config-card,.ai-online-outfit-panel{padding:9px}
  .ai-online-field input,.ai-online-field select{height:34px;font-size:10px}
  .ai-library-card{width:min(660px,calc(100vw - 36px));padding:17px}
}
@media (max-width:920px){
  .ai-panel{width:calc(100vw - 24px);height:calc(100vh - 24px)}
  .ai-panel-body{grid-template-columns:minmax(0,1fr);overflow-y:auto;align-content:start}
  .ai-panel-preview-column{min-height:300px;flex:none}
  .ai-dropzone,.ai-dropzone[data-has-input="true"]{height:270px;min-height:270px;flex:none}
  .ai-panel-settings-column{overflow:visible;padding:0}
  .ai-panel-actions{grid-template-columns:minmax(0,1fr)}
  .ai-panel-actions p{text-align:center}
  .ai-prompt-workspace{grid-template-columns:1fr}
  .ai-quick-prompt-list{min-height:150px;max-height:150px}
}
@media (max-width:720px){
  .ai-batch-queue-list{grid-template-columns:1fr}
  .ai-panel{width:calc(100vw - 16px);height:calc(100vh - 16px);border-radius:12px}
  .ai-panel-header{padding:11px 12px}
  .ai-brand-icon{width:34px;height:34px;border-radius:9px}
  .ai-brand-icon svg{width:20px;height:20px}
  .ai-panel-heading p{display:none}
  .ai-title-line h2{font-size:16px}
  .ai-panel-body{padding:10px;gap:10px}
  .ai-panel-preview-column{min-height:246px;padding:8px}
  .ai-dropzone,.ai-dropzone[data-has-input="true"]{height:220px;min-height:220px}
  .ai-preview-column-hint{display:none}
  .ai-panel-actions{padding:9px 10px 10px}
  .ai-panel .ai-task-card{grid-template-columns:minmax(0,1fr)}
  .ai-panel .ai-task-status{grid-column:1;grid-row:auto}
  .ai-panel .ai-progress{grid-column:1;grid-row:auto}
  .ai-panel .ai-task-actions{grid-column:1;grid-row:auto}
  .ai-outfit-library-grid,.ai-prompt-template-grid{grid-template-columns:1fr}
  .ai-outfit-custom-fields{grid-template-columns:1fr}
  .ai-online-config-dialog-fields{grid-template-columns:1fr}
  .ai-online-config-dialog-fields .ai-online-field:first-child{grid-column:auto}
  .ai-custom-profile-row{grid-template-columns:1fr auto auto}
  .ai-custom-profile-row>label{grid-column:1/-1}
  .ai-library-dialog{padding:12px}
  .ai-photo-lightbox-dialog{padding:12px}
  .ai-photo-lightbox-card{width:calc(100vw - 24px);height:calc(100vh - 24px);padding:12px}
  .ai-library-footer{align-items:flex-start;flex-direction:column}
  .ai-library-footer-actions{width:100%}
  .ai-provider-switch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai-provider-settings-footer{align-items:stretch;flex-direction:column}
  .ai-provider-settings-footer .ai-online-save-button{width:100%}
  .photo-layout-template-list{grid-template-columns:1fr}
  .photo-layout-template-save{grid-template-columns:1fr}
  .paper-edge-options{grid-template-columns:repeat(3,1fr)}
  .paper-edge-custom{grid-column:1/-1}
}
@media (max-width:520px){
  .account-guest-view{align-items:stretch;flex-direction:column}
  .account-guest-view .btn{width:100%}
  .account-identity-row{grid-template-columns:36px minmax(0,1fr)}
  .account-device-status{grid-column:1/-1;justify-self:start}
  .account-entitlement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-actions{align-items:stretch;flex-direction:column}
  .account-actions .btn,.account-text-button{width:100%}
  .ai-matting-quality-row,.ai-background-compact-row{grid-template-columns:minmax(0,1fr)}
  .ai-matting-quality-heading>small{text-align:left}
  .ai-background-options-inline{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .document-output-slider,.ai-mode-button,.ai-tool-tab,.ai-drawer-backdrop,.ai-panel,.ai-dropzone{transition:none}
}
.manual-crop-dialog.photo-crop-mode .manual-crop-mode-tabs,
.manual-crop-dialog.photo-crop-mode .manual-crop-presets,
.manual-crop-dialog.photo-crop-mode .manual-crop-custom-row {
  display: none;
}
.manual-crop-dialog.ai-free-crop-mode .manual-crop-mode-tabs,
.manual-crop-dialog.ai-free-crop-mode .manual-crop-presets,
.manual-crop-dialog.ai-free-crop-mode .manual-crop-custom-row {
  display: none;
}
/* First-party authorization and credit checkout. Product selection stays native;
   only the payment provider's signed checkout is opened after an explicit choice. */
.payment-dialog{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:24px;background:rgba(30,41,59,.42);backdrop-filter:blur(8px)}
.payment-dialog.hidden{display:none}
.payment-dialog-card{width:min(900px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:26px;border:1px solid #e3eaf4;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.24);outline:none}
.payment-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}
.payment-dialog-header h2{margin:4px 0 7px;color:#16233a;font-size:26px}
.payment-dialog-header p{max-width:670px;margin:0;color:#71819b;line-height:1.65}
.payment-dialog-eyebrow{color:#ff684d;font-size:13px;font-weight:800;letter-spacing:.08em}
.payment-dialog-close{flex:0 0 auto;width:42px;height:42px;border:1px solid #e4eaf3;border-radius:13px;background:#f8fafc;color:#52627b;font-size:23px;cursor:pointer}
.authorization-price-policy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid #e4ebf5;border-radius:18px;background:#f8fbff}
.authorization-price-policy>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border:1px solid #e5ebf4;border-radius:14px;background:#fff;color:#52627b}
.authorization-price-policy>div.featured{border-color:#ffc4b6;background:#fff8f5}
.authorization-price-policy strong{color:#ff654b;font-size:25px}
.authorization-price-policy p{grid-column:1/-1;margin:0;color:#60728e;font-size:13px}
.points-current-balance{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:16px 18px;border:1px solid #cfe0ff;border-radius:16px;background:#f3f7ff;color:#526784}
.points-current-balance strong{color:#2563c9;font-size:25px}
.points-consumption-card{width:min(620px,calc(100vw - 48px))}
.points-consumption-list{display:grid;gap:8px}
.points-consumption-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:12px 14px;border:1px solid #e4ebf5;border-radius:14px;background:#f8fbff;color:#52627b}
.points-consumption-item strong{color:#1d2d46;font-size:14px}.points-consumption-item time{grid-column:1/-1;color:#8391a7;font-size:11px}.points-consumption-item .points-consumption-delta{align-self:center;color:#dc2626;font-size:15px;font-weight:900}.points-consumption-empty{padding:22px 12px;border:1px dashed #d7e2ef;border-radius:14px;color:#70809a;text-align:center;font-size:13px}
.points-consumption-item .points-consumption-delta.income{color:#059669}
.payment-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.payment-product-card{display:flex;min-height:190px;flex-direction:column;gap:8px;padding:17px;border:1px solid #e0e8f3;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(38,75,129,.06)}
.payment-product-card h3{margin:0;color:#1d2d46;font-size:18px}
.payment-product-card .payment-product-desc{min-height:40px;color:#7b8aa2;font-size:13px;line-height:1.5}
.payment-product-card .payment-product-value{display:flex;align-items:baseline;gap:7px;margin-top:auto;color:#ff6248}
.payment-product-card .payment-product-value strong{font-size:28px}
.payment-product-card .payment-product-credit{color:#2563c9;font-size:14px;font-weight:800}
.payment-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.payment-product-actions button{min-height:38px;border:1px solid #dce5f1;border-radius:11px;background:#fff;color:#34465f;font-weight:750;cursor:pointer}
.payment-product-actions button[data-payment-provider="wechat"]{border-color:#bdebd5;color:#168653;background:#f1fcf6}
.payment-product-actions button[data-payment-provider="alipay"]{border-color:#bdd9ff;color:#1766c5;background:#f2f7ff}
.payment-product-actions button:disabled{cursor:not-allowed;opacity:.48}
.payment-product-empty{grid-column:1/-1;padding:34px;border:1px dashed #cad6e6;border-radius:16px;color:#7b8aa2;text-align:center}
.payment-dialog-status{min-height:22px;margin-top:16px;color:#6d7e97;font-size:13px}
.payment-dialog-status.error{color:#d44532}
.payment-dialog-status.success{color:#14845a}
.payment-checkout-card{width:min(620px,calc(100vw - 48px))}
.payment-checkout-body{display:grid;grid-template-columns:minmax(210px,280px) 1fr;align-items:center;gap:24px}
.payment-checkout-qr{width:100%;height:auto;padding:10px;border:1px solid #dce5f0;border-radius:16px;background:#fff}
.payment-checkout-qr.hidden{display:none}
.payment-checkout-summary{display:flex;min-width:0;flex-direction:column;gap:11px;color:#66768e}
.payment-checkout-summary>strong{color:#ff6248;font-size:32px}
.payment-checkout-summary b{overflow-wrap:anywhere;color:#263b58}
.payment-checkout-summary .btn{margin-top:8px}
@media(max-width:760px){.payment-dialog{padding:12px}.payment-dialog-card{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:18px;border-radius:18px}.payment-product-grid{grid-template-columns:1fr}.authorization-price-policy{grid-template-columns:1fr}.payment-checkout-body{grid-template-columns:1fr}.payment-checkout-qr{max-width:260px;margin:auto}}
.file-layout-custom-paper-editor>input{grid-column:1/-1}.file-layout-custom-paper-dimensions{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);align-items:center;gap:3px}.file-layout-custom-paper-dimensions span{text-align:center;color:#94a3b8}

/* 文件拼版：左侧为紧凑纸张设置，右侧承载文件尺寸与拼版参数。 */
.file-layout-workbench{grid-template-columns:118px minmax(0,1fr) 220px}
.file-layout-left-paper-module{margin-top:0;padding-top:0;border-top:0}
.file-layout-options-panel .file-layout-paper-module h2{margin:10px 0 8px;color:#172033;font-size:14px}
.file-layout-options-panel .file-layout-paper-title-row{align-items:center;margin-bottom:8px}
.file-layout-options-panel .file-layout-paper-title-row h2{margin:0 auto 0 0}
.file-layout-options-panel .file-layout-paper-source-toggle-compact{width:100px;flex:0 0 100px;margin:0;padding:2px}
.file-layout-options-panel .file-layout-paper-source-toggle-compact button{height:26px;font-size:10px}
.file-layout-options-panel .file-layout-paper-presets{grid-template-columns:repeat(5,minmax(0,1fr));margin:7px 0 8px}
.file-layout-options-panel .file-layout-paper-choice-field{grid-template-columns:52px minmax(0,1fr)}
.file-layout-options-panel .file-layout-left-crop-row{margin:12px 0 2px;padding-top:11px;border-top:1px solid #e8edf3}
.file-layout-options-panel .file-layout-title-edge-limit{margin-right:0}
.file-layout-options-panel .file-layout-title-edge-limit .file-layout-mm-input{grid-template-columns:38px auto}
.file-layout-options-panel .file-layout-title-edge-limit input{height:26px}
.file-layout-control-panel{display:flex;min-width:0;overflow:auto;flex-direction:column;padding:11px;border-left:1px solid var(--border);background:#fff}
.file-layout-control-panel .file-layout-right-submode{margin:0 0 12px}
.file-layout-control-panel .file-layout-paper-module h2{margin:0 0 8px;color:#172033;font-size:14px}
.file-layout-control-panel .file-layout-paper-choice-field{grid-template-columns:58px minmax(0,1fr);margin:9px 0}
.file-layout-control-panel .file-layout-right-orientation{margin:11px 0 0;padding-top:10px;border-top:1px solid #e8edf3}
.file-layout-alignment-tools{margin-top:11px;padding-top:10px;border-top:1px solid #e8edf3}.file-layout-align-heading{display:grid;grid-template-columns:auto 30px auto;align-items:center;justify-content:space-between;gap:6px;color:#475569;font-size:11px;font-weight:900}.file-layout-align-target{display:flex;gap:0;padding:2px}.file-layout-align-target.crop-guide-style-options button{min-width:38px;height:25px;padding:0 7px;font-size:10px}.file-layout-align-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);border:1px solid #d8e0ea;border-radius:4px;background:transparent;overflow:hidden;box-shadow:none}.file-layout-align-picker-compact{width:30px;height:30px}.file-layout-align-picker button{position:relative;min-width:0;padding:0;border:0;border-right:1px solid #d8e0ea;border-bottom:1px solid #d8e0ea;border-radius:0;background:transparent;cursor:pointer}.file-layout-align-picker button:nth-child(3n){border-right:0}.file-layout-align-picker button:nth-child(n+7){border-bottom:0}.file-layout-align-picker button::after{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--primary);content:"";opacity:0;transform:translate(-50%,-50%) scale(.6)}.file-layout-align-picker button:hover:not(:disabled){background:rgba(255,111,79,.08)}.file-layout-align-picker button.active{background:transparent}.file-layout-align-picker button.active::after{opacity:1;transform:translate(-50%,-50%) scale(1)}.file-layout-align-picker button:disabled{cursor:not-allowed;opacity:.38}.file-layout-align-picker button:focus-visible{z-index:1;outline:2px solid rgba(255,111,79,.45);outline-offset:-2px}.file-layout-align-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-top:7px}.file-layout-align-actions button{display:grid;place-items:center;width:100%;height:27px;padding:0;border:1px solid var(--border);border-radius:6px;background:#f8fafc;color:#52647c;cursor:pointer}.file-layout-align-actions svg{width:16px;height:16px;fill:currentColor;stroke:currentColor;stroke-width:1.3}.file-layout-align-actions button:hover:not(:disabled){border-color:#9ec8ef;background:#eff6ff;color:#1769aa}.file-layout-align-actions button:disabled{opacity:.4;cursor:not-allowed}.file-layout-align-actions button:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:1px}
.file-layout-smart-footer{position:sticky;right:0;bottom:-11px;margin-top:auto;padding-top:14px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 12px)}.file-layout-smart-edge{display:flex;height:34px;align-items:center;justify-content:space-between;margin-bottom:7px;padding:0 9px;border:1px solid #edf0f4;border-radius:8px;background:#fafbfc;color:#68778b;font-size:10px;font-weight:800}.file-layout-smart-edge .file-layout-mm-input{grid-template-columns:42px auto}.file-layout-smart-edge input{height:25px;padding:0 5px;background:#fff}.file-layout-smart-layout{width:100%;height:46px;padding:0 14px;border:0;border-radius:9px;background:var(--primary);color:#fff;font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(255,111,79,.2)}.file-layout-smart-layout:hover:not(:disabled){background:var(--primary-dark)}.file-layout-smart-layout:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.file-layout-rotation-tools{display:grid;grid-template-columns:auto repeat(3,34px) minmax(52px,1fr);align-items:center;gap:4px;margin-top:8px;color:#475569;font-size:10px;font-weight:900}.file-layout-rotation-tools>button{height:26px;padding:0;border:1px solid var(--border);border-radius:6px;background:#f8fafc;color:#52647c;font-size:10px;font-weight:900;cursor:pointer}.file-layout-rotation-tools>button:hover{border-color:#ffb9aa;background:#fff5f1;color:#f15b43}.file-layout-rotation-tools>button:disabled{opacity:.4;cursor:not-allowed}.file-layout-rotation-tools label{display:grid;grid-template-columns:minmax(0,1fr) 13px;align-items:center;height:26px;border:1px solid var(--border);border-radius:6px;background:#fff;overflow:hidden}.file-layout-rotation-tools input{min-width:0;width:100%;height:24px;border:0;padding:0 4px;font-size:10px;font-weight:800;outline:0}.file-layout-rotation-tools em{font-style:normal;color:#94a3b8}.file-layout-tool-help{margin:6px 0 0;color:#94a3b8;font-size:9px;line-height:1.35}
.file-layout-control-panel .file-layout-paper-choice-field select{min-width:0;width:100%;height:30px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 7px;color:var(--text);font:inherit;font-size:11px;font-weight:800}
.file-layout-check-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;color:#475569;font-size:11px;font-weight:800}
.file-layout-check-row input{width:22px;height:22px;accent-color:#ff6b52}
.file-layout-toolbar .file-layout-submode{min-width:180px;box-shadow:0 4px 12px rgba(15,23,42,.04)}
.file-layout-crop-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0;color:#475569;font-size:12px;font-weight:800}
.file-layout-crop-actions{display:flex;align-items:center;gap:7px}.file-layout-crop-actions .crop-guide-style-options{display:flex}.file-layout-crop-actions .crop-guide-style-options button{height:30px;font-size:11px}.file-layout-crop-actions .toggle{flex:0 0 auto}
.file-layout-object-layer{position:absolute;inset:0;z-index:3;overflow:visible;pointer-events:none}.file-layout-object-layer.hidden{display:none}.file-layout-object{position:absolute;display:block;box-sizing:border-box;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;object-fit:fill;cursor:move;pointer-events:auto;touch-action:none}.file-layout-object.selected{outline:0;box-shadow:none}
.file-layout-object-selection{position:absolute;box-sizing:border-box;border:1px solid rgba(71,85,105,.48);pointer-events:none;transform-origin:center;z-index:5}.file-layout-object-handle{position:absolute;width:7px;height:7px;box-sizing:border-box;border:1px solid #334155;border-radius:1px;background:#fff;pointer-events:auto;padding:0;transform:translate(-50%,-50%);touch-action:none}.file-layout-object-handle[data-file-layout-handle="nw"]{left:0;top:0;cursor:nwse-resize}.file-layout-object-handle[data-file-layout-handle="n"]{left:50%;top:0;cursor:ns-resize}.file-layout-object-handle[data-file-layout-handle="ne"]{left:100%;top:0;cursor:nesw-resize}.file-layout-object-handle[data-file-layout-handle="e"]{left:100%;top:50%;cursor:ew-resize}.file-layout-object-handle[data-file-layout-handle="se"]{left:100%;top:100%;cursor:nwse-resize}.file-layout-object-handle[data-file-layout-handle="s"]{left:50%;top:100%;cursor:ns-resize}.file-layout-object-handle[data-file-layout-handle="sw"]{left:0;top:100%;cursor:nesw-resize}.file-layout-object-handle[data-file-layout-handle="w"]{left:0;top:50%;cursor:ew-resize}
.file-layout-object.readonly{cursor:default;pointer-events:none}
.file-layout-guide-layer{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.file-layout-guide{position:absolute;background:rgba(239,91,60,.62);pointer-events:auto}.file-layout-guide.horizontal{left:14px;right:0;height:1px;cursor:ns-resize}.file-layout-guide.vertical{top:13px;bottom:0;width:1px;cursor:ew-resize}.file-layout-guide:hover{background:#ef5b3c}
.file-layout-ruler{pointer-events:auto;cursor:crosshair}
.file-layout-artboard-list{position:relative;flex-direction:column;align-items:center;gap:calc(30px * var(--file-layout-artboard-ui-scale,1));padding:8px 26px 28px;transform-origin:0 0}
.file-layout-artboard{display:flex;flex-direction:column;width:var(--artboard-paper-width);align-items:center;justify-items:unset}.file-layout-artboard-body{display:block;width:100%}.file-layout-artboard-paper{width:100%;justify-items:center}.file-layout-artboard-header{width:max-content;justify-self:center}.file-layout-canvas{justify-self:center}.file-layout-artboard-add-row{display:flex;width:auto;justify-content:center;justify-self:center;align-self:center;margin-top:calc(2px * var(--artboard-ui-scale,1))}.file-layout-artboard-add{justify-self:auto}
.file-layout-artboard-label{cursor:pointer}.file-layout-artboard-label:active{cursor:pointer}
.file-layout-artboard.selected .file-layout-artboard-label{color:#e65a3d}.file-layout-artboard.selected .file-layout-canvas{border-color:#f2b3a4;box-shadow:0 7px 16px rgba(239,91,60,.11)}
.file-layout-selection-inspector{display:grid;gap:7px;padding:0 0 11px;border-bottom:1px solid #e8edf3}.file-layout-selection-inspector-heading{display:flex;align-items:baseline;justify-content:space-between;color:#475569;font-size:11px;font-weight:900}.file-layout-selection-inspector-heading small{color:#94a3b8;font-size:9px;font-weight:700}.file-layout-selection-size-heading{margin-top:2px}.file-layout-selection-inspector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.file-layout-selection-inspector-grid label,.file-layout-selection-size-editor label{display:grid;grid-template-columns:14px minmax(48px,1fr) 16px;align-items:center;height:27px;border:1px solid #e5eaf1;border-radius:6px;background:#fafbfc;color:#94a3b8;font-size:9px;font-weight:800;padding:0 4px}.file-layout-selection-inspector-grid output{min-width:0;color:#475569;font-size:10px;font-weight:800;text-align:right}.file-layout-selection-inspector-grid em,.file-layout-selection-size-editor em{font-style:normal;font-size:8px;text-align:right}.file-layout-selection-size-editor{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);align-items:center;gap:4px}.file-layout-selection-size-editor input{min-width:0;width:100%;height:24px;border:0;background:transparent;padding:0;color:#475569;font-size:10px;font-weight:800;text-align:left;font-variant-numeric:tabular-nums;outline:0}.file-layout-selection-size-editor input:disabled{color:#a8b3c1}.file-layout-selection-size-editor label:focus-within{border-color:#ffb5a5;background:#fff}.file-layout-selection-size-editor>button{display:grid;width:25px;height:25px;place-items:center;border:1px solid #dce3ec;border-radius:6px;background:#f8fafc;color:#94a3b8;padding:4px;cursor:pointer}.file-layout-selection-size-editor>button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.file-layout-selection-size-editor>button.active{border-color:#ffb5a5;background:#fff2ed;color:#ef5b3c}.file-layout-selection-size-editor>button:disabled{opacity:.45;cursor:not-allowed}.file-layout-alignment-tools{margin-top:11px}
.file-layout-floating-object-layer{position:absolute;inset:0;z-index:30;pointer-events:none;overflow:visible}
.file-layout-floating-crop-layer{position:absolute;inset:0;z-index:31;overflow:visible;pointer-events:none}.file-layout-floating-crop-layer line{fill:none;stroke:#999;stroke-width:1;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision}
.file-layout-canvas{background:#fff;z-index:0}
.file-layout-auto-layout-actions{display:flex;align-items:center;gap:8px;min-width:0}.file-layout-auto-layout-row{gap:8px}.file-layout-auto-layout-options{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0;padding:2px;border-radius:8px;background:#f1f5f9}.file-layout-auto-layout-options button{height:24px;padding:0 6px;border:0;border-radius:6px;background:transparent;color:#64748b;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.file-layout-auto-layout-options button.active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 7px rgba(15,23,42,.08)}.file-layout-auto-layout-options[aria-disabled="true"]{opacity:.42}.file-layout-auto-layout-options button:disabled{cursor:not-allowed}
@media (max-width:1280px){.file-layout-workbench{grid-template-columns:108px minmax(0,1fr) 205px}}
@media (max-width:1050px){.file-layout-workbench{grid-template-columns:108px minmax(0,1fr)}.file-layout-control-panel{display:none}}
.file-layout-orientation-switch{grid-template-columns:repeat(3,minmax(0,1fr))}
#aiLocalModePanel{display:grid;align-content:start;gap:8px;margin-top:0;padding:10px;border:1px solid #e8edf3;border-radius:12px;background:#fff;font-size:12px;color:#475569;overflow-y:auto;min-height:0;flex:1 1 auto}
#aiLocalModePanel.hidden{display:none}
#aiLocalModePanel p{margin:0;line-height:1.6}
#aiLocalRuntimeStatus{font-weight:700;color:#334155}
#aiLocalModePanel label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
#aiLocalModePanel select{max-width:75%;min-width:0;padding:6px;border:1px solid #dce3ec;border-radius:6px;background:#fff}
#aiLocalModePanel input[type=range]{width:65%;accent-color:var(--primary-dark)}
#aiLocalModePanel input[type=checkbox]{margin:0;accent-color:var(--primary-dark)}
#aiLocalModePanel small{line-height:1.6;color:#64748b}
#aiLocalModePanel h3,#aiLocalModePanel h4{margin:0;color:#172334}
#aiLocalModePanel h3{font-size:16px}#aiLocalModePanel h4{font-size:12px}
.local-beauty-heading,.local-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.local-beauty-heading{font-size:11px;color:#64748b;padding:0 2px}
.local-beauty-section{display:grid;gap:8px;border-top:1px solid #edf0f4;padding-top:8px}
#aiLocalModePanel button{min-height:28px;border:1px solid #e3e7ed;border-radius:6px;padding:3px 8px;background:#fff;color:#475569;cursor:pointer;font:inherit;font-size:11px;font-weight:600;white-space:nowrap}
#aiLocalModePanel button:disabled{opacity:.5;cursor:not-allowed}
#aiLocalModePanel button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary-dark)}
#aiLocalModePanel button:hover:not(:disabled){border-color:var(--primary-border)}
#aiLocalModePanel .local-text-button{padding:3px 0;border:0;background:transparent;color:var(--primary-dark)}
.local-compact-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 8px;padding:7px 8px;border:1px solid #e5eaf1;border-radius:8px;background:#fcfdff;min-width:0}
.local-compact-row>strong{font-size:12px;color:#334155;white-space:nowrap}
.local-row-hint{grid-column:2;display:block;min-width:0}
.local-background-swatches,.local-beauty-presets,.local-size-options{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}
.local-background-swatches button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:48px}
.local-background-swatches i{display:block;background:var(--swatch);width:12px;height:12px;border:1px solid #dbe0e8;border-radius:3px;flex:0 0 auto}
.local-background-swatches .local-swatch-original{background:linear-gradient(135deg,#fff 45%,#ef4444 46%,#ef4444 54%,#fff 55%)}
.local-background-swatches .local-swatch-transparent{background:repeating-conic-gradient(#dce2e9 0% 25%,#fff 0% 50%) 50%/8px 8px}
#aiLocalModePanel .local-custom-color{position:relative;display:grid;place-items:center;width:28px;height:28px;border:1px dashed var(--primary-border);border-radius:6px;color:var(--primary-dark);font-size:18px;overflow:hidden}
#aiLocalModePanel .local-custom-color input{position:absolute;inset:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer}
.local-custom-color:focus-within{outline:2px solid var(--primary);outline-offset:2px}
.local-beauty-preset-row{grid-template-columns:auto minmax(0,1fr) auto}
.local-beauty-presets button{min-width:50px}
.local-adjustment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:6px 16px}
#aiLocalModePanel .local-slider{display:grid;grid-template-columns:56px minmax(0,1fr) 24px;gap:6px;min-height:28px;font-size:11px}
#aiLocalModePanel .local-slider input{width:100%;min-width:0;margin:0}
.local-slider output{text-align:right;font-variant-numeric:tabular-nums;color:#475569;background:#f1f5f9;border-radius:4px;padding:2px}
#aiLocalModePanel{container-type:inline-size}
#aiLocalBeautySliders{padding:6px 8px;background:#fcfdff;border-radius:8px}
#aiLocalModePanel .local-slider{align-items:center;min-height:32px}
#aiLocalModePanel .local-slider input[type=range]{height:22px;accent-color:var(--primary);cursor:pointer}
#aiLocalModePanel .local-slider:focus-within{background:var(--primary-soft);border-radius:6px}
.local-beauty-details{display:block;border:1px solid #e5eaf1;border-radius:8px;padding:9px 10px}
.local-beauty-details>summary{cursor:pointer;font-size:12px;list-style:none}
.local-beauty-details>summary::after{content:'＋';color:var(--primary-dark)}
.local-beauty-details[open]>summary::after{content:'−'}
.local-beauty-details>#aiLocalBeautySliders{margin-top:8px}
.local-edge-details{display:block;border:1px solid #e5eaf1;border-radius:8px;padding:9px 10px}
.local-edge-details>summary{cursor:pointer;font-size:12px;list-style:none}
.local-edge-details>summary::after{content:'＋';color:var(--primary-dark)}
.local-edge-details[open]>summary::after{content:'−'}
.local-edge-details[open]>.local-adjustment-grid{margin-top:10px}
.local-edge-details>summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.local-processing-note{font-size:11px}
@container (max-width:440px){
  .local-beauty-preset-row{grid-template-columns:auto minmax(0,1fr)}
  #aiLocalBeautyReset{grid-column:2;justify-self:end}
  .local-row-hint{grid-column:1/-1}
}
#aiLocalModePanel .local-check{padding:4px 0;min-height:28px;font-size:11px}
#aiLocalModePanel .local-check input{appearance:none;width:32px;height:19px;border-radius:20px;background:#c8ced8;cursor:pointer;position:relative}
#aiLocalModePanel .local-check input:checked{background:#ff6f4f}
#aiLocalModePanel .local-check input:after{content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:white}
#aiLocalModePanel .local-check input:checked:after{left:16px}
#aiLocalModePanel .local-check input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
#aiLocalModePanel .local-check input:disabled{opacity:.5;cursor:not-allowed}
#aiLocalAutoCrop{margin-left:12px;flex-shrink:0}
.local-model-details{font-size:11px;color:#6b7787;order:10}.local-model-details summary{cursor:pointer;display:flex;justify-content:space-between;padding:4px 0}.local-model-details[open]{display:grid;gap:8px}
.local-model-details[data-ready="false"]{order:-1;border:1px solid var(--primary-border);border-radius:8px;padding:8px}
.local-engine-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:6px 20px;border-top:1px solid #edf0f4;padding-top:8px}
.local-engine-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.local-engine-choice>strong{font-size:11px;white-space:nowrap}
.local-segmented{display:flex;gap:3px;padding:3px;border-radius:8px;background:#f1f5f9}
#aiLocalModePanel .local-segmented button{background:transparent;border-color:transparent;min-height:26px}
#aiLocalModePanel .local-segmented button.active{background:#fff;border-color:var(--primary-border);color:var(--primary-dark)}
#aiLocalDeviceStatus{grid-column:1/-1}
.local-folder-matting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;border:0;padding:12px 10px;align-items:center}
.local-folder-matting>div{display:grid;gap:2px;min-width:0}.local-folder-matting strong{font-size:12px}.local-folder-matting small{font-size:10px;color:#64748b}.local-folder-matting>#aiLocalFolderMattingStatus{grid-column:1/-1;line-height:1.45}
.ai-history-folder-button{padding:6px 10px;border:1px solid #dbe3ed;border-radius:7px;background:#fff;color:#475569;font:inherit;font-size:12px;cursor:pointer}.ai-history-folder-button:disabled{opacity:.5;cursor:not-allowed}.ai-history-folder-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.ai-history-dialog-card>.ai-library-header{flex-shrink:0;gap:16px;flex-wrap:wrap}
.ai-history-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 10px;margin-top:12px;border-top:1px solid #e2e8f0;flex-shrink:0;font-size:12px;color:#475569}
.ai-history-toolbar label{display:flex;align-items:center;gap:6px;cursor:pointer}
.ai-history-batch-actions{display:flex;gap:8px;flex-wrap:wrap}
.ai-history-toolbar input,.ai-history-select{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}
.ai-history-limit{margin-right:auto;color:#64748b;font-size:11px}
.ai-history-toolbar button{height:34px;padding:0 12px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;color:#334155;font:inherit;cursor:pointer}
.ai-history-toolbar button.primary{background:var(--primary);border-color:var(--primary);color:white}
.ai-history-toolbar button.danger{color:#b91c1c}
.ai-history-dialog-card button:disabled{opacity:.45;cursor:not-allowed}
.ai-history-dialog-card button:focus-visible,.ai-history-select:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.ai-history-dialog-card .ai-history-status{margin:0 0 10px;flex-shrink:0;font-size:12px}
.ai-history-dialog-card .ai-history-list{overflow-y:auto;min-height:0;align-content:start;padding:3px 7px 10px 3px;margin:0;gap:12px;scrollbar-gutter:stable}
.ai-history-dialog-card .ai-history-item{position:relative;grid-template-columns:108px minmax(0,1fr);padding:12px;gap:14px;border-radius:12px;transition:border-color .15s,background .15s}
.ai-history-dialog-card .ai-history-item.selected{border-color:var(--primary);background:#f0f6ff}
.ai-history-select{position:absolute;top:17px;left:17px;z-index:1;margin:0}
.ai-history-preview{padding:0;border:0;border-radius:9px;background:#f1f5f9;cursor:zoom-in;overflow:hidden}
.ai-history-dialog-card .ai-history-item img{display:block;width:108px;height:132px;object-fit:contain;border:0;border-radius:0;background:transparent}
.ai-history-dialog-card .ai-history-item strong{font-size:13px;line-height:1.6}
.ai-history-dialog-card .ai-history-item small{font-size:11px;color:#64748b;line-height:1.6}
.ai-history-dialog-card .ai-history-item-actions{gap:7px;padding-top:12px}
.ai-history-dialog-card .ai-history-item-actions button{height:32px;font-size:11px;padding:0 10px}
#aiPhotoPreviewDialog{z-index:1600}
@media(max-width:780px){.ai-history-dialog-card{width:calc(100vw - 24px);height:calc(100vh - 32px);max-height:calc(100vh - 32px);padding:16px}.ai-history-dialog-card .ai-history-list{grid-template-columns:1fr}.ai-history-batch-actions{flex-basis:100%}.ai-history-header-actions{flex-wrap:wrap}}
#aiLocalModePanel button:focus-visible,#aiLocalModePanel input:focus-visible{outline:2px solid #e8502e;outline-offset:2px}
.file-layout-artboard-add{position:relative;display:block;place-items:unset}.file-layout-artboard-add-icon,.file-layout-artboard-add-icon::before,.file-layout-artboard-add-icon::after{position:absolute;top:50%;left:50%;display:block;box-sizing:border-box;background:currentColor;content:"";transform:translate(-50%,-50%)}.file-layout-artboard-add-icon::before{width:calc(12px * var(--artboard-ui-scale,1));height:1.5px;border-radius:2px}.file-layout-artboard-add-icon::after{width:1.5px;height:calc(12px * var(--artboard-ui-scale,1));border-radius:2px}
.file-layout-artboard-add-row{height:calc(30px * var(--artboard-ui-scale,1))}.file-layout-artboard-add{width:30px;height:30px;transform:scale(var(--artboard-ui-scale,1));transform-origin:top center}.file-layout-artboard-add-icon::before{width:12px;height:1.5px}.file-layout-artboard-add-icon::after{width:1.5px;height:12px}
.startup-status { margin-left: auto; font-size: 12px; opacity: .75; }

/* Inline photo workbench: settings, queues, canvas and retouch remain usable together. */
.workspace:has(.ai-inline-panel){--inline-left-width:330px;grid-template-columns:min(var(--inline-left-width),24vw) 8px minmax(0,1fr);gap:8px;padding:12px}
.workspace:has(.ai-inline-panel) .preview-panel{min-width:0;padding:12px}
.workspace:has(.ai-inline-panel) > :first-child { min-width: 0; }
.workspace-splitter{display:none}
.workspace:has(.ai-inline-panel) .workspace-splitter{display:block;min-height:0;cursor:col-resize;border-radius:999px;background:transparent;position:relative;touch-action:none}
.workspace:has(.ai-inline-panel) .workspace-splitter::after{content:"";position:absolute;inset:0 3px;border-radius:999px;background:#dbe4ee;opacity:.65;transition:background .15s,opacity .15s}
.workspace:has(.ai-inline-panel) .workspace-splitter:hover::after,.workspace:has(.ai-inline-panel) .workspace-splitter:focus-visible::after,.workspace:has(.ai-inline-panel) .workspace-splitter.dragging::after{background:var(--primary);opacity:1}
.workspace:has(.ai-inline-panel) .preview-header{flex-wrap:wrap;gap:8px}
.workspace:has(.ai-inline-panel) .preview-header h1{font-size:24px}
.workspace:has(.ai-inline-panel) .queue-orientation-controls{flex:0 0 auto;margin-left:auto}
.workspace:has(.ai-inline-panel) .queue-orientation-controls button{width:25px;height:23px;font-size:11px}
.workspace:has(.ai-inline-panel) .preview-primary-actions{flex-wrap:wrap;gap:6px}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel){--ai-inline-width:310px;grid-template-columns:clamp(120px,10vw,156px) minmax(0,1fr) 8px clamp(240px,var(--ai-inline-width),620px);grid-template-rows:minmax(0,1fr) 172px;gap:12px;padding:12px}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .queue-panel{display:contents}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .source-queue-column{grid-column:1;grid-row:1 / 3;border:1px solid var(--border);border-radius:6px;background:var(--panel)}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .queue-column:not(.source-queue-column){grid-column:2;grid-row:2;border:1px solid var(--border);border-radius:6px;background:var(--panel)}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) #previewStage{grid-column:2;grid-row:1}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .ai-inline-panel{grid-column:4;grid-row:1 / 3}
.ai-inline-resize-handle{display:none}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .ai-inline-resize-handle{display:block;grid-column:3;grid-row:1 / 3;min-height:0;cursor:col-resize;touch-action:none;position:relative;outline:none}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .ai-inline-resize-handle::after{content:"";position:absolute;top:12px;bottom:12px;left:2px;width:4px;border-radius:999px;background:#dbe4ee;opacity:.65;transition:background .15s,opacity .15s}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .ai-inline-resize-handle:hover::after,.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .ai-inline-resize-handle:focus-visible::after,.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .ai-inline-resize-handle.dragging::after{background:var(--primary);opacity:1}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) #queueList{flex-direction:row;overflow-x:auto;overflow-y:hidden;flex:1;padding:6px;gap:8px}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) #queueList .queue-item{flex:0 0 112px;min-width:0;padding:5px}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) #queueList .queue-paper-preview{height:88px}
.preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) #queueList .queue-paper-preview img{max-height:88px}
.ai-panel.ai-inline-panel,.ai-panel.ai-inline-panel.open{
  position:relative;inset:auto;width:100%;height:100%;min-width:0;min-height:0;
  transform:none;opacity:1;visibility:visible;pointer-events:auto;z-index:1;
  box-shadow:none;border-radius:10px;transition:none;
}
.ai-inline-panel .ai-panel-header{padding:10px;gap:8px}
.ai-inline-panel .ai-mode-header{display:flex;justify-content:center;align-items:center;min-height:48px;padding:8px 10px}
.ai-inline-panel .ai-mode-switch{position:static!important;display:flex;flex:1 1 auto;width:100%;min-width:0;gap:2px;padding:3px;margin-top:0;border-radius:9px;background:#f1f5f9}
.ai-inline-panel .ai-mode-switch button{flex:1 1 0;min-width:0;height:34px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}
.ai-inline-panel .ai-mode-switch button.active{background:#fff;color:var(--primary-dark);box-shadow:0 1px 5px rgba(15,23,42,.11)}
.ai-inline-panel .ai-brand-icon{width:28px;height:28px;box-shadow:none}
.ai-inline-panel .ai-title-line h2{font-size:16px}
.ai-inline-panel .ai-panel-body{display:flex;flex-direction:column;overflow:auto;padding:8px;gap:6px}
.ai-inline-panel .ai-panel-preview-column{display:contents}
.ai-inline-panel #aiDropzone,.ai-inline-panel #aiSourceSelectionHint{display:none!important}
.ai-inline-panel .ai-panel-preview-column .ai-batch-queue{order:2}
.ai-inline-panel .ai-dropzone,.ai-inline-panel .ai-dropzone[data-has-input="true"]{height:190px;min-height:190px;flex:none}
.ai-inline-panel .ai-photo-preview-image{height:150px;max-height:150px;object-fit:contain}
.ai-inline-panel .ai-photo-preview-empty{min-height:120px;padding:12px;gap:10px}
.ai-inline-panel .ai-photo-placeholder{display:none}
.ai-inline-panel .ai-photo-preview-copy strong{font-size:12px}
.ai-inline-panel .ai-photo-preview-copy small{font-size:11px}
.ai-inline-panel .ai-photo-preview-bar{flex-wrap:wrap;gap:4px}
.ai-inline-panel .ai-panel-settings-column{overflow:visible;flex:none;padding:0}
.ai-inline-panel .ai-panel-actions{display:flex;flex-direction:column;align-items:stretch;padding:8px;gap:6px;box-shadow:none}
.ai-inline-panel .ai-task-card{grid-template-columns:minmax(0,1fr);gap:6px}
.ai-inline-panel .ai-generate-button{min-height:34px;height:auto;font-size:12px}
.ai-inline-panel .ai-result-button{min-height:30px;font-size:11px;font-weight:600}
.ai-inline-panel .ai-print-row{display:flex;justify-content:flex-end;gap:8px;padding-top:6px;border-top:1px solid var(--border)}
.ai-inline-panel .ai-print-row .ai-generate-button,.ai-inline-panel .ai-print-row .btn{min-width:110px;min-height:36px}
.ai-inline-panel .ai-panel-actions>p{display:none}
.ai-inline-panel .ai-prompt-workspace{grid-template-columns:minmax(0,1fr)}
.ai-inline-panel .ai-quick-prompt-list{max-height:120px;min-height:80px}
.ai-inline-panel .ai-online-bottom-row{flex-wrap:wrap}
.ai-inline-panel .ai-panel-body{overflow-x:hidden}
.ai-inline-panel .ai-panel-settings-column,.ai-inline-panel .ai-mode-panel{min-width:0;max-width:100%}
.ai-inline-panel .ai-task-provider-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;min-width:0}
.ai-inline-panel .ai-task-provider-row>span{flex:none;white-space:nowrap}
.ai-inline-panel #aiProviderPrimary{position:static;min-width:0;flex:1;display:flex;gap:3px}
.ai-inline-panel #aiProviderPrimary button{white-space:nowrap;flex:1;padding:6px 8px;font-size:12px}
.ai-inline-panel #aiTaskProviderHint{flex-basis:100%;white-space:normal;font-size:10px}
.ai-provider-more{position:relative;flex:none;font-size:12px}
.ai-provider-more summary{cursor:pointer;padding:7px;white-space:nowrap}
.ai-provider-more-options{position:absolute;right:0;top:100%;z-index:5;min-width:130px;display:grid;gap:4px;padding:8px;border:1px solid var(--border);border-radius:8px;background:white;box-shadow:0 6px 20px #18304a20}
.ai-provider-more-options button{padding:8px;border:1px solid var(--border);border-radius:6px;background:#f8fafc;white-space:nowrap;color:#475569}
.ai-provider-more-options button.active{background:var(--primary-soft);color:var(--primary)}
.ai-inline-panel .ai-provider-action-row{display:flex;flex-direction:column;gap:6px;min-width:0}
.ai-inline-panel .ai-provider-summary-card{width:100%;min-width:0;box-sizing:border-box}
.ai-inline-panel .ai-managed-account{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 6px;padding:6px 8px;align-items:center;border-color:var(--border);background:var(--panel);color:var(--muted)}
.ai-inline-panel .ai-managed-account>span,.ai-inline-panel .ai-managed-recharge{white-space:nowrap}
.ai-inline-panel #aiManagedBalance{font-size:10px;font-weight:500;color:var(--muted);overflow-wrap:break-word}
.ai-inline-panel .ai-managed-recharge{height:22px;padding:0 6px;border-color:var(--border);color:var(--muted);background:var(--panel);font-size:10px;font-weight:500}
.ai-inline-panel #aiManagedModelSelect{grid-column:1/-1;width:100%;max-width:100%;min-width:0;margin:0;height:25px;font-size:10px;font-weight:500}
.ai-inline-panel .ai-history-launcher{grid-template-columns:24px auto minmax(0,1fr);padding:8px 9px}
.ai-inline-panel .ai-history-launcher strong{font-size:12px}
.ai-inline-panel .ai-history-launcher small{font-size:10px}
.ai-inline-panel .ai-batch-queue-list{grid-template-columns:minmax(0,1fr);max-height:110px}
.ai-inline-panel .ai-task-provider-switch{position:sticky;top:-8px;z-index:2;background:#f1f5f9}
.ai-inline-panel #aiBackgroundPanel{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px}
.ai-inline-panel .ai-background-options-inline{display:flex;flex-wrap:wrap;gap:6px}
.ai-inline-panel .ai-color-choice>span{display:none}
.ai-inline-panel .ai-background-options-inline .ai-color-choice{width:30px;min-width:30px;height:30px;padding:5px;flex:0 0 30px}
.ai-inline-panel .ai-color-swatch{width:18px;height:18px}
.ai-inline-panel .ai-beauty-outfit-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;justify-content:stretch}
.ai-inline-panel .ai-beauty-mode-row{display:flex;flex-wrap:wrap;overflow:visible}
.ai-inline-panel .ai-beauty-mode-row button{min-width:0;flex:1;padding:5px;font-size:11px}
.ai-inline-panel .ai-inline-prompt-heading{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.ai-inline-panel .ai-inline-prompt-heading label{white-space:nowrap;font-size:12px}
.ai-inline-panel .ai-inline-prompt-heading small{text-align:left;font-size:10px}
.ai-inline-panel .ai-inline-prompt-card{padding:8px}
.ai-inline-panel .ai-inline-prompt-card textarea{height:84px;min-height:64px;font-size:12px;line-height:1.5;resize:vertical}
.ai-inline-panel .ai-task-card:has(#aiTaskStatus.hidden):has(#aiProgress.hidden){display:none}
.ai-inline-panel .ai-processing-cost{font-size:11px;color:var(--muted);text-align:left}
.ai-inline-panel .ai-print-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:0;border-top:0}
.ai-inline-panel .ai-print-row .ai-generate-button,.ai-inline-panel .ai-print-row .btn{min-width:0;height:38px;padding:0 8px;font-size:13px;line-height:1.2;border-radius:8px;white-space:nowrap}
.ai-inline-panel .ai-generate-button:disabled{border:1px solid var(--border);background:#f1f5f9;color:#94a3b8;box-shadow:none}
@media(max-width:1320px){
  .workspace:has(.ai-inline-panel){--inline-left-width:290px;grid-template-columns:min(var(--inline-left-width),24vw) 6px minmax(0,1fr);gap:6px;padding:8px}
  .preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel){grid-template-columns:clamp(80px,9vw,120px) minmax(0,1fr) 6px clamp(220px,var(--ai-inline-width),480px);padding:8px;gap:8px}
  .workspace:has(.ai-inline-panel) .preview-panel { padding: 8px; }
  .workspace:has(.ai-inline-panel) .source-queue-column .queue-column-heading { flex-wrap: wrap; gap: 3px; }
  .workspace:has(.ai-inline-panel) .left-panel{padding:12px 8px 8px}
  .preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .queue-panel{grid-template-columns:1fr 1fr}
  .preview-canvas:is(.photo-mode,.document-mode):has(.ai-inline-panel) .queue-column+.queue-column{border-left:1px solid var(--border);border-top:0}
}
.ai-outfit-inline { display: block; min-width: 0; width: 100%; }
.ai-outfit-category-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; }
.ai-outfit-category-row button { min-width: 0; padding: 6px 0; font-size: 11px; white-space: nowrap; border: 1px solid #dfe7f1; border-radius: 6px; background: #fff; color: #61718a; }
.ai-outfit-category-row button.active { background: #fff3ed; border-color: #ffd4c6; color: #ff643f; }
.ai-outfit-dropdown { margin-top: 8px; padding: 6px; border: 1px solid #dfe7f1; border-radius: 10px; background: #f8fafc; }
.ai-outfit-dropdown-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 320px; overflow-y: auto; }
.ai-outfit-dropdown-grid .ai-outfit-library-item { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 4px; gap: 4px; border-radius: 7px; }
.ai-outfit-dropdown-grid .ai-outfit-library-item img { width: 100%; height: 92px; object-fit: contain; border-radius: 5px; background: #eef0f2; }
.ai-outfit-dropdown-grid .ai-outfit-library-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.ai-outfit-selected-name { display: block; margin-top: 5px; color: #75839a; font-size: 11px; }
.printer-panel-heading > h2 { flex: 0 0 auto; margin: 0; }
.printer-panel-heading > #printerOrientationControls { flex: 0 0 auto; margin-left: auto; }
.printer-panel-heading > .printer-template-actions { flex: 0 0 auto; }
.ai-inline-prompt-card #aiSelectionPrompt { height: clamp(190px, 22vh, 240px); min-height: 190px; max-height: 360px; font-size: 11px; line-height: 1.45; }
.ai-inline-panel .ai-mode-panel { margin-top: 0; padding-top: 6px; }
#aiLocalModePanel .local-standard-toggle { display: inline-block; width: 56px; height: 24px; }
#aiLocalModePanel .local-standard-toggle input[type=checkbox] { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.local-standard-toggle > span { pointer-events: none; }
.local-standard-toggle:has(input:focus-visible) { outline: 2px solid var(--primary); outline-offset: 3px; }
.local-standard-toggle:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.ai-inline-panel #aiLocalModePanel { padding: 0; border: 0; border-radius: 0; gap: 7px; overflow: visible; flex: none; }
.ai-inline-panel #aiLocalModePanel .local-beauty-heading { font-size: 10px; }
.ai-inline-panel #aiLocalModePanel .local-compact-row { grid-template-columns: minmax(0,1fr); padding: 7px 8px; gap: 6px; }
.ai-inline-panel #aiLocalModePanel .local-background-swatches { flex-wrap: nowrap; gap: 5px; }
.ai-inline-panel #aiLocalModePanel .local-background-swatches button { width: 30px; min-width: 30px; height: 30px; padding: 5px; font-size: 0; gap: 0; }
.ai-inline-panel #aiLocalModePanel .local-background-swatches i { width: 18px; height: 18px; }
.ai-inline-panel #aiLocalModePanel .local-row-hint, .ai-inline-panel #aiLocalModePanel .local-processing-note { display: none; }
.ai-inline-panel #aiLocalModePanel .local-check { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0; }
.ai-inline-panel #aiLocalModePanel .local-beauty-section { border: 1px solid var(--border); border-radius: 8px; padding: 8px; gap: 6px; }
.ai-inline-panel #aiLocalModePanel .local-beauty-preset-row { grid-template-columns: 1fr auto; padding: 0; border: 0; background: transparent; }
.ai-inline-panel #aiLocalBeautyReset { grid-column: 2; grid-row: 1; font-size: 10px; color: var(--muted); }
.ai-inline-panel #aiLocalModePanel .local-beauty-presets { grid-column: 1/-1; grid-row: 2; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
.ai-inline-panel #aiLocalModePanel .local-beauty-presets button { min-width: 0; padding: 3px; }
.ai-inline-panel #aiLocalBeautySliders { padding: 3px 0; gap: 3px; }
.ai-inline-panel #aiLocalModePanel .local-slider { min-height: 25px; grid-template-columns: 52px minmax(0,1fr) 22px; gap: 5px; font-size: 10px; }
.ai-inline-panel #aiLocalModePanel .local-slider input[type=range] { height: 16px; }
.ai-inline-panel #aiLocalBeautyHint { font-size: 10px; line-height: 1.4; }
.ai-inline-panel #aiLocalModePanel .local-engine-settings { padding: 8px; border: 1px solid var(--border); border-radius: 8px; gap: 6px; }
.settings-list #aiLocalModelDetails { order: 0; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--panel); }
.settings-list #aiLocalModelDetails summary { color: var(--text); font-size: 13px; font-weight: 700; }
.settings-list #aiLocalModelDetails button { padding: 6px 9px; margin: 3px 5px 3px 0; border: 1px solid var(--border); border-radius: 6px; background: var(--panel); color: var(--text); font: inherit; cursor: pointer; }
.settings-list #aiLocalModelDetails small { display: block; font-size: 10px; line-height: 1.5; color: var(--muted); }
/* Shared, compact settings rhythm; document processing mirrors the photo sidebar. */
.left-panel #photoSizeSection, .left-panel #photoPackSection, .left-panel .document-paper-section, .left-panel #documentOptions { padding: 0 0 14px; margin: 14px 0 0; border-bottom: 1px solid #edf1f6; }
.left-panel .section h2, .left-panel .document-field h2 { font-size: 14px; margin-top: 0; margin-bottom: 8px; }
.left-panel #photoSizeTitleRow, .left-panel #photoPackHeading, .left-panel .document-paper-section .section-title-row, .left-panel #documentOptions .document-type-heading { min-height: 26px; margin: 0 0 8px; }
.left-panel #photoSizeTitleRow h2, .left-panel #photoPackHeading h2, .left-panel .document-paper-section .section-title-row h2, .left-panel #documentOptions .document-type-heading h2 { margin: 0; }
.left-panel #photoSizeSection > .chip-grid, .left-panel #photoPackModes, .left-panel .document-paper-section > .chip-grid, .left-panel #documentTypes { margin-bottom: 0; }
.left-panel .chip-grid { gap: 5px; }
.left-panel .chip { height: 30px; font-size: 12px; }
.left-panel #photoSwitchList, .left-panel #documentSwitchList { display: grid; gap: 2px; margin: 14px 0 0; }
.left-panel .switch-row { min-height: 36px; height: auto; font-size: 13px; gap: 6px; }
.left-panel .switch-row-actions, .left-panel .crop-guide-row-actions { gap: 5px; }
.left-panel .paper-edge-inline { font-size: 10px; gap: 5px; }
.left-panel .document-field + .document-field { margin-top: 14px; }
.document-tools-panel { grid-column: 4; grid-row: 1 / 3; display: flex; flex-direction: column; min-height: 0; min-width: 0; border: 1px solid var(--border); border-radius: 10px; background: var(--panel); overflow: hidden; }
.document-tools-heading { padding: 14px 12px; border-bottom: 1px solid var(--border); }
.document-tools-heading h2 { margin: 0; font-size: 15px; text-align: center; }
.document-tools-body { flex: 1; min-height: 0; padding: 10px; overflow: auto; display: flex; flex-direction: column; gap: 12px; background: #f7f9fc; }
.document-tools-body > .document-field { margin: 0; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: #fff; }
.document-tools-body h2, .document-tools-body h3 { font-size: 13px; margin: 0 0 8px; color: var(--text); }
.document-tools-body h3 { margin-top: 16px; }
.document-tools-body #documentEnhanceLevels { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.document-tools-body #documentEnhanceLevels button { height: 28px; font-size: 11px; }
.document-tools-body .document-output-modes { flex: 0 0 auto; }
.document-tools-body .switch-row { min-height: 40px; height: auto; gap: 6px; font-size: 12px; }
.document-tools-body .switch-row-actions { gap: 5px; }
.document-tools-actions { padding: 10px; border-top: 1px solid var(--border); display: grid; gap: 8px; }
.document-crop-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.document-tools-actions .btn { height: 36px; min-width: 0; padding: 6px; font-size: 12px; }
#documentPrintSlot > #printBtn { width: 100%; height: 38px; }
.ai-service-settings { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel); }
.ai-service-settings small { color: var(--muted); font-size: 11px; }
.ai-settings-provider-switch { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.ai-settings-provider-switch button { min-width: 0; padding: 8px 4px; border: 1px solid var(--border); border-radius: 7px; background: var(--panel); color: var(--text); font: inherit; font-size: 12px; cursor: pointer; }
.ai-settings-provider-switch button.active { background: var(--primary-soft); border-color: #ffb8a9; color: var(--primary-dark); }
.preview-stage, .preview-stage.preview-zoomed { overflow: hidden; scrollbar-width: none; scrollbar-gutter: auto; place-items: center; }
.preview-stage::-webkit-scrollbar { display: none; }
.preview-stage.preview-panning, .preview-stage.preview-panning * { cursor: grabbing !important; user-select: none; }
.preview-stage > .document-editor-shell, .preview-stage > #previewImage { flex-shrink: 0; }
.ai-prompt-compact-heading { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; white-space: nowrap; }
.ai-prompt-compact-heading > label { font-size: 12px; font-weight: 800; margin-right: auto; }
.ai-prompt-compact-heading .ai-crop-correction-row { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; border: 0; }
.ai-prompt-compact-heading .ai-crop-correction-row strong { font-size: 10px; }
.ai-prompt-compact-heading .toggle { transform: scale(.75); transform-origin: center; margin: 0 -6px; }
.ai-prompt-compact-heading #aiPromptTemplatesBtn { font-size: 10px; padding: 4px 6px; }
.ai-inline-panel #aiPromptTemplatesBtn { background: var(--primary-soft); color: var(--primary-dark); border: 1px solid var(--primary-border); box-shadow: none; font-size: 11px; padding: 4px 8px; }
.ai-photo-section-title { margin: 0; font-size: 14px; }
.ai-inline-panel #aiBeautyTemplateButtons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; max-height: 112px; overflow-y: auto; }
.ai-inline-panel #aiBeautyTemplateButtons button { min-width: 0; padding: 5px 3px; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-outfit-switch-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.ai-outfit-switch-row strong { font-size: 12px; margin-right: auto; }
.ai-outfit-current { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border: 0; background: transparent; color: var(--muted); font-size: 11px; cursor: pointer; }
#aiOutfitDropdown .ai-outfit-picker-card { width: min(760px, calc(100vw - 40px)); height: auto; max-height: calc(100vh - 60px); overflow: auto; padding: 22px; }
#aiOutfitDropdown .ai-outfit-category-row { display: flex; gap: 8px; margin: 14px 0; }
#aiOutfitDropdown .ai-outfit-category-row button { flex: 1; min-height: 32px; }
.ai-outfit-picker-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; max-height: 55vh; overflow-y: auto; }
.ai-outfit-picker-grid .ai-outfit-library-item { display: flex; flex-direction: column; align-items: center; padding: 8px; gap: 6px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); min-width: 0; }
.ai-outfit-picker-grid .ai-outfit-library-item.active { border-color: var(--primary); background: var(--primary-soft); }
.ai-outfit-picker-grid img { width: 100%; height: 125px; object-fit: contain; }
.ai-outfit-picker-grid span { font-size: 11px; }
#aiOutfitCustomChooseBtn { margin-top: 12px; }
.document-tools-body .document-pack-field { padding: 12px; }
.document-tools-body .document-brightness-heading { margin: 0 0 10px; gap: 6px; align-items: center; }
.document-tools-body .document-brightness-heading h2 { margin: 0; white-space: nowrap; }
.document-tools-body #documentPackModes .pack-card { width: 100%; min-width: 0; }
.document-tools-body #documentPackModes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
@media (max-width: 600px) { .ai-outfit-picker-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ai-inline-panel .ai-prompt-shortcuts.ai-quick-prompt-list { display: flex; flex-wrap: wrap; align-content: flex-start; flex: none; gap: 5px; min-height: 0; max-height: 84px; overflow-y: auto; margin-top: 8px; }
.ai-inline-panel .ai-prompt-shortcuts:empty { display: none; margin: 0; }
@media (max-height: 800px) {
  .ai-inline-prompt-card #aiSelectionPrompt { height: 190px; }
  .ai-inline-panel .ai-mode-header { min-height: 40px; padding: 4px 8px; }
  .ai-inline-panel .ai-panel-body { padding: 6px; }
  .ai-inline-panel #aiBackgroundPanel { padding: 6px; gap: 4px; }
  .ai-inline-panel .ai-managed-account { padding: 6px; gap: 4px; }
}
.ai-prompt-shortcuts .ai-quick-prompt-item { display: block; padding: 0; border: 0; flex: 0 1 auto; max-width: 100%; }
.ai-prompt-shortcuts .ai-quick-prompt-use { width: auto; max-width: 100%; min-height: 25px; padding: 4px 7px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 10px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.ai-prompt-shortcuts .ai-quick-prompt-use.active { color: var(--primary-dark); border-color: var(--primary-border); background: var(--primary-soft); }
#aiPromptDialog .ai-prompt-library-card { width: min(1040px, calc(100vw - 48px)); height: auto; max-height: calc(100vh - 64px); padding: 22px; overflow-y: auto; border-radius: 16px; }
#aiPromptDialog #aiPromptLocalPane { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
#aiPromptDialog #aiPromptTemplateContent { min-height: clamp(240px, 42vh, 440px); line-height: 1.65; resize: vertical; }
#aiPromptDialog .ai-prompt-save-box { margin-top: 16px; background: #f8fafc; border-color: #e2e8f0; }
#aiPromptDialog #aiPromptTemplateList { max-height: 430px; overflow-y: auto; align-content: start; }
#aiPromptDialog .ai-prompt-category-tabs { display: flex; gap: 6px; }
#aiPromptDialog .ai-prompt-category-tabs button { flex: 0 1 110px; }
#aiPromptDialog .ai-prompt-template-card { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 12px; }
#aiPromptDialog .ai-prompt-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.printer-preset-manager-card { width: min(780px, calc(100vw - 48px)); max-height: calc(100vh - 80px); overflow: auto; }
.printer-preset-manager-list { display: grid; gap: 10px; margin: 16px 0; }
.printer-preset-manager-list article { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px; border: 1px solid #e2e8f0; border-radius: 9px; }
.printer-preset-manager-list article strong { flex: 1 1 150px; }
.printer-preset-manager-list article small { width: 100%; color: #64748b; }
@media (max-width: 800px) {
  #aiPromptDialog #aiPromptLocalPane { grid-template-columns: minmax(0, 1fr); }
  #aiPromptDialog #aiPromptTemplateList { max-height: 260px; }
}

.paper-edge-toggle{flex-shrink:0;width:56px;height:24px}
.ai-style-switches{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.ai-style-switches .ai-outfit-switch-row,.ai-hairstyle-switch-row{display:flex;align-items:center;gap:5px;min-width:0;margin:0;padding:0;border:0;flex-wrap:wrap}
.ai-style-switches .toggle{flex-shrink:0}
.ai-style-switches .ai-outfit-current{order:3;max-width:100%;width:100%;text-align:left}
.ai-hairstyle-name{flex:1;min-width:0;padding:0;border:0;background:transparent;text-align:left;font-size:12px;font-weight:700;color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-hairstyle-picker-card{width:min(940px,94vw);height:auto;max-height:90vh}
.ai-hairstyle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px 0 0;overflow:auto}
.ai-hairstyle-card{display:flex;flex-direction:column;gap:0;padding:0;min-height:110px;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--panel,#fff);text-align:center;cursor:pointer;color:var(--text)}
.ai-hairstyle-card[aria-pressed="true"]{border-color:#287fff;background:#eff6ff}

.ai-hairstyle-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#f2f4f6}
.ai-hairstyle-card strong{display:block;padding:10px 4px;width:100%;font-size:13px}
@media(max-width:620px){.ai-hairstyle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}

.paper-edge-row .switch-row-actions,.photo-gap-control{gap:8px}
.paper-edge-row .paper-edge-custom,.photo-gap-control .paper-edge-custom{flex:0 0 58px}
.paper-edge-row .toggle{flex-shrink:0}

.document-device-row{gap:8px}
.document-device-row .document-device-switch{flex:0 1 auto;min-width:0}
.document-device-row .document-device-switch button{min-width:0;white-space:nowrap}
.paper-edge-row .paper-edge-custom,.photo-gap-control .paper-edge-custom{margin:0;box-sizing:border-box}

/* Center the heading and tools in the same top band in both work modes. */
.workspace:has(.ai-inline-panel) .preview-panel > .preview-header{min-height:60px;margin-bottom:0;align-items:center;align-content:center;flex-shrink:0}
.preview-panel > .stats-row:has(> .stats:empty):has(> .selected-document-size.hidden){display:none}
.document-color-row > span{white-space:nowrap}

/* Win7 uses static controls and overlays to avoid continual GPU composition.
   These rules affect presentation only; image pixels and output DPI are kept. */
html[data-resource-mode="compatibility"] *,
html[data-resource-mode="compatibility"] *::before,
html[data-resource-mode="compatibility"] *::after{
  animation:none!important;
  transition:none!important;
  backdrop-filter:none!important;
  will-change:auto!important;
}
html[data-background="true"] *,
html[data-background="true"] *::before,
html[data-background="true"] *::after{animation-play-state:paused!important}
