:root{--cell-width: 150px;--cell-height: 60px;--header-height: 40px;--room-col-width: 200px;--bg-color: #ffffff;--border-color: #e5e7eb;--primary: #3b82f6;--primary-hover: #2563eb;--primary-pressed: #1d4ed8}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{text-decoration:none}.App{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.main-content{flex:1;overflow:auto;position:relative}.timeline-container{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-color)}.main-nav{height:40px;background:#1f2937;display:flex;align-items:center;padding:0 1rem;gap:1rem}.main-nav .view-btn{background:none;border:none;color:#9ca3af;font-weight:500;cursor:pointer;padding:.25rem .5rem}.main-nav .view-btn.active{color:#fff;border-bottom:2px solid white}.offline-banner{background:#fef3c7;color:#92400e;text-align:center;padding:.5rem;font-size:.875rem;font-weight:500;border-bottom:1px solid #fcd34d}.btn-primary{background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer}.btn-primary[data-hovered]{background:var(--primary-hover)}.btn-primary[data-pressed]{background:var(--primary-pressed)}.btn-primary[data-focused]{outline:2px solid var(--primary);outline-offset:2px}.rac-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.rac-label{font-size:.875rem;font-weight:500;color:#374151}.rac-input,.rac-select{padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;width:100%;box-sizing:border-box}.rac-input[data-focused],.rac-select[data-focused]{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.rac-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rac-modal{background:#fff;padding:2rem;border-radius:12px;width:100%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}.grid-viewport{position:relative;overflow:auto;background-image:linear-gradient(var(--border-color) 1px,transparent 1px);background-size:100% var(--cell-height);background-attachment:local}.reservation-item{position:absolute;border-radius:4px;color:#fff;font-size:.8rem;padding:4px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 2px #0000001a;cursor:pointer}.reservation-item:hover{opacity:.9}.request-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000001a}.btn-approve{background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.btn-decline{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.error-banner{background:#fee2e2;color:#b91c1c;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;font-weight:500}.staff-dashboard,.audit-log-container{padding:2rem;max-width:1400px;margin:0 auto;box-sizing:border-box}@media(min-width:1024px){.staff-dashboard,.audit-log-container{padding-left:2rem;padding-right:2rem}}
