.announcement{grid-column:1/-1;align-items:center;gap:12px;padding:14px 16px;display:flex}.announcement span{color:var(--muted)}.control{align-self:start;gap:18px;max-height:calc(100vh - 48px);padding:22px;display:grid;position:sticky;top:24px;overflow:auto}.brand,.preview-head,.page-nav{justify-content:space-between;align-items:center;gap:14px;display:flex}.brand p,.preview-head p{color:var(--rust);margin:0 0 4px;font-size:13px}.brand h1{margin:0;font-size:27px;line-height:1.18}.font-status{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4;display:block}.font-status.error{color:#b91c1c}.template-row{flex-wrap:wrap;gap:10px;display:flex}.limit-warning{color:#9a3412;margin-top:-6px;font-size:13px;line-height:1.5;display:block}.mode-tabs{border:1px solid var(--line);background:#f4eadb;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px;display:grid}.mode-tabs button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-width:0;padding:0 8px;display:inline-flex}.mode-tabs button.active{background:var(--accent)}.signature-controls,.logo-controls{gap:14px;display:grid}.history-row{flex-wrap:wrap;gap:8px;display:flex}.history-row button{min-height:34px;padding:0 10px;font-size:13px}.switch{align-items:center;gap:8px;display:flex}.switch input{width:auto}.form-switch{align-self:end;min-height:42px;padding:0 2px}.compact-grid{align-items:end}.full-field{grid-column:1/-1}.font-preview{border:1px solid var(--line);background:#fffdf8;border-radius:6px;gap:6px;min-width:0;padding:10px 12px;display:grid}.font-preview span,.font-preview small{color:var(--muted);font-size:12px}.font-preview strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:400;line-height:1.35;overflow:hidden}.actions a{align-items:center;min-height:40px;display:inline-grid}.actions button{align-items:center;gap:7px;display:inline-flex}.export-status{border:1px solid var(--line);min-height:42px;color:var(--muted);background:#fffaf1;border-radius:8px;flex-basis:100%;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.export-status button{min-height:32px;padding:0 12px}.preview{grid-template-rows:auto minmax(0,1fr);align-self:start;min-width:0;height:calc(100vh - 48px);padding:18px;display:grid;position:sticky;top:24px}.preview-head{padding:0 2px 14px}.page-nav{color:var(--muted);justify-content:flex-end;gap:8px;font-size:13px}.page-nav button{min-height:34px;padding:0 10px}button:disabled{cursor:not-allowed;opacity:.48}.canvas-stage{background-color:#c9c2b4;background-image:linear-gradient(135deg,#ffffff38,#fff0 42%),linear-gradient(#252a3000,#252a3014),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:6px;place-items:start center;gap:24px;min-height:0;padding:24px;display:grid;overflow:auto}.page-frame{width:min(100%,760px);margin:0;display:none}.page-frame.active{display:block}.page-frame figcaption{color:#4d5b62;text-align:center;margin:0 0 8px;font-size:13px}.page-frame.active figcaption{color:var(--accent-strong);font-weight:700}.page-frame canvas{outline-offset:4px;background:#fffaf1;border:1px solid #69523733;outline:3px solid #0000;width:min(100%,760px);height:auto;box-shadow:inset 0 1px #ffffffbd,0 18px 42px #29221938,10px 26px 58px #29221929}.page-frame.active canvas{outline-color:#0f766ead}.signature-stage,.logo-stage{background-color:#d8d0c2;background-image:linear-gradient(90deg,#17202b0d 1px,#0000 1px),linear-gradient(0deg,#17202b0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:6px;place-items:center;min-height:0;padding:32px;display:grid;overflow:auto}.signature-stage.transparent,.logo-stage{background:conic-gradient(#d9d9d9 25%, #f5f5f5 0 50%, #d9d9d9 0 75%, #f5f5f5 0) 0 0 / 28px 28px}.signature-stage canvas,.logo-stage canvas{background:0 0;border-radius:4px;width:min(100%,760px);height:auto;box-shadow:0 18px 48px #17202b2e}.logo-stage canvas{object-fit:contain;max-height:100%}.logo-placeholder{width:min(100%,560px);min-height:220px;color:var(--muted);text-align:center;background:#ffffff7a;border:1px dashed #17202b3d;border-radius:6px;place-items:center;padding:24px;display:grid}@media print{body{background:#fff}.announcement,.control,.preview-head,.signature-stage,.logo-stage{display:none}.app-shell,.preview,.canvas-stage{box-shadow:none;background:#fff;border:0;padding:0;display:block}.page-frame{page-break-after:always;width:100%;display:block}.page-frame figcaption{display:none}.page-frame canvas{width:100%;box-shadow:none;outline:0}}@media (max-width:920px){.control,.preview{height:auto;max-height:none;position:static;overflow:visible}.preview{min-height:70vh}.canvas-stage{max-height:78vh}.mode-tabs{grid-template-columns:1fr}}@media (max-width:720px){.app-shell{gap:14px;padding:10px}.control,.preview{padding:14px}.preview{min-height:62vh}.preview-head{gap:10px;display:grid}.page-nav{justify-content:space-between}.canvas-stage,.signature-stage,.logo-stage{background-size:20px 20px;max-height:68vh;padding:12px}.page-frame,.page-frame canvas,.signature-stage canvas,.logo-stage canvas{width:min(100%,560px)}}
