@import"https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap";:root{--primary: #007AFF;--primary-dark: #0056b3;--bg: #fffde7;--card-bg: #fffef5;--input-bg: #ffffff;--text: #1c1c1e;--text-secondary: #8e8e93;--border: #dda15e;--border-thick: 2px;--success: #34c759;--error: #ef4444;--error-bg: #fef2f2;--footer-height: 56px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:"M PLUS Rounded 1c",-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;font-weight:500;background:var(--bg);color:var(--text);overflow:hidden}#root{height:100%;display:flex;flex-direction:column}.app-container{flex:1;display:flex;flex-direction:column;padding-bottom:var(--footer-height);overflow-y:auto;-webkit-overflow-scrolling:touch}.form-page{padding:8px 10px;flex:1;max-width:480px;margin:0 auto;width:100%}.form-title{font-size:20px;font-weight:700;text-align:center;padding:8px 0 12px;color:var(--text)}.form-card{background:var(--card-bg);border-radius:12px;border:var(--border-thick) solid var(--border);overflow:hidden;box-shadow:0 2px 8px #00000014}.input-row{display:flex;align-items:center;padding:0 14px;min-height:50px;border-bottom:1px solid #e8d5b7;background:var(--card-bg)}.input-row:last-child{border-bottom:none}.input-row--required .input-label:after{content:" *";color:var(--error);font-weight:700}.input-row--error,.input-row--error .input-field,.input-row--error .input-select{background:var(--error-bg)!important}.input-label{width:80px;flex-shrink:0;font-size:16px;font-weight:700;color:#5c4a32}.input-field{flex:1;border:none;background:var(--input-bg);font-size:17px;font-weight:500;color:var(--text);padding:12px 14px;outline:none;font-family:inherit;min-width:0;border-radius:6px;margin:4px 0}.input-field::placeholder{color:#bbb;font-weight:400}.input-field:focus{box-shadow:0 0 0 2px var(--primary)}.input-select{flex:1;border:none;background:var(--input-bg);font-size:17px;font-weight:500;color:var(--text);padding:12px 14px;outline:none;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border-radius:6px;margin:4px 0}.input-select:invalid,.input-select option[value=""]{color:#bbb}.input-select:focus{box-shadow:0 0 0 2px var(--primary)}.input-row--split{display:flex;padding:0;border-bottom:1px solid #e8d5b7;background:var(--card-bg)}.input-row--split .input-half{flex:1;display:flex;align-items:center;padding:0 12px;min-height:50px}.input-row--split .input-half:first-child{border-right:1px solid #e8d5b7}.input-row--split .input-label{width:45px;font-size:14px}.input-row--split .input-field,.input-row--split .input-select{font-size:16px;padding:10px 12px}.submit-section{padding:12px 10px}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;font-size:18px;font-weight:700;border:none;border-radius:10px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 3px 8px #ff980066}.submit-btn:active{transform:scale(.98)}.submit-btn:disabled{opacity:.6}.fixed-footer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:var(--footer-height);background:#fff;border-top:2px solid var(--border);display:flex;align-items:center;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0);z-index:100}.footer-item{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:#5c4a32;font-size:12px;font-weight:700;padding:4px 12px;transition:color .2s;cursor:pointer;background:none;border:none;font-family:inherit}.footer-item:active{color:var(--primary)}.footer-icon{font-size:24px}.success-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.success-icon{font-size:56px;margin-bottom:12px}.success-title{font-size:20px;font-weight:700;margin-bottom:8px}.success-message{font-size:14px;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.success-btn{padding:12px 28px;background:var(--primary);color:#fff;font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;font-family:inherit;margin-bottom:10px}.success-btn--outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:320px;background:var(--card-bg);border-radius:12px;border:var(--border-thick) solid var(--border);padding:24px}.login-title{font-size:20px;font-weight:700;text-align:center;margin-bottom:24px}.login-input{width:100%;padding:14px 16px;border:2px solid #e8d5b7;border-radius:10px;font-size:15px;font-family:inherit;margin-bottom:12px;outline:none;background:var(--input-bg)}.login-input:focus{border-color:var(--primary)}.login-btn{width:100%;padding:14px;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;font-size:16px;font-weight:600;border:none;border-radius:10px;cursor:pointer;font-family:inherit;margin-top:8px}.login-error{background:var(--error-bg);color:var(--error);padding:10px;border-radius:8px;font-size:13px;text-align:center;margin-bottom:16px}.admin-page{flex:1;padding:10px;padding-bottom:calc(var(--footer-height) + 10px);overflow-y:auto;max-width:480px;margin:0 auto;width:100%}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.admin-title{font-size:17px;font-weight:700}.admin-logout{font-size:13px;color:var(--primary);background:none;border:none;cursor:pointer;font-family:inherit}.store-filter{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:10px}.store-chip{padding:6px 12px;background:var(--input-bg);border:2px solid var(--border);border-radius:16px;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;font-family:inherit;color:#5c4a32}.store-chip--active{background:#ff9800;color:#fff;border-color:#f57c00}.reservation-list{display:flex;flex-direction:column;gap:8px}.reservation-item{background:var(--card-bg);border-radius:10px;border:2px solid var(--border);padding:12px}.reservation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.reservation-time{font-size:15px;font-weight:700;color:#f57c00}.reservation-status{font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px}.reservation-status--pending{background:#fff3e0;color:#ef6c00}.reservation-status--confirmed{background:#e8f5e9;color:#2e7d32}.reservation-detail{font-size:13px;color:var(--text-secondary);line-height:1.6}.reservation-detail strong{color:var(--text)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}
