*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #06070f;--surface: #0e1020;--border: #2a2d4a;--accent: #8899dd;--text: #e8eaf6;--muted: #6b7098;--danger: #e05555;--radius: 10px;--font-sans: "Montserrat", sans-serif;--font-serif: "Cormorant Garamond", serif}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:3rem;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.2}50%{opacity:1}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,#12163a,#06070f 70%);padding:1.5rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;width:100%;max-width:400px;text-align:center}.auth-logo{font-size:2rem;color:var(--accent);margin-bottom:.5rem}.auth-card h1{font-family:var(--font-serif);font-weight:300;font-size:1.8rem;letter-spacing:2px;margin-bottom:.25rem}.auth-subtitle{color:var(--muted);font-size:.8rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1rem;text-align:left}.auth-form label{display:flex;flex-direction:column;gap:.35rem}.auth-form label span{font-size:.72rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.auth-form input{background:#0b0d1c;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;padding:.6rem .9rem;outline:none;transition:border-color .2s}.auth-form input:focus{border-color:var(--accent)}.auth-error{color:var(--danger);font-size:.82rem;text-align:center}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.75rem;font-size:.9rem;font-family:var(--font-sans);font-weight:500;letter-spacing:1px;cursor:pointer;transition:opacity .2s;margin-top:.5rem}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-switch{margin-top:1.5rem;font-size:.82rem;color:var(--muted)}.auth-switch a{color:var(--accent);text-decoration:none}.auth-switch a:hover{text-decoration:underline}.editor-page{display:flex;flex-direction:column;height:100vh;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.header-logo{font-family:var(--font-serif);font-size:1.2rem;letter-spacing:2px;color:var(--accent)}.header-right{display:flex;align-items:center;gap:1rem}.header-user{font-size:.8rem;color:var(--muted)}.btn-logout{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:.35rem .75rem;font-size:.78rem;cursor:pointer;transition:color .2s,border-color .2s}.btn-logout:hover{color:var(--danger);border-color:var(--danger)}.editor-main{display:flex;flex:1;overflow:hidden}.editor-sidebar{width:320px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.editor-preview{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;overflow:auto;background:#070810}.map-wrapper{display:flex;align-items:center;justify-content:center}.preview-hint{margin-top:1rem;font-size:.72rem;color:var(--muted);letter-spacing:.5px}.config-panel{padding:1.25rem;flex:1}.panel-title{font-family:var(--font-serif);font-weight:300;font-size:1.1rem;letter-spacing:2px;color:var(--accent);margin-bottom:1.25rem;text-transform:uppercase}.section{margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:1.25rem}.section:last-child{border-bottom:none}.section h3{font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}.section label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.section label span{font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.section input[type=text],.section input[type=date],.section input[type=time],.section input[type=number],.section input[type=email]{background:#0b0d1c;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;padding:.45rem .75rem;outline:none;width:100%;transition:border-color .2s}.section input:focus{border-color:var(--accent)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.search-row{display:flex;gap:.5rem;margin-bottom:.5rem}.search-row input{flex:1;background:#0b0d1c;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;padding:.45rem .75rem;outline:none}.search-row input:focus{border-color:var(--accent)}.btn-search{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.45rem .9rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.btn-search:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--danger);font-size:.78rem;margin-bottom:.5rem}.location-name{font-size:.78rem;color:var(--accent);margin-bottom:.5rem}.presets{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.preset-btn{border-radius:5px;padding:.3rem .65rem;font-size:.72rem;font-family:var(--font-sans);cursor:pointer;letter-spacing:.5px;transition:transform .15s}.preset-btn:hover{transform:scale(1.05)}.colors{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.colors label{display:flex;flex-direction:column;gap:.3rem}.colors input[type=color]{width:100%;height:32px;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer;padding:2px}.shape-row{display:flex;gap:.5rem}.shape-btn{flex:1;background:#0b0d1c;border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:.5rem;font-size:.8rem;cursor:pointer;transition:border-color .2s,color .2s}.shape-btn.active{border-color:var(--accent);color:var(--accent)}.toggles{display:flex;flex-direction:column;gap:.5rem}.toggle-row{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;margin-bottom:0!important}.toggle-row span{font-size:.82rem;color:var(--text)}.toggle-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.sidebar-actions{padding:1rem 1.25rem;border-top:1px solid var(--border);flex-shrink:0}.btn-download{width:100%;background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:6px;padding:.7rem;font-size:.85rem;font-family:var(--font-sans);letter-spacing:1px;cursor:pointer;transition:background .2s,color .2s}.btn-download:hover{background:var(--accent);color:#fff}@media (max-width: 768px){.editor-main{flex-direction:column}.editor-sidebar{width:100%;height:50vh;border-right:none;border-bottom:1px solid var(--border)}.editor-preview{padding:1rem}}
