:root{--bg:#0b0f19;--card:#111827;--card2:#1e293b;--inp:#070b14;--bdr:#334155;--bdr-f:#6366f1;--txt:#f8fafc;--muted:#94a3b8;--p:#6366f1;--p-h:#4f46e5;--acc:#38bdf8;--ok:#10b981;--warn:#f59e0b;--err:#ef4444;--r:8px;--sh:0 4px 20px rgba(0,0,0,0.5)}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Inter',sans-serif;line-height:1.5;color:var(--txt);background:var(--bg);margin:0;padding:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-container{flex:1;display:flex;flex-direction:column;height:100vh}header{background:linear-gradient(180deg,#111827 0%,#0c1220 100%);padding:14px 24px;border-bottom:1px solid var(--bdr);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 4px 12px rgba(0,0,0,0.4)}h1{font-size:18px;font-weight:700;letter-spacing:-0.4px;margin:0;background:linear-gradient(135deg,#fff 0%,#94a3b8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:8px}h1::before{content:"📍";font-size:18px;-webkit-text-fill-color:initial}nav{margin:0;padding:0}nav a{color:var(--acc);text-decoration:none;font-size:12px;font-weight:600;padding:6px 12px;background:rgba(56,189,248,0.1);border:1px solid rgba(56,189,248,0.25);border-radius:var(--r);transition:all .2s ease;display:inline-flex;align-items:center}nav a:hover{background:rgba(56,189,248,0.2);border-color:var(--acc);transform:translateY(-1px);box-shadow:0 0 10px rgba(56,189,248,0.3)}.github-section{display:flex;align-items:center;margin:0}.github-section p{display:none}.github-button{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);color:#f8fafc;border:1px solid var(--bdr);padding:6px 14px;border-radius:var(--r);font-size:12px;font-weight:600;text-decoration:none;transition:all .2s ease}.github-button:hover{background:#334155;border-color:#64748b;transform:translateY(-1px)}.github-button svg path{fill:#38bdf8}.sponsor-section{display:inline-flex;align-items:center;margin:0;padding:0;background:transparent;border:none}.sponsor-close,.sponsor-text{display:none}.sponsor-button{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);color:white;border:1px solid rgba(255,255,255,0.15);padding:6px 14px;border-radius:var(--r);font-size:12px;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:0 2px 10px rgba(99,102,241,0.3)}.sponsor-button:hover{background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);transform:translateY(-1px);box-shadow:0 4px 14px rgba(99,102,241,0.5)}main{flex:1;display:flex;overflow:hidden;background:var(--bg)}.sidebar{width:350px;background:var(--card);padding:20px;overflow-y:auto;border-right:1px solid var(--bdr);box-shadow:4px 0 16px rgba(0,0,0,0.3)}.sidebar::-webkit-scrollbar,.content::-webkit-scrollbar{width:6px;height:6px}.sidebar::-webkit-scrollbar-thumb,.content::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.content{flex:1;padding:24px;overflow-y:auto;background:radial-gradient(circle at 10% 20%,#0d1424 0%,#090d16 100%)}form{display:flex;flex-direction:column;gap:16px}fieldset{border:1px solid var(--bdr);padding:14px;margin:0;border-radius:var(--r);background:var(--inp)}legend{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--acc);padding:0 6px}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}label{display:block;font-size:12px;font-weight:600;margin-bottom:5px;color:var(--muted)}input[type="text"],input[type="number"],textarea{width:100%;padding:9px 12px;background:#060a12;border:1px solid var(--bdr);border-radius:var(--r);color:var(--txt);font-size:13px;font-family:inherit;transition:all .2s ease;box-sizing:border-box}input[type="text"]:focus,input[type="number"]:focus,textarea:focus{outline:none;border-color:var(--bdr-f);background:#0b1120;box-shadow:0 0 0 3px rgba(99,102,241,0.25)}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input[type="checkbox"]{width:16px;height:16px;accent-color:var(--p);cursor:pointer}.checkbox label{margin:0;cursor:pointer;color:var(--txt);font-size:12px}.expandable-section{border:1px solid var(--bdr);border-radius:var(--r);background:var(--inp);overflow:hidden}.expandable-section summary{cursor:pointer;padding:10px 14px;font-size:12px;font-weight:600;color:var(--txt);background:var(--card2);user-select:none;transition:background .2s ease}.expandable-section summary:hover{background:#28354e}.expandable-section fieldset{border:none;background:transparent;padding:12px}.text-muted{color:var(--muted);font-size:11px;margin:3px 0 6px 0}button[type="submit"],button{background:linear-gradient(135deg,#6366f1 0%,#3b82f6 100%);color:white;border:none;padding:11px 18px;border-radius:var(--r);cursor:pointer;font-size:13px;font-weight:700;letter-spacing:0.2px;transition:all .2s ease;box-shadow:0 4px 14px rgba(99,102,241,0.4);width:100%}button[type="submit"]:hover,button:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(99,102,241,0.55)}button[type="submit"]:active,button:active{transform:translateY(0)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);box-shadow:var(--sh);border-radius:var(--r);border:1px solid var(--bdr);overflow:hidden}th,td{text-align:left;padding:12px 16px;font-size:13px;border-bottom:1px solid var(--bdr)}th{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:0.8px;color:var(--muted);background:var(--card2)}tr:last-child td{border-bottom:none}tr:hover td{background:rgba(255,255,255,0.02)}.status-indicator{display:inline-flex;align-items:center;padding:3px 8px;border-radius:9999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.4px}.status-ok{background:rgba(16,185,129,0.15);color:#34d399;border:1px solid rgba(16,185,129,0.3)}.status-pending,.status-working{background:rgba(245,158,11,0.15);color:#fbbf24;border:1px solid rgba(245,158,11,0.3)}.status-failed,.status-error{background:rgba(239,68,68,0.15);color:#f87171;border:1px solid rgba(239,68,68,0.3)}.download-button,.delete-button,.view-button{display:inline-flex;align-items:center;padding:5px 10px;border-radius:var(--r);font-size:11px;font-weight:600;text-decoration:none;margin-right:5px;transition:all .15s ease}.download-button{background:rgba(16,185,129,0.2);color:#34d399;border:1px solid rgba(16,185,129,0.3)}.download-button:hover{background:#10b981;color:#fff}.delete-button{background:rgba(239,68,68,0.2);color:#f87171;border:1px solid rgba(239,68,68,0.3)}.delete-button:hover{background:#ef4444;color:#fff}.view-button{background:rgba(56,189,248,0.2);color:#38bdf8;border:1px solid rgba(56,189,248,0.3)}.view-button:hover{background:#38bdf8;color:#0b1120}.error-message{display:none;background:rgba(239,68,68,0.1);border:1px solid var(--err);color:#fca5a5;padding:10px 14px;border-radius:var(--r);margin-bottom:14px;font-size:12px}.error-message:not(:empty){display:block}.spinner{width:22px;height:22px;border:3px solid rgba(99,102,241,0.2);border-top-color:var(--p);border-radius:50%;animation:spin .8s linear infinite;margin:14px auto;display:none}.htmx-request .spinner,.spinner.htmx-request{display:block}@keyframes spin{to{transform:rotate(360deg)}}.map-modal{display:flex;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,0.8);backdrop-filter:blur(4px);justify-content:center;align-items:center}.map-modal-content{background:var(--card);width:90vw;height:85vh;border-radius:12px;border:1px solid var(--bdr);box-shadow:0 25px 50px rgba(0,0,0,0.7);display:flex;flex-direction:column;overflow:hidden}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--bdr);background:var(--card2)}.map-modal-header h2{margin:0;font-size:15px;color:var(--txt)}.map-modal-close{background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:4px;width:auto;box-shadow:none}.map-modal-close:hover{color:var(--txt);background:transparent;box-shadow:none}.map-modal-body{flex:1;background:var(--bg)}@media(max-width:900px){main{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--bdr)}.content{padding:16px}}/*                                                                                                                                                                                                                                                          */