body { font-family: -apple-system, Arial, sans-serif; margin: 0; background: #F1EFE8; color: #0B1F4E; }

.topnav { background: #0B1F4E; padding: 12px 20px; display: flex; align-items: center; gap: 20px; }
.topnav a { color: #fff; text-decoration: none; font-size: 14px; }
.topnav a:hover { text-decoration: underline; }
.topnav .brand { color: #1E82F0; font-weight: bold; margin-right: 20px; }
.topnav .logout { margin-left: 0; }
.lang-switch { margin-left: auto; display: flex; gap: 6px; }
.lang-switch a { padding: 4px 8px; border-radius: 4px; background: rgba(255,255,255,0.1); font-weight: 500; }
.lang-switch a.active { background: #1E82F0; color: #fff; }

.page { padding: 24px; max-width: 960px; margin: 0 auto; }

.login-page { display: flex; align-items: center; justify-content: center; height: 100vh; position: relative; }
.lang-switch--login { position: absolute; top: 16px; right: 16px; }
.login-form { background: #fff; padding: 32px; border-radius: 10px; width: 320px; display: flex; flex-direction: column; gap: 12px; }
.login-form h1 { color: #0B1F4E; margin: 0 0 8px; }
.login-form input { padding: 8px; border: 1px solid #ccc; border-radius: 6px; }
.login-form button { background: #1E82F0; color: #fff; border: none; padding: 10px; border-radius: 6px; cursor: pointer; }
.error { color: #C0392B; font-size: 13px; }

.floor-canvas { position: relative; width: 100%; height: 600px; background: #fff; border: 1px solid #ccc; border-radius: 8px; overflow: hidden; }
.floor-table { position: absolute; background: #1E82F0; color: #fff; border: none; display: flex; align-items: center; justify-content: center; font-size: 12px; cursor: pointer; }
.floor-table--round { border-radius: 50%; }
.floor-table--rect { border-radius: 6px; }
.floor-table.busy { background: #B4B2A9; }
.floor-fixture { position: absolute; background: #888780; color: #fff; font-size: 10px; display: flex; align-items: center; justify-content: center; }

.tablet-layout { display: flex; height: 100vh; }
.booking-list { width: 320px; background: #fff; padding: 16px; overflow-y: auto; border-right: 1px solid #ccc; }
.booking-card { display: block; width: 100%; text-align: left; padding: 12px; margin-bottom: 8px; border-radius: 8px; border: 1px solid #ccc; background: #fff; cursor: pointer; }
.booking-card.selected { border-color: #1E82F0; border-width: 2px; }
.floor-view { flex: 1; padding: 16px; }
