@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #5E001A;--primary-dark: #4A0015;--primary-light: #7A0026;--secondary: #2B5B84;--success: #10b981;--error: #ef4444;--bg-gradient: linear-gradient(135deg, #5E001A 0%, #7A0026 50%, #2B5B84 100%);--bg-header: linear-gradient(135deg, #5E001A 0%, #5B0814 100%);--glass-bg: rgba(255, 255, 255, .98);--glass-border: rgba(94, 0, 26, .2);--shadow: 0 25px 50px -12px rgba(94, 0, 26, .25);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .1);--text-dark: #32373C;--text-gray: #555;--bg-light: #F8F9FA}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#ddd9d2;min-height:100vh;color:var(--text-dark);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}header{background:var(--bg-header);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);padding:1.5rem 2rem;text-align:center;color:#fff}header h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}header p{opacity:.9;font-size:.95rem;margin-bottom:1rem}header nav{display:flex;gap:.75rem;justify-content:center}header nav button{padding:.6rem 1.5rem;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:50px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .3s ease}header nav button:hover{background:#fff3;transform:translateY(-2px)}header nav button.active{background:#fff;color:var(--primary);border-color:#fff;box-shadow:0 4px 15px #0003}main{flex:1;padding:2rem;display:flex;justify-content:center;align-items:flex-start}.booking-form{background:var(--glass-bg);padding:2.5rem;border-radius:24px;box-shadow:var(--shadow);width:100%;max-width:480px;animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.booking-form h2{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:.5rem;text-align:center}.booking-form .subtitle{text-align:center;color:#6b7280;margin-bottom:2rem;font-size:.9rem}.field{margin-bottom:1.25rem;position:relative}.field label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--text-dark)}.field input,.field select,.field textarea{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#f9fafb}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #5e001a1a}.field input::placeholder,.field textarea::placeholder{color:#9ca3af}.field textarea{resize:vertical;min-height:100px}.field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem}.booking-form button[type=submit]{width:100%;padding:1rem 1.5rem;background:var(--bg-header);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:all .3s ease;position:relative;overflow:hidden}.booking-form button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 10px 25px #5e001a66}.booking-form button[type=submit]:active{transform:translateY(0)}.booking-form button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.message{padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;font-size:.9rem;display:flex;align-items:center;gap:.75rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.message.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.message.success:before{content:"✓";width:24px;height:24px;background:var(--success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.message.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.message.error:before{content:"!";width:24px;height:24px;background:var(--error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.admin{background:var(--glass-bg);padding:2rem;border-radius:24px;box-shadow:var(--shadow);width:100%;max-width:1000px;animation:slideUp .5s ease}.admin h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--primary)}.filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters button{padding:.5rem 1.25rem;border:2px solid #e5e7eb;background:#fff;border-radius:50px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;color:#4b5563}.filters button:hover{border-color:var(--primary);color:var(--primary)}.filters button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.table-wrapper{overflow-x:auto;border-radius:16px;border:1px solid #e5e7eb}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:1rem;text-align:left;border-bottom:1px solid #f3f4f6}th{background:var(--bg-light);font-weight:600;color:var(--text-dark);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}tr:hover{background:#f9fafb}tr:last-child td{border-bottom:none}.status{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:50px;font-size:.8rem;font-weight:500}.status.pending{background:#fef3c7;color:#92400e}.status.confirmed{background:#d1fae5;color:#065f46}.status.cancelled{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:.375rem}.actions button{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.actions button.confirm{background:#d1fae5;color:#065f46}.actions button.confirm:hover{background:#a7f3d0}.actions button.cancel{background:#fee2e2;color:#991b1b}.actions button.cancel:hover{background:#fecaca}.actions button.delete{background:#f3f4f6;color:#6b7280}.actions button.delete:hover{background:#e5e7eb}.empty{text-align:center;padding:3rem;color:#9ca3af}.empty-icon{font-size:3rem;margin-bottom:1rem}footer{text-align:center;padding:1.5rem;color:var(--text-gray);font-size:.875rem}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){header{padding:1rem}header h1{font-size:1.4rem}main{padding:1rem}.booking-form,.admin{padding:1.5rem;border-radius:20px}.field input,.field select,.field textarea{padding:.75rem}table{font-size:.8rem}th,td{padding:.75rem .5rem}}.header-top{display:flex;justify-content:center;align-items:center;gap:1rem;position:relative}.lang-toggle{position:absolute;right:0;padding:.4rem .8rem;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s}.lang-toggle:hover{background:#ffffff4d}.my-bookings{background:var(--glass-bg);padding:2.5rem;border-radius:24px;box-shadow:var(--shadow);width:100%;max-width:600px;animation:slideUp .5s ease}.my-bookings h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;text-align:center}.my-bookings .subtitle{text-align:center;color:#6b7280;margin-bottom:1.5rem;font-size:.9rem}.search-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.search-form input{flex:1;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem}.search-form input:focus{outline:none;border-color:var(--primary)}.search-form button{padding:.875rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s}.search-form button:hover{background:var(--primary-dark)}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;transition:all .2s}.booking-card.cancelled{opacity:.6}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.booking-date{font-weight:600;color:#1f2937}.booking-time{font-size:1.1rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.booking-name{color:#4b5563;margin-bottom:.25rem}.booking-purpose{font-size:.85rem;color:#6b7280;font-style:italic}.btn-cancel{margin-top:.75rem;padding:.5rem 1rem;background:#fee2e2;color:#991b1b;border:none;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#fecaca}.info-page{background:var(--glass-bg);padding:2.5rem;border-radius:24px;box-shadow:var(--shadow);width:100%;max-width:600px;animation:slideUp .5s ease}.info-page h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem;text-align:center}.info-card{background:#f9fafb;border-radius:16px;padding:1.5rem}.info-card h3{font-size:1.2rem;color:#1f2937;margin-bottom:1.5rem;text-align:center}.info-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.info-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.info-section h4{font-size:1rem;color:#374151;margin-bottom:1rem}.info-item{display:flex;gap:1rem;margin-bottom:1rem}.info-icon{font-size:1.5rem}.info-item strong{display:block;font-size:.8rem;color:#6b7280;margin-bottom:.25rem}.info-item p{color:#1f2937}.schedule{display:flex;flex-direction:column;gap:.5rem}.schedule-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed #e5e7eb}.schedule-row:last-child{border-bottom:none}.schedule-row.lunch{color:#6b7280;font-style:italic}.schedule-row.weekend{color:#991b1b}.rules{color:#4b5563;line-height:1.6}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-header h2{margin-bottom:0}.btn-logout{padding:.5rem 1rem;background:#f3f4f6;border:none;border-radius:8px;color:#4b5563;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-logout:hover{background:#e5e7eb}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap;border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.admin-tabs button{padding:.6rem 1.25rem;border:none;background:transparent;color:#6b7280;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.admin-tabs button:hover{background:#f3f4f6;color:#1f2937}.admin-tabs button.active{background:var(--primary);color:#fff}.login-form{max-width:400px}.login-form h2{text-align:center}.login-form button{width:100%;padding:1rem;background:var(--bg-header);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem}.export-section{display:flex;gap:.5rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.export-section input{padding:.5rem;border:1px solid #e5e7eb;border-radius:8px}.export-section button{padding:.5rem 1rem;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.export-section button:hover{background:#059669}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{background:#f9fafb;border-radius:12px;padding:1.5rem;text-align:center}.stat-card.highlight{background:#fef3c7}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary)}.stat-card.highlight .stat-value{color:#92400e}.stat-label{font-size:.85rem;color:#6b7280;margin-top:.25rem}.stat-section{grid-column:1 / -1;background:#f9fafb;border-radius:12px;padding:1.5rem;margin-top:1rem}.stat-section h4{margin-bottom:1rem;color:#374151}.stat-bars{display:flex;flex-direction:column;gap:.5rem}.stat-bar{display:flex;align-items:center;gap:.5rem}.bar-label{width:30px;font-size:.85rem;color:#6b7280}.bar{height:24px;background:var(--bg-header);border-radius:4px;min-width:20px;transition:width .3s ease}.bar-value{font-size:.85rem;font-weight:600;color:#374151}.blocked-section{display:flex;flex-direction:column;gap:1rem}.block-form{display:flex;gap:.5rem;flex-wrap:wrap}.block-form input{padding:.5rem;border:1px solid #e5e7eb;border-radius:8px}.block-form input[type=text]{flex:1;min-width:200px}.block-form button{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer}.blocked-list{display:flex;flex-direction:column;gap:.5rem}.blocked-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fef2f2;border-radius:8px}.blocked-date{font-weight:600;color:#991b1b}.blocked-reason{flex:1;color:#6b7280}.blocked-item button{padding:.4rem .8rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:.8rem;cursor:pointer}.settings-form{max-width:500px}.settings-form .field{margin-bottom:1rem}.settings-form button{width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem}.settings-form button:hover{background:var(--primary-dark)}@media(max-width:768px){.header-top{flex-direction:column;gap:.5rem}.lang-toggle{position:static}header nav{flex-wrap:wrap}header nav button{padding:.5rem 1rem;font-size:.8rem}.search-form{flex-direction:column}.export-section{flex-direction:column;align-items:stretch}.block-form{flex-direction:column}.blocked-item{flex-direction:column;align-items:flex-start}}.field-hint{display:block;font-size:.75rem;color:#6b7280;margin-top:.375rem}.booking-details td{background:#f9fafb;padding:1rem 1.5rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{background:#fff;padding:.75rem;border-radius:8px;border:1px solid #e5e7eb}.detail-item strong{display:block;font-size:.75rem;color:#6b7280;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.detail-item p{color:#1f2937;font-size:.9rem;word-break:break-word}.info-text{font-size:.85rem;color:#6b7280;padding:.75rem;background:#f0f9ff;border-radius:8px;border-left:3px solid #3b82f6}.booking-info,.booking-territory{font-size:.85rem;color:#4b5563;margin-bottom:.25rem}.settings-form small{display:block;font-size:.75rem;color:#9ca3af;margin-top:.25rem}table tbody tr{cursor:pointer}table tbody tr:hover{background:#f3f4f6}select option:disabled{color:#9ca3af}.notes-edit{margin-top:.5rem}.notes-edit textarea{width:100%;padding:.5rem;border:1px solid #e5e7eb;border-radius:4px;font-family:inherit;font-size:.875rem;resize:vertical;min-height:60px}.notes-actions{display:flex;gap:.5rem;margin-top:.5rem}.notes-actions button{padding:.25rem .75rem;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.notes-actions .save{background:var(--success);color:#fff}.notes-actions .save:hover{background:#059669}.notes-actions .cancel{background:#6b7280;color:#fff}.notes-actions .cancel:hover{background:#4b5563}.notes-display{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.notes-display p{flex:1;margin:0;color:var(--text-gray);font-style:italic}.edit-notes{padding:.25rem .5rem;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s;white-space:nowrap}.edit-notes:hover{background:var(--primary-dark)}.booking-notes{background:#f3f4f6;padding:.5rem;border-radius:4px;margin-top:.5rem;font-size:.875rem;color:var(--text-gray);border-left:3px solid var(--primary)}.privacy-consent{margin:1.5rem 0!important;padding:1.5rem;background:#f8f9fa;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000d}.privacy-consent:hover{border-color:var(--primary)}.checkbox-label{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;font-size:.9rem;line-height:1.6;margin:0}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{width:22px;height:22px;min-width:22px;border:2px solid var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;background:#fff}.checkbox-label:hover .checkmark{border-color:var(--primary-dark)}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--primary);border-color:var(--primary)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-weight:700;font-size:14px}.consent-text{color:var(--text-dark);flex:1}.privacy-link{color:var(--primary);text-decoration:none;font-weight:600;border-bottom:1px solid var(--primary)}.privacy-link:hover{color:var(--primary-dark);border-bottom-color:var(--primary-dark)}.privacy-policy{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:var(--shadow)}.privacy-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--primary)}.privacy-header h2{color:var(--primary);margin-bottom:.5rem}.privacy-date{color:var(--text-gray);font-size:.875rem}.privacy-section{margin-bottom:2rem}.privacy-section h3{color:var(--primary);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.privacy-text p{margin-bottom:.75rem;line-height:1.6;color:var(--text-dark)}.privacy-text p:last-child{margin-bottom:0}.privacy-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #e9ecef;text-align:center;color:var(--text-gray);font-size:.875rem}button:disabled{opacity:.6;cursor:not-allowed}button:disabled:hover{background:var(--primary);transform:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px #00000080}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--error);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;z-index:1001;transition:all .2s}.modal-close:hover{background:#dc2626;transform:scale(1.1)}.privacy-link{background:none;border:none;color:var(--primary);text-decoration:underline;font-weight:500;cursor:pointer;font-size:inherit;padding:0;margin:0}.privacy-link:hover{color:var(--primary-dark)}@media(max-width:768px){.modal-content{max-width:95vw;max-height:95vh}.privacy-policy{padding:1rem;margin:0}.checkbox-label{font-size:.8rem}.checkmark{width:18px;height:18px}.consent-text{line-height:1.5}}.privacy-form{max-width:800px;margin:0 auto}.privacy-form .field{margin-bottom:1.5rem}.privacy-form .field label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark)}.privacy-form .field input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem}.privacy-form .field input:focus{outline:none;border-color:var(--primary)}.sections{margin-top:2rem}.sections h4{margin-bottom:1rem;color:var(--primary);font-size:1.1rem}.section-editor{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-bottom:1rem}.section-header{display:flex;gap:.5rem;margin-bottom:1rem}.section-header input{flex:1;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-weight:600}.section-header input:focus{outline:none;border-color:var(--primary)}.remove-section{padding:.5rem 1rem;background:#fee2e2;color:#991b1b;border:none;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .2s}.remove-section:hover{background:#fecaca}.section-editor textarea{width:100%;min-height:150px;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:.95rem;line-height:1.6;resize:vertical}.section-editor textarea:focus{outline:none;border-color:var(--primary)}.add-section{width:100%;padding:.75rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;margin-top:1rem;transition:all .2s}.add-section:hover{background:var(--primary-dark)}.save-policy{width:100%;padding:1rem;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:2rem;transition:all .2s}.save-policy:hover{background:#059669;transform:translateY(-2px);box-shadow:0 10px 25px #10b98166}.privacy-editor{max-width:900px;margin:0 auto}.privacy-editor .privacy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--primary)}.privacy-editor .privacy-header h3{font-size:1.3rem;color:var(--primary);margin:0}.language-tabs{display:flex;gap:.5rem;background:#f3f4f6;padding:.25rem;border-radius:8px}.language-tabs button{padding:.5rem 1rem;border:none;background:transparent;color:#6b7280;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.language-tabs button:hover{background:#e5e7eb;color:#374151}.language-tabs button.active{background:var(--primary);color:#fff;box-shadow:0 2px 4px #5e001a33}.privacy-actions{margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:center}.save-btn{padding:1rem 2rem;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 6px #10b98133}.save-btn:hover{background:#059669;transform:translateY(-2px);box-shadow:0 10px 25px #10b98166}.save-btn:active{transform:translateY(0)}.save-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.privacy-editor .privacy-header{flex-direction:column;gap:1rem;align-items:flex-start}.language-tabs{width:100%;justify-content:center}.privacy-consent{padding:1rem}.checkbox-label{font-size:.85rem}.checkmark{width:20px;height:20px;min-width:20px}.consent-text{line-height:1.5}}.privacy-content{margin-top:1rem}.privacy-content .privacy-section{margin-bottom:2rem}.privacy-content .privacy-section:last-child{margin-bottom:0}.privacy-content .privacy-section h3{color:var(--primary);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.privacy-content .privacy-text p{margin-bottom:.75rem;line-height:1.6;color:var(--text-dark)}.privacy-content .privacy-text p:last-child{margin-bottom:0}.security-logs{width:100%}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.logs-header h3{font-size:1.3rem;color:var(--primary);margin:0}.btn-refresh{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-refresh:hover{background:var(--primary-dark)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.logs-filters{background:#f9fafb;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #e5e7eb}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-field{display:flex;flex-direction:column}.filter-field label{font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.filter-field input,.filter-field select{padding:.625rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;background:#fff}.filter-field input:focus,.filter-field select:focus{outline:none;border-color:var(--primary)}.filter-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-apply{padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.btn-apply:hover{background:var(--primary-dark)}.btn-reset{padding:.625rem 1.25rem;background:#f3f4f6;color:#6b7280;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.btn-reset:hover{background:#e5e7eb}.logs-loading,.logs-empty{text-align:center;padding:3rem;color:#9ca3af}.logs-count{margin-bottom:1rem;font-size:.875rem;color:#6b7280}.logs-count strong{color:var(--primary);font-weight:600}.logs-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid #e5e7eb}.logs-table{width:100%;border-collapse:collapse;font-size:.875rem}.logs-table th{background:var(--bg-light);padding:.875rem;text-align:left;font-weight:600;color:var(--text-dark);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e5e7eb}.logs-table td{padding:.875rem;border-bottom:1px solid #f3f4f6}.logs-table tr:hover{background:#f9fafb}.log-timestamp{white-space:nowrap;color:#6b7280;font-size:.8rem}.log-ip code{background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:var(--primary)}.log-endpoint{font-weight:500;color:#374151}.log-action{color:#4b5563}.log-severity{white-space:nowrap}.severity-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600}.severity-critical{background:#fee2e2;color:#991b1b}.severity-warning{background:#fef3c7;color:#92400e}.severity-info{background:#dbeafe;color:#1e40af}.log-details{font-size:.8rem;color:#6b7280;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-actions{text-align:center}.btn-block-ip{padding:.375rem .75rem;background:#fee2e2;color:#991b1b;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s}.btn-block-ip:hover{background:#fecaca}.blocked-ips{width:100%}.blocked-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.blocked-header h3{font-size:1.3rem;color:var(--primary);margin:0}.header-actions{display:flex;gap:.5rem}.btn-add{padding:.5rem 1rem;background:var(--success);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-add:hover{background:#059669}.add-block-form{background:#f9fafb;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #e5e7eb}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-field{display:flex;flex-direction:column}.form-field label{font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.form-field input,.form-field select{padding:.625rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;background:#fff}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary)}.btn-submit{padding:.75rem 1.5rem;background:var(--error);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.btn-submit:hover{background:#dc2626}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.blocked-loading,.blocked-empty{text-align:center;padding:3rem;color:#9ca3af}.blocked-count{margin-bottom:1rem;font-size:.875rem;color:#6b7280}.blocked-count strong{color:var(--primary);font-weight:600}.blocked-list{display:flex;flex-direction:column;gap:.75rem}.blocked-item{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:all .2s}.blocked-item:hover{box-shadow:0 4px 6px #0000001a}.block-info{flex:1;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.block-ip code{background:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--primary);border:1px solid #fecaca}.block-reason{display:flex;align-items:center}.reason-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:#fff;border-radius:50px;font-size:.75rem;font-weight:600;color:#991b1b;border:1px solid #fecaca}.block-dates{display:flex;gap:1rem;font-size:.75rem}.block-date{display:flex;flex-direction:column;gap:.125rem}.block-date small{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.block-date span{color:#4b5563;font-weight:500}.block-date span.permanent{color:#991b1b;font-weight:600}.block-actions{display:flex;gap:.5rem}.btn-unblock{padding:.5rem 1rem;background:var(--success);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;white-space:nowrap}.btn-unblock:hover{background:#059669}@media(max-width:768px){.filter-row,.form-row{grid-template-columns:1fr}.logs-header,.blocked-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:space-between}.block-info{grid-template-columns:1fr;gap:.5rem}.blocked-item{flex-direction:column;align-items:flex-start}.block-actions,.btn-unblock{width:100%}.logs-table{font-size:.75rem}.logs-table th,.logs-table td{padding:.5rem}.log-details{max-width:150px}}.settings-form .field.danger-zone{background-color:#fffbe6;border:1px solid #ffe58f;border-radius:4px;padding:15px;margin-bottom:20px}.danger-zone>label{font-weight:700;color:#d9534f;display:block;margin-bottom:10px}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px;vertical-align:middle;margin-right:10px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:28px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#d9534f}input:focus+.slider{box-shadow:0 0 1px #d9534f}input:checked+.slider:before{transform:translate(22px)}.toggle-status{font-weight:700;vertical-align:middle}.calendar-tab{padding:1rem 0}.calendar-header{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1rem}.calendar-header h3{min-width:180px;text-align:center;font-size:1.25rem}.calendar-header button{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.calendar-header button:hover{background:var(--primary-dark)}.calendar-legend{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem;font-size:.875rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid #ddd}.legend-color.load-empty{background:#f8f9fa}.legend-color.load-partial{background:#fef3c7}.legend-color.load-full{background:#fee2e2}.calendar-grid{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--primary);color:#fff}.calendar-weekdays .weekday{padding:.75rem;text-align:center;font-weight:600;font-size:.875rem}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #eee}.calendar-week:last-child{border-bottom:none}.calendar-day{min-height:70px;padding:.5rem;border-right:1px solid #eee;cursor:pointer;position:relative;transition:all .2s}.calendar-day:last-child{border-right:none}.calendar-day:hover:not(.empty){transform:scale(1.02);box-shadow:0 2px 8px #0000001a;z-index:1}.calendar-day.empty{background:#fafafa;cursor:default}.calendar-day.weekend{background:#f5f5f5;color:#999}.calendar-day.load-empty{background:#f8f9fa}.calendar-day.load-partial{background:#fef3c7}.calendar-day.load-full{background:#fee2e2}.calendar-day.today .day-number{background:var(--primary);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-day .day-number{font-weight:500;font-size:.9rem}.calendar-day .booking-count{position:absolute;bottom:.5rem;right:.5rem;background:var(--primary);color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:8px}.calendar-modal{max-width:600px;max-height:80vh;overflow-y:auto}.calendar-modal h3{color:var(--primary);margin-bottom:.25rem}.modal-subtitle{color:#666;margin-bottom:1.5rem;font-size:.9rem}.calendar-modal .no-bookings{color:#888;font-style:italic;text-align:center;padding:2rem}.calendar-modal .day-bookings{display:flex;flex-direction:column;gap:1rem}.calendar-modal .booking-item{padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid var(--success)}.calendar-modal .booking-item.pending{border-left-color:#f59e0b}.calendar-modal .booking-item.cancelled{border-left-color:var(--error);opacity:.6}.booking-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.booking-header-row .booking-name{font-size:1.1rem}.status-badge{font-size:.8rem;padding:.25rem .75rem;border-radius:12px;background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.booking-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.booking-info-grid .info-row{display:flex;flex-direction:column;gap:.15rem}.booking-info-grid .info-row.full-width{grid-column:1 / -1}.info-label{font-size:.75rem;color:#888}.info-value{font-size:.9rem;color:#333}
