.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.appbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:14px;padding-bottom:10px}
.grow{flex:1}
.seg{display:inline-flex;border:2px solid var(--ink);border-radius:999px;padding:3px;background:var(--card)}
.seg button{border:0;background:none;color:var(--ink);font:700 18px/1 var(--d);text-transform:uppercase;letter-spacing:.04em;padding:10px 16px;min-height:42px;border-radius:999px;cursor:pointer;transition:transform .15s var(--spring)}
.seg button:active{transform:scale(.92)}
.seg button[aria-checked=true]{background:var(--ink);color:var(--paper)}
.count{font:700 13px var(--m);background:var(--yellow);color:#15171C;border-radius:999px;padding:1px 7px;display:inline-block;transition:transform .3s var(--spring)}
.count.bump{transform:scale(1.35)}
.bizsel select{font:500 15px var(--t);min-height:44px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:0 10px;max-width:200px}
.plan{font:700 14px var(--m);letter-spacing:.06em;text-transform:uppercase;border:2.5px solid var(--red);color:var(--red);background:none;border-radius:8px;padding:8px 12px;min-height:44px;transform:rotate(-3deg);cursor:pointer}
.plan.paid{border-color:var(--green);color:var(--green)}
.plan.thump{animation:pthump .5s var(--spring)}
@keyframes pthump{0%{transform:rotate(-3deg) scale(2)}100%{transform:rotate(-3deg) scale(1)}}
.banner{background:var(--yellow);color:#15171C;border:2px solid #15171C;border-radius:12px;padding:10px 14px;margin-bottom:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;padding-bottom:40px}
.editor{background:var(--card);border:2px solid var(--ink);border-radius:6px 6px 16px 16px;overflow:hidden}
.editor .perf{background:radial-gradient(circle at 7px 7px,var(--paper) 3.5px,transparent 4px) 0 0/16px 14px;border-bottom:1.5px dashed var(--line)}
.blk{padding:16px 18px;border-bottom:1.5px dashed var(--line)}
.blk h2{font:800 26px/1 var(--d);text-transform:uppercase;margin:0 0 10px;letter-spacing:.02em}
.editor label,.dlg label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:500;color:var(--muted);min-width:0}
.editor input,.editor select,.editor textarea,.dlg input,.dlg select,.dlg textarea{font:16px var(--t);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;min-height:44px;width:100%;min-width:0}
.editor textarea,.dlg textarea{resize:vertical;line-height:1.4}
.editor input:focus,.editor select:focus,.editor textarea:focus,.dlg input:focus,.dlg textarea:focus,.dlg select:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 25%,transparent)}
.row2,.row3{display:grid;gap:10px;margin-bottom:10px}
.row2{grid-template-columns:1fr 1fr}.row3{grid-template-columns:repeat(3,1fr)}
.full{margin-bottom:10px}
.pair{display:flex;gap:6px}.pair input{flex:1}.pair select{width:auto;flex:0 0 96px}
.check{flex-direction:row!important;align-items:center;gap:10px!important;font-size:15px!important;color:var(--ink)!important;min-height:44px}
.check input{width:22px;height:22px;min-height:0;accent-color:var(--red)}
[data-hide]{display:none!important}
.link{background:none;border:0;color:var(--blue);font:500 15px var(--t);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 0;min-height:44px}
.link.danger{color:var(--red)}
.items{display:flex;flex-direction:column;gap:8px}
.item{display:grid;grid-template-columns:minmax(0,1fr) 64px 104px 64px 36px;gap:6px;align-items:start;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:8px;animation:pop .35s var(--spring)}
.items.disc .item{grid-template-columns:minmax(0,1fr) 60px 96px 56px 56px 36px}
.item .d{grid-column:1}
.item textarea{min-height:44px;background:var(--card)}
.item input{background:var(--card);text-align:right;font-family:var(--m)}
.item .lab{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.item .rm,.item .pre{border:0;background:none;color:var(--muted);width:36px;height:36px;border-radius:8px;cursor:pointer;font:700 20px/1 var(--t)}
.item .rm:hover{background:var(--pink);color:#15171C}
.item .tools{display:flex;flex-direction:column;align-items:center}
.item .lt{grid-column:1/-1;display:flex;justify-content:space-between;font:400 13px var(--m);color:var(--muted)}
.item.out{animation:out .25s ease-in forwards}
@keyframes pop{0%{transform:scale(.96);opacity:0}100%{transform:none;opacity:1}}
@keyframes out{to{transform:translateX(30px);opacity:0}}
.itembar{display:flex;gap:16px;align-items:center;margin-top:10px}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{border:1.5px solid var(--ink);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 14px;min-height:40px;font:500 14px var(--t);cursor:pointer;transition:transform .3s var(--spring)}
.chip:hover{transform:translateY(-3px) rotate(-1deg)}
.chip:active{transform:scale(.92)}
.chip .x{margin-left:6px;color:var(--muted)}
.repeat{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.repeat label{max-width:220px}
.saved{padding:10px 18px;margin:0}
.saved.tick::before{content:"✓ ";color:var(--green);font-weight:700}
.side{position:sticky;top:90px}
.tools{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.tpls{display:flex;gap:6px;flex-wrap:wrap}
.tpl{position:relative;border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:6px 12px;min-height:42px;font:700 16px var(--d);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:transform .2s var(--spring)}
.tpl[aria-checked=true]{border-color:var(--ink);box-shadow:0 3px 0 var(--shadow)}
.tpl:active{transform:scale(.92)}
.tpl.locked::after{content:"";display:inline-block;width:9px;height:7px;margin-left:6px;border:2px solid currentColor;border-radius:2px;vertical-align:1px;box-shadow:inset 0 0 0 1px transparent}
.tpl.locked{color:var(--muted)}
.accent input{width:44px;height:44px;padding:2px;border:2px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer}
.accent.locked{opacity:.45}
.paperwrap{position:relative;filter:drop-shadow(0 7px 0 var(--shadow))}
.paper{position:relative;background:#fff;color:#15171C;aspect-ratio:210/297;border-radius:4px;padding:6.5% 6.5% 5%;font:400 clamp(7px,1.05vw,11px)/1.35 "Plex",Arial,sans-serif;overflow:hidden;--a:#2338A0}
.paper .ph{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.paper .ph img{max-width:38%;max-height:4.6em;object-fit:contain}
.paper .tt{font:800 2.5em/1 "Plex",Arial,sans-serif;color:var(--a);text-transform:uppercase;text-align:right}
.paper .no{font:700 1em var(--m);color:#666;text-align:right;margin-top:.3em}
.paper .bz{margin-top:1em}.paper .bz b{font-size:1.15em}
.paper .mut{color:#666;white-space:pre-line}
.paper .pt{display:flex;justify-content:space-between;gap:12px;margin-top:1.6em}
.paper .lbl{font-size:.8em;font-weight:700;color:var(--a);text-transform:uppercase;letter-spacing:.05em}
.paper .meta{display:grid;grid-template-columns:auto auto;gap:.15em 1.4em;align-content:start}
.paper .meta span:nth-child(odd){color:#666}.paper .meta span:nth-child(even){text-align:right;font-weight:700}
.paper table{width:100%;border-collapse:collapse;margin-top:1.8em}
.paper th{font-size:.85em;text-align:right;color:var(--a);padding:.5em .4em;background:color-mix(in srgb,var(--a) 10%,#fff)}
.paper th:first-child,.paper td:first-child{text-align:left}
.paper td{padding:.45em .4em;border-bottom:1px solid #e3ddcf;text-align:right;vertical-align:top;white-space:pre-line}
.paper .tot{margin-left:auto;width:48%;margin-top:1em}
.paper .tot div{display:flex;justify-content:space-between;padding:.2em .4em}
.paper .tot .grand{border-top:2px solid var(--a);margin-top:.3em;padding-top:.4em;font-weight:700;font-size:1.25em}
.paper .tot .grand span:last-child{color:var(--a)}
.paper .nb{margin-top:1.4em;white-space:pre-line}
.paper .brandline{position:absolute;left:0;right:0;bottom:2.2%;text-align:center;color:#999;font-size:.8em}
.paper .foot{position:absolute;left:6.5%;bottom:4.2%;color:#777;font-size:.8em}
.paper .pstamp{position:absolute;left:12%;top:52%;width:30%;transform-origin:center;pointer-events:none}
.paper .pstamp.thump{animation:pstamp .55s var(--spring)}
@keyframes pstamp{0%{transform:scale(2.6);opacity:0}55%{opacity:1}100%{transform:scale(1);opacity:1}}
.paper.tpl-carbon{--a:#2338A0;color:#1d2a6b}
.paper.tpl-carbon::before{content:"";position:absolute;left:6%;right:6%;top:1.6%;height:1.2%;background:radial-gradient(circle,#e1dac8 40%,transparent 45%) 0 0/2.4% 100%}
.paper.tpl-carbon .no{color:#C42B2B}
.paper.tpl-carbon .pt{border:1.5px solid var(--a);border-radius:4px;padding:.6em}
.paper.tpl-carbon td,.paper.tpl-carbon .tot,.paper.tpl-carbon .meta{font-family:var(--m)}
.paper.tpl-carbon th{background:none;border-bottom:1.5px solid var(--a)}
.paper.tpl-bold{--a:#C42B2B;padding-top:0}
.paper.tpl-bold .ph{background:var(--a);color:#fff;margin:0 -7.5% 0;padding:5% 7.5% 4%;align-items:center}
.paper.tpl-bold .tt{font:800 3.6em/1 "Big Shoulders",Impact,sans-serif;color:#fff;order:-1;text-align:left}
.paper.tpl-bold .no{color:#fff}
.paper.tpl-bold .ph img{background:#fff;padding:.3em;border-radius:3px}
.paper.tpl-bold th{background:var(--a);color:#fff}
.paper.tpl-bold .tot .grand{background:var(--a);color:#fff;border:0}
.paper.tpl-bold .tot .grand span:last-child{color:#fff}
.paper.tpl-ledger{--a:#1F5C45;font-family:Georgia,"Noto Serif",serif;border-top:5px double var(--a)}
.paper.tpl-ledger .tt{text-transform:none;font-family:Georgia,serif;color:#15171C}
.paper.tpl-ledger th{background:none;border-bottom:2px solid var(--a)}
.paper.tpl-ledger tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--a) 8%,#fff)}
.paper.tpl-ledger .tot .grand{border-top:4px double var(--a)}
.paper.tpl-typed{--a:#15171C;font-family:var(--m)}
.paper.tpl-typed .ph{flex-direction:column;align-items:center;text-align:center;border-bottom:1.5px dashed #15171C;padding-bottom:.8em}
.paper.tpl-typed .tt,.paper.tpl-typed .no{text-align:center}
.paper.tpl-typed .tt::before,.paper.tpl-typed .tt::after{content:" *** "}
.paper.tpl-typed .tt{font-family:var(--m);font-size:1.8em}
.paper.tpl-typed th{background:none;border-bottom:1.5px dashed #15171C}
.paper.tpl-typed td{border-bottom:1px dashed #bbb}
.actions{margin-top:22px}
.btn.big{width:100%;min-height:66px;font-size:28px;--sh:7px}
.btn.big.printing span{animation:dots 1s steps(4) infinite}
@keyframes dots{0%{opacity:1}50%{opacity:.5}100%{opacity:1}}
.act2{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.act2 .btn[hidden]{display:none}
.act2 .locked::after{content:"PLAN";font:700 10px var(--m);color:var(--red);margin-left:4px}
.slot{position:fixed;left:0;right:0;bottom:0;height:0;pointer-events:none;z-index:60}
.slotpaper{position:absolute;left:50%;bottom:-60vh;width:min(46vw,320px);aspect-ratio:210/297;background:#fff;border:2px solid #15171C;border-radius:4px;transform:translateX(-50%);box-shadow:0 8px 0 #15171C}
.slotpaper::before{content:"";position:absolute;left:10%;right:10%;top:12%;height:6%;background:repeating-linear-gradient(#2338A0 0 2px,transparent 2px 9px)}
.slotpaper::after{content:"";position:absolute;left:10%;right:30%;top:34%;height:30%;background:repeating-linear-gradient(#ccc 0 2px,transparent 2px 12px)}
.slotpaper.go{animation:eject 1.4s cubic-bezier(.2,.9,.25,1) forwards}
@keyframes eject{0%{bottom:-60vh;transform:translateX(-50%) rotate(0)}45%{bottom:22vh;transform:translateX(-50%) rotate(-3deg)}70%{bottom:22vh;transform:translateX(-50%) rotate(-3deg)}100%{bottom:120vh;transform:translateX(-50%) rotate(8deg)}}
.punch{position:fixed;width:12px;height:12px;border-radius:50%;pointer-events:none;z-index:70;will-change:transform}
.dlg{border:2px solid var(--ink);border-radius:18px;background:var(--card);color:var(--ink);padding:0;max-width:560px;width:calc(100vw - 24px);max-height:88vh;box-shadow:0 8px 0 var(--shadow)}
.dlg.wide{max-width:820px}
.dlg::backdrop{background:rgba(21,23,28,.55)}
.dlg>*:not(.dhead){margin-left:20px;margin-right:20px}
.dlg form{margin-bottom:18px}
.dhead{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1.5px dashed var(--line);position:sticky;top:0;background:var(--card);z-index:2}
.dhead h3{font:800 30px/1 var(--d);text-transform:uppercase;margin:0}
.x{border:0;background:none;font:400 32px/1 var(--t);color:var(--ink);width:44px;height:44px;cursor:pointer;border-radius:10px}
.x:hover{background:var(--paper2)}
.dtools{display:flex;gap:8px;margin-top:14px}
.dtools input{flex:1}.dtools select{width:auto}
.doclist{margin-top:10px;margin-bottom:10px}
.drow{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px dashed var(--line)}
.drow .n{font:700 14px var(--m);color:var(--red)}
.drow .c{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drow .a{font:700 14px var(--m)}
.drow button{min-height:40px}
.pill{font:700 11px var(--m);letter-spacing:.06em;text-transform:uppercase;border:1.5px solid currentColor;border-radius:6px;padding:1px 6px;margin-left:6px}
.pill.paid{color:var(--green)}.pill.draft{color:var(--muted)}.pill.accepted{color:var(--green)}.pill.sent{color:var(--blue)}
.dfoot{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 18px;border-top:1.5px dashed var(--line)}
.zipbox{display:inline-flex;gap:6px}.zipbox input{width:auto}
.filebtn{position:relative;overflow:hidden}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.logo-row{display:flex;gap:16px;align-items:center;margin:14px 0}
.logobox{width:120px;height:64px;border:2px dashed var(--line);border-radius:10px;display:grid;place-items:center;color:var(--muted);background:var(--paper);overflow:hidden}
.logobox img{max-width:100%;max-height:100%;object-fit:contain}
.tierbtns{display:flex;flex-direction:column;gap:10px;margin-top:14px}
#planbody{margin-top:14px}
#licform,#restform{margin-top:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
#licform label,#restform label{width:100%}
#sharelink{font:13px var(--m);width:100%;margin:10px 0}
.empty{padding:20px 0;color:var(--muted)}
body.viewer{background:var(--paper2)}
.viewer .paperwrap{max-width:760px;margin:24px auto}
.viewer .vbar{max-width:760px;margin:20px auto 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media (max-width:980px){.studio{grid-template-columns:1fr}.side{position:static}.paper{font-size:clamp(6px,2.1vw,11px)}}
@media (max-width:560px){.row3{grid-template-columns:1fr 1fr}.row2{grid-template-columns:1fr}.item,.items.disc .item{grid-template-columns:1fr 1fr 1fr 36px}.item .d{grid-column:1/-1}.items.disc .item{grid-template-columns:1fr 1fr 1fr 1fr 36px}.appbar .bizsel{display:none}.seg button{padding:10px 12px;font-size:16px}.drow{grid-template-columns:1fr auto}.drow .c{grid-column:1/-1;order:3}}
@media (prefers-reduced-motion:reduce){.slotpaper.go{animation:none}.punch{display:none}}
.banner[hidden]{display:none}
.item{align-items:end}
.item .d{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
.mbar{display:none}
@media (max-width:980px){.mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:10px;align-items:center;justify-content:space-between;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--ink);color:var(--paper)}
.mbar b{font:800 26px/1 var(--d)}.mbar .fine{color:var(--paper);opacity:.8;font-size:12px;display:block}
.mbar .btn{min-height:46px;font-size:18px;--sh:3px;border-color:var(--paper);box-shadow:0 3px 0 #000}
body.has-mbar{padding-bottom:84px}}
@media (min-width:981px){.paper{width:min(100%,calc((100vh - 280px) * 210 / 297));margin:0 auto}.paperwrap{display:flex;justify-content:center}}
@media (max-width:980px){body.has-mbar .toast{bottom:96px}}
