:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24372f;background:#f4f3ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:100px;max-width:1200px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9ddd4}.brand{font-family:Georgia,serif;font-size:25px;letter-spacing:4px;color:inherit;text-decoration:none}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:3px;margin-top:7px}main{max-width:1000px;margin:70px auto;padding:0 40px}.eyebrow,.step{font-size:11px;font-weight:650;letter-spacing:2px;color:#657b6d}h1{font-family:Georgia,serif;font-size:clamp(32px,5vw,52px);font-weight:400;letter-spacing:-1px;margin:16px 0}h2{font-size:23px;font-weight:500;margin:18px 0}.intro{font-size:17px;color:#6b746d;line-height:1.6;margin-bottom:36px}.card{background:#fffef9;border:1px solid #dde1d8;border-radius:16px;padding:30px;margin:20px 0}.card p{line-height:1.6;color:#66736a}#login{max-width:520px}label{display:block;font-size:13px;font-weight:600;margin:22px 0 10px}input,select{font:inherit;background:white;color:#24372f;border:1px solid #c7d0c6;border-radius:8px;min-height:50px;padding:12px 15px;width:100%}input:focus,select:focus{outline:2px solid #678b75;outline-offset:2px}button{font:inherit;border:0;border-radius:8px;background:#294f3c;color:white;min-height:48px;padding:13px 20px;cursor:pointer}button:hover{background:#1e402e}button:disabled{opacity:.5;cursor:wait}#login button{display:flex;justify-content:space-between;width:100%;margin-top:18px}.muted{font-size:12px;color:#7b827b!important}.search-row{display:flex;gap:12px}.search-row input{flex:1;min-width:0}.booking-head{display:flex;justify-content:space-between;gap:20px}.balance{font-family:Georgia,serif;font-size:32px;margin:8px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.quiet{background:transparent;color:#294f3c;padding:8px 12px}.quiet:hover{background:#e7ece4}#account{font-size:13px}#notice:empty{display:none}#notice{border-left:3px solid #a08d5b;padding:12px 18px;background:#efeadb;line-height:1.5}footer{margin-top:60px;padding-top:22px;border-top:1px solid #d9ddd4;font-size:12px;color:#7e877e;display:flex;justify-content:space-between;gap:16px}[hidden]{display:none!important}@media(max-width:600px){header{height:85px;padding:22px}main{margin-top:38px;padding:0 22px}.card{padding:23px}.booking-head{display:block}footer{display:block;line-height:2}footer span{display:block}.search-row{gap:8px}#name{display:none}}
:root{background:#f5f6f7;color:#202a25}header{height:60px;padding:8px 24px;max-width:1280px}.brand{font-family:inherit;font-size:17px;font-weight:700;letter-spacing:1px}.brand span{display:inline;font-size:11px;letter-spacing:1px;margin-left:10px}main{max-width:1280px;margin:20px auto;padding:0 24px}h1{font-family:inherit;font-size:24px;font-weight:650;letter-spacing:0;margin:12px 0 18px}h2{font-size:18px;margin:8px 0}.card{padding:16px;border-radius:8px;margin:12px 0;background:#fff}.search{padding:12px;margin-bottom:14px}#search-form{display:grid;grid-template-columns:220px 1fr;gap:6px 16px}#search-form label{margin:0;font-size:12px}#search-form label[for=property]{grid-column:1;grid-row:1}#property{grid-column:1;grid-row:2}#search-form label[for=query]{grid-column:2;grid-row:1}.search-row{grid-column:2;grid-row:2}input,select{min-height:44px;padding:9px 10px}button{min-height:44px;padding:10px 14px;font-size:14px}.list-heading{display:flex;align-items:center;justify-content:space-between}#application>.muted{margin:4px 0;font-size:12px}#list-status{margin-bottom:10px!important}#results{border:1px solid #dce1de;border-radius:8px;overflow:hidden;background:#fff}.booking-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 14px;border-bottom:1px solid #e6e9e7;align-items:center}.booking-row:last-child{border-bottom:0}.booking-info{min-width:0}.booking-info h3{margin:0 0 5px;font-size:15px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}.booking-meta{margin:0;color:#626b65;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.booking-side{display:grid;grid-template-columns:150px 132px;grid-template-rows:auto auto;gap:2px 16px;align-items:center;text-align:right}.booking-amount{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums;grid-column:1;grid-row:1}.booking-status{font-size:11px;color:#6a746e;grid-column:1;grid-row:2}.booking-action{grid-column:2;grid-row:1/3;white-space:normal;line-height:1.2}.payment-link{font-size:12px;margin-top:6px;max-width:500px}#notice{font-size:13px;margin:8px 0;padding:8px 12px}#admin{margin-top:24px}summary{cursor:pointer;font-weight:600;min-height:44px;align-content:center}footer{margin-top:24px;padding-top:14px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #698f79;outline-offset:2px}
@media(max-width:600px){header{height:52px;padding:6px 12px}main{margin:12px auto;padding:0 10px}h1{font-size:20px;margin:8px 0 12px}#search-form{grid-template-columns:1fr;gap:6px}#search-form label[for=property]{grid-row:1}#property{grid-row:2}#search-form label[for=query]{grid-column:1;grid-row:3;margin-top:4px}.search-row{grid-column:1;grid-row:4}.search{padding:10px}.booking-row{padding:9px 10px;gap:8px}.booking-info h3{font-size:14px}.booking-meta{font-size:11px}.booking-side{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:104px;max-width:122px}.booking-amount{font-size:16px}.booking-status{font-size:10px}.booking-action{padding:7px 9px;font-size:12px;min-height:44px}.brand{font-size:15px}.brand span{font-size:10px;margin-left:7px}footer{font-size:11px}#account #name{display:none}#results:empty{border:0}}

.booking-title{display:flex;align-items:center;gap:4px}.booking-title h3{flex:1;margin:0}.booking-toggle{flex:none;background:transparent;color:#486452;padding:0;min-height:44px;width:36px;font-size:23px;border:0}.booking-toggle:hover{background:#edf2ee}.booking-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;border-top:1px solid #e6e9e7;padding-top:10px;font-size:13px}.booking-detail-field{display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}.booking-detail-label{font-size:11px;color:#69736d}.booking-details a{color:#245c40;text-decoration:underline;padding:4px 0}.booking-row.link-paid{background:#eaf5ec}.booking-row.link-waiting{background:#fff0ee}.booking-payment-status{display:block;font-size:11px;font-weight:650;margin-top:4px;color:#24663d}.link-waiting .booking-payment-status{color:#a44237}

.payment-dialog{width:min(480px,calc(100vw - 24px));box-sizing:border-box;border:0;border-radius:12px;padding:20px;max-height:90dvh;overflow:auto}.payment-dialog::backdrop{background:#0006}.payment-dialog input,.payment-dialog textarea{box-sizing:border-box;width:100%;font:inherit;font-size:16px}.payment-dialog textarea{padding:12px;line-height:1.5;resize:vertical}.payment-dialog button{margin-top:10px}.payment-calculation{font-size:13px;line-height:1.6}.payment-warning{color:#a44237;font-size:13px}.excess-confirm{display:flex;align-items:center;gap:8px;font-size:13px}.excess-confirm input{width:20px;min-height:20px}.payment-result button{width:100%}

.booking-status{max-width:190px;white-space:normal;line-height:1.3}.booking-amount{font-size:16px}

.booking-allocation{grid-column:1/-1;white-space:pre-line;line-height:1.5;padding:8px;background:#f2f5f3;border-radius:6px}
.booking-links{grid-column:1/-1;min-width:0;border-top:1px solid #dce4df;padding-top:10px}.booking-links h4{margin:0 0 8px;font-size:13px}.payment-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 0;border-bottom:1px solid #e1e6e2}.payment-link-info{min-width:0;display:flex;flex-direction:column;gap:5px}.payment-link-meta{font-size:12px}.payment-link-info input{box-sizing:border-box;width:100%;min-width:0;padding:7px;font-size:16px;background:#fff;user-select:all}.payment-link-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:5px;font-size:12px;white-space:nowrap}.payment-link-actions button{font-size:12px;min-height:40px;padding:6px 8px}.payment-link-paid{color:#24663d;font-weight:650}.payment-link-unpaid{color:#a44237;font-weight:650}
