[hidden]{display:none!important}
:root{--navy:#1d2b4a;--accent:#9a4f12;--bg:#f4efe6;--card:#fff;--line:#ddd2c0;--ok:#2e7d32;--warn:#a15c00;--bad:#b3261e}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:#1d1d1d;line-height:1.45}
a{color:var(--navy)}
button,.btn{font:inherit;border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:8px;padding:.5em .9em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.35em;min-height:40px}
button.sec,.btn.sec{background:#fff;color:var(--navy)}
button.warn{background:#fff;color:var(--bad);border-color:var(--bad)}
button.small{padding:.2em .55em;min-height:30px;font-size:.88em;border-radius:6px}
button:disabled{opacity:.5;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c8741c;outline-offset:2px}
input[type=checkbox],input[type=radio]{width:auto;flex:none}
input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;border:1px solid #bcae98;border-radius:7px;padding:.45em .6em;background:#fff;color:#111;width:100%;max-width:100%}
textarea{min-height:6em;resize:vertical}
label{display:block;font-weight:600;font-size:.92em;margin:.6em 0 .2em}
.wrap{max-width:760px;margin:0 auto;padding:18px 16px 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.brand{display:flex;align-items:center;gap:14px;margin:6px 0 16px}
.brand img{height:62px;width:auto}
.brand h1{font-family:Georgia,serif;color:var(--navy);margin:0;font-size:1.6rem;line-height:1.1}
.brand p{margin:2px 0 0;color:#555;font-style:italic}
.msg{padding:.6em .8em;border-radius:8px;margin:.8em 0}
.msg.ok{background:#e7f4e8;color:#174d1a}.msg.err{background:#fbe9e7;color:#7a1712}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.muted{color:#666;font-size:.9em}
/* viewer */
.toolbar{position:sticky;top:0;z-index:5;background:var(--navy);color:#fff;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 12px}
.toolbar .t{font-weight:600;margin-right:auto}
.toolbar button,.toolbar .btn{background:#fff;color:var(--navy);border-color:#fff;min-height:36px;padding:.3em .7em}
.pages-outer{padding:16px 8px 40px;overflow:hidden}
.pages-scale{transform-origin:top left}
.pages-scale .g-page{box-shadow:0 2px 14px rgba(0,0,0,.18);margin:0 auto 18px}
@media print{.toolbar,.noprint{display:none!important}body{background:#fff}.pages-outer{padding:0}.pages-scale{transform:none!important;height:auto!important;width:auto!important;margin:0!important}.pages-scale .g-page{margin:0;box-shadow:none}}

/* PNG save sheet */
.png-sheet{position:fixed;inset:0;z-index:50;background:rgba(10,16,30,.55);display:flex;align-items:flex-start;justify-content:center;padding:4vh 10px;overflow:auto}
.png-box{background:#fff;color:#1b1b1b;border-radius:12px;max-width:560px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.35);overflow:hidden}
.png-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--navy);color:#fff}
.png-head .png-x{background:transparent;border:0;color:#fff;font-size:1.2em;min-height:32px;padding:0 .3em}
.png-body{padding:12px 14px 16px}
.png-msg{margin:0 0 10px}.png-msg.err{color:var(--bad)}
.png-acts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.png-hint{font-size:.9em;color:#555;margin:6px 0 10px}
.png-thumbs img{display:block;width:100%;height:auto;border:1px solid #ddd;margin:0 0 10px;-webkit-touch-callout:default}
