:root{--bg:#ffffff;--fg:#222222;--muted:#5f6360;--green:#7cc47f;--green-ink:#3f8f47;--green-deep:#2d6b35;--link:#1f5fa8;--line:#dfe3df;--tint:#f4faf4;--sunk:#f3f4f3;--sand:#efe6cf;--ok:#2c7a3b;--ok-soft:#e1f2e3;--warn:#8a5a00;--warn-soft:#f8eed6;--bad:#b3372c;--bad-soft:#f9e3e0;--f-display:"Cinzel", "Trajan Pro", Georgia, serif;--f-body:"Old Standard TT", Georgia, "Times New Roman", serif;--f-ui:"Helvetica Neue", Arial, system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font:15px/1.6 var(--f-body)}a{color:var(--link)}h1,h2{font-family:var(--f-display);font-weight:400;color:var(--green);text-wrap:balance;margin:0;line-height:1.25}h1{font-size:clamp(1.5rem,3.4vw,2rem)}h2{font-size:1.35rem}h3{font:700 1.1rem var(--f-body);color:var(--green-ink);margin:0}p{margin:0}.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 2px 6px #0000000f}.nav ul{list-style:none;margin:0 auto;padding-inline:16px;padding-block:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;font:500 .8rem var(--f-ui);letter-spacing:.04em}.nav a{color:#222;text-decoration:none;padding-block:4px;border-bottom:2px solid transparent}.nav a[aria-current=page]{border-color:var(--green)}.hero{height:clamp(140px,20vw,230px);background:#50636b url(/img/hero.jpg) center 55%/cover no-repeat;display:grid;place-items:center;padding-inline:16px}.hero h1{font-size:clamp(1.8rem,4.6vw,3rem);color:#fff;letter-spacing:.03em;text-shadow:0 1px 10px rgba(0,0,0,.35);text-align:center}.demo{background:var(--warn-soft);color:var(--warn);font:13px var(--f-ui);padding:8px 16px;text-align:center}.wrap{max-width:1000px;margin:0 auto;padding-inline:16px;padding-block:28px 56px}.who{display:flex;justify-content:flex-end;gap:12px;align-items:center;font:13px var(--f-ui);color:var(--muted);flex-wrap:wrap}.tabs{display:flex;gap:2px 22px;flex-wrap:wrap;justify-content:center;margin-block:14px 26px;border-bottom:1px solid var(--line)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--muted);font:500 .78rem var(--f-ui);letter-spacing:.08em;text-transform:uppercase;padding:10px 2px;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.tab[aria-selected=true]{color:var(--fg);border-color:var(--green)}.tab .count{display:inline-block;min-width:1.5em;padding:0 5px;border-radius:99px;background:var(--bad);color:#fff;font-size:.7rem;margin-left:6px;letter-spacing:0}button{font:600 .8rem var(--f-ui);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;padding:10px 16px;border:1px solid #bfc7bf;background:var(--bg);color:var(--fg);cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--green-ink);border-color:var(--green-ink);color:#fff}.btn-small{padding:6px 10px;font-size:.7rem}.btn-ghost{background:none;border-color:transparent;color:var(--link);text-transform:none;letter-spacing:0;font:400 .95rem var(--f-body);text-decoration:underline;padding-inline:0}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--green-ink);outline-offset:2px}.page-head{display:grid;gap:6px;text-align:center;margin-bottom:22px}.page-head p{color:var(--muted);max-width:62ch;margin-inline:auto}.section{border-top:1px solid var(--line);padding-block:22px;display:grid;gap:14px}.stack{display:grid;gap:0}.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.sec-head .n{font:500 .72rem var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.grid{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}label{display:grid;gap:5px;align-content:start;font:500 .78rem var(--f-ui);letter-spacing:.03em;color:var(--muted);min-width:0}input,select{font:400 1rem var(--f-body);color:var(--fg);background:var(--bg);border:1px solid #c9cfc9;border-radius:2px;padding:9px 10px;width:100%;min-width:0}input[aria-invalid=true]{border-color:var(--bad);background:var(--bad-soft)}.hint{font:400 .78rem var(--f-ui);color:var(--muted);letter-spacing:0}.row{display:grid;gap:10px;grid-template-columns:1fr 90px auto;align-items:end}.vrow{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr)) auto;align-items:end;padding:12px;background:var(--sunk)}.meter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--f-ui)}.meter .track{flex:1;min-width:140px;height:8px;border-radius:99px;background:var(--sunk);overflow:hidden;border:1px solid var(--line)}.meter .fill{height:100%;background:var(--green-ink);transition:width .2s}.meter.over .fill{background:var(--bad)}.meter b{font-variant-numeric:tabular-nums;font-weight:600}.pill{display:inline-block;font:600 .7rem var(--f-ui);letter-spacing:.03em;padding:2px 9px;border-radius:99px;white-space:nowrap}.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-mute{background:var(--sunk);color:var(--muted)}.rules{display:grid;gap:10px}.rules label{display:flex;gap:10px;align-items:flex-start;font:400 .95rem/1.5 var(--f-body);color:var(--fg);letter-spacing:0}.rules input{width:auto;margin-top:5px;accent-color:var(--green-ink)}.errors{background:var(--bad-soft);color:var(--bad);padding:12px 16px;font:14px var(--f-ui)}.errors ul{margin:6px 0 0;padding-left:18px}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:#222;color:#fff;padding:10px 18px;border-radius:2px;font:14px var(--f-ui);max-width:calc(100% - 32px);z-index:9}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px;font:14px var(--f-ui)}th,td{text-align:left;padding:9px 10px;border:1px solid var(--line);vertical-align:top}th{font-weight:500;background:var(--sunk)}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.8rem}.login{max-width:440px;margin:6px auto 0;display:grid;gap:18px}.login .intro{text-align:center;display:grid;gap:10px}.login .intro p{color:var(--muted)}.login form{display:grid;gap:14px;border:1px solid var(--line);padding:24px}.seg{display:flex;border:1px solid #c9cfc9}.seg button{flex:1;border:0;border-radius:0;padding:9px 6px;font-size:.68rem;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--green-ink);color:#fff}.center{text-align:center}.info-grid{display:grid;gap:26px 40px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-grid .list{display:grid;gap:12px}.k{color:var(--green-ink);font-weight:400}.quick{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:28px}.quick button{display:grid;gap:4px;text-align:left;text-transform:none;letter-spacing:0;padding:16px 18px;background:var(--tint);border-color:#cfe8d0}.quick button b{font:400 1.05rem var(--f-display);color:var(--green-deep)}.quick button span{font:400 .9rem var(--f-body);color:var(--muted)}.docs{display:grid;gap:10px;justify-items:center;font-size:1.08rem}.paper{background:#fff;color:#1f2a22;box-shadow:0 2px 16px #14321924;border:1px solid var(--line);padding:clamp(18px,5vw,48px);display:grid;gap:22px;max-width:816px;margin:0 auto}.paper .kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 20px}.paper .kv div{display:grid;gap:2px;min-width:0}.paper .kv span{font:500 .68rem var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:#667068}.paper .kv b{font-weight:700;overflow-wrap:anywhere}.paper hr{border:0;border-top:1px solid var(--line);margin:0}.paper ol{margin:0;padding-left:20px;display:grid;gap:4px}.paper table{min-width:0}.pkt-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}.pkt-head img{width:84px;height:auto}.passes{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.pass{border:2px dashed #9fb2a2;padding:4px}.pass-in{background:var(--green-deep);color:#fff;padding:16px;display:grid;gap:12px}.pass-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pass-top small:last-child{white-space:nowrap}.pass-top small{font:500 .6rem var(--f-ui);letter-spacing:.14em;text-transform:uppercase;opacity:.85}.pass-no{font:600 1.7rem var(--f-mono)}.pass-mid{display:flex;justify-content:space-between;align-items:center;gap:12px}.pass-exp{background:#fff;color:var(--green-deep);padding:6px 10px;display:inline-grid;margin-top:8px}.pass-exp small{font:500 .6rem var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:#667068}.pass-exp b{font:600 1.35rem var(--f-mono)}.pass-from{font:12px var(--f-ui);opacity:.85;margin-top:6px}.pass-qr{background:#fff;padding:6px;width:112px;flex:none}.pass-qr svg{display:block;width:100%;height:auto}.check{border:1px solid var(--line);padding:16px 18px;display:grid;gap:10px;margin-bottom:20px;background:var(--tint)}.check-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.check-row label{flex:1;min-width:200px}.check .btn-ghost{font-size:.85rem}.check-res{border-left:6px solid var(--muted);background:var(--bg);padding:12px 16px;display:grid;gap:10px;font-family:var(--f-ui)}.check-res.ok{border-color:var(--ok)}.check-res.exp,.check-res.bad{border-color:var(--bad)}.check-res.soon{border-color:var(--warn)}.check-res .big{font:400 1.5rem var(--f-display);margin-right:12px}.check-res.ok .big{color:var(--ok)}.check-res.exp .big,.check-res.bad .big{color:var(--bad)}.check-res.soon .big{color:var(--warn)}.kv2{display:grid;gap:10px 18px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kv2 div{display:grid;gap:1px;min-width:0}.kv2 span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.kv2 em{font-style:normal;font-size:.85rem;color:var(--muted)}details summary{cursor:pointer;color:var(--link)}.due{color:var(--warn);font-weight:600}h2.sub{margin:26px 0 10px}.pass-foot{font:11px var(--f-ui);opacity:.85;margin-top:auto}.sig{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:6px}.sig div{border-top:1px solid #9fb2a2;padding-top:4px;font:12px var(--f-ui);color:#667068}.pkt-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;justify-content:space-between;margin-bottom:18px}.cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:18px}.stat{border:1px solid var(--line);padding:12px 16px;text-align:center}.stat span{font:500 .7rem var(--f-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.stat b{display:block;font:400 1.8rem var(--f-display);color:var(--green-deep);font-variant-numeric:tabular-nums}.banner{border:1px solid #cfe8d0;background:var(--tint);padding:12px 16px;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:16px;font-family:var(--f-ui);font-size:14px}.empty{padding:24px;text-align:center;color:var(--muted);border:1px solid var(--line)}footer{border-top:1px solid var(--line);font:12px/1.5 var(--f-ui)}footer .in{max-width:1100px;margin:0 auto;padding-inline:16px;padding-block:22px;display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between}footer .brand{display:flex;align-items:center;gap:12px;font:500 .8rem var(--f-display)}footer img{width:52px;height:auto}.lotmap{border:1px solid var(--line);padding:12px;background:#fff;display:grid;gap:8px}.lotmap svg{display:block;width:100%;height:auto}.lotmap .legend{display:flex;gap:6px 18px;flex-wrap:wrap;font:12px var(--f-ui);color:var(--muted);align-items:center;padding-top:8px;border-top:1px solid var(--line)}.lotmap .legend>span{display:inline-flex;align-items:center;white-space:nowrap}.lotmap .legend .lot-connect{white-space:normal;margin-left:auto}.lotmap .sw-drive{width:26px;height:10px;margin-right:6px}.lotmap .lot-yours{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;font:14px var(--f-ui)}.lotmap .lot-yours li{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.lotmap .lot-yours b{color:#1f4d26}.lotmap .lot-yours li>span:last-child{color:var(--muted);font-size:13px}.lotmap .sw{display:inline-block;flex:none;width:14px;height:14px;border:1px solid #2d6b35;background:#a8e0a9;margin-right:6px}.lotmap .lot-yours .sw{margin-right:0}.lotmap .sw.off{background:#f2f3f2;border-color:#c9cfc9}.paper .lotmap{border-color:#cfd8cf}.petform .grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.permits{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}.permit{color:#fff;font-family:var(--f-ui);text-align:center;display:grid;gap:4px;justify-items:center;box-shadow:0 2px 10px #0000002e}.permit{width:200px;padding:22px 14px;border-radius:14px;gap:10px}.permit .no{font:600 1.35rem var(--f-mono);background:#fff;color:#1f2a22;padding:2px 10px;border-radius:3px}.permit .yr{font:700 1.6rem var(--f-ui);letter-spacing:.04em}.pass.guest{border-color:#a9b8c9}.pass.guest .pass-in{background:#1f4e79}.pass.guest .pass-exp{color:#1f4e79}.pass.work{border-color:#d9b38c}.pass.work .pass-in{background:#9a4a0b}.pass.work .pass-exp{color:#9a4a0b}.park-choice{border:1px solid var(--line);padding:10px 14px 12px;margin:0;display:grid;gap:8px;font-family:var(--f-ui)}.park-choice legend{font:600 .85rem var(--f-ui);padding:0 4px}.park-choice label,.seg-radio label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:400 .95rem var(--f-ui);color:var(--fg);letter-spacing:0}.park-choice input[type=radio],.seg-radio input[type=radio]{width:auto;flex:none;margin:0;accent-color:var(--green-ink)}.seg-radio{display:flex;flex-wrap:wrap;gap:8px 22px}.park-choice select{width:auto;min-width:0;flex:1 1 200px}.park-choice label{flex-wrap:nowrap;align-items:flex-start}.park-choice label input[type=radio]{margin-top:4px}.park-choice label:has(select){flex-wrap:wrap}.pass-space{font:600 .95rem var(--f-ui);background:#ffffff29;padding:3px 8px;display:block;width:fit-content;margin-top:6px}.vrow.ogv{grid-template-columns:170px 80px 1fr}@media (max-width:560px){.vrow.ogv{grid-template-columns:1fr 80px}.vrow.ogv label:last-child{grid-column:span 2}}.gp-wrap{display:grid;gap:12px;background:var(--sunk);padding:12px}.gp-veh{display:grid;gap:8px;grid-template-columns:120px 70px 1fr;align-items:end}@media (max-width:560px){.gp-veh{grid-template-columns:1fr 70px}.gp-veh label:last-child{grid-column:span 2}}.share-spaces{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.space{border:1px solid var(--line);padding:14px 16px;display:grid;gap:4px;font-family:var(--f-ui)}.space b.id{font:600 1.4rem var(--f-mono);color:var(--green-deep)}.space .muted{font-size:.85rem}.req{border:1px solid var(--line);padding:14px 16px;display:grid;gap:10px;font-family:var(--f-ui);font-size:14px}.req-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}.req-top h3{font:400 1.1rem var(--f-display);color:var(--green-deep)}.req-note{font:italic .95rem var(--f-body);color:var(--fg)}.req-act{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.req-act label{min-width:170px}.offers{display:grid;gap:4px;margin:0;padding-left:18px}.reqs{display:grid;gap:12px}@media (max-width:560px){.row{grid-template-columns:1fr 70px}.row .rm{grid-column:span 2;justify-self:start}.sig{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.loading{padding:40px;text-align:center;color:var(--muted);font-family:var(--f-ui)}.err-inline{color:var(--bad);font:14px var(--f-ui)}@media print{.nav,.hero,.who,.tabs,.pkt-bar,.hint.noprint,footer,.toast{display:none!important}.wrap{padding:0}.paper{box-shadow:none;border:0}}a.tab{text-decoration:none;display:inline-block}a.tab.active{color:var(--fg);border-color:var(--green)}.inline-form{display:grid;gap:12px;padding:14px 16px;background:var(--sunk)}.file-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:14px var(--f-ui)}@media print{.nav,.hero,footer,.who,.tabs,.pkt-bar,.no-print,.toast{display:none!important}.wrap{padding:0;max-width:none}.paper{box-shadow:none;border:0;padding:0}}@media print{body.print-one .print-target .req-act,body.print-one .print-target .gp-veh,body.print-one .print-target .hint{display:none}}@media (max-width:560px){.vrow.ogv{grid-template-columns:1fr 70px}.vrow.ogv label:last-child{grid-column:1/-1}}.unit-switch{display:flex;align-items:center;gap:8px;font:500 13px var(--f-ui);color:var(--muted)}.unit-switch select{width:auto;padding:5px 8px;font:600 14px var(--f-ui)}.lot-level{display:grid;gap:4px}.lot-title{font:13px var(--f-ui);color:var(--muted)}.lot-title b{font-size:15px;color:#2d6b35;margin-right:6px}.paper .lot-level{break-inside:avoid}.lotmap .sw.open{background:#fbf4e2;border:1px dashed #b9a46c}.paper .emerg{border:2px solid #b3261e;padding:14px 16px;break-inside:avoid}.paper .emerg h2{color:#b3261e}.roster-warn{background:var(--bad-soft);color:var(--bad);padding:10px 14px;font:13px var(--f-ui)}.roster-floor h2{margin:6px 0 8px}.paper.roster table{font-size:13px}@media print{.paper.roster .roster-floor{break-inside:avoid}.paper.roster .tablewrap{overflow:visible}}.company-name{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);max-width:520px}.company-name .seg-radio{display:grid;gap:6px}.company-name .seg-radio label{display:flex;gap:8px;align-items:center;font:400 .9rem var(--f-ui);color:var(--fg);letter-spacing:0}label.toggle{display:flex;gap:10px;align-items:center;font:500 .95rem var(--f-ui);color:var(--fg);letter-spacing:0;cursor:pointer}label.toggle input{width:18px;height:18px;margin:0}.company-name .seg-radio label{justify-content:flex-start;grid-template-columns:none}.company-name .seg-radio input{width:auto;flex:none;margin:0;padding:0}.company-name>b{font:600 .9rem var(--f-ui)}.lot-swipe{display:none}@media screen and (max-width:640px){.tablewrap{overflow:visible}.tablewrap table{min-width:0;display:block;border:0}.tablewrap thead{display:none}.tablewrap tbody{display:grid;gap:12px}.tablewrap tr{display:block;border:1px solid var(--line);padding:4px 14px;background:var(--bg)}.tablewrap td{display:block;position:relative;min-height:36px;padding:8px 0 8px 112px;border:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.tablewrap td:last-child{border-bottom:0}.tablewrap td:before{content:attr(data-label);position:absolute;left:0;top:10px;width:100px;font:500 .66rem/1.4 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tablewrap td[data-label=""]{padding-left:0}.tablewrap td[data-label=""]:before{display:none}.btn-small{min-height:40px;padding:8px 14px}a.center{display:inline-block;padding:10px 0}.unit-switch select{font-size:16px;min-height:40px}.lot-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.lot-scroll svg{min-width:720px}.lot-swipe{display:block}.pass-no{font-size:1.35rem}.pass-exp b{font-size:1.05rem;white-space:nowrap}.pass-qr{width:96px}.pkt-bar>a{display:inline-block;padding:10px 12px 10px 0}.paper .kv span{font-size:.74rem}}@media print{.lot-scroll{overflow:visible}.lot-scroll svg{min-width:0}.lot-swipe{display:none!important}}.rules input{flex:none;width:18px;height:18px}.open-parking{border:1px solid #e8c77a;background:#fff6e0;color:#5b4300;padding:10px 14px;margin:0 0 16px;font:14px/1.45 var(--f-ui);display:grid;gap:6px}.banner.warn{border-color:#e8c77a;background:#fff6e0}.op-list{display:grid;gap:10px}.op-item{border:1px solid var(--line);padding:12px 14px;display:grid;gap:8px;font-family:var(--f-ui)}.demo-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#1f3b25;color:#fff;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));font:13px var(--f-ui);box-shadow:0 -2px 10px #00000026}body:has(.demo-bar){padding-bottom:84px}.demo-tag{background:#f5c451;color:#3b2a00;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px;padding:3px 8px;border-radius:3px}.demo-note{opacity:.85}.demo-people{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.demo-people button,.demo-mail{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);padding:5px 10px;font:600 12px var(--f-ui);letter-spacing:0;text-transform:none;border-radius:3px;display:inline-grid;line-height:1.2;text-align:left}.demo-people button small{font-weight:400;opacity:.8;font-size:10.5px}.demo-people button[aria-pressed=true]{background:#fff;color:#1f3b25}.demo-mail{margin-left:auto}.demo-mail+.demo-mail{margin-left:0}.demo-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#fffffff0;display:grid;place-content:center;gap:8px;text-align:center;font:15px var(--f-ui);color:var(--fg)}.demo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073;display:grid;place-items:center;padding:16px}.demo-sheet{background:#fff;width:min(1100px,100%);height:min(86vh,900px);display:grid;grid-template-rows:auto 1fr;border-radius:4px;overflow:hidden}.demo-sheet-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);font-family:var(--f-ui)}.demo-sheet-head .btn-small{margin-left:auto}.demo-sheet-body{display:grid;grid-template-columns:minmax(220px,340px) 1fr;min-height:0}.demo-list{list-style:none;margin:0;padding:6px;overflow:auto;border-right:1px solid var(--line)}.demo-list button{all:unset;cursor:pointer;display:grid;gap:2px;padding:8px 10px;border-radius:3px;font:13px var(--f-ui);width:calc(100% - 20px)}.demo-list button small{color:var(--muted);font-size:11.5px}.demo-list button[aria-pressed=true],.demo-list button:hover{background:var(--tint)}.demo-preview{display:grid;grid-template-rows:auto 1fr;min-height:0;padding:0 10px 10px;background:#f4f5f3}.demo-preview iframe{width:100%;height:100%;border:0;background:#f4f5f3}@media (max-width:700px){.demo-sheet-body{grid-template-columns:1fr;grid-template-rows:40% 60%}.demo-list{border-right:0;border-bottom:1px solid var(--line)}.demo-note{display:none}.demo-mail{margin-left:0}}@media print{.demo-bar,.demo-modal,.demo-boot{display:none!important}}.confirm-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;display:grid;place-items:center;padding:16px}.confirm-box{background:#fff;width:min(460px,100%);padding:22px 22px 18px;border-radius:6px;box-shadow:0 10px 40px #00000040}.confirm-box h2{margin:0 0 10px;font:400 1.35rem/1.3 var(--f-display);color:var(--green-ink)}.confirm-box p{margin:0 0 6px;font:400 .95rem/1.5 var(--f-body);color:var(--fg)}.confirm-act{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}@media (max-width:560px){.confirm-act{flex-direction:column-reverse}.confirm-act button{width:100%}}@media print{.confirm-back{display:none!important}}textarea{font:400 1rem var(--f-body);color:var(--fg);background:var(--bg);border:1px solid #c9cfc9;border-radius:2px;padding:9px 10px;width:100%;min-width:0;resize:vertical}.letter{gap:16px;font-size:15px;line-height:1.55}.letter p{margin:0}.letter-to{display:grid;gap:0;font-family:var(--f-ui);font-size:14px;line-height:1.45}.letter-title{font-size:1.25rem;margin:4px 0 0;color:#1f2a22}.letter table.facts{width:100%;border-collapse:collapse;min-width:0}.letter table.facts td{border:1px solid var(--line);padding:8px 10px;vertical-align:top;overflow-wrap:anywhere}.letter table.facts td:first-child{width:28%;color:#667068;font:500 .8rem var(--f-ui)}.letter-sign{margin-top:18px;display:grid;gap:2px;max-width:320px;font-family:var(--f-ui);font-size:14px}.letter-sign .sigline{border-bottom:1px solid #1f2a22;height:42px;margin-bottom:4px}.report .bar{height:10px;background:var(--green-ink);min-width:2px;border-radius:2px}@page{size:letter;margin:.5in}@page pass{size:letter landscape;margin:.5in}@media print{.pass{--pc:var(--green-deep)}.pass.guest{--pc:#1f4e79}.pass.work{--pc:#9a4a0b}.paper{display:block;max-width:none}.paper>*+*{margin-top:22px}.passes{display:block}.paper h2{break-after:avoid}.paper .lotmap{break-inside:avoid}.pass-section{page:pass;margin-top:0!important}body{padding-bottom:0!important;margin:0!important}.pass-section>h2,.pass-section>p{display:none}.pass{page:pass;break-before:page;break-inside:avoid;border:0;padding:0;margin:0;height:7.2in;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pass-in{box-sizing:border-box;height:100%;background:#fff!important;color:#111;border:.22in solid var(--pc);padding:0;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden}.pass-top{background:var(--pc);color:#fff;padding:.12in .3in}.pass-top small{font-size:13pt;opacity:1}.pass-mid{padding:.2in .4in;gap:.4in}.pass-no{font-size:64pt;line-height:1;color:var(--pc);letter-spacing:.02em;white-space:nowrap}.pass-space{font-size:34pt;background:none;color:#111;padding:0;margin-top:.12in}.pass-exp{background:none;color:#111!important;padding:0;margin-top:.18in}.pass-exp small{font-size:14pt;color:#333}.pass-exp b{font-size:44pt;white-space:nowrap}.pass-from{font-size:17pt;opacity:1;color:#333;margin-top:.08in}.pass-qr{width:2.6in;padding:0}.pass-foot{font-size:12.5pt;opacity:1;color:#333;border-top:1px solid #ccc;padding:.12in .4in .16in}body.print-one *:not(.print-path):not(.print-target):not(.print-target *){display:none!important}body.print-one .print-path{display:block!important;border:0!important;padding:0!important;margin:0!important;max-width:none!important;width:auto!important;min-height:0!important;box-shadow:none!important;background:none!important}body.print-one .print-target{position:static;display:block;background:#fff;padding:0;margin:0}body.print-one .print-target>*+*{margin-top:16px}}.unit-cell{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.unit-chip{display:inline-flex;align-items:center;gap:6px;background:var(--sunk);padding:2px 8px;border-radius:3px}.unit-chip .btn-ghost{font-size:.8rem;padding:0}.unit-add{display:inline-flex;gap:6px;align-items:center}.unit-add input{width:70px;padding:5px 8px}.confirm-box.remove-unit{width:min(560px,100%);max-height:86vh;overflow:auto}.rm-group{border:1px solid var(--line);padding:8px 12px;margin:8px 0;display:grid;gap:6px}.rm-group legend{font:600 .78rem var(--f-ui);color:var(--muted);padding:0 4px}.rm-group .toggle{font-size:.88rem}@media (max-width:560px){.unit-chip .btn-ghost,.unit-cell .btn-ghost{min-height:40px;padding:0 6px}}
