:root{color-scheme:light;--ink:#10263e;--muted:#53677d;--line:#d9e2ec;--blue:#095ebe;--navy:#0b1d32;--paper:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#edf2f7;color:var(--ink);font:16px/1.6 "Segoe UI",Tahoma,Arial,sans-serif}
a{color:var(--blue)}
button,.button,input,select{font:inherit}
button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:.45rem .85rem;cursor:pointer;text-decoration:none;white-space:nowrap}
button:hover,.button:hover{background:#edf5ff}
.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.primary:hover{background:#173a5e}
:focus-visible{outline:3px solid #4e9bef;outline-offset:2px}
h1,h2,p{margin:0} h1,h2{line-height:1.3}
input:not([type=checkbox]),select{display:block;width:100%;padding:.45rem .55rem;min-height:2.5rem;border:1px solid #c8d5e3;border-radius:6px;background:#fff;color:var(--ink)}
input[type=color]{padding:.15rem!important}
label{display:block;font-size:.9rem;color:var(--muted)}
.public-card{min-height:100vh;display:grid;place-items:center;padding:1rem}
.contact{width:min(100%,28rem);background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #173a5e15}
.contact header{background:var(--navy);color:#b6d6fa;padding:1rem 1.5rem;font-size:.75rem;letter-spacing:.17em}
.contact section{padding:clamp(1rem,6vw,2rem)}
.contact .brand{display:block;width:9rem;max-width:100%;margin-bottom:1rem}
.contact p{color:var(--muted)}
.contact nav{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.1rem}
.contact nav .primary{flex-basis:100%}
.stack{display:grid;gap:.8rem;margin-top:1rem}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--navy);padding:1rem max(1rem,calc((100vw - 1200px)/2));color:white}
.top strong{display:block;font-size:1.2rem}
.top .eyebrow{color:#a9c8ea}
.top nav{display:flex;gap:1rem;flex-wrap:wrap}
.top nav a{color:#e2f0ff;text-decoration:none}
.shell{width:min(1200px,calc(100% - 2rem));margin:1.3rem auto;display:grid;gap:1rem}
.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:clamp(.9rem,3vw,1.5rem)}
.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.section-head p{color:var(--muted)}
.section-head form{display:flex;align-items:end;gap:.5rem}
.eyebrow{display:block;direction:ltr;text-align:right;color:var(--muted);font-size:.68rem;letter-spacing:.14em;margin-bottom:.25rem}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.65rem;margin-bottom:.75rem}
.metrics div{padding:.65rem .8rem;border:1px solid var(--line);border-radius:8px;background:#f5f8fc}
.metrics span{display:block;color:var(--muted);font-size:.87rem}
.metrics strong{font-size:1.6rem;font-variant-numeric:tabular-nums}
summary{cursor:pointer}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:right}
th,td{border-bottom:1px solid var(--line);padding:.45rem .65rem;white-space:nowrap}
th{color:var(--muted);font-size:.85rem}
.profile-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:end;gap:.75rem}
.profile-form button{justify-self:start}
.check{align-self:center}
.url{margin:.9rem 0}
.notice{padding:.65rem 1rem;background:#e3f3eb;border-radius:7px}
.error{color:#981c26;background:#ffeaed}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,290px);gap:.9rem;margin-bottom:.9rem}
.workbench{display:grid;place-items:center;min-width:0;background:#edf2f7;padding:clamp(.65rem,3vw,1.5rem);border-radius:8px}
#board,.print-face{position:relative;aspect-ratio:85.6/54;container-type:inline-size;overflow:hidden}
#board{width:min(100%,660px);box-shadow:0 5px 20px #10263e24;touch-action:none}
.element{position:absolute;display:block;line-height:1.13;text-align:right;overflow-wrap:anywhere;user-select:none}
#board .element{cursor:grab}
#board .element:active{cursor:grabbing}
.element-name{font-weight:600}
.element-text[dir=ltr]{text-align:left}
.element-line{border-top:1px solid}
.element-qr{aspect-ratio:1;object-fit:contain}
.selected{outline:2px solid #4595fc}
.controls{display:grid;align-content:start;gap:.55rem}
.toolbar{display:flex;gap:.35rem;flex-wrap:wrap}
button[aria-pressed=true]{background:#e6f1fe;border-color:#7caee2}
fieldset{margin:0;padding:.5rem;border:1px solid var(--line);border-radius:6px}
fieldset label{margin-bottom:.35rem}
.coordinates{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.mini{color:var(--muted);font-size:.85rem}
#print-pages{display:none}
@media(max-width:760px){.editor-layout{grid-template-columns:minmax(0,1fr)}}
@page{size:85.6mm 54mm;margin:0}
@media print{
  body.dashboard,.shell,#designer{display:block!important;margin:0!important;padding:0!important;width:auto!important;border:0!important;background:transparent!important}
  .top,.shell>*:not(#designer),#designer>*:not(#print-pages){display:none!important}
  #print-pages{display:block!important}
  .print-face{width:85.6mm;height:54mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .print-face+.print-face{break-before:page}
}
.resize-handle{position:absolute;z-index:1;width:16px;height:16px;border:2px solid white;border-radius:50%;background:#0969cf;transform:translate(-50%,-50%);cursor:ew-resize}
.font-library{margin-top:1rem}
.font-library .profile-form{margin-top:.65rem}
