:root{--ink:#173535;--green:#006b60;--soft:#e7f4ef;--muted:#536e6a;--line:#dbe6e1;--paper:#fff;--amber:#87500b;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:#f1f5f2;font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(175deg,#e3eee6 0,transparent 27rem)}[hidden]{display:none!important}
h1,h2,p{margin:0}h1{font-size:clamp(1.65rem,4.2vw,2.1rem);letter-spacing:-.04em}h2{font-size:1.08rem;font-weight:750}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #b27317;outline-offset:3px}
.shell{margin:auto;padding:22px clamp(15px,4vw,32px) max(32px,env(safe-area-inset-bottom))}.owner{max-width:550px}.admin{max-width:1140px}
.top,.brand,.location,.adminhead,.rowtitle,.footer,.qr{display:flex;align-items:center;justify-content:space-between;gap:12px}.top{margin-bottom:24px}.brand{font-size:.99rem;font-weight:750;justify-content:flex-start;gap:9px}
.parking{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--green);color:white;font:bold 22px Arial}
.chip{display:inline-block;padding:3px 9px;border-radius:100px;font-size:.76rem;font-weight:650;white-space:nowrap;background:var(--soft);color:var(--green)}.chip.quiet{background:#eef1ed;color:#53645d}.chip.demo,.notice{color:#754811;background:#fff3d7}.notice{padding:10px 13px;margin-bottom:14px;border:1px solid #edd7a5;border-radius:10px;font-size:.87rem}
.ticket,.panel{border:1px solid var(--line);background:var(--paper);border-radius:16px;box-shadow:0 4px 14px #24443608;overflow:hidden}.panel{padding:clamp(17px,3vw,26px)}.ticket{margin-bottom:14px}.location{padding:20px 23px;border-bottom:1px solid var(--line);background:#f9fcf9}.over{font-size:.77rem;color:var(--muted);letter-spacing:.12em;font-weight:650}.price,.empty{padding:20px 23px}.price>span,.hint,.empty p{color:var(--muted);font-size:.86rem}.price>div{display:flex;align-items:baseline;gap:.3rem;font-variant-numeric:tabular-nums;color:var(--green);line-height:1.18}.price small{font-size:1.4rem}.price strong{font-family:Arial,sans-serif;font-size:3.2rem;letter-spacing:-.05em}.data{margin:0;padding:0 23px 12px}.data>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid #edf2ed}.data dt{flex-shrink:0;color:var(--muted);font-size:.87rem}.data dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:600;font-size:.94rem}.data dd.mono{font: .8rem/1.4 Consolas,monospace}.ticket #rule:not(:empty){padding:0 23px 16px}
.stack{display:grid;gap:10px}.primary,.secondary,.inactive{padding:10px 15px;border-radius:9px;border:1px solid var(--line);font-size:.95rem;font-weight:650}.primary{color:white;background:var(--green);border-color:var(--green)}.primary:hover:not(:disabled){background:#00564d}.secondary{color:var(--green);background:white}.inactive,button:disabled:not(.bay){color:#697a72;border-color:#e4e9e5;background:#f0f3ef}.full{width:100%;margin-top:8px}.linkbtn{background:none;border:0;color:var(--green);padding:6px 0;text-decoration:underline;text-underline-offset:3px;font-size:.9rem}.footer{justify-content:center;gap:18px}
.message:not(:empty){color:var(--green);padding:10px 13px;border-radius:8px;background:#e1efe8;font-size:.9rem;margin:12px 0}.message.bad:not(:empty){color:#902f22;background:#fff0e9}.adminhead{margin:12px 0 16px}.admincols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);gap:14px;align-items:start}.rowtitle{margin-bottom:10px}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:16px 0}.bay{display:grid;gap:2px;place-items:center;padding:8px 2px;border-radius:7px;font-size:.97rem;line-height:1.3;border:1px solid var(--line);background:#f5f8f5;color:var(--muted)}.bay small{font-size:.69rem}.bay.active{background:#dbefe6;color:#005d50}.bay.selected{box-shadow:inset 0 0 0 2px var(--green)}.compact{padding:0 0 12px}.spot label{font-size:.84rem;color:var(--muted)}input{min-width:0;width:100%;padding:10px;border:1px solid #adbbb5;border-radius:8px;color:var(--ink);background:white}.qr{border-top:1px solid var(--line);justify-content:flex-start;margin-top:16px;padding-top:14px}.qr img{width:94px;height:94px;image-rendering:pixelated}.qr b{font-size:.9rem}.recent{margin-top:16px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:610px;text-align:left;font-size:.83rem;font-variant-numeric:tabular-nums}th,td{padding:9px 5px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600}tr:last-child td{border-bottom:none}.rowtitle>.hint{font-size:.79rem}
@media(max-width:750px){.admincols{grid-template-columns:1fr}.top{margin-bottom:17px}.grid{grid-template-columns:repeat(6,minmax(0,1fr))}.shell{padding-top:16px}}@media(max-width:350px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}.location{padding:15px}}
.spot select{min-width:0;width:100%;padding:10px;border:1px solid #adbbb5;border-radius:8px;color:var(--ink);background:white;font:inherit}.spot select:focus-visible{outline:3px solid #b27317;outline-offset:3px}
.demo-confirm{width:min(calc(100% - 30px),420px);color:var(--ink)}
.demo-confirm:not([open]){display:none}
.demo-confirm::backdrop{background:#17353580}
