:root{color:#18322c;background:#f4f1e9;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.loading,.lock-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.loading{color:#6b7c76}.lock-card{width:min(100%,420px);padding:34px 28px;border:1px solid rgba(24,50,44,.1);border-radius:28px;background:#ffffffbf;box-shadow:0 22px 60px #2136301a}.mark{display:grid;width:48px;height:48px;margin-bottom:34px;place-items:center;border-radius:15px;color:#f8f5ec;background:#173a32;font-family:Georgia,serif;font-size:24px}.eyebrow{margin:0 0 8px;color:#9a6b45;font-size:11px;font-weight:800;letter-spacing:.18em}h1,h2,p{margin-top:0}.lock-card h1{margin-bottom:10px;font-size:30px;letter-spacing:-.04em}.muted{margin-bottom:34px;color:#6b7c76;font-size:15px}form label{display:block;margin-bottom:9px;font-size:13px;font-weight:700}form input{width:100%;padding:15px 16px;border:1px solid #ccd4cf;border-radius:13px;outline:none;background:#fff}form input:focus{border-color:#2e6757;box-shadow:0 0 0 3px #2e67571f}form button,.primary-link{display:flex;width:100%;min-height:50px;align-items:center;justify-content:center;margin-top:18px;border:0;border-radius:13px;color:#fff;background:#173a32;font-weight:750;cursor:pointer}form button:disabled{cursor:default;opacity:.45}.error{margin:9px 2px -4px;color:#af3e32;font-size:13px}.app-shell{width:min(100%,1080px);min-height:100vh;margin:0 auto;padding:28px 20px 60px}header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:34px}header h1{margin-bottom:0;font-size:27px;letter-spacing:-.04em}.header-actions{display:flex;align-items:center;gap:18px}.text-button{padding:8px 3px;border:0;color:#63736e;background:transparent;cursor:pointer}.hero-card{padding:28px;overflow:hidden;border-radius:25px;color:#f7f5ed;background:linear-gradient(145deg,#173a32,#295e50);box-shadow:0 18px 44px #173a322e}.hero-card.visitors-card{background:linear-gradient(145deg,#543d2d,#8b6547)}.hero-card .badge{display:inline-block;margin-bottom:30px;padding:6px 10px;border:1px solid rgba(255,255,255,.2);border-radius:99px;font-size:12px}.hero-card h2{margin-bottom:9px;font-size:25px;letter-spacing:-.04em}.hero-card p{max-width:460px;margin-bottom:26px;color:#ffffffb8;line-height:1.6}.hero-card .primary-link{width:fit-content;min-height:44px;margin:0;padding:0 18px;color:#173a32;background:#f3d7a8}.section-block{margin-top:40px}.section-heading h2{font-size:18px}.menu-grid{display:grid;gap:13px}.menu-card{display:grid;grid-template-columns:44px 1fr;padding:18px;border:1px solid rgba(24,50,44,.09);border-radius:18px;background:#ffffffab}.menu-card.active:hover{border-color:#173a3240;transform:translateY(-1px)}.menu-icon{display:grid;grid-row:span 2;width:34px;height:34px;place-items:center;border-radius:11px;color:#fff;background:#9a6b45;font-size:13px;font-weight:800}.menu-card strong{margin-bottom:5px;font-size:15px}.menu-card small{color:#6b7c76;line-height:1.45}.menu-card.disabled{opacity:.57}.parking-summary{display:flex;min-height:112px;align-items:center;justify-content:space-between;padding:24px;border-radius:23px;color:#f7f5ed;background:linear-gradient(145deg,#173a32,#295e50);box-shadow:0 18px 44px #173a3226}.summary-label{margin-bottom:7px;color:#ffffffad;font-size:12px;font-weight:700}.parking-summary strong{font-size:29px;letter-spacing:-.04em}.refresh-button{padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:99px;color:#fff;background:#ffffff14;cursor:pointer}.refresh-button:disabled{cursor:default;opacity:.5}.parking-layout{display:grid;gap:18px;max-width:720px;margin:0 auto}.parking-entry-layout{width:min(100%,560px);margin:0 auto}.entry-form{display:grid;gap:22px}.entry-form button{margin-top:2px}.vehicle-input{font-size:26px;font-weight:750;letter-spacing:.02em}.vehicle-screen{width:100%}.vehicle-heading{margin-bottom:20px;font-size:32px;letter-spacing:.01em}.vehicle-layout,.booking-form{display:grid;gap:18px}.booking-form button{margin-top:4px}.panel-title{margin-bottom:14px;font-size:16px;letter-spacing:-.02em}.loading-inline{display:grid;min-height:140px;place-items:center;color:#71807b;font-size:13px}.panel{padding:23px 20px;border:1px solid rgba(24,50,44,.09);border-radius:23px;background:#ffffffb8}.section-heading .step-label{margin-bottom:7px;color:#9a6b45;font-size:10px;font-weight:800;letter-spacing:.16em}.section-heading h2{margin-bottom:7px;font-size:20px;letter-spacing:-.03em}.section-heading>p:last-child{margin-bottom:23px;color:#6b7c76;font-size:13px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.field.full-field{grid-column:1 / -1}.parking-form .field label{margin-bottom:7px;color:#425a53;font-size:12px}.parking-form input,.parking-form select{width:100%;min-height:48px;padding:12px 13px;border:1px solid #d1d8d4;border-radius:12px;outline:none;color:#18322c;background:#fff}.parking-form input:focus,.parking-form select:focus{border-color:#2e6757;box-shadow:0 0 0 3px #2e67571a}.parking-form button{margin-top:24px}.reserve-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:24px;padding-top:24px;border-top:1px solid rgba(24,50,44,.08)}.reserve-form button{width:auto;min-width:100px;margin:0}.capacity-error{margin:20px 0 0;padding:13px 14px;border-radius:12px;color:#923a31;background:#f7e6e3;font-size:13px;font-weight:700}.reservations-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.count-badge{min-width:42px;padding:7px 9px;border-radius:99px;color:#725038;background:#f0e2d3;font-size:12px;font-weight:800;text-align:center}.notice,.panel-error{margin:0 0 14px;padding:11px 13px;border-radius:11px;font-size:13px}.notice{color:#255546;background:#e1eee8}.panel-error{color:#923a31;background:#f7e6e3}.reservation-list{display:grid;gap:10px}.reservation-card{display:grid;grid-template-columns:1fr auto;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(24,50,44,.08)}.reservation-card:last-child{border-bottom:0}.reservation-date{display:grid;gap:3px;color:#79553c;font-size:12px;font-weight:750}.reservation-date small{color:#8b9994;font-size:10px;font-weight:600}.reservation-entry{color:#536861;font-size:13px;font-weight:650}.reservation-main{min-width:0}.reservation-main strong{display:block;margin-bottom:4px;font-size:17px;letter-spacing:-.02em}.reservation-main p{overflow:hidden;margin:0;color:#71807b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.delete-button{padding:8px 3px 8px 10px;border:0;color:#a4483d;background:transparent;font-size:12px;cursor:pointer}.delete-button:disabled{cursor:default;opacity:.45}.empty-state{display:grid;min-height:150px;place-content:center;gap:7px;color:#71807b;font-size:13px;text-align:center}.empty-state strong{color:#425a53;font-size:15px}@media(min-width:720px){.app-shell{padding:54px 42px 80px}.hero-card{padding:44px}.hero-card h2{font-size:34px}.menu-grid{grid-template-columns:1fr 1fr}.parking-summary{min-height:132px;padding:30px 34px}.parking-layout{width:100%}.parking-layout.has-results{max-width:none;grid-template-columns:minmax(330px,.85fr) minmax(420px,1.15fr);align-items:start}.vehicle-layout{grid-template-columns:minmax(330px,.85fr) minmax(420px,1.15fr);align-items:start}.panel{padding:28px}}@media(max-width:420px){.field-grid{grid-template-columns:1fr}.field.full-field{grid-column:auto}.reservation-card{grid-template-columns:1fr auto}.reservation-date{grid-column:1 / -1}.entry-panel,.booking-panel,.reservations-panel{padding:22px 18px}.vehicle-input{min-height:62px;font-size:28px}}
