:root{--primary: #6366f1;--primary-dark: #4f46e5;--secondary: #ec4899;--background: #0f172a;--surface: #1e293b;--surface-light: #334155;--text: #f8fafc;--text-muted: #94a3b8;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--font-main: "Inter", sans-serif;--font-heading: "Outfit", sans-serif;--radius: 12px;--shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--background);color:var(--text);line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600}.app-container{min-height:100vh;display:flex;flex-direction:column}.glass{background:#1e293bb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius)}.btn{padding:.75rem 1.5rem;border-radius:var(--radius);border:none;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-secondary{background:var(--surface-light);color:var(--text)}.card{padding:1.5rem;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000b3;box-sizing:border-box}.modal-overlay .modal-dialog{position:fixed;top:1.5rem;bottom:1.5rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:480px;overflow-y:auto;box-sizing:border-box;-webkit-overflow-scrolling:touch}.gmp-place-autocomplete-wrapper{isolation:isolate}.gmp-place-autocomplete-wrapper gmp-place-autocomplete,.gmp-place-autocomplete-wrapper [id^=place-autocomplete]{display:block;width:100%}.gmp-place-autocomplete-wrapper input{width:100%!important;padding:.6rem .8rem!important;font-size:.9rem!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .4s ease forwards}.admin-page{display:flex;min-height:100vh}.admin-page .sidebar{width:260px;height:100vh;position:sticky;top:0;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;border-radius:0;border-left:none;border-top:none;border-bottom:none}.admin-page .sidebar-header h2{font-size:1.5rem;color:var(--primary);margin-bottom:2rem}.admin-page .sidebar nav{display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0;overflow-y:auto}.admin-page .sidebar nav a{padding:1rem 1.25rem;border-radius:12px;color:var(--text-muted);text-decoration:none;transition:all .2s;display:flex;align-items:center;gap:.75rem;font-weight:500}.admin-page .sidebar nav a:hover{background:#6366f10d;color:var(--text)}.admin-page .sidebar nav a.active{background:#6366f11a;color:var(--primary);box-shadow:inset 0 0 0 1px #6366f133}.admin-content{flex:1;padding:2.5rem;display:flex;flex-direction:column;gap:2rem;max-width:1600px;margin:0 auto;width:100%;background:transparent;color:var(--text)}@media (max-width: 1024px){.admin-page{flex-direction:column}.admin-page .sidebar{width:100%;height:auto;position:static;padding:1rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.admin-page .sidebar nav{flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.admin-page .sidebar nav a{white-space:nowrap;padding:.75rem 1rem}.admin-content{padding:1.5rem}}.login-page{display:flex;align-items:center;justify-content:center;flex:1;padding:1.5rem;background:radial-gradient(circle at top right,#1e293b,#0f172a)}.login-card{width:100%;max-width:400px;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-page .logo-icon{font-size:3rem;margin-bottom:.5rem}.login-page .form-group{margin-bottom:1.5rem}.login-page label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.login-page input{width:100%;padding:.75rem 1rem;background:var(--surface-light);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.login-page input:focus{border-color:var(--primary)}.login-page .login-btn{width:100%;margin-top:1rem}.login-page .error-message{color:var(--danger);font-size:.875rem;margin-bottom:1rem;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}
