:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4;font-weight:400;color:#e5eef8;background:#0b1220;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #0b1220;--panel: #111a2b;--panel-2: #0f1727;--border: #243146;--text: #e5eef8;--muted: #93a3b8;--primary: #3b82f6;--primary-hover: #2563eb;--danger: #dc2626;--danger-hover: #b91c1c;--ok-bg: #10261c;--ok-border: #1f5a3b;--err-bg: #2a1114;--err-border: #6b1f2a}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:12px;padding:.7rem 1rem;transition:.15s ease}button:hover{transform:translateY(-1px)}button.ghost{background:transparent;color:var(--text);border-color:var(--border)}button.ghost:hover{background:#ffffff0a}button.danger{background:var(--danger);color:#fff}button.danger:hover{background:var(--danger-hover)}button.small{padding:.45rem .7rem;font-size:.9rem}#saveBtn,#loginBtn,#signupBtn{background:var(--primary);color:#fff}#saveBtn:hover,#loginBtn:hover,#signupBtn:hover{background:var(--primary-hover)}input,textarea{width:100%;background:#0b1424;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:.8rem .9rem;outline:none}input:focus,textarea:focus{border-color:var(--primary)}label{display:block;font-size:.95rem;color:var(--text)}label>input,label>textarea{margin-top:.4rem}.shell{max-width:1400px;margin:0 auto;padding:1rem}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.topbar h1{margin:0;font-size:1.9rem}.subtle{color:var(--muted);margin:.25rem 0 0}.auth-box{min-width:min(560px,100%)}.auth-form,.auth-state{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;align-items:center}.auth-form input{max-width:220px}.auth-state{justify-content:flex-end}#userBadge{color:var(--muted)}.message{margin-bottom:1rem;padding:.85rem 1rem;border-radius:12px;border:1px solid transparent}.message.ok{background:var(--ok-bg);border-color:var(--ok-border)}.message.err{background:var(--err-bg);border-color:var(--err-border)}.hidden{display:none!important}.layout{display:grid;grid-template-columns:minmax(340px,480px) 1fr;gap:1rem}.left-col{display:grid;gap:1rem}.panel{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:18px;padding:1rem}.panel h2{margin-top:0;margin-bottom:1rem}.panel-head{display:flex;justify-content:space-between;align-items:center}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:.35rem .6rem;border-radius:999px;background:#3b82f626;color:#bfdbfe;border:1px solid rgba(59,130,246,.35)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.form-grid .span-2{grid-column:1 / -1}.actions{display:flex;gap:.75rem}.catch-list{display:grid;gap:.75rem}.catch-card{border:1px solid var(--border);border-radius:14px;padding:.85rem;background:#ffffff05}.catch-card h3{margin:0 0 .25rem;font-size:1rem}.catch-top{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.meta{color:var(--muted);font-size:.92rem;margin-top:.15rem}.notes{margin-top:.6rem;color:var(--text);white-space:pre-wrap}.empty-state{padding:1rem;border:1px dashed var(--border);border-radius:14px;color:var(--muted)}.map-panel{min-height:700px}#map{width:100%;height:620px;border-radius:16px;overflow:hidden;border:1px solid var(--border);margin-top:.75rem}@media(max-width:1100px){.layout{grid-template-columns:1fr}.map-panel{min-height:auto}#map{height:480px}}@media(max-width:720px){.topbar,.auth-form,.auth-state,.actions,.catch-top{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.auth-form input{max-width:none}}.small-select{background:#0b1424;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:.55rem .8rem}
