:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17352f;background:#f3f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,input,select,textarea,a{outline-offset:3px}.gate-wrap{max-width:780px;margin:7vh auto;padding:24px}.card{background:#fff;border:1px solid #d6e2dd;border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:0 18px 50px #17352f12}.tag,.eyebrow{color:#0e6758;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}h1{font-size:clamp(2rem,6vw,3.6rem);line-height:1.03;margin:.2em 0}h2{font-size:clamp(1.45rem,3vw,2.2rem);margin:.3em 0}h3{margin:.4em 0}p{line-height:1.55}.gate-wrap label,.field label{display:block;font-weight:750;margin:20px 0 7px}input,select,textarea{width:100%;border:1px solid #a9bdb6;border-radius:12px;padding:12px 14px;background:#fff;color:#17352f;min-height:46px}textarea{min-height:90px;resize:vertical}button,.button{border:0;border-radius:12px;padding:12px 16px;background:#0e6758;color:#fff;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary{background:#e5f0ec;color:#16483e}.ghost{background:transparent;color:#0e6758;border:1px solid #b9cec7}.danger{background:#9f2d2d}.error,.success,.warning{padding:13px 15px;border-radius:12px;margin:14px 0}.error{background:#ffeded;color:#871b1b}.success{background:#e7f6eb;color:#1e6231}.warning{background:#fff5d9;color:#694d00}.notice{font-size:.92rem;color:#4c655e;margin-top:30px;padding-top:18px;border-top:1px solid #d7e2de}a{color:#0e6758}nav{display:flex;gap:14px;flex-wrap:wrap}.app-header{position:sticky;top:0;z-index:10;background:#fbfdfccc;border-bottom:1px solid #d6e2dd;backdrop-filter:blur(12px)}.header-inner{max-width:1180px;margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:850;font-size:1.25rem}.app-nav button{background:transparent;color:#31584f;padding:9px 12px}.app-nav button.active{background:#dfeee9;color:#0b5b4d}.userbox{display:flex;align-items:center;gap:10px}.app-main{max-width:1180px;margin:0 auto;padding:30px 22px 80px}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;align-items:stretch}.hero .card:first-child{background:linear-gradient(135deg,#0f6959,#154d43);color:white}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero .secondary{background:#fff;color:#105c50}.stats{display:grid;gap:12px}.stat{background:#eef5f2;border-radius:16px;padding:18px}.stat strong{display:block;font-size:1.6rem}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:26px 0 14px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.room-card{border:1px solid #cfddd8;border-radius:16px;padding:16px;background:#fff}.room-card.selected{border:2px solid #0e6758;background:#eef8f4}.room-card button{width:100%;text-align:left;justify-content:flex-start}.muted{color:#5d736d}.small{font-size:.88rem}.pill{display:inline-flex;border-radius:999px;background:#e5f0ec;padding:5px 9px;margin:3px;font-size:.82rem}.booking{display:grid;grid-template-columns:110px 1fr auto;gap:14px;padding:15px 0;border-bottom:1px solid #dce6e2;align-items:start}.booking-time{font-weight:800}.empty{padding:30px;border:1px dashed #a9bdb6;border-radius:16px;text-align:center;color:#587069}.login-card{max-width:520px;margin:30px auto}.checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:190px;overflow:auto;border:1px solid #d1dfda;border-radius:14px;padding:10px}.checkboxes label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;margin:0}.checkboxes input{width:20px;min-height:20px}.overlay{position:fixed;inset:0;background:#102c2799;display:grid;place-items:center;padding:20px;z-index:30}.dialog{max-width:540px;width:100%;max-height:90vh;overflow:auto}.spinner{display:inline-block;width:18px;height:18px;border:3px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 14px}.admin-tabs button{white-space:nowrap;background:#e5f0ec;color:#16483e}.admin-tabs button.active{background:#0e6758;color:#fff}.table-wrap{width:100%;overflow:auto;border:1px solid #d4e1dc;border-radius:15px}.matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:700px;background:#fff}.matrix th,.matrix td{padding:10px;border-right:1px solid #dce7e3;border-bottom:1px solid #dce7e3;text-align:center}.matrix th:first-child,.matrix td:first-child{position:sticky;left:0;text-align:left;background:#fff;z-index:2;min-width:180px}.matrix thead th{position:sticky;top:0;background:#edf5f2;z-index:3}.matrix thead th:first-child{z-index:4}.matrix input{width:22px;min-height:22px}.admin-row{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(180px,1.4fr) minmax(120px,.8fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #dce7e3}.admin-row .actions{margin:0;justify-content:flex-end}.admin-row button{padding:8px 10px}@media(max-width:820px){.hero,.grid.two,.grid.three{grid-template-columns:1fr}.header-inner{align-items:flex-start;flex-wrap:wrap}.app-nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.booking,.admin-row{grid-template-columns:1fr}.admin-row .actions{justify-content:flex-start}.table-wrap{max-height:68vh}.matrix th:first-child,.matrix td:first-child{min-width:135px}.app-main{padding:20px 14px 70px}.card{border-radius:18px}.hide-mobile{display:none}}@media(pointer:coarse){button,.button,input,select{min-height:48px}}
