/* [INPUT] Shared web shell plus public sign-in/booking markup. [OUTPUT] Mobile-first account and guest-entry layouts. [POS] Login and customer booking pages. [PROTOCOL] Same-origin assets only; maintain accessible touch targets. */
.logout-button{white-space:nowrap;padding-inline:11px}
.login-card [hidden]{display:none!important}
.demo-badge[hidden]{display:none!important}
.chain-report{width:min(1040px,100%)}
.chain-report table{min-width:880px}
.chain-report .table-wrap{min-width:0;max-width:100%}
.chain-report td,.chain-report th{white-space:nowrap;font-size:13px}
.public-booking-page{min-height:100vh;background:#edf1eb;padding:30px 14px;display:grid;place-items:start center;color:#25312c}
.public-booking-card{width:min(640px,100%);background:#fff;border:1px solid #e4e8e1;border-radius:22px;box-shadow:0 18px 60px #173c3812;overflow:hidden}
.public-booking-head{display:flex;align-items:center;justify-content:space-between;padding:19px 25px;border-bottom:1px solid #edf0eb}
.public-booking-head .brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px}.public-booking-head .brand small{display:block;color:#738078;font-size:11px;margin-top:3px}
.public-booking-intro{padding:28px 32px 4px}.public-booking-intro h1{margin:9px 0;font-size:28px;letter-spacing:-.03em}.public-booking-intro p{color:#69766e;line-height:1.6;margin:0 0 16px}.public-booking-intro .demo-badge{display:inline-flex}
.public-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:22px 32px 28px}.public-booking-form .form-field{display:grid;gap:7px;font-size:13px;color:#46544b}.public-booking-form .form-field:nth-child(3),.public-booking-form .form-field:nth-child(6),.public-booking-form .booking-privacy,.public-booking-form>button{grid-column:1/-1}.public-booking-form input,.public-booking-form select,.public-booking-form textarea{width:100%;padding:12px;border:1px solid #d6ddd6;border-radius:8px;background:#fff;color:#25312c;font:inherit}.public-booking-form input:focus,.public-booking-form select:focus,.public-booking-form textarea:focus{outline:2px solid #1d5a4e45;border-color:#1d5a4e}.public-booking-form>button{width:100%;min-height:48px}.public-booking-form>button:disabled{opacity:.55;cursor:not-allowed}.booking-privacy{margin:0;color:#7b867e;font-size:12px;line-height:1.5}
.booking-status{margin:8px 32px 0;padding:13px 15px;border-radius:9px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.booking-success{background:#e9f4ec;color:#23563c;border:1px solid #cfe4d5}.booking-error{background:#fff0ed;color:#8c3428;border:1px solid #f1d1ca}.booking-info{background:#f2f5f1;color:#435047}
.public-booking-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 32px 20px;border-top:1px solid #edf0eb;color:#78827b;font-size:12px}.public-booking-foot a,.login-card a{color:#1b5b4f;text-decoration:none}.public-booking-foot a:hover,.login-card a:hover{text-decoration:underline}
.login-language{position:absolute;top:20px;right:22px}.login-language select{padding:7px;border:1px solid #d3dbd5;border-radius:7px;background:#fff}.login-card{position:relative}
.customer-passes{display:grid;gap:7px;padding-top:12px;margin-top:12px;border-top:1px solid #edf0eb;font-size:12px}.customer-passes>small,.customer-pass-row small,.customer-pass-detail small{display:block;color:#7b867e;font-size:10px;line-height:1.5;margin-top:4px}.customer-pass-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px 0;border-bottom:1px solid #f0f2ee}.customer-pass-row>small{grid-column:1/-1}.customer-pass-row .status-chip{font-size:9px;align-self:start}.customer-pass-detail{padding:8px 0;color:#35453b}.pass-use-panel{display:grid;gap:8px;padding:12px;border-radius:9px;background:#f3f7f2}.pass-use-panel>small{color:#728078}.pass-use-list{display:flex;flex-wrap:wrap;gap:7px}.pass-use-list .button{font-size:11px}
@media(max-width:560px){.public-booking-page{padding:0;background:#fff}.public-booking-card{border:0;border-radius:0;box-shadow:none;min-height:100vh}.public-booking-head{padding:15px 18px}.public-booking-intro{padding:22px 19px 4px}.public-booking-intro h1{font-size:24px}.public-booking-form{grid-template-columns:1fr;gap:13px;padding:18px 19px 24px}.public-booking-form .form-field,.public-booking-form .booking-privacy,.public-booking-form>button{grid-column:1}.booking-status{margin:8px 19px 0}.public-booking-foot{padding:14px 19px 20px}.logout-button{padding:8px;font-size:10px}}

.chain-report .period-metric table{min-width:0;width:100%}.chain-report .period-metric td{white-space:normal;overflow-wrap:anywhere;font-size:12px}.chain-report .period-metric th{white-space:normal;font-size:12px}.chain-report .period-metric td:nth-child(1),.chain-report .period-metric td:nth-child(2){min-width:130px}.chain-report .period-metric td:last-child{text-align:right;white-space:nowrap}
