:root{color-scheme:light;--green:#075c29;--ink:#123c25;--surface:#f3f7f2;--line:#dce6da;--white:#fff;--muted:#526658;--amber:#825200;--amber-bg:#fff1cf;--red:#a22b23;--radius:20px;--space:24px;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6;min-width:280px}a{color:var(--green);text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:active,.button:active{filter:brightness(.91)}:focus-visible{outline:3px solid #ad6a08;outline-offset:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:1px}input,textarea,select{accent-color:var(--green)}[hidden]{display:none!important}img{max-width:100%;object-fit:contain}svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.9rem,5vw,2.7rem);letter-spacing:-.055em;line-height:1.15;font-weight:800;text-wrap:balance}h2{font-size:1.3rem;line-height:1.3;letter-spacing:-.035em}h3{font-size:1.04rem;line-height:1.4}p{max-width:65ch}.muted,.hint{color:var(--muted)}.hint{font-size:.88rem}.skip{position:fixed;top:8px;left:8px;z-index:100;padding:12px;background:var(--white);transform:translateY(-180%)}.skip:focus{transform:none}
.app-header{height:88px;max-width:1120px;margin:auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:1.45rem;font-weight:800;letter-spacing:-.06em;min-height:48px}.brand img{border-radius:11px}.brand-region{font-size:.75rem;letter-spacing:0;margin-left:3px}.header-note{font-size:.84rem;color:var(--muted)}main{max-width:1056px;margin:16px auto 0;padding:0 0 calc(128px + env(safe-area-inset-bottom));min-height:65vh}.connection{background:var(--amber-bg);color:var(--amber);padding:12px 24px;text-align:center}.page-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin:24px 0 28px}.page-heading p{margin-top:12px}.page-heading h1{margin-top:8px}.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.9rem;font-weight:700}.back svg{width:18px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:5px 10px;background:#e4f1e4;color:var(--green);font-size:.76rem;font-weight:800;line-height:1.5;white-space:normal}.pill.pending{background:var(--amber-bg);color:var(--amber)}.pill.retired{background:#edf0ec;color:#526658}.pill.failed{background:#fff0ee;color:var(--red)}
.hero{display:grid;grid-template-columns:1fr .72fr;background:var(--green);color:var(--white);border-radius:28px 28px 0 0;overflow:hidden;min-height:260px}.hero-copy{padding:40px}.hero h1{font-size:clamp(2.25rem,5vw,3.5rem);max-width:10ch}.hero p{margin-top:18px;max-width:33ch;color:#e3eee5}.arrival-art{position:relative;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#096732}.arrival-art:before,.arrival-art:after{content:'';position:absolute;width:310px;height:310px;border:1px solid #ffffff21;border-radius:50%;transform:rotate(-20deg)}.arrival-art:after{width:430px;height:430px}.arrival-art svg{width:150px;height:150px;stroke-width:1.05;color:#d3e3bb;z-index:1}.find-panel{background:var(--white);padding:32px 40px;border:1px solid var(--line);border-top:0;border-radius:0 0 28px 28px}.find-form{display:flex;gap:12px;align-items:end}.find-form .field{flex:1;margin:0}.code-input{letter-spacing:.14em;font-size:1.45rem;font-weight:750;font-variant-numeric:tabular-nums}.scan-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.file-button{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--green);min-height:48px;cursor:pointer;padding:8px 0}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-button:focus-within{outline:3px solid #ad6a08;outline-offset:3px}.note-panel{display:flex;gap:18px;padding:28px 8px;align-items:start}.note-icon{display:grid;place-items:center;border:1px solid #bdcfba;border-radius:12px;width:48px;height:48px;flex:none}.note-panel p{margin-top:5px;font-size:.92rem;color:var(--muted)}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.panel{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.panel+.panel{margin-top:20px}.panel h2+p{margin-top:10px}.stack{display:grid;gap:20px}.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:24px;align-items:start}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;min-width:0}.field>span{font-size:.88rem;font-weight:750}.field input,.field textarea,.field select{border:1px solid #859a89;border-radius:11px;width:100%;padding:13px 14px;min-height:50px;color:var(--ink);background:var(--white)}.field textarea{min-height:120px;resize:vertical}.field small{color:var(--muted);font-size:.8rem}.field input::placeholder{color:#65776a;opacity:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 20px;border:1px solid var(--green);border-radius:12px;background:var(--green);color:var(--white);font-weight:750;text-decoration:none;line-height:1.45;text-align:center}.button.secondary{background:var(--white);color:var(--green);border-color:#9ab198}.button.quiet{background:transparent;border-color:transparent;color:var(--green);padding-left:0;justify-content:start}.button.danger{background:var(--white);color:var(--red);border-color:#d5a49f}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.actions>*{flex:1 1 auto}.form-error{background:#fff0ee;color:var(--red);padding:14px 16px;border-radius:10px;margin:12px 0 20px;font-size:.9rem;border-left:3px solid var(--red)}.form-error:empty{display:none}.empty{padding:48px 24px;text-align:center;border:1px dashed #9bb298;border-radius:20px;background:var(--white)}.empty svg{width:40px;height:40px;margin-bottom:12px}.empty p{margin:12px auto 20px}.loading{padding:60px 24px;color:var(--muted);text-align:center}.loading:before{content:'';display:block;width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.tabs{position:fixed;z-index:20;bottom:0;left:0;right:0;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--white);border-top:1px solid var(--line)}.tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--muted);font-size:.73rem;font-weight:650;min-height:56px;border-radius:12px;padding:5px;text-align:center;line-height:1.35;min-width:0}.tabs a[aria-current=page]{color:var(--green);background:#eaf3e7;font-weight:800}.tabs svg{width:22px;height:22px}.toast{position:fixed;bottom:calc(94px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:30;padding:14px 20px;background:var(--ink);color:var(--white);border-radius:14px;width:max-content;max-width:calc(100% - 32px);box-shadow:0 8px 30px #123c2520}.filters{display:grid;grid-template-columns:1fr 160px;gap:12px;margin-bottom:26px}.filters .field{margin-bottom:0}.property-group{margin-bottom:32px}.property-title{padding:0 2px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.property-title p{font-size:.84rem;color:var(--muted);margin-top:3px}.entrance-list{border:1px solid var(--line);border-radius:18px;background:var(--white);overflow:hidden}.entrance-row{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);padding:20px}.entrance-row+.entrance-row{border-top:1px solid var(--line)}.entrance-symbol{display:grid;place-items:center;width:48px;height:52px;border-radius:12px;background:var(--surface);color:var(--green);flex:none}.entrance-text{flex:1;min-width:0}.entrance-text h3{overflow-wrap:anywhere}.entrance-text p{font-size:.85rem;color:var(--muted);margin-top:5px}.entrance-end{display:flex;gap:12px;align-items:center}.entrance-end>svg{width:18px}.entrance-row:hover{background:#f7faf5}.code{font-variant-numeric:tabular-nums;letter-spacing:.09em;font-weight:800}.address-card{position:relative;background:var(--green);color:var(--white);border-radius:22px;padding:28px;overflow:hidden}.address-card .code{font-size:clamp(2rem,6vw,3rem);margin:20px 0;letter-spacing:.07em}.address-card .pill{background:#d9edcc}.address-card h2{margin-top:20px;font-size:1.5rem}.address-card p{color:#e1eee1}.qr-wrap{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px;text-align:center}.qr-wrap img{display:block;width:200px;height:200px;max-width:100%;margin:0 auto 16px;image-rendering:pixelated}.qr-wrap .button{width:100%;margin-top:14px}.arrival-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;display:block}.info-line{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.info-line dt{color:var(--muted)}.info-line dd{margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere}.instructions{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:14px}.route-link{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border-radius:14px;text-decoration:none;color:var(--ink);padding:18px;margin-top:20px}.route-link strong{display:block}.route-link small{display:block;color:var(--muted);margin-top:4px}.disclosure{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.disclosure summary{padding:16px 0;font-weight:750;cursor:pointer;min-height:48px}.disclosure>div{padding-top:12px}.review-banner{background:var(--amber-bg);color:var(--amber);border:1px solid #ecd9a8;padding:20px;border-radius:16px}.review-banner p{font-size:.9rem;margin-top:6px}.demo-banner{background:var(--amber-bg);border-left:4px solid var(--amber);padding:18px 20px;color:var(--amber);margin-bottom:24px}.demo-banner strong{display:block}.demo-banner p{font-size:.85rem;margin-top:6px}.price{font-size:2.8rem;line-height:1.2;font-weight:800;letter-spacing:-.06em;margin:20px 0 8px}.request-meta{font-size:.85rem;color:var(--muted);margin-top:8px}.steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px;counter-reset:steps}.steps li{position:relative;padding-left:42px;font-size:.9rem;counter-increment:steps}.steps li:before{content:counter(steps);position:absolute;left:0;width:28px;height:28px;border:1px solid #a4b99f;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:750}.steps strong{display:block}.account-avatar{width:60px;height:60px;border-radius:50%;background:#deecd8;display:grid;place-items:center;color:var(--green);font-size:1.5rem;font-weight:750;margin-bottom:20px}.account-links{display:grid;gap:12px;margin:24px 0}.account-links a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;text-decoration:none;font-weight:700;gap:12px}.login-shell{max-width:480px;margin:28px auto}.login-shell .panel{padding:32px}.login-shell h1{margin:16px 0}.login-shell p{margin-bottom:28px}.signin-mark{color:var(--green)}.signin-mark svg{width:36px;height:36px}.noscript{padding:24px}.caption{font-size:.8rem;color:var(--muted);margin-top:16px}
@media(min-width:800px){.tabs{left:50%;transform:translateX(-50%);width:540px;border:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:0 -4px 24px #123c2505}.tabs a{font-size:.8rem}.header-note{font-size:.9rem}}
@media(max-width:1120px){main{margin:16px 32px 0}}
@media(max-width:640px){.app-header{padding:12px 20px;height:76px}.brand{font-size:1.35rem}.brand img{width:35px;height:35px}.header-note{font-size:.73rem;max-width:110px;text-align:right;line-height:1.4}main{margin:12px 20px 0}.hero{grid-template-columns:1fr 100px;min-height:240px;border-radius:24px 24px 0 0}.hero-copy{padding:28px 0 28px 24px;z-index:1}.hero h1{font-size:2.3rem}.hero p{font-size:.9rem;max-width:24ch}.arrival-art{background:transparent;min-height:200px;align-items:start;padding-top:42px}.arrival-art svg{min-width:120px;width:120px;height:150px;transform:translateX(5px)}.arrival-art:before{width:200px;height:200px;top:20px;left:-20px}.arrival-art:after{width:320px;height:320px;top:-40px;left:-80px}.find-panel{padding:24px;border-radius:0 0 24px 24px}.find-form{display:grid}.find-form .button{width:100%}.code-input{font-size:1.35rem}.scan-row{gap:6px;margin-top:14px}.scan-row .hint{font-size:.8rem}.note-panel{padding-top:24px;gap:14px}.split{grid-template-columns:1fr}.page-heading{margin:16px 0 24px;gap:12px;flex-wrap:wrap}.page-heading p{font-size:.92rem}.page-heading>.button{width:100%}.panel{padding:22px}.two-fields{gap:12px}.filters{grid-template-columns:1fr 125px;gap:10px}.filters input,.filters select{padding:12px 10px}.entrance-row{padding:18px 16px;gap:12px;align-items:start}.entrance-end{flex-direction:column;align-items:end;gap:8px}.entrance-end>svg{display:none}.entrance-symbol{width:40px;height:46px}.entrance-text p{font-size:.78rem}.pill{font-size:.7rem;padding:4px 8px}.property-title{align-items:start}.property-title h2{font-size:1.15rem}.address-card{padding:24px}.address-card .code{font-size:2.35rem}.qr-wrap img{width:180px;height:180px}.login-shell{margin:20px auto}.login-shell .panel{padding:24px}.actions{gap:10px}.actions .button{flex:1 1 100%}.button{font-size:.92rem}.tabs{padding-left:10px;padding-right:10px}.tabs a{font-size:.67rem}.toast{font-size:.88rem}.two-fields .field>span{font-size:.83rem}}
@media(max-width:340px){main{margin-left:12px;margin-right:12px}.hero{grid-template-columns:1fr 80px}.hero-copy{padding-left:20px}.hero h1{font-size:2rem}.hero p{max-width:20ch}.filters,.two-fields{grid-template-columns:1fr}.entrance-symbol{display:none}.address-card .code{font-size:2rem}.tabs a{font-size:.61rem}}
h1[tabindex="-1"]:focus{outline:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
.entrance-map{height:260px;width:100%;border:1px solid var(--line);border-radius:16px;isolation:isolate;overflow:hidden;background:#e3ecdf;z-index:0}.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:10px!important}.leaflet-control-zoom a{min-height:44px;min-width:44px;line-height:44px!important}.leaflet-bar{border:1px solid #859a89!important}.address-card .route-link{background:#ffffff;color:var(--ink)}.leaflet-control-attribution a{min-height:auto}
.field>label{font-size:.88rem;font-weight:750}
