*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root{--bg-deep:#0a0c15;--sidebar-bg:#0a0e19d9;--card-glass:#141c28a6;--border:#42547859;--teal:#2dd4bf;--success:#4ade80;--text-primary:#f1f5f9;--text-secondary:#a0afc3;--accent-purple:#8b5cf6;--danger:#ef4444;--danger-soft:#ef444426;--navy2:#0f172a}body{min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 20% 30%,#121a2c,#05070f);overflow:hidden}#root{height:100vh}.dashboard{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:row;height:100vh;display:flex}.sidebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border);z-index:10;background:#080c16d9;flex-direction:column;gap:2rem;width:290px;padding:1.75rem 1.25rem;transition:all .2s;display:flex;box-shadow:8px 0 20px #0000004d}.logo-area{align-items:center;gap:10px;display:flex}.logo-area i,.logo-area svg{color:var(--teal);font-size:32px}.logo-area span{background:linear-gradient(135deg,#fff,#2dd4bf);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700}.user-info{border:1px solid var(--border);background:#0f172a99;border-radius:1.2rem;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.user-details{align-items:center;gap:.75rem;display:flex}.user-details i,.user-details svg{color:var(--accent-purple);font-size:1.4rem}.logout-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.3rem;font-size:1.25rem;transition:all .2s}.logout-btn:hover{color:#f87171;background:#ffffff0d}.nav-section h3{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:1rem;font-size:.75rem}.nav-list{flex-direction:column;gap:.5rem;max-height:40vh;display:flex;overflow-y:auto}.nav-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.9rem;justify-content:space-between;align-items:center;padding:.65rem 1rem;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#8b5cf633}.nav-item.active{color:#fff;border-left:3px solid var(--teal);background:linear-gradient(95deg,#8b5cf64d,#2dd4bf1a)}.nav-item-owner{color:var(--text-secondary);background:#ffffff14;border-radius:30px;padding:.2rem .5rem;font-size:.7rem}.main-content{flex:1;padding:2rem;overflow-y:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}.page-header h1{background:linear-gradient(135deg, #fff, var(--teal));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:600}.badge-viewonly{color:#f87171;background:#ef444426;border:1px solid #ef444466;border-radius:40px;align-items:center;gap:6px;padding:.35rem 1rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-admin{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf666;border-radius:40px;align-items:center;gap:6px;padding:.35rem 1rem;font-size:.75rem;font-weight:500;display:inline-flex}.place-actions-overlay{z-index:30;opacity:0;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:10px;right:10px;transform:translateY(-5px)}.glass-panel:hover .place-actions-overlay{opacity:1;transform:translateY(0)}.admin-action-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.admin-action-btn:hover{background:#8b5cf6;border-color:#ffffff80;transform:scale(1.1)}.admin-action-btn.delete:hover{background:#ef4444}.secondary-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-primary);background:0 0;border-radius:2rem;align-items:center;gap:.5rem;padding:.5rem 1.2rem;font-weight:500;transition:all .2s;display:inline-flex}.secondary-btn.import-btn:hover{border-color:var(--teal);color:#5eead4;background:#2dd4bf33}.secondary-btn.danger-btn:hover{border-color:var(--danger);color:#ff8a8a;background:#ef444433}.places-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.glass-panel{background:var(--card-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:1.5rem;transition:transform .2s,box-shadow .2s;overflow:hidden}.glass-panel:hover{border-color:#8b5cf666;transform:translateY(-5px);box-shadow:0 20px 30px -12px #0006}.place-img-container{border-bottom:1px solid var(--border);background:#0f172a;justify-content:center;align-items:center;height:160px;display:flex;position:relative}.place-img-container img{object-fit:cover;width:100%;height:100%}.place-img-container i,.place-img-container svg{color:#8b5cf680;font-size:2.5rem}.place-content{flex-direction:column;gap:.8rem;padding:1rem 1rem 1.2rem;display:flex}.place-header-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.place-name{word-break:break-word;flex:1;font-size:1.1rem;font-weight:600}.edit-name-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:.8rem}.edit-name-btn:hover{color:var(--teal)}.category-badge{color:var(--teal);background:#2dd4bf33;border:.5px solid #2dd4bf80;border-radius:30px;align-items:center;gap:5px;padding:.2rem .7rem;font-size:.7rem;font-weight:500;display:inline-flex}.edit-cat-btn{color:inherit;cursor:pointer;background:0 0;border:none;margin-left:4px;font-size:.7rem}.data-row{border-bottom:1px dashed #ffffff1a;justify-content:space-between;margin-bottom:.4rem;padding-bottom:.4rem;font-size:.8rem;display:flex}.data-note{background:#0003;border-radius:1rem;justify-content:space-between;align-items:center;padding:.5rem;font-size:.85rem;display:flex}.note-text{color:var(--text-secondary);word-break:break-word;flex:1}.edit-note-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:30px;padding:.2rem .5rem}.edit-note-btn:hover{background:var(--accent-purple);color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.import-modal{border:1px solid var(--border);background:#111827;border-radius:2rem;width:90%;max-width:800px;padding:2.5rem;box-shadow:0 25px 50px -12px #00000080}.import-modal h3{margin-bottom:.5rem;font-size:1.5rem}.import-modal textarea{border:1px solid var(--border);color:#fff;resize:vertical;background:#0a0f1c;border-radius:1.2rem;width:100%;min-height:200px;margin:1.5rem 0;padding:1.2rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.95rem}.parsed-preview{background:#0a0f1c;border:1px solid #ffffff0d;border-radius:1rem;max-height:250px;margin:1rem 0;padding:1.2rem;font-size:.85rem;overflow-y:auto}.parsed-preview span{border-bottom:1px solid #ffffff1a;padding:.5rem 0;display:block}.parsed-preview strong{color:var(--teal)}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:flex}.form-group label svg{color:var(--teal)}.btn-secondary{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:2rem;padding:.7rem 1.5rem;transition:all .2s}.btn-secondary:hover{color:#fff;background:#ffffff0d}.btn-primary{background:var(--teal);cursor:pointer;color:#0a0f1c;border:none;border-radius:2rem;padding:.7rem 1.5rem;font-weight:700;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #2dd4bf4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.modal-buttons{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}select.login-input{text-align-last:left;cursor:pointer;padding-left:1rem}select.login-input option{color:#fff;background:#111827}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-container{background:#ffffff0d;border:1px solid #ffffff0d;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--teal), #a855f7);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:2px 8px;font-size:.65rem;font-weight:700}.status-visited{color:var(--teal);background:#2dd4bf26;border:1px solid #2dd4bf4d}.status-pending{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.visited-overlay{-webkit-backdrop-filter:grayscale();backdrop-filter:grayscale();opacity:0;pointer-events:none;z-index:5;background:#0006;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;inset:0}.place-img-container:hover .visited-overlay{opacity:1}.check-btn{border:2px solid var(--teal);width:32px;height:32px;color:var(--teal);cursor:pointer;z-index:10;background:#0009;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.check-btn.checked{background:var(--teal);color:#0a0f1c}.check-btn:hover{transform:scale(1.1)}.helper-text{color:var(--text-secondary);margin-top:.5rem;font-size:.75rem;line-height:1.4}.login-screen{z-index:2000;background:radial-gradient(circle,#1e1b4b,#050505);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);text-align:center;background:#0f172ab3;border-radius:2.5rem;width:100%;max-width:400px;padding:3rem;box-shadow:0 25px 50px -12px #00000080}.login-card h1{background:linear-gradient(135deg, #fff, var(--teal));color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.5rem}.login-input{border:1px solid var(--border);color:#fff;text-align:center;letter-spacing:2px;background:#0000004d;border-radius:1rem;width:100%;margin:1.5rem 0;padding:1rem;font-size:1.2rem}.login-btn{background:var(--teal);color:#0a0f1c;cursor:pointer;border:none;border-radius:1rem;width:100%;padding:1rem;font-size:1rem;font-weight:700;transition:all .2s}.login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #2dd4bf4d}@media (width<=760px){.dashboard{flex-direction:column}.sidebar{width:100%;height:auto;padding:1rem}.main-content{height:auto;overflow-y:visible}}
