/* PDF tools + shop styles (loaded only on those pages) */
.tool-shell{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:var(--shadow)}
.drop{border:2px dashed #B9C4DA;border-radius:16px;background:var(--paper);padding:2.2rem 1rem;text-align:center}
.drop.drag{border-color:var(--red);background:#fff5f5}
.drop h2{font-size:1.25rem;margin:.4rem 0 .3rem}
.drop p{color:var(--muted);margin:0 0 1rem;font-size:.95rem}
.drop .btn{cursor:pointer}
.tool-msg{margin:.8rem 0 0;font-weight:600;min-height:1.3em}
.tool-msg.err{color:#A8191C}
.tool-msg.ok{color:#0C7A4B}
.tbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;position:sticky;top:68px;z-index:20;background:#fff;padding:.55rem 0;border-bottom:1px solid var(--line)}
.tbtn{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.45rem .85rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:600 .9rem var(--f-body);cursor:pointer}
.tbtn:hover{border-color:var(--ink)}
.tbtn[disabled]{opacity:.45;cursor:not-allowed}
.tbtn.primary{background:#C8282B;border-color:#C8282B;color:#fff}
.tbtn.primary:hover{background:#A31D20}
.tbar .grow{flex:1 1 auto}
.pager{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem}
.stage{margin:.9rem 0 0;background:#E3E8F2;padding:.6rem;border-radius:12px;overflow-x:auto}
.page-wrap{position:relative;margin:0 auto;background:#fff;box-shadow:0 4px 18px rgba(15,26,48,.25)}
.page-wrap canvas{display:block;width:100%;height:auto}
.overlay{position:absolute;inset:0;touch-action:pan-y}
.pitem{position:absolute;border:1.5px dashed transparent;touch-action:none;user-select:none;-webkit-user-select:none;cursor:move}
.pitem.sel{border-color:#0B6B74;box-shadow:0 0 0 1px rgba(11,107,116,.25)}
.pitem img{width:100%;height:100%;display:block;pointer-events:none}
.pitem.t-white{background:#fff}
.pitem.t-text{cursor:text;min-width:24px;min-height:1em}
.ptext{outline:none;white-space:pre;font-family:Helvetica,Arial,sans-serif;line-height:1.2;color:#000;padding:0;min-width:24px;user-select:text;-webkit-user-select:text}
.pitem svg{width:100%;height:100%;display:block;pointer-events:none}
.xbtn,.rsz,.grab{position:absolute;display:none;touch-action:none}
.pitem.sel .xbtn,.pitem.sel .rsz,.pitem.sel .grab{display:grid}
.xbtn{top:-15px;right:-15px;width:28px;height:28px;border-radius:50%;background:#A8191C;color:#fff;border:0;font-size:1rem;line-height:1;place-items:center;cursor:pointer;z-index:3}
.rsz{right:-10px;bottom:-10px;width:22px;height:22px;border-radius:5px;background:#0B6B74;border:2px solid #fff;cursor:nwse-resize;z-index:3}
.grab{left:-15px;top:-15px;width:26px;height:26px;border-radius:50%;background:#0B6B74;color:#fff;place-items:center;cursor:move;font-size:.8rem;z-index:3}
.privacy-note{display:flex;gap:.6rem;align-items:flex-start;background:#EEF6F7;border:1px dashed #9CC9CD;border-radius:12px;padding:.8rem 1rem;font-size:.92rem;color:#2A4A50;margin:1rem 0 0}
dialog.sigdlg{border:0;border-radius:18px;padding:0;width:min(560px,94vw);max-height:92vh;box-shadow:0 20px 60px rgba(0,0,0,.4)}
dialog.sigdlg::backdrop{background:rgba(10,18,36,.6)}
.sig-in{padding:1.1rem}
.sig-in h2{font-size:1.2rem;margin:0 0 .6rem}
.tabs{display:flex;gap:.4rem;margin:0 0 .8rem}
.tabs button{flex:1;min-height:44px;border:1.5px solid var(--line);background:#fff;border-radius:10px;font:700 .9rem var(--f-body);color:var(--ink);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sig-canvas{width:100%;aspect-ratio:800/260;border:2px dashed #B9C4DA;border-radius:12px;background:#fff;touch-action:none;display:block}
.sig-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 0;align-items:center}
.sig-row label{font-size:.9rem}
.sig-in input[type=text]{width:100%;font:inherit;font-size:16px;padding:.8rem;border:1.5px solid #C5CEDF;border-radius:10px;min-height:48px}
.sig-styles{display:flex;gap:.4rem;margin:.6rem 0}
.sig-styles label{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:.5rem;text-align:center;font-size:1.25rem;cursor:pointer}
.sig-styles input{position:absolute;opacity:0}
.sig-styles input:checked+span{color:#C8282B}
.sig-styles label:has(input:checked){border-color:#C8282B}
.panel[hidden]{display:none}
.flist{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.5rem}
.flist li{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;background:#fff}
.flist .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}
.flist button{min-width:36px;min-height:36px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer}
.opt-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:.8rem 0;align-items:center}
.opt-row select,.opt-row input[type=text]{font:inherit;font-size:16px;padding:.6rem;border:1.5px solid #C5CEDF;border-radius:10px;min-height:44px}
.shop-grid{display:grid;gap:1.2rem}
.product{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem;display:flex;flex-direction:column;gap:.5rem}
.product .tag{align-self:flex-start;font:800 .68rem var(--f-body);letter-spacing:.06em;text-transform:uppercase;background:#0B6B74;color:#fff;border-radius:999px;padding:.25rem .65rem}
.product .tag.soon{background:#7A5A00}
.product h2,.product h3{font-size:1.25rem;margin:.2rem 0}
.product p{margin:0;color:var(--muted)}
.product ul{margin:.3rem 0;padding-left:1.1rem;color:var(--text)}
.product .price{font:800 1.8rem var(--f-display);color:var(--ink)}
.product .btn{margin-top:auto;align-self:flex-start}
@media (min-width:760px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.shop-grid{grid-template-columns:repeat(3,1fr)}}

.actbar{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;margin:.6rem 0 0}
.tool-page{--bar-h:0px}
.tool-page .sticky-bar{display:none}
@media (max-width:760px){
  .tbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tbar::-webkit-scrollbar{display:none}
  .tbar .tbtn{flex:none}
  .actbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom,0px));margin:0;justify-content:space-between;box-shadow:0 -6px 20px -10px rgba(15,26,48,.4)}
  .actbar .tbtn.primary{flex:1;justify-content:center}
  .tool-sign{--bar-h:84px}
}

/* converters */
.cv-preview{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem;max-height:60vh;overflow:auto;margin:.8rem 0;font-family:Calibri,Arial,sans-serif;line-height:1.45}
.cv-preview table{border-collapse:collapse}.cv-preview td,.cv-preview th{border:1px solid #999;padding:4px 8px}.cv-preview img{max-width:100%;height:auto}
#printRoot{display:none}
@media print{
  @page{margin:18mm}
  body.printing>*:not(#printRoot){display:none!important}
  body.printing #printRoot{display:block!important;font-family:Calibri,Arial,sans-serif;font-size:11pt;line-height:1.45;color:#000;background:#fff}
  body.printing #printRoot table{border-collapse:collapse}
  body.printing #printRoot td,body.printing #printRoot th{border:1px solid #555;padding:3px 6px}
  body.printing #printRoot img{max-width:100%;height:auto}
}
.limits{background:#FFF7E3;border:1px solid #F0D58A;border-radius:12px;padding:.8rem 1rem;font-size:.93rem;margin:1rem 0 0}
.limits ul{margin:.3rem 0 0;padding-left:1.1rem}

.opt-row .opt{display:flex;flex-direction:column;gap:.25rem;flex:1 1 150px;min-width:140px}
.opt-row .opt label{font-weight:700;font-size:.88rem;color:var(--ink)}
.opt-row .opt select,.opt-row .opt input{width:100%}
