@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #f6f8fb;--card-bg: #ffffff;--card-border: #e5e7eb;--text: #0f172a;--muted: #6b7280;--primary: #0b1957;--primary-2: #1a2f7d;--danger-bg: #fee2e2;--danger: #b91c1c}.login-minimal{min-height:100vh;background:var(--bg);display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:420px;background:var(--card-bg);border:1.5px solid var(--card-border);border-radius:14px;box-shadow:0 10px 24px #0208170f,0 2px 6px #0208170a;padding:26px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.login-brand img{display:block;object-fit:contain;width:56px;height:56px}.brand-text h1{margin:0;font-size:18px;font-weight:800;color:var(--primary);letter-spacing:.2px}.brand-text p{margin:2px 0 0;font-size:13px;color:var(--muted)}.login-form{display:grid;gap:14px;margin-top:8px}.form-row{display:grid;gap:6px}.form-row label{font-size:13px;font-weight:600;color:#334155}.form-row input{padding:12px 14px;border:1.5px solid var(--card-border);border-radius:10px;font-size:15px;background:#fff;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease}.form-row input::placeholder{color:#94a3b8}.form-row input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #0b19571a}.login-alert{padding:10px 12px;background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca;border-radius:10px;font-size:13px;text-align:center}.login-submit{margin-top:4px;padding:12px 16px;border:0;border-radius:10px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-2) 100%);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .15s ease}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #0b19572e}.login-submit:disabled{opacity:.65;cursor:not-allowed}.login-foot{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.login-foot .dot{opacity:.5}.login-foot a{color:var(--primary);text-decoration:none}.login-foot a:hover{text-decoration:underline}.recaptcha-row{display:flex;align-items:center;gap:12px;min-height:78px}.recaptcha-row .btn-small{height:36px;padding:6px 10px}.form-row{grid-template-columns:1fr}.form-row label{white-space:normal}.form-row input{width:100%;box-sizing:border-box;height:44px}.login-form{width:100%}.form-row{display:grid;grid-template-columns:minmax(90px,20%) minmax(0,80%);align-items:center;gap:10px}.form-row label{margin:0;line-height:1.25;white-space:normal;overflow-wrap:anywhere;text-align:left}.form-row input,.form-row select,.form-row textarea{width:100%;box-sizing:border-box;height:44px;padding:12px 14px}@media(max-width:520px){.form-row{grid-template-columns:1fr;gap:6px}.form-row label{margin-bottom:4px}}.login-card{--label-w:60px}.form-row{display:grid!important;grid-template-columns:var(--label-w) 1fr!important;align-items:center;gap:8px}.form-row label{width:var(--label-w)!important;margin:0!important;line-height:1.25;white-space:normal;overflow-wrap:anywhere;text-align:left}.form-row input,.form-row select,.form-row textarea{width:100%!important;max-width:none!important;box-sizing:border-box;height:44px;padding:12px 14px}.recaptcha-row{width:100%;justify-content:flex-start}.recaptcha-row>*{flex-shrink:0}@media(max-width:520px){.form-row{grid-template-columns:1fr!important;gap:6px}.form-row label{width:auto!important;margin-bottom:4px!important}}@media(max-width:480px){.login-minimal{padding:18px}.login-card{padding:20px;border-radius:12px}.login-brand img{width:48px;height:48px}.brand-text h1{font-size:16px}.brand-text p{font-size:12px}}.venue-card{box-sizing:border-box;width:100%;height:230px;background:#fff;color:#1a202c;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;position:relative;display:flex;flex-direction:column}.venue-card *{min-width:0}@media(hover:hover){.venue-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0000001f}}.venue-card.selected{outline:2px solid #667eea;outline-offset:0}.venue-image{width:100%;height:120px;flex:0 0 120px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.venue-image img{display:block;width:100%;height:100%;object-fit:cover}.venue-placeholder{width:100%;height:120px;display:grid;place-items:center;color:#fff}.venue-info{padding:.9rem;display:flex;flex-direction:column;gap:.45rem;flex:1 1 auto}.venue-info h3{margin:0;font-size:1.05rem;font-weight:700;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venue-hours{display:flex;align-items:center;gap:.5rem;color:#4a5568;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venue-hours svg{flex-shrink:0}.selected-indicator{position:absolute;top:10px;right:10px;background:#667eea;color:#fff;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;box-shadow:0 2px 8px #667eea66}.venue-actions{position:absolute;bottom:8px;right:8px;display:flex;gap:6px;z-index:2}.venue-card .btn-delete{border:0;background:#fff;color:#e53e3e;width:36px;height:36px;border-radius:9999px;box-shadow:0 2px 8px #e53e3e40;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.venue-card .btn-edit{border:0;background:#fff;color:#3182ce;width:36px;height:36px;border-radius:9999px;box-shadow:0 2px 8px #3182ce40;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.venue-card .btn-edit svg{transform:translate(-1px)}@media(hover:hover){.venue-card .btn-delete:hover{transform:translateY(-1px);box-shadow:0 6px 14px #e53e3e59;background:#fff5f5}.venue-card .btn-edit:hover{transform:translateY(-1px);box-shadow:0 6px 14px #3182ce59;background:#ebf8ff}}.venue-card:focus-visible{outline:3px solid #667eea;outline-offset:2px}@media(max-width:480px){.venue-card{height:230px}.venue-info{padding:.85rem}}.calendar-nav-button{padding:.6rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;transition:background-color .12s ease,border-color .12s ease,transform 80ms ease;will-change:transform}.calendar-controls-center{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:240px}.date-range-display{font-size:1.05rem;font-weight:800;color:#0f172a;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:.5rem .9rem}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.1rem;padding:.65rem .9rem;background-color:#f8fafc;border-radius:10px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:#475569}.calendar-header-row{display:grid;grid-template-columns:90px repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-header-cell{padding:.8rem;background-color:#f1f5f9;border-radius:10px;text-align:center;font-weight:700}.day-name{font-size:.98rem;color:#0f172a;margin-bottom:.15rem;text-transform:capitalize}.day-date{font-size:.88rem;color:#64748b;font-weight:600;margin-bottom:.25rem}.day-availability{font-size:.78rem;color:#2563eb;font-weight:700}.calendar-row{display:grid;grid-template-columns:90px repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-time-cell{display:flex;align-items:center;justify-content:center;padding:.75rem;background-color:#f8fafc;border-radius:10px;font-weight:700;color:#475569}.calendar-slot{min-height:52px;border-radius:10px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease;will-change:transform,box-shadow;border:2px solid transparent;position:relative}.calendar-slot.selected{background-color:#3b82f6!important;border-color:#1e40af;box-shadow:0 0 0 3px #3b82f659;color:#fff}.slot-chip{position:absolute;top:6px;left:6px;right:6px;display:inline-flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:8px;background:#ffffffeb;box-shadow:0 1px 6px #00000014;border:1px solid rgba(15,23,42,.06);pointer-events:none}.slot-info{display:flex;flex-direction:column;font-size:.74rem;font-weight:600;color:#1e293b;padding:.25rem}.slot-info .slot-name{font-weight:700}.chip-line{line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-name{font-weight:800;font-size:.8rem;color:#0f172a}.chip-time{font-weight:600;font-size:.74rem;color:#475569}.chip-pending{border-color:#f59e0b40}.chip-approved{border-color:#ef444440}.chip-rejected{border-color:#64748b40}.calendar-slot.pending .slot-chip,.calendar-slot.approved .slot-chip,.calendar-slot.rejected .slot-chip{background:#fffffff0}@media(max-width:768px){.calendar{padding:1rem}.calendar-controls{gap:.75rem}.calendar-controls-center{gap:8px;min-width:220px}.date-range-display{font-size:1rem;padding:.5rem .8rem}.goto-form{padding:4px 6px;gap:6px}.goto-input{font-size:.9rem}.goto-button{padding:5px 8px;font-size:.85rem}.calendar-grid{min-width:700px}.calendar-header-row,.calendar-row{grid-template-columns:80px repeat(7,1fr)}.calendar-time-cell{padding:.65rem}.calendar-slot{min-height:48px}}.pending-empty{background:#fff;border-radius:12px;padding:2.25rem;text-align:center;color:#a0aec0}.pending-empty svg{margin:0 auto 1rem}.pending-empty p{font-size:1rem;color:#718096}.pending-list{--card-w:320px;--gap:1.25rem;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(var(--card-w),var(--card-w)));justify-content:start;align-content:start}.pending-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid #ed8936;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;display:flex;flex-direction:column;min-height:220px}@media(hover:hover){.pending-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}}.pending-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.875rem}.status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-badge.pending{background-color:#feebc8;color:#c05621}.pending-date{font-size:.875rem;color:#718096;font-weight:600}.pending-body{display:flex;flex-direction:column;gap:.9rem;flex:1 1 auto}.pending-info{display:flex;flex-direction:column;gap:.65rem}.info-row{display:flex;align-items:center;gap:.65rem;color:#4a5568;font-size:.875rem}.info-row svg{flex-shrink:0;color:#718096}.pending-reason{padding:.75rem;background-color:#f7fafc;border-radius:6px;font-size:.875rem;color:#4a5568}.pending-reason strong{color:#2d3748}.pending-footer{margin-top:.9rem;padding-top:.9rem;border-top:1px solid #e2e8f0;text-align:right}.view-details{color:#667eea;font-weight:600;font-size:.875rem}@media(max-width:480px){.pending-card{padding:1rem}.pending-header{flex-direction:column;align-items:flex-start}}.reservation-modal{max-width:min(700px,94vw)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.modal-header>div{display:flex;flex-direction:column;gap:.5rem}.modal-header h2{font-size:1.4rem;font-weight:700;color:#1a202c}.status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;display:inline-block;width:fit-content}.status-pending{background-color:#feebc8;color:#c05621}.status-approved{background-color:#fed7d7;color:#c53030}.status-rejected{background-color:#e2e8f0;color:#4a5568}.modal-body{padding:1.25rem 1.5rem;max-height:min(70vh,70dvh);overflow-y:auto}.detail-section{margin-bottom:1.25rem}.detail-section:last-child{margin-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.detail-section h3{font-size:1rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-item label{font-size:.75rem;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.05em}.detail-value{display:flex;align-items:center;gap:.5rem;color:#2d3748;font-size:.9rem;padding:.75rem;background-color:#f7fafc;border-radius:6px}.detail-value svg{flex-shrink:0;color:#667eea}.reason-box{padding:1rem;background-color:#f7fafc;border-radius:8px;color:#4a5568;line-height:1.6}.reject-reason{background-color:#fed7d7;color:#742a2a}.btn-edit{padding:.5rem 1rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-edit:hover{background-color:#5568d3}.edit-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#f7fafc;border-radius:8px}.form-group input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:all .2s}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.edit-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.reject-textarea{width:100%;min-height:110px;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;transition:all .2s}.reject-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem;border-top:1px solid #e2e8f0}.btn-approve,.btn-reject,.btn-cancel,.btn-save{padding:.7rem 1.25rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-approve{background-color:#48bb78;color:#fff}.btn-approve:hover:not(:disabled){background-color:#38a169}.btn-reject{background-color:#f56565;color:#fff}.btn-reject:hover:not(:disabled){background-color:#e53e3e}.btn-cancel{background-color:#e2e8f0;color:#2d3748}.btn-save{background-color:#667eea;color:#fff}.btn-save:hover:not(:disabled){background-color:#5568d3}.btn-approve:disabled,.btn-reject:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed}.modal-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:80}.modal-confirm{background-color:#fff;border-radius:14px;padding:20px 22px 18px;max-width:420px;width:calc(100% - 32px);box-shadow:0 20px 25px -5px #0f172a2e,0 8px 10px -6px #0f172a26;text-align:center;animation:modal-confirm-pop .18s ease-out}.modal-confirm-icon{width:48px;height:48px;margin:0 auto 10px;border-radius:999px;border:2px solid #fed7d7;display:flex;align-items:center;justify-content:center}.modal-confirm-icon svg circle{stroke:#f97373}.modal-confirm-icon svg line{stroke:#f97373}.modal-confirm-title{font-size:1.05rem;font-weight:700;color:#1f2933;margin-bottom:6px}.modal-confirm-text{font-size:.9rem;color:#6b7280;margin-bottom:16px}.modal-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:4px}.btn-cancel-light,.btn-danger-strong{padding:.6rem 1.2rem;border-radius:999px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:background-color .15s ease,transform .08s ease,box-shadow .08s ease}.btn-cancel-light{background-color:#e5e7eb;color:#111827}.btn-danger-strong{background-color:#ef4444;color:#fff;box-shadow:0 8px 16px #ef44444d}.btn-danger-strong:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:0 12px 22px #dc262661}.btn-danger-strong:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 10px #dc262647}.btn-cancel-light:disabled,.btn-danger-strong:disabled{opacity:.6;cursor:not-allowed}@keyframes modal-confirm-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.modal-confirm{padding:18px 16px 16px}.modal-confirm-title{font-size:1rem}.modal-confirm-text{font-size:.85rem}}@media(max-width:640px){.modal-header,.modal-body,.modal-footer{padding-left:1rem;padding-right:1rem}.form-row{grid-template-columns:1fr;gap:.75rem}.detail-grid{grid-template-columns:1fr}.modal-header h2{font-size:1.25rem}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-overflow-scrolling:touch}.modal-content{background:#fff;border-radius:12px;width:min(500px,92vw);max-height:min(90vh,92dvh);overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:1.25rem;font-weight:700;color:#1a202c;line-height:1.2}.modal-close{background:none;border:none;font-size:1.75rem;color:#718096;cursor:pointer;line-height:1;padding:0;width:36px;height:36px;display:grid;place-items:center;border-radius:8px;transition:background-color .2s}.modal-close:hover{background-color:#f7fafc}.modal-form{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.1rem}.form-group label{font-size:.875rem;font-weight:600;color:#2d3748}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.error-message{padding:.75rem 1rem;background-color:#fed7d7;color:#c53030;border-radius:8px;font-size:.875rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e2e8f0}.btn-cancel{padding:.625rem 1.25rem;background-color:#e2e8f0;color:#2d3748;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-cancel:hover{background-color:#cbd5e0}.btn-submit{padding:.625rem 1.25rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-submit:hover:not(:disabled){background-color:#5568d3}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.modal-overlay{padding:.75rem}.modal-content{width:100%;border-radius:12px}.modal-header{padding:1rem 1.125rem}.modal-form{padding:1rem 1.125rem 1.25rem}.form-row{grid-template-columns:1fr;gap:.75rem}}@media(prefers-reduced-motion:reduce){.modal-content{scroll-behavior:auto}}.cd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.cd-modal{width:min(420px,92vw);background:#fff;border-radius:14px;box-shadow:0 16px 40px #00000040;padding:20px 24px;animation:cd-fade-in .18s ease-out}@keyframes cd-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.cd-title{margin:0 0 8px;font-size:1.1rem;font-weight:800;color:#1a202c;text-align:center}.cd-message{color:#4a5568;line-height:1.5;text-align:center;margin:0 0 14px}.cd-error{background:#fff5f5;color:#c53030;border:1px solid #fed7d7;padding:8px 10px;border-radius:8px;font-size:.875rem;margin-bottom:12px;text-align:center}.cd-actions{display:flex;justify-content:center;gap:12px}.cd-btn{padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600;border:none}.cd-btn:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:2px}.cd-btn[disabled]{opacity:.7;cursor:not-allowed}.cd-btn-outline{background:transparent;border:1px solid #cbd5e0;color:#2d3748}.cd-btn-outline:hover{background:#f7fafc}.cd-btn-danger{background:#e53e3e;color:#fff}@media(max-width:480px){.cd-modal{width:100%;border-radius:12px;padding:16px 18px}}@supports (padding: max(0px)){.cd-overlay{padding-bottom:max(16px,env(safe-area-inset-bottom))}}.admin-activity-modal{max-width:min(960px,96vw)}.admin-activity-subtitle{margin-top:.25rem;font-size:.85rem;color:#6b7280}.admin-activity-body{padding:1.25rem 1.5rem;max-height:min(70vh,70dvh);overflow-y:auto}.admin-activity-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:1rem}.admin-activity-admin-list{display:flex;flex-direction:column;gap:.5rem;border-right:1px solid #e5e7eb;padding-right:.75rem}.admin-activity-admin-item{width:100%;text-align:left;border-radius:10px;border:1px solid transparent;background-color:#f9fafb;padding:.65rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.admin-activity-admin-item:hover{background-color:#f3f4f6;border-color:#e5e7eb}.admin-activity-admin-item.active{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 8px 18px #2563eb29;transform:translateY(-1px)}.admin-activity-admin-name{font-size:.92rem;font-weight:600;color:#111827}.admin-activity-admin-item.active .admin-activity-admin-name{color:#1d4ed8}.admin-activity-admin-stats{display:flex;flex-wrap:wrap;gap:.35rem}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;color:#111827;background-color:#e5e7eb}.badge-approved{background-color:#dcfce7;color:#065f46}.badge-rejected{background-color:#fee2e2;color:#991b1b}.badge-cancelled{background-color:#e5e7eb;color:#111827}.admin-activity-detail{display:flex;flex-direction:column;gap:.5rem}.admin-activity-detail-title{font-size:1rem;font-weight:700;color:#111827}.admin-activity-detail-subtitle{font-size:.85rem;color:#6b7280;margin-bottom:.5rem}.admin-activity-empty{font-size:.85rem;color:#6b7280;margin-top:.4rem}.admin-activity-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:.4rem 0 .75rem}.admin-activity-status-chips{display:flex;flex-wrap:wrap;gap:.4rem}.status-chip{border:1px solid #d1d5db;background-color:#f9fafb;color:#374151;font-size:.8rem;padding:.35rem .75rem;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.status-chip:hover{background-color:#f3f4f6}.status-chip.active{background-color:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.admin-activity-search{margin-left:auto;min-width:200px;max-width:280px;flex:1 1 160px}.admin-activity-search input{width:100%;padding:.45rem .75rem;border-radius:999px;border:1px solid #d1d5db;font-size:.85rem}.admin-activity-search input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 1px #6366f166}.admin-activity-res-list{list-style:none;margin:0;padding:0;margin-top:.25rem;display:flex;flex-direction:column;gap:.25rem}.admin-activity-res-item{width:100%}.admin-activity-res-button{width:100%;border:none;background:transparent;padding:.6rem .4rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;text-align:left;border-radius:8px;transition:background-color .15s ease}.admin-activity-res-button:hover{background-color:#f3f4f6}.admin-activity-res-main{display:flex;flex-direction:column;gap:.15rem}.admin-activity-res-title{font-size:.9rem;font-weight:600;color:#111827}.admin-activity-res-meta{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.8rem;color:#6b7280}.admin-activity-res-meta span:before{content:"•";margin:0 .25rem 0 0;color:#9ca3af}.admin-activity-res-meta span:first-child:before{content:"";margin:0}.admin-activity-res-right{display:flex;align-items:center}.status-pill{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;border-radius:999px;padding:.25rem .7rem}.pill-approved{background-color:#dcfce7;color:#166534}.pill-rejected{background-color:#fee2e2;color:#b91c1c}.pill-cancelled{background-color:#e5e7eb;color:#374151}.pill-pending{background-color:#fef9c3;color:#854d0e}.admin-activity-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#0f172a73;z-index:90}.admin-activity-detail-modal{background-color:#fff;border-radius:14px;max-width:520px;width:calc(100% - 32px);padding:18px 18px 14px;box-shadow:0 20px 25px -5px #0f172a33,0 8px 10px -6px #0f172a29;animation:admin-activity-detail-pop .18s ease-out}.admin-activity-detail-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:10px}.admin-activity-detail-modal-header h3{font-size:1.05rem;font-weight:700;color:#111827}.modal-close.small{border:none;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#6b7280}.modal-close.small:hover{color:#111827}.admin-activity-detail-modal-body{display:flex;flex-direction:column;gap:.5rem;margin-bottom:10px}.detail-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem}.detail-row-column{flex-direction:column;align-items:flex-start}.detail-label{font-weight:600;color:#6b7280;min-width:120px}.detail-value{color:#111827}.detail-reason-box{margin-top:4px;width:100%;padding:.6rem .75rem;border-radius:8px;background-color:#fef2f2;color:#7f1d1d;font-size:.88rem;line-height:1.5}.detail-reason-box.muted{background-color:#f3f4f6;color:#374151}.admin-activity-detail-modal-footer{display:flex;justify-content:flex-end;margin-top:4px}.btn-cancel-light{padding:.6rem 1.2rem;border-radius:8px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;background-color:#e5e7eb;color:#111827;transition:background-color .15s ease}.btn-cancel-light:hover:not(:disabled){background-color:#d1d5db}.btn-cancel-light:disabled{opacity:.6;cursor:not-allowed}@keyframes admin-activity-detail-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.admin-activity-layout{grid-template-columns:minmax(0,1fr)}.admin-activity-admin-list{border-right:none;border-bottom:1px solid #e5e7eb;padding-right:0;padding-bottom:.75rem;margin-bottom:.75rem}.admin-activity-search{margin-left:0}.admin-activity-detail-modal{padding:16px 14px 12px}.detail-label{min-width:100px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out;-webkit-overflow-scrolling:touch}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:min(600px,94vw);width:100%;max-height:min(90vh,92dvh);overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;gap:.75rem}.modal-title{font-size:1.4rem;font-weight:700;color:#1e293b;margin:0}.modal-close-button{padding:.5rem;background:transparent;border:none;color:#64748b;border-radius:6px;transition:all .2s}.modal-close-button:hover{background-color:#f1f5f9;color:#1e293b}.modal-body{padding:1.5rem}.modal-description{font-size:.95rem;color:#64748b;margin-bottom:1.25rem}.reservation-info{padding:1rem;background-color:#f1f5f9;border-radius:8px;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.info-item{font-size:.95rem;color:#475569}.info-item strong{color:#1e293b;font-weight:600}.reservation-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.95rem;font-weight:600;color:#334155}.required{color:#ef4444}.form-input,.form-textarea{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#1e293b;transition:all .2s;background:#fff}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-textarea.error{border-color:#ef4444}.form-textarea{resize:vertical;min-height:100px}.error-message{font-size:.875rem;color:#ef4444;margin-top:.25rem}.reservation-modal .checkbox-group{margin-top:.5rem}.reservation-modal .checkbox-label{display:flex;align-items:flex-start;gap:12px;width:100%;margin:0}.reservation-modal .checkbox-input{width:18px!important;height:18px!important;box-sizing:border-box!important;-moz-appearance:auto!important;appearance:auto!important;-webkit-appearance:checkbox!important;background:#fff!important;border:1.5px solid #cbd5e1!important;border-radius:4px!important;display:inline-block!important;margin:2px 0 0!important;padding:0!important;flex:0 0 auto!important;cursor:pointer!important;outline:none!important;box-shadow:none!important}.reservation-modal .checkbox-input:focus-visible{outline:2px solid rgba(30,64,175,.6)!important;outline-offset:2px!important}.reservation-modal .checkbox-text{flex:1 1 auto;min-width:0;line-height:1.45;color:#475569;word-break:break-word;display:inline}.reservation-modal .kvkk-link{all:unset;display:inline;color:#1e40af;font-weight:700;cursor:pointer}.reservation-modal .kvkk-link:hover{text-decoration:underline}.reservation-modal .kvkk-link:focus-visible{outline:2px solid rgba(30,64,175,.6);outline-offset:2px}.reservation-modal .checkbox-text button{border:0!important;padding:0!important;margin:0!important;background:transparent!important;display:inline!important;width:auto!important;max-width:100%!important;box-shadow:none!important}.form-actions{display:flex;gap:1rem;margin-top:1rem}.cancel-button,.submit-button{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;transition:all .2s;border:2px solid transparent}.cancel-button{background:#fff;border-color:#e2e8f0;color:#64748b}.cancel-button:hover:not(:disabled){background-color:#f1f5f9;border-color:#cbd5e1}.submit-button{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.submit-button:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.modal-content{max-height:95vh}.modal-header{padding:1.1rem 1.25rem}.modal-title{font-size:1.25rem}.modal-body{padding:1.25rem}.form-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}.dashboard{min-height:100vh;background:#f7fafc;color:#1a202c}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem;box-shadow:0 1px 3px #0000000f}.header-content{max-width:1400px;margin:0 auto;display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.header-content h1{margin:0;font-size:1.4rem;font-weight:700}.header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.btn-add-venue,.btn-logout{padding:.6rem 1.1rem;color:#fff;border:0;border-radius:6px;font-weight:600;cursor:pointer}.btn-add-venue{background:#48bb78}.btn-add-venue:hover{background:#38a169}.btn-logout{background:#e53e3e}.btn-logout:hover{background:#c53030}.dashboard-main{max-width:1400px;margin:0 auto;padding:1.5rem}.venues-section,.calendar-section,.pending-section{margin-bottom:2rem}.venues-section h2,.calendar-section h2,.pending-section h2{margin:0 0 .9rem;font-size:1.2rem;font-weight:700;color:#2d3748}.venues-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.btn-admin-activity{padding:.55rem 1.1rem;border-radius:8px;border:1px solid #1d4ed8;background-color:#2563eb;color:#f9fafb;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.btn-admin-activity:hover{background-color:#1d4ed8;border-color:#1d4ed8;box-shadow:0 8px 18px #2563eb40;transform:translateY(-1px)}.btn-admin-activity:active{transform:translateY(0);box-shadow:0 4px 10px #2563eb33}.btn-admin-activity:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.admin-create-reservation-bar{margin-top:.75rem;padding:.75rem 1rem;border-radius:10px;background-color:#f1f5f9;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-create-reservation-info{font-size:.9rem;color:#475569}.admin-create-reservation-info strong{color:#0f172a}.btn-admin-create-reservation{padding:.6rem 1.3rem;border-radius:999px;border:none;outline:none;background-color:#3b82f6;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,transform .1s ease,box-shadow .1s ease;box-shadow:0 8px 15px #3b82f638}.btn-admin-create-reservation:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 12px 22px #2563eb4d}.btn-admin-create-reservation:active{transform:translateY(0);box-shadow:0 6px 10px #2563eb40}.btn-admin-create-reservation:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@media(max-width:1200px){.venues-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.venues-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.venues-grid{grid-template-columns:1fr}}.loading{display:grid;place-items:center;min-height:100vh;font-size:1.2rem;color:#718096}@media(max-width:768px){.dashboard-main{padding:1rem}.header-content h1{font-size:1.2rem}}@font-face{font-family:Geist Sans;src:url(/admin/fonts/GeistVF.woff2) format("woff2-variations"),url(/admin/fonts/GeistVF.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}.brandbar-scope{font-family:Geist Sans,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";color:#0f172a;background:#fff;line-height:1.5}@font-face{font-family:Geist Sans;src:url(/admin/fonts/GeistVF.woff2) format("woff2-variations"),url(/admin/fonts/GeistVF.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}.site-header{font-family:Geist Sans,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";color:#0f172a;background:#fff;line-height:1.5}.brandbar-info{background:#f5f7fb;border-bottom:1px solid rgba(0,0,0,.08);font-size:13px;color:#4b5563}.brandbar-container{max-width:1152px;margin:0 auto;padding:8px 16px;display:flex;gap:24px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.brandbar-main{position:relative;background:#0b1957;overflow:hidden}.brandbar-main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0b1957,#0b1957 60%,#233373 70%,#e6e9f4 83%,#f8f9fc 92%,#fff);clip-path:polygon(0 0,70% 0,65% 100%,0 100%);transition:background .4s ease}.brandbar-main:after{content:"";position:absolute;left:65%;top:0;width:5px;height:120%;background:#c1121f;transform:rotate(8deg) translateY(-8%);transform-origin:top left}.brandbar-inner{position:relative;z-index:1;max-width:1152px;margin:0 auto;padding:16px;display:flex;align-items:center;gap:12px}.brandbar-text{color:#fff;line-height:1.1}.brandbar-title{font-weight:800;letter-spacing:.3px;font-size:18px}.brandbar-sub{opacity:.92;font-size:13px}@media(max-width:900px){.brandbar-main:before{clip-path:polygon(0 0,75% 0,60% 100%,0 100%)}.brandbar-main:after{left:60%}}@media(max-width:768px){.brandbar-container{justify-content:center;gap:12px}.brandbar-inner{flex-direction:column;text-align:center;gap:8px}.brandbar-title{font-size:16px}.brandbar-sub{font-size:12px}.brandbar-main:after{display:none}}.brandbar-link{display:block;text-decoration:none;color:inherit}.brandbar-link:hover .brandbar-inner{cursor:pointer;filter:brightness(.97)}.venue-card--user{background:#fdfdfd;color:#0f172a;border-radius:14px;overflow:hidden;border:1px solid #cdd1d8;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;display:flex;flex-direction:column;height:100%;isolation:isolate}@media(hover:hover){.venue-card--user:hover{transform:translateY(-2px);box-shadow:0 2px 6px #0f172a0f,0 14px 32px #0f172a1a;border-color:#e2e8f0}}.venue-card--user .venue-card-image-container{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#f1f5f9;z-index:0}.venue-card--user .venue-card-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .35s ease}@media(hover:hover){.venue-card--user:hover .venue-card-image{transform:scale(1.045)}}.venue-card--user .venue-card-image-placeholder{width:100%;height:100%;min-height:160px;display:grid;place-items:center;color:#94a3b8}.venue-card--user .venue-card-content{position:relative;z-index:1;background:transparent;padding:1.5rem;display:grid;grid-template-rows:auto 1fr auto;gap:1rem}.venue-card--user .venue-card-title{font-size:clamp(1.05rem,.95rem + .6vw,1.35rem);font-weight:800;color:#0f172a;margin:0;line-height:1.25;letter-spacing:-.01em;word-break:break-word}.venue-card--user .venue-card-info{display:grid;gap:.55rem;align-content:start}.venue-card--user .venue-card-info-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.96rem;color:#475569;line-height:1.35}.venue-card--user .venue-card-info-item svg{flex-shrink:0;color:#3b82f6}.venue-card--user .venue-card-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.25rem;border-radius:10px;border:2px solid #1e40af;background:#2563eb;color:#fff;font-weight:700;font-size:.98rem;line-height:1;box-shadow:none;transition:background .15s ease,border-color .15s ease,transform .05s ease;cursor:pointer}@media(hover:hover){.venue-card--user .venue-card-button:hover{background:#1e40af;border-color:#1e3a8a}}.venue-card--user .venue-card-button:active{transform:translateY(0);background:#1d4ed8;border-color:#1e3a8a}.venue-card--user .venue-card-button:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.venue-card--user .venue-card-button:disabled{opacity:.55;cursor:not-allowed}.venue-card--user .venue-card-button svg{flex-shrink:0;opacity:.95}.venue-card--user .venue-card-expand-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem .75rem;background:transparent;color:#3b82f6;font-size:.92rem;font-weight:700;border:1px solid #e2e8f0;border-radius:8px;transition:background .18s ease,border-color .18s ease}.venue-card--user .venue-card-expand-button:hover{background-color:#f1f5f9;border-color:#cbd5e1}.venue-card--user .expand-icon{transition:transform .18s ease}.venue-card--user .expand-icon.expanded{transform:rotate(180deg)}.venue-card--user .venue-card-details{padding:1rem;background-color:#f8fafc;border-radius:10px;display:grid;gap:.75rem;animation:slideDown .28s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.venue-card--user .venue-card-detail-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#475569}.venue-card--user .venue-card-detail-item strong{color:#0f172a;font-weight:700}.venue-card--user .venue-card-button:focus-visible,.venue-card--user .venue-card-expand-button:focus-visible{outline:3px solid rgba(59,130,246,.35);outline-offset:3px;border-radius:10px}@media(max-width:768px){.venue-card--user .venue-card-content{padding:1.1rem;gap:.8rem}.venue-card--user .venue-card-title{font-size:1.1rem}}.venues-page{min-height:100vh;background:linear-gradient(180deg,#f7f8fb,#f3f5f9 40%,#eef2f7)}.venues-main{padding:clamp(1.5rem,1rem + 2vw,3rem) 0}.venues-container{max-width:1280px;margin:0 auto;padding:0 clamp(1rem,1.5vw,1.5rem)}.venues-title{font-size:clamp(1.6rem,1.1rem + 2.2vw,2.3rem);font-weight:800;letter-spacing:-.02em;text-align:center;color:#0f172a;margin-bottom:2rem}.venues-grid{display:grid;gap:clamp(1rem,1.5vw,2rem);grid-template-columns:repeat(1,minmax(0,1fr));grid-auto-rows:1fr}.venues-grid>*{min-width:0}@media(min-width:640px){.venues-grid{grid-template-columns:repeat(2,minmax(360px,1fr))}}@media(min-width:1024px){.venues-grid{grid-template-columns:repeat(3,minmax(360px,1fr))}}.venues-loading,.venues-error,.venues-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;text-align:center;padding:3rem 1.25rem;background:#fff;border:1px dashed #e2e8f0;border-radius:12px;color:#475569}.venues-loading p{font-size:1.05rem}.venues-error p{font-size:1.05rem;color:#dc2626}.retry-button{padding:.8rem 1.25rem;background:#3b82f6;color:#fff;border-radius:10px;border:none;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background-color .18s ease,transform .06s ease}.retry-button:hover{background:#2563eb}.retry-button:active{transform:translateY(1px)}@media(max-width:768px){.venues-main{padding:2rem 0}.venues-title{margin-bottom:1.4rem}.venues-grid{gap:1rem}}.calendar{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.calendar-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.calendar-nav-button{padding:.65rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;transition:background-color .12s ease,border-color .12s ease,transform 80ms ease;will-change:transform}.calendar-nav-button:hover{background-color:#f1f5f9;border-color:#cbd5e1;color:#1e40af}.calendar-nav-button:active{transform:scale(.98)}.calendar-controls-center{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:240px}.date-range-display{font-size:1.06rem;font-weight:800;color:#0f172a;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:.55rem .9rem}.goto-form{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:6px 8px}.goto-input{border:none;outline:none;font-size:.95rem;color:#0f172a}.goto-button{padding:6px 10px;background:#1e40af;color:#fff;border-radius:6px;font-weight:700;font-size:.9rem;transition:background-color .12s ease,transform 80ms ease}.goto-button:hover{background:#1e3a8a}.goto-button:active{transform:translateY(1px)}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.1rem;padding:.7rem .9rem;background-color:#f8fafc;border-radius:10px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;color:#475569}.legend-color{width:20px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.08)}.legend-color.past{background-color:#cbd5e1}.legend-color.available{background-color:#22c55e}.legend-color.pending{background-color:#f59e0b}.legend-color.approved{background-color:#ef4444}.legend-color.selected{background-color:#3b82f6}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;gap:1rem}.spinner{width:44px;height:44px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.calendar-grid-wrapper{overflow-x:auto;margin-bottom:1.25rem;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges}.calendar-grid{min-width:900px}.calendar-header-row{display:grid;grid-template-columns:96px repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-header-cell{padding:.85rem;background-color:#f1f5f9;border-radius:10px;text-align:center;font-weight:700}.calendar-header-cell.time-header{display:flex;align-items:center;justify-content:center;color:#64748b}.day-name{font-size:.95rem;color:#0f172a;margin-bottom:.15rem;text-transform:capitalize;white-space:nowrap}.day-date{font-size:.9rem;color:#64748b;font-weight:600;margin-bottom:.25rem}.day-availability{font-size:.8rem;color:#2563eb;font-weight:700}.select-all-button{margin-top:6px;padding:6px 10px;background:#fff;border:1.5px solid #cbd5e1;color:#0f172a;font-weight:600;font-size:.85rem;border-radius:8px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform 80ms ease}.select-all-button:hover{background:#f8fafc;border-color:#94a3b8}.select-all-button:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.calendar-row{display:grid;grid-template-columns:96px repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-time-cell{display:flex;align-items:center;justify-content:center;padding:.8rem;background-color:#f8fafc;border-radius:10px;font-weight:700;color:#475569}.calendar-slot{min-height:54px;border-radius:10px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease;will-change:transform,box-shadow;border:2px solid transparent}.calendar-slot.past{background-color:#cbd5e1;cursor:not-allowed}.calendar-slot.available{background-color:#22c55e}.calendar-slot.pending{background-color:#f59e0b;cursor:not-allowed}.calendar-slot.approved{background-color:#ef4444;cursor:not-allowed}.calendar-slot.clickable{cursor:pointer}@media(hover:hover){.calendar-slot.clickable:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 6px 18px #0000001f}}.calendar-slot.selected{background-color:#3b82f6!important;border-color:#1e40af;box-shadow:0 0 0 3px #3b82f666;color:#fff;transform:scale(1.02)}.calendar-slot.selected:hover{transform:scale(1.03);box-shadow:0 0 0 4px #3b82f680}.selected-slots-section{padding:1.3rem;background-color:#f8fafc;border-radius:12px;margin-top:1.1rem}.selected-slots-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;gap:.75rem}.selected-slots-header h3{font-size:1.08rem;font-weight:800;color:#0f172a}.clear-button{padding:.5rem .9rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:700;color:#64748b;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.clear-button:hover{background-color:#fee2e2;border-color:#fecaca;color:#dc2626}.selected-slots-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.selected-slot-pill{padding:.45rem .85rem;background-color:#2563eb;color:#fff;border-radius:999px;font-size:.88rem;font-weight:700}.reservation-submit-button{width:100%;padding:.9rem;background-color:#1e40af;color:#fff;border-radius:10px;font-size:1.05rem;font-weight:800;transition:background-color .12s ease,transform 80ms ease}.reservation-submit-button:hover{background-color:#1e3a8a}.reservation-submit-button:active{transform:translateY(1px)}@media(max-width:1024px){.calendar-header-row,.calendar-row{grid-template-columns:92px repeat(7,1fr)}}@media(max-width:768px){.calendar{padding:1rem}.calendar-controls{gap:.8rem}.calendar-controls-center{gap:8px;min-width:220px}.date-range-display{font-size:1rem;padding:.5rem .8rem}.goto-form{padding:4px 6px;gap:6px}.goto-input{font-size:.9rem}.goto-button{padding:5px 8px;font-size:.85rem}.calendar-grid{min-width:950px}.calendar-header-row,.calendar-row{grid-template-columns:92px repeat(7,1fr)}.calendar-time-cell{padding:.7rem}.calendar-slot{min-height:50px}.selected-slots-header{flex-direction:column;align-items:flex-start}.day-name{font-size:.9rem}}@media(max-width:480px){.calendar-grid{min-width:980px}.calendar-header-row,.calendar-row{grid-template-columns:96px repeat(7,1fr)}.day-name{font-size:.85rem}}.kvkk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:1100;padding:1rem}.kvkk-modal{width:min(720px,96vw);max-height:min(88vh,92dvh);background:#fff;border-radius:14px;box-shadow:0 18px 48px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:kvkk-pop .18s ease-out}@keyframes kvkk-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.kvkk-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e5e7eb}.kvkk-header h3{margin:0;font-size:1.1rem;font-weight:800;color:#0f172a}.kvkk-close{background:transparent;border:none;color:#64748b;border-radius:8px;padding:6px;cursor:pointer}.kvkk-close:hover{background:#f1f5f9;color:#0f172a}.kvkk-body{padding:16px 18px;overflow:auto;line-height:1.55;color:#334155;font-size:.95rem}.kvkk-body h4{margin:1rem 0 .5rem;font-size:1rem;font-weight:800;color:#0f172a}.kvkk-body ul{margin:.25rem 0 .75rem 1.25rem;padding:0}.kvkk-body li{margin:.25rem 0}.kvkk-note{background:#f8fafc;border:1px solid #e2e8f0;padding:10px 12px;border-radius:10px;margin-top:1rem;color:#475569}.kvkk-actions{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid #e5e7eb;gap:8px}.kvkk-btn{padding:10px 14px;border-radius:10px;background:#1e40af;color:#fff;font-weight:700;border:none;cursor:pointer}.kvkk-btn:hover{background:#1e3a8a}@media(max-width:480px){.kvkk-body{font-size:.92rem}}.reservation-page{min-height:100vh;background-color:#f5f5f5}.reservation-main{padding:2rem 0}.reservation-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.reservation-header{margin-bottom:1.75rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;color:#3b82f6;font-size:1rem;font-weight:600;border:none;border-radius:6px;transition:background-color .2s;margin-bottom:1rem}.back-link:hover{background-color:#f1f5f9}.reservation-title{font-size:clamp(1.6rem,1.1rem + 2.2vw,2.2rem);font-weight:700;color:#1e293b;text-align:center;line-height:1.2}.reservation-loading,.reservation-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.2rem 1.5rem;text-align:center;gap:1.25rem}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reservation-loading p{font-size:1.05rem;color:#64748b}.reservation-error p{font-size:1.05rem;color:#dc2626}.back-button{padding:.75rem 2rem;background-color:#3b82f6;color:#fff;border-radius:8px;font-size:1rem;font-weight:600;transition:background-color .2s;border:none}.back-button:hover{background-color:#2563eb}.reservation-success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:60}.reservation-success-modal{background-color:#fff;border-radius:16px;padding:24px 24px 20px;max-width:420px;width:100%;margin:0 16px;box-shadow:0 20px 25px -5px #0f172a26,0 8px 10px -6px #0f172a1a;text-align:center;animation:reservation-success-pop .18s ease-out}.reservation-success-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:999px;border:2px solid #bbf7d0;display:flex;align-items:center;justify-content:center}.reservation-success-icon svg circle{stroke:#22c55e}.reservation-success-icon svg polyline{stroke:#22c55e}.reservation-success-title{font-size:1.2rem;font-weight:700;color:#0f172a;margin-bottom:8px}.reservation-success-text{font-size:.95rem;color:#64748b;margin-bottom:18px}.reservation-success-button{padding:.6rem 1.6rem;border-radius:999px;border:none;outline:none;background-color:#3b82f6;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:background-color .15s ease,transform .1s ease,box-shadow .1s ease;box-shadow:0 8px 15px #3b82f640}.reservation-success-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 12px 22px #2563eb4d}.reservation-success-button:active{transform:translateY(0);box-shadow:0 6px 10px #2563eb40}@keyframes reservation-success-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.reservation-main{padding:1.5rem 0}.reservation-container{padding:0 1rem}.back-button{width:100%}}@media(max-width:480px){.reservation-success-modal{padding:20px 18px 18px}.reservation-success-title{font-size:1.1rem}.reservation-success-text{font-size:.9rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea{font-family:inherit}
