
/* VIOLA 9.8.51 — clean touch feedback without Android blue tap overlay. */
html{-webkit-tap-highlight-color:transparent}
a,button,[role="button"],summary,label{-webkit-tap-highlight-color:transparent}
a,button,[role="button"],summary{touch-action:manipulation}
a,button,[role="button"]{-webkit-user-select:none;user-select:none}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,summary:focus-visible{outline:2px solid var(--viola-accent-2,var(--setup-line-strong,var(--v-gold2,#f7d78b)));outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
:root{
  color-scheme:dark;
  --bg:#070604;
  --panel:#0d0c09;
  --panel-soft:#11100c;
  --line:#3a3429;
  --line-soft:#29251e;
  --line-gold:#8d6a30;
  --text:#f5f1e9;
  --muted:#aaa297;
  --gold:#ddae4b;
  --gold-2:#a9792d;
  --shadow:0 22px 52px rgba(0,0,0,.42);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{width:100%;max-width:100%;min-height:100%;overflow-x:hidden;background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--gold) var(--bg)}
*{scrollbar-color:var(--gold) var(--bg)}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--bg)}
*::-webkit-scrollbar-thumb{min-height:38px;border:2px solid var(--bg);border-radius:999px;background:var(--gold)}
*::-webkit-scrollbar-thumb:hover{background:#efc86f}
*::-webkit-scrollbar-corner{background:var(--bg)}
body{width:100%;max-width:100%;margin:0;min-width:0;min-height:100vh;overflow-x:hidden;background-color:var(--bg);background-image:url("../../../assets/themes/gold/background.webp?v=9.8.51");background-position:center;background-size:100% 100%;background-repeat:no-repeat;background-attachment:fixed;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
@media(max-width:900px) and (orientation:portrait){body{background-image:url("../../../assets/themes/gold/background-mobile.webp?v=9.8.51")}}
body.is-modal-open{overflow:hidden}
button,input{font:inherit}
button{transition:.16s ease;transition-property:transform,border-color,background,opacity}
button:hover{transform:translateY(-1px)}
button:disabled{opacity:.48;cursor:not-allowed;transform:none}
.app-shell{width:100%;max-width:1520px;margin:0 auto;padding:24px 32px 72px}
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:12px 4px 24px}
.topbar>div:first-child{min-width:0}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;min-width:0}
body.is-embedded{min-width:0;background:transparent;background-image:none}
body.is-embedded .app-shell{width:100%;padding:0 0 24px}
body.is-embedded .topbar,body.is-embedded .venue-action{display:none!important}
.eyebrow{margin:0 0 8px;color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.18em}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:8px;font-family:inherit;font-size:clamp(38px,4vw,64px);font-weight:800;line-height:1.05;letter-spacing:-.04em}
.lead{max-width:850px;margin-bottom:0;color:var(--muted);font-size:16px;line-height:1.55}
.status-pill{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 13px;border:1px solid #55472f;border-radius:999px;background:rgba(221,174,75,.07);color:#dec383;font-size:12px;font-weight:750}
main{width:100%;min-width:0;display:grid;gap:18px}
.wizard-progress{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 0}
.wizard-progress>span{width:min(74px,8vw);height:1px;background:var(--line)}
.wizard-progress__step{display:grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;color:var(--muted)}
.wizard-progress__step.is-active{border-color:var(--gold);background:linear-gradient(180deg,#50340f,#241605);color:#ffe2a0;box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 0 0 4px rgba(221,174,75,.09)}
.wizard-progress__step.is-complete{border-color:var(--line-gold);color:var(--gold)}
.panel{width:100%;min-width:0;max-width:100%;border:1px solid var(--line-gold);border-radius:20px;background:rgba(13,12,9,.96);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.035),inset 0 0 0 6px rgba(13,12,9,.96),inset 0 0 0 7px rgba(221,174,75,.16);overflow:hidden}
.setup-panel{background:rgba(15,13,9,.96)}
.design-panel{background:rgba(10,10,9,.96)}
.selection-panel{background:rgba(17,13,8,.96)}
.export-panel{background:rgba(11,10,8,.97)}
.format-panel{background:rgba(12,10,8,.97)}
.panel{padding:clamp(22px,2vw,32px)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.055)}
.section-head>div:first-child{display:flex;align-items:center;gap:12px}
.section-head h2{margin:0;font-family:inherit;font-size:27px;font-weight:800;letter-spacing:-.025em}
.section-head>p{max-width:620px;margin:0;color:var(--muted);font-size:13px;text-align:right;line-height:1.45}
.step{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-gold);border-radius:10px;background:rgba(221,174,75,.09);color:var(--gold);font-weight:900}
.field{display:grid;gap:7px}.field>span{color:#ddd7cc;font-size:13px;font-weight:750}
.count-field{width:min(430px,100%)}
input{width:100%;min-height:50px;border:1px solid #3a352c;border-radius:12px;background:#090806;color:var(--text);padding:0 13px;outline:none}
input:focus{border-color:var(--gold-2);box-shadow:0 0 0 3px rgba(224,176,79,.10)}
.database-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.database-summary>div{display:grid;gap:5px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:12px;background:rgba(255,255,255,.025)}
.database-summary span{color:var(--muted);font-size:11px}.database-summary b{color:#ead8b6;font-size:20px}
.target-total-row{display:flex;align-items:end;gap:12px}.target-total-row .primary{min-height:50px}
.inline-status{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.design-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.design-card{position:relative;display:grid;grid-template-rows:auto 1fr;gap:10px;padding:10px;border:1px solid #353027;border-radius:15px;background:#090806;color:var(--text);text-align:left;cursor:pointer;overflow:hidden}
.design-card:hover{border-color:#665331}.design-card.is-selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(224,176,79,.14)}
.design-card.is-selected::after{content:"СТИЛЬ ПЕЧАТИ";position:absolute;top:10px;right:10px;padding:5px 8px;border:1px solid var(--line-gold);border-radius:999px;background:linear-gradient(180deg,#50340f,#241605);color:#ffe2a0;font-size:9px;font-weight:950;letter-spacing:.10em}
.design-sheet-preview{display:grid;grid-template-columns:repeat(var(--sheet-cols),minmax(0,1fr));grid-template-rows:repeat(var(--sheet-rows),minmax(0,1fr));width:100%;aspect-ratio:calc(var(--sheet-width) / var(--sheet-height));overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.design-sheet-preview__cell{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:#050607}
.design-sheet-preview__cell img{display:block;width:100%;height:100%;object-fit:fill;border-radius:0;background:#050607}
.design-card strong{display:block;margin-bottom:4px;font-size:14px}.design-card small{display:block;color:var(--muted);font-size:11px;line-height:1.35}
.generate-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.code-rule{max-width:850px;color:var(--muted);font-size:12px;line-height:1.5}.code-rule b{color:#ddd7ca}
.range-toggle{width:max-content;display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;color:#ddd7cc;font-size:13px;font-weight:800;cursor:pointer}
.range-toggle input{width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--gold)}
.print-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,220px)) minmax(280px,1fr);gap:12px;align-items:end}
.print-selection-grid input:disabled{opacity:.46;cursor:not-allowed}
.selection-result{display:flex;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 14px;border:1px solid #574827;border-radius:12px;background:rgba(221,174,75,.055);font-size:12px}
.selection-result b{color:#ebc77d}.selection-result span{color:#aaa08f;text-align:right}

.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;margin-top:6px}
.format-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;min-width:0;min-height:148px;padding:24px;border:1px solid #403328;border-radius:22px;background:linear-gradient(180deg,rgba(20,16,11,.98),rgba(12,10,8,.98));color:var(--text);text-align:left;box-shadow:0 18px 34px rgba(0,0,0,.38);cursor:pointer;overflow:hidden}
.format-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at top,rgba(221,174,75,.12),transparent 55%);pointer-events:none}
.format-card:hover{border-color:#8a6830;transform:translateY(-1px)}
.format-card.is-selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(224,176,79,.12),0 24px 46px rgba(0,0,0,.42)}
.format-card.is-selected::after{content:"ВЫБРАНО";position:absolute;top:14px;right:14px;padding:5px 9px;border:1px solid var(--line-gold);border-radius:999px;background:linear-gradient(180deg,#50340f,#241605);color:#ffe2a0;font-size:9px;font-weight:950;letter-spacing:.12em}
.format-card__format{position:relative;z-index:1;display:grid;place-items:center;width:88px;height:62px;border:1px solid #705529;border-radius:10px;background:#17130c;color:#ebc77d;font-family:inherit;font-size:29px;font-weight:800;line-height:1;box-shadow:inset 0 0 0 4px rgba(221,174,75,.035)}
.format-card[data-format-id="a5"] .format-card__format{width:62px;height:88px}
.format-card__copy{position:relative;z-index:1;display:grid;gap:8px;min-width:0}
.format-card.is-selected .format-card__copy{padding-right:84px}
.format-card__copy strong{font-size:17px;line-height:1.25}
.format-card__copy small{color:var(--muted);font-size:12px;line-height:1.45}
button{min-height:43px;border:1px solid #40392d;border-radius:11px;background:#11100d;color:var(--text);padding:0 14px;cursor:pointer;font-weight:750;text-decoration:none}
.primary{border-color:#c49336;background:linear-gradient(180deg,#50340f,#241605);color:#ffe2a0;box-shadow:0 10px 26px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,235,184,.14),inset 0 0 0 4px rgba(221,174,75,.09)}
.secondary{border-color:#6f582e;background:#18140e;color:#efcf91}
.back-link{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border-radius:11px;padding:0 14px;text-decoration:none;font-weight:750}
.export-head{align-items:center}.download-all-button{min-width:220px}
.export-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}
.export-summary>div{display:grid;gap:6px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:12px;background:rgba(255,255,255,.025)}
.export-summary span{color:var(--muted);font-size:11px}.export-summary b{font-size:14px;color:#ead8b6}
.preview-wrap{width:100%;min-width:0;max-width:1240px;margin-inline:auto;padding:18px;border:1px solid var(--line);border-radius:16px;background:#080705}
.preview-meta{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:12px}
.preview-meta h3{margin:0;font-family:inherit;font-size:30px;font-weight:800;letter-spacing:-.025em}.meta-line{display:flex;gap:12px;margin-top:8px;color:var(--muted);font-size:12px}
.global-design-badge{display:grid;gap:5px;min-width:210px;padding:10px 13px;border:1px solid #6f582e;border-radius:12px;background:#15120c;text-align:right}.global-design-badge span{color:var(--muted);font-size:11px}.global-design-badge b{color:#efcf91;font-size:14px}
.canvas-stage{display:grid;place-items:center;width:100%;min-width:0;max-width:100%;padding:0;border:1px solid #302c24;border-radius:14px;background:#070604;overflow:hidden;aspect-ratio:1491/1055}
#activePreview,#cardCanvas{min-width:0;max-width:100%}
#cardCanvas{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:fill}
.print-note{display:flex;max-width:100%;gap:7px;margin-top:14px;padding:13px 14px;border:1px solid #4c4027;border-radius:12px;background:#131008;color:#aaa08f;font-size:12px;line-height:1.5}.print-note b{color:#ebc77d;white-space:nowrap}.print-note span{min-width:0;overflow-wrap:anywhere}
.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));z-index:60;transform:translateX(-50%);max-width:min(520px,calc(100% - 28px));padding:12px 16px;border:1px solid #776033;border-radius:12px;background:#15120c;color:#f3dba8;box-shadow:0 16px 40px rgba(0,0,0,.52);font-weight:700}
.download-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}
.download-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(8px)}
.download-modal__dialog{position:relative;z-index:1;width:min(520px,100%);padding:30px;border:1px solid #7d6230;border-radius:22px;background:#12100c;box-shadow:0 32px 90px rgba(0,0,0,.72),inset 0 0 0 6px #12100c,inset 0 0 0 7px rgba(221,174,75,.16);text-align:center}
.download-modal__close{position:absolute;top:12px;right:12px;width:38px;min-height:38px;padding:0;border-radius:50%;font-size:25px;line-height:1}
.download-modal__icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border:1px solid #c6963d;border-radius:20px;background:linear-gradient(180deg,#50340f,#241605);color:#ffe2a0;font-size:34px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.32),inset 0 0 0 5px rgba(221,174,75,.09)}
.download-modal__dialog h2{margin-bottom:10px;font-family:inherit;font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.025em}.download-modal__dialog>p:not(.eyebrow){color:var(--muted);line-height:1.55}
.download-modal__format{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px 0}.download-modal__format span{padding:7px 10px;border:1px solid #544426;border-radius:999px;background:#151109;color:#e4c88e;font-size:11px;font-weight:800}
.download-modal__download{width:100%;margin-top:8px}
.venue-action{display:none;justify-content:flex-end;padding:4px 0 0}
.venue-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid #c49336;border-radius:12px;text-decoration:none;font-weight:800}
.wizard-navigation{position:sticky;bottom:10px;z-index:20;width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid #5c4928;border-radius:16px;background:rgba(9,8,6,.96);box-shadow:0 18px 48px rgba(0,0,0,.54),inset 0 0 0 5px rgba(9,8,6,.96),inset 0 0 0 6px rgba(221,174,75,.14);backdrop-filter:blur(14px)}
.wizard-navigation strong{min-width:52px;color:var(--muted);font-size:13px;text-align:center}
.wizard-navigation__button{min-height:50px}
.wizard-navigation__button:last-child{justify-self:end}
.export-primary{width:100%;min-height:54px;margin-top:16px}
body[data-wizard-current="5"] .venue-action{display:flex}
@media(max-width:1100px){.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.format-card:last-child{grid-column:1/-1}}
@media(max-width:780px){.app-shell{width:100%;max-width:100%;padding:12px 14px calc(24px + env(safe-area-inset-bottom))}body.is-embedded .app-shell{width:100%;padding:0 0 24px}.topbar{display:flex}.topbar,.section-head,.generate-row,.preview-meta,.target-total-row{align-items:stretch;flex-direction:column}.topbar{gap:10px;padding-bottom:10px}.topbar h1{margin:0;font-size:clamp(30px,10vw,43px)}.topbar .eyebrow{display:none}.topbar-actions{justify-content:space-between;flex-wrap:nowrap}.status-pill{max-width:52%;overflow:hidden;text-overflow:ellipsis}.back-link{padding-inline:12px}.section-head>p{text-align:left}.design-grid{grid-template-columns:1fr 1fr}.format-grid{grid-template-columns:1fr;gap:10px}.format-card,.format-card:last-child{grid-column:auto;min-height:108px;padding:16px;border-radius:18px}.format-card__format{width:72px;height:51px;font-size:24px}.format-card[data-format-id="a5"] .format-card__format{width:51px;height:72px}.format-card__copy{gap:5px}.format-card.is-selected .format-card__copy{padding-right:44px}.format-card__copy strong{font-size:15px}.format-card__copy small{font-size:11px}.global-design-badge{text-align:left;min-width:0}.download-all-button,.target-total-row .primary,.venue-link{width:100%}.database-summary,.print-selection-grid,.export-summary{grid-template-columns:1fr}.database-summary>div:nth-child(2){display:none}.selection-result{align-items:flex-start;flex-direction:column}.selection-result span{text-align:left}.panel{padding:16px}button,.back-link{min-height:46px}.download-modal__close{width:44px;min-height:44px}.wizard-progress{padding:2px 0 4px}.wizard-progress>span{flex:1;max-width:54px}.wizard-progress__step{width:38px;height:38px;min-height:38px}.wizard-navigation{bottom:max(6px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-top:-2px}.wizard-navigation__button{max-width:100%}.section-head{border-bottom:0;margin-bottom:14px;padding-bottom:0}.section-head .step{display:none}.inline-status{display:none}.design-card small{display:none}.preview-code{display:none}}

/* Standard close control. */
.download-modal__close{position:absolute;font-size:0}
.download-modal__close::before,.download-modal__close::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.download-modal__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
@media(max-width:500px){.app-shell{padding:8px 10px calc(24px + env(safe-area-inset-bottom))}body.is-embedded .app-shell{padding:0 0 24px}.panel{padding:13px;border-radius:17px}.section-head{gap:10px;margin-bottom:13px}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.format-card{min-height:94px;padding:12px;gap:13px}.format-card__copy small{display:none}.format-card.is-selected::after,.design-card.is-selected::after{content:"✓";top:6px;right:6px;display:grid;place-items:center;width:25px;height:25px;padding:0;font-size:14px}.design-card{gap:7px;padding:7px;border-radius:12px}.design-card strong{font-size:12px}.section-head h2{font-size:25px}.preview-wrap{padding:5px}.preview-meta .meta-line,.preview-meta .eyebrow,.global-design-badge span{display:none}.preview-meta h3{font-size:25px}.download-modal{padding:8px}.download-modal__dialog{padding:24px 15px}.download-modal__dialog h2{font-size:28px}.wizard-navigation{gap:7px;padding:7px}.wizard-navigation strong{min-width:38px;font-size:12px}.wizard-navigation__button{min-width:0;padding-inline:10px}.database-summary{margin-bottom:12px}}
@media(max-width:340px){.app-shell{padding-inline:8px}body.is-embedded .app-shell{padding-inline:0}.topbar h1{font-size:28px}.topbar-actions{align-items:stretch;flex-direction:column}.status-pill{max-width:100%;align-self:stretch}.back-link{align-self:stretch}.wizard-progress{gap:5px}.wizard-progress__step{width:34px;height:34px;min-height:34px}.wizard-navigation__button span{display:none}.wizard-navigation{grid-template-columns:minmax(0,48px) 1fr minmax(0,48px)}.panel{padding:11px}.section-head h2{font-size:23px}}

/* 9.8.76: preview uses the exact A4 canvas ratio and fills the stage edge to edge. */
#activePreview[data-orientation="portrait"] .canvas-stage{aspect-ratio:2480/3508;max-width:720px;margin-inline:auto}
#activePreview[data-orientation="landscape"] .canvas-stage{aspect-ratio:3508/2480;max-width:1200px;margin-inline:auto}
.design-card,.format-card{contain:layout paint style}
.design-sheet-preview__cell img{content-visibility:auto}
