*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Noto Sans Thai,sans-serif;background:#f5f5f5;color:#222}.app{min-height:100vh}.page{max-width:480px;margin:0 auto;padding:24px 16px 60px}.center-message{display:flex;align-items:center;justify-content:center;height:100vh;font-size:20px}h1{font-size:24px;margin:0 0 8px}.subtitle{color:#666;margin-bottom:20px}.back-link{background:none;border:none;font-size:18px;color:#06c;padding:8px 0;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.room-box{aspect-ratio:1;font-size:24px;font-weight:700;border:2px solid #ccc;border-radius:12px;background:#fff;cursor:pointer}.room-box.recorded{background:#d9f7d9;border-color:#4caf50}.room-box:active{transform:scale(.96)}.menu-buttons{display:flex;flex-direction:column;gap:16px;margin-top:24px}.big-button{font-size:20px;padding:20px;border-radius:12px;border:none;cursor:pointer;width:100%}.big-button.primary{background:#06c;color:#fff}.big-button.secondary{background:#fff;border:2px solid #0066cc;color:#06c}.big-button:disabled{opacity:.6}.field{margin-bottom:18px}.field label{display:block;font-size:16px;margin-bottom:6px;font-weight:600}.field select,.field input{width:100%;font-size:18px;padding:12px;border-radius:8px;border:2px solid #ccc}.field small{display:block;color:#888;margin-top:4px}.notice{background:#fff8e1;border:1px solid #ffca28;padding:14px;border-radius:8px;margin-bottom:18px;font-size:15px}.receipt{background:#fff;border-radius:12px;padding:20px;margin-top:12px}.receipt-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee;font-size:16px}.receipt-row.total{font-weight:700;font-size:20px;border-bottom:none;margin-top:8px}.print-only{display:none}.rate-row{display:flex;gap:12px}.rate-row>div{flex:1}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab{flex:1;padding:12px;font-size:16px;font-weight:600;border:2px solid #0066cc;border-radius:10px;background:#fff;color:#06c;cursor:pointer}.tab.active{background:#06c;color:#fff}.room-box{position:relative}.two-meter-dot{position:absolute;top:3px;right:3px;font-size:9px;font-weight:700;background:#06c;color:#fff;border-radius:8px;padding:1px 4px;line-height:1.3}.toggle-field label{display:flex;align-items:center;font-weight:600}.toggle-field input[type=checkbox]{width:22px;height:22px}.hint{color:#888;font-size:14px;margin:10px 0 0}.print-sheets{margin-top:20px}.a4-page{background:#fff;margin:0 auto 20px;padding:8mm;width:210mm;max-width:100%;box-sizing:border-box;box-shadow:0 1px 6px #00000026}.bill-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:63mm;gap:3mm}.bill-cell{border:1px solid #333;border-radius:4px;padding:3mm;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.bill-title{font-weight:700;font-size:14px}.bill-sub{font-size:12px;color:#444;margin-bottom:4px}.bill-body .bl,.bill-stub .stub-line{display:flex;justify-content:space-between;font-size:12px;padding:1.5px 0}.bill-body .bl.total{font-weight:700;font-size:14px;border-top:1px solid #999;margin-top:3px;padding-top:3px}.cut-line{border-top:1px dashed #999;text-align:center;margin:4px 0}.cut-line span{font-size:9px;color:#999;background:#fff;padding:0 4px;position:relative;top:-7px}.bill-stub .stub-line.total{font-weight:700;font-size:13px}.bill-cell-empty{display:flex;align-items:center;justify-content:center;flex:1;color:#bbb;font-size:13px}@media print{.no-print{display:none!important}.print-only{display:flex!important}.page{max-width:100%;padding:0}body{background:#fff}@page{size:A4;margin:8mm}.a4-page{margin:0;padding:0;box-shadow:none;width:auto;height:auto;break-after:page;break-inside:avoid}.bill-cell{break-inside:avoid}.a4-page:last-child{break-after:auto}}
