@font-face{font-family:Libre;src:url(fonts/libre-franklin-latin-400-normal.woff2);font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f6f5f1;color:#263630;font:16px/1.6 Libre,Arial,sans-serif}header{padding:22px max(24px,calc((100vw - 1060px)/2));background:#fff;border-bottom:1px solid #dedfd8;display:flex;justify-content:space-between;gap:24px;align-items:center}header>a{font-weight:bold;font-size:22px;text-decoration:none}header span{display:block;font-size:12px;font-weight:normal}nav{display:flex;align-items:center;gap:20px}main{max-width:1020px;margin:48px auto;padding:0 24px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#647568;font-size:12px}h1{font-size:36px;line-height:1.2;font-weight:500}h2{margin-top:30px;font-size:22px}a{color:#254a3e}button,.button{display:inline-block;padding:12px 20px;border:1px solid #254a3e;border-radius:6px;color:#fff;background:#254a3e;font:inherit;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#376451}button.quiet{background:none;color:#254a3e;border:none;padding:0}input,textarea{display:block;width:100%;padding:12px;border:1px solid #a9b5ac;border-radius:5px;font:inherit;background:#fff;color:#263630}textarea{resize:vertical}input:focus,textarea:focus{outline:3px solid #b6d8c7;outline-offset:1px}label{display:block;margin:0 0 20px;font-size:14px}.check{display:flex;align-items:center;gap:12px}.check input{width:20px;height:20px}fieldset{border:1px solid #d7ddd7;border-radius:6px;padding:22px;margin:24px 0}legend{padding:0 8px;font-weight:bold}.card{background:#fff;border:1px solid #dedfd8;border-radius:10px;padding:30px;margin:24px 0}.narrow{max-width:480px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.notice{padding:20px;border-left:4px solid #b49453;background:#fff5dd;margin:24px 0}.notice p{margin-bottom:0}.success{border-color:#4e8068;background:#e9f3ec}.error{border-color:#a43737;background:#fff0ec}.badge{display:inline-block;border-radius:20px;background:#e3e9e3;padding:4px 12px;font-size:13px}.stay-list{margin-top:28px}.stay-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;background:#fff;border-bottom:1px solid #ddd;text-decoration:none}.actions{display:flex;flex-wrap:wrap;gap:12px}.actions button{font-size:14px}.danger{background:#9a3737;border-color:#9a3737}footer{margin-top:48px;padding:24px 0;font-size:13px}small{color:#536357}summary{cursor:pointer}.empty{padding:40px;background:#fff}button:focus-visible,a:focus-visible{outline:3px solid #b49453;outline-offset:3px}@media(max-width:600px){header{padding:20px;display:block}nav{margin-top:16px}main{margin:30px auto;padding:0 18px}h1{font-size:29px}.form-grid{display:block}.card{padding:20px}fieldset{padding:16px}.stay-row{display:block}.stay-row>span{display:block;margin-top:10px}}

.stay-identity{min-width:0;overflow-wrap:anywhere}.stay-identity strong,.stay-identity small{display:block}.stay-identity small{margin-top:4px}.stay-row .badge{flex-shrink:0}
nav{flex-wrap:wrap}select{width:100%;padding:12px;border:1px solid #a9b5ac;border-radius:5px;font:inherit;background:white;color:#263630}.invoice-line{border-bottom:1px solid #dedfd8;margin-bottom:18px}.invoice-line:last-child{border:0}.card details{margin:20px 0}.actions{align-items:start}
.receipt-history{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}input[type=file]{max-width:100%;font-size:16px}fieldset:disabled{opacity:.85}article.card p{overflow-wrap:anywhere}[data-receipt-form] input,[data-receipt-form] select,[data-receipt-form] textarea{font-size:16px}nav{gap:14px}header{flex-wrap:wrap}[data-line-result]{font-size:14px;color:#254a3e}

.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-link{display:block;margin:0;text-decoration:none}.dashboard-link h2{margin:0}.dashboard-link p{color:#536357}.dashboard-link span{font-weight:bold}.dashboard-link:hover{border-color:#254a3e;background:#f0f5ef}@media(max-width:600px){.dashboard-grid{grid-template-columns:1fr}}

.bank-filter-actions{align-items:stretch}.bank-filter-actions>button,.bank-filter-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:0;font:inherit;line-height:1.4;text-align:center;text-decoration:none}.bank-filter-actions .secondary{background:#fff;color:#254a3e}.bank-filter-actions .secondary:hover{background:#edf3ef}@media(max-width:600px){.bank-filter-actions{display:grid;grid-template-columns:1fr;gap:12px}.bank-filter-actions>button,.bank-filter-actions>a{width:100%}}

[data-receipt-qr]{max-width:280px;margin:20px auto;background:#fff;padding:12px}[data-receipt-qr] svg{display:block;width:100%;height:auto}.receipt-handoff summary{font-weight:bold}
.stays-table-wrap{margin-top:28px;background:#fff;border:1px solid #dedfd8;border-radius:10px}.stays-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left;font-size:14px}.stays-table caption{text-align:left;padding:16px;font-weight:bold}.stays-table th,.stays-table td{padding:16px 14px;border-bottom:1px solid #dedfd8;vertical-align:top}.stays-table thead th{background:#e9ede7;font-size:12px}.stays-table th[scope=row]{width:36%;font-weight:normal}.stays-table th[scope=row] a{font-weight:bold}.stays-table small{display:block;margin-top:5px}.stays-table .stay-date{white-space:nowrap;font-variant-numeric:tabular-nums}.stays-table .badge{font-size:12px;white-space:normal}.stays-table .konus-documented{background:#dcefe1;color:#215337}.stays-table tbody tr:hover{background:#f6f8f4}.stays-table-wrap:focus-visible{outline:3px solid #b49453}

.stays-table th,.stays-table td{overflow-wrap:anywhere}.stays-table thead th:first-child{width:36%}.stays-table thead th:nth-child(2){width:30%}.stays-table .stay-date{display:block}.stays-table .stay-status{margin-top:8px}@media(max-width:600px){.stays-table{font-size:12px}.stays-table th,.stays-table td{padding:12px 7px}.stays-table .badge{padding:3px 6px;font-size:11px}.stays-table .stay-date{white-space:normal}}

/* Keep the guest-message hint and submit action on separate lines. */
label:has(>textarea[name="message"]){margin-bottom:6px}
label:has(>textarea[name="message"])+small{display:block;margin-bottom:20px}
/* Make receipt recognition a distinct, touch-friendly action. */
button[data-recognize-file]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:8px 0 8px 16px;padding:12px 20px;border:1px solid #225da8;border-radius:6px;background:#225da8;color:#fff;font-weight:600;line-height:1.4;vertical-align:middle}
button[data-recognize-file]:hover{background:#18477f;border-color:#18477f}
button[data-recognize-file]:focus-visible{outline:3px solid #225da8;outline-offset:3px}
button[data-recognize-file]:disabled{background:#64748b;border-color:#64748b;cursor:wait}
@media(max-width:600px){button[data-recognize-file]{display:flex;width:100%;margin:12px 0}}
button[data-ai-file]{background:#225da8;border-color:#225da8;margin:8px 0 8px 12px;min-height:48px}button[data-ai-file]:hover{background:#18477f}button[data-ai-file]:disabled{background:#64748b;cursor:wait}@media(max-width:600px){button[data-ai-file]{display:block;width:100%;margin:12px 0}}
