/* Alpha 5.5 — modals, library previews and A4 screen layout */
.modal{position:fixed;inset:0;background:#000b;display:none;place-items:center;padding:20px;z-index:50}.modal.show{display:grid}.modalCard{width:min(1000px,96vw);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:var(--shadow)}.toast{position:fixed;right:18px;bottom:18px;background:#18231d;color:#baf1cb;border:1px solid #315841;border-radius:10px;padding:10px 14px;opacity:0;transform:translateY(10px);transition:.2s;z-index:90}.toast.show{opacity:1;transform:none}.a4{width:794px;min-height:1123px;background:white;padding:38px;display:grid;grid-template-columns:repeat(2,350px);grid-auto-rows:490px;gap:22px 18px;align-content:start}.a4 .sheetCard{position:relative;width:350px;height:490px;overflow:hidden;border:1px dashed #bbb}.a4 .sheetCard .previewCard{box-shadow:none}.empty{color:var(--muted);text-align:center;padding:30px}
.catalogTools{display:grid;grid-template-columns:1fr 180px 180px auto;gap:8px;margin:14px 0}.catalogStats{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.stat{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.cigar{position:relative}.favBtn{position:absolute;right:10px;top:10px;border:0;background:transparent;color:#6f7785;font-size:22px;cursor:pointer}.favBtn.on{color:var(--gold)}.cigarActions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.formGrid .full{grid-column:1/-1}.ratingRow{display:flex;gap:6px;align-items:center}.betaBanner{border:1px solid #80663a;background:#211a10;color:#f0cf91;border-radius:12px;padding:10px 12px;margin:10px 0}.fileInput{display:none}@media(max-width:850px){.catalogTools{grid-template-columns:1fr 1fr}.formGrid{grid-template-columns:1fr}}
@media(max-width:1100px){.top{padding:0 10px}.topIdentity b{display:none}.selectionBar{padding:0 10px}.fitHint{display:none}}@media(max-width:1100px){.app{grid-template-columns:64px 290px 1fr}.stageWrap{padding:20px}.side{padding:13px}.fitBtn{display:none}}@media(max-width:820px){.app{grid-template-columns:58px 250px 1fr}.top .saveStatus{display:none}.zoomBox .iconBtn{min-width:34px}.selectionInfo{max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:720px){html,body{height:auto}.app{display:block;height:auto;overflow:visible}.rail{position:fixed;left:0;right:0;bottom:0;height:66px;z-index:40;flex-direction:row;justify-content:space-around;border-right:0;border-top:1px solid var(--line)}.brandmark,.spacer{display:none}.side{padding-bottom:80px;border-right:0}.workspace{min-height:700px;padding-bottom:66px}.stageWrap{padding:18px 4px}.stage{transform:scale(.88)}}
/* Alpha 3: tablet-safe modal layout */
.modal{padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));align-items:center;overflow:hidden}
.modalCard{max-height:calc(100dvh - max(48px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 24px));overscroll-behavior:contain;scroll-padding-top:84px}
.modalHeader{position:sticky;top:-18px;z-index:12;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-18px -18px 14px;padding:18px;background:linear-gradient(180deg,var(--panel) 0%,var(--panel) 82%,#131720f2 100%);border-bottom:1px solid var(--line)}
.modalHeader .grow{flex:1 1 24px}.modalHeader .btn{flex:0 0 auto;white-space:nowrap}
@media(max-height:760px){.modal{align-items:start;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}.modalCard{max-height:calc(100dvh - max(36px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 18px))}}
@media(max-width:700px){.modal{padding:max(12px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));align-items:start}.modalCard{width:100%;max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 12px));padding:14px;border-radius:14px}.modalHeader{top:-14px;margin:-14px -14px 12px;padding:14px}.modalHeader>div:first-child{min-width:0;flex:1 1 100%}.modalHeader .grow{display:none}.modalHeader .btn{flex:1 1 auto}.catalogTools{grid-template-columns:1fr}.catalog{grid-template-columns:1fr}.formGrid{grid-template-columns:1fr}}
@media print{.rail,.side,.top,.modal .closePrint{display:none!important}body{background:white}.app,.workspace,.stageWrap,.stageGrid{display:block;height:auto;overflow:visible;padding:0;background:white}.stage{box-shadow:none;transform:none!important}.modal.show{position:static;display:block;background:white;padding:0}.modalCard{box-shadow:none;border:0;max-height:none;width:auto;padding:0}.a4{margin:0 auto}}

.topIdentity{display:flex;align-items:center;gap:8px;min-width:0}.toolbar.compact{flex-wrap:nowrap}.menuBtn{font-size:22px}.selectionBar{height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;border-bottom:1px solid var(--line);background:#10141a}.actionDrawer{position:fixed;top:0;right:0;width:min(360px,88vw);height:100vh;background:var(--panel);border-left:1px solid var(--line);z-index:120;padding:16px;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 50px #0009}.actionDrawer.open{transform:none}.drawerHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.drawerGrid{display:grid;gap:9px}.drawerGrid .btn{text-align:left;padding:13px}.drawerBackdrop{position:fixed;inset:0;background:#0008;z-index:110;opacity:0;pointer-events:none;transition:.2s}.drawerBackdrop.show{opacity:1;pointer-events:auto}.stageWrap.dragging{cursor:grabbing}.workspace{position:relative;grid-template-rows:62px 34px 1fr}

.stageWrap{position:relative}


/* Alpha 5.6.3 RC2: library selection and A4 preview */
.saved{position:relative}.saved.printSelected{outline:2px solid var(--gold);outline-offset:2px}.printPick{position:absolute;top:8px;right:8px;z-index:5;width:34px;height:34px;border-radius:50%;border:1px solid #80663a;background:#10141ae8;color:var(--gold);font-size:20px;font-weight:800;cursor:pointer}.printSelected .printPick{background:var(--gold);color:#1b1409}.a4ModalCard{width:min(1180px,96vw)}.a4Viewport{overflow:auto;padding:18px;background:#090b0f;border:1px solid var(--line);border-radius:12px}.a4{width:210mm;min-height:297mm;padding:5mm;background:#fff;display:grid;grid-template-columns:repeat(4,50mm);grid-auto-rows:70mm;gap:0;align-content:start;box-sizing:border-box}.a4 .sheetCard{width:50mm;height:70mm;overflow:hidden;border:.2mm dashed #bbb;background:#fff;position:relative}.a4 .sheetCard img{display:block;width:50mm;height:70mm;object-fit:fill}.sheetCardFallback .previewCard{width:350px;height:490px;transform:scale(.54);transform-origin:top left;box-shadow:none}.a4Empty{grid-column:1/-1;color:#666;padding-top:40mm}
@media(max-width:900px){.a4Viewport{padding:8px}.a4{transform-origin:top left}}
@media print{body.print-a4 .modal:not(#a4Modal),body.print-a4 .app,body.print-a4 .toast{display:none!important}body.print-a4 #a4Modal{display:block!important;position:static!important;background:#fff!important;padding:0!important}body.print-a4 #a4Modal .modalCard{display:block!important;width:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;border:0!important;box-shadow:none!important}body.print-a4 .printSizeNote,body.print-a4 .a4Viewport{padding:0!important;border:0!important;background:#fff!important;overflow:visible!important}body.print-a4 .a4{margin:0!important;width:210mm!important;min-height:297mm!important;page-break-after:avoid!important}@page{size:A4 portrait;margin:0}}

/* Alpha 5.6.3 RC2.1 — multi-page A4 preview */
#a4Sheet{display:flex;flex-direction:column;gap:18px;width:max-content;min-width:210mm;background:transparent;padding:0}
#a4Sheet .a4Page{width:210mm;height:297mm;padding:5.5mm 15mm;background:#fff;display:grid;grid-template-columns:repeat(3,50mm);grid-template-rows:repeat(4,70mm);column-gap:15mm;row-gap:2mm;align-content:start;justify-content:start;box-sizing:border-box;box-shadow:0 6px 24px #0005}
#a4Sheet .sheetCard{width:50mm;height:70mm;overflow:hidden;border:.2mm dashed #bbb;background:#fff;position:relative}
#a4Sheet .sheetCard img{display:block;width:50mm;height:70mm;object-fit:fill}
#a4Sheet .sheetCardFallback .previewCard{width:350px;height:490px;transform:scale(.5399527559)!important;transform-origin:top left;box-shadow:none}

/* Alpha 7.9.15 TEST1 — A4 preview for mixed exact card sizes */
#a4Sheet.a4{width:auto;min-height:0;padding:0;background:transparent;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
#a4Sheet .a4Page{position:relative;width:210mm;height:297mm;padding:3mm;box-sizing:border-box;background:#fff;display:grid;align-content:center;justify-content:center;overflow:hidden;box-shadow:0 2px 12px #0004;flex:0 0 auto}
#a4Sheet .a4PageBadge{position:absolute;right:4mm;top:1.2mm;z-index:5;color:#666;background:#fff;border:1px solid #ddd;border-radius:999px;padding:.6mm 1.4mm;font:600 8pt Arial,sans-serif}
#a4Sheet .sheetCard{position:relative;overflow:hidden;border:.2mm dashed #bbb;background:#fff}
#a4Sheet .sheetCard img{display:block;width:100%;height:100%;object-fit:fill}
#a4Sheet .sheetCardFallback .previewCard{transform:scale(.5399527559)!important;transform-origin:top left;box-shadow:none}
