*{box-sizing:border-box;margin:0;padding:0}:root{--foreground:#171717;--background:#ffffff;--primary:#0070f3;--error:#dc2626;--success:#16a34a;--border:#e5e5e5}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:var(--background);color:var(--foreground);line-height:1.5}.container{max-width:1200px;margin:0 auto;padding:1rem}.btn{display:inline-block;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;text-decoration:none}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{opacity:.9}.btn-danger{background:var(--error);color:white}.btn-success{background:var(--success);color:white}.card{border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.text-error{color:var(--error)}.text-success{color:var(--success)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.input{padding:.5rem;font-size:1rem;border:1px solid var(--border);border-radius:4px;width:200px}.month-label{font-size:1.2rem;font-weight:700;min-width:200px;text-align:center;text-transform:capitalize}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}.stat-label{font-size:.85rem;color:#86868b}.stat-value{font-size:1.5rem;font-weight:700}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:.5rem}.table th{text-align:left}.table td.text-right,.table th.text-right{text-align:right}.table thead tr{border-bottom:2px solid var(--border)}.table tbody tr{border-bottom:1px solid var(--border)}.table tfoot tr{border-top:2px solid var(--border);font-weight:700}.table tbody tr.row-today{background:#e3f2fd}.table tbody tr.row-weekend{background:#f5f5f5}.text-muted{color:#ccc}.text-bold{font-weight:700}.badge{margin-left:.5rem;font-size:.75rem;background:#007aff;color:white;padding:2px 6px;border-radius:4px}.operator-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:#f5f5f7;min-height:100vh;padding:20px}.operator-container{max-width:1400px;margin:0 auto}.login-page{padding:20px;max-width:400px;margin:0 auto}.login-input{padding:.5rem;font-size:1rem;border:1px solid #d2d2d7;border-radius:4px;width:100%}.login-btn{padding:.5rem 1rem;background:#007aff;color:white;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.operator-header{margin-bottom:20px}.operator-header-row{display:flex;justify-content:space-between;align-items:center}.operator-title{font-size:2rem;color:#1d1d1f;margin-bottom:8px}.operator-date{display:flex;justify-content:space-between;color:#86868b;font-size:.95rem}.logout-btn{padding:8px 16px;background:white;border:1px solid #d2d2d7;border-radius:6px;cursor:pointer}.error-banner{margin-top:12px;padding:12px;background:#ff3b30;color:white;border-radius:8px;font-size:.9rem}.tabs-container{background:white;border-radius:12px 12px 0 0;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow-x:auto;margin-bottom:-1px}.tabs-list{display:flex;gap:0;min-width:min-content;padding:10px 10px 0}.tab-btn{padding:12px 24px;background:transparent;border-radius:8px 8px 0 0;cursor:pointer;font-size:.95rem;font-weight:500;color:#86868b;white-space:nowrap;border:none;border-bottom:2px solid transparent}.tab-btn.active{background:white;color:#1d1d1f;border-bottom:2px solid #007aff}.content-area{background:white;border-radius:0 0 12px 12px;padding:30px;box-shadow:0 2px 8px rgba(0,0,0,.08);min-height:500px}.content-title{font-size:1.5rem;font-weight:600;color:#1d1d1f;margin-bottom:20px}.content-empty,.content-loading{text-align:center;padding:60px 20px;color:#86868b}.content-empty p,.content-loading p{font-size:1.1rem}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:20px;gap:20px}.booking-card,.booking-card-inner{display:flex;flex-direction:column}.booking-card-inner{border-radius:8px;padding:20px;text-align:center;margin-bottom:12px;height:190px;min-height:160px;justify-content:space-between}.booking-card-inner.status-complete{background:#30d158}.booking-card-inner.status-partial{background:#ffd60a}.booking-card-inner.status-pending{background:#e8e8ed}.booking-room{font-size:2rem;font-weight:700;margin-bottom:10px}.booking-room.status-complete{color:white}.booking-room.status-default{color:#1d1d1f}.booking-menu{font-size:.85rem;margin-bottom:8px;line-height:1.4;min-height:40px}.booking-menu.status-complete{color:rgba(255,255,255,.9)}.booking-menu.status-default{color:#86868b}.booking-quantity{font-size:.85rem;margin-bottom:8px}.booking-quantity.status-complete{color:rgba(255,255,255,.9)}.booking-quantity.status-default{color:#86868b}.booking-time{font-size:.75rem;margin-top:4px}.booking-time.status-complete{color:rgba(255,255,255,.8)}.booking-time.status-default{color:#86868b}.service-circles{gap:8px;margin-bottom:8px}.service-circle,.service-circles{display:flex;justify-content:center}.service-circle{width:28px;height:28px;border-radius:50%;border:2px solid #d2d2d7;background:white;cursor:pointer;transition:all .2s ease;align-items:center;color:white;font-size:.8rem;font-weight:700}.service-circle.served{background:#1d1d1f}.booking-served-count{font-size:.85rem;color:#86868b;text-align:center;margin-bottom:10px}.info-banner{background:#E3F2FD;border:1px solid #90caf9;border-radius:6px;padding:1px 16px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;color:#1565C0}.info-banner-content{display:flex;align-items:center;gap:10px}.info-banner-icon{font-size:1.1rem}.info-banner-text{font-size:.9rem;font-weight:500}.info-banner-close{background:transparent;border:none;color:#1565C0;font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1}.toast-confirm{text-align:center}.toast-confirm-title{margin-bottom:12px;font-weight:600}.toast-confirm-message{margin-bottom:16px;font-size:.9rem}.toast-confirm-buttons{display:flex;gap:8px;justify-content:center}.toast-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:600}.toast-btn-primary{background:#007aff;color:white}.toast-btn-secondary{background:#e8e8ed;color:#1d1d1f}