.head-row{display:flex;align-items:baseline;justify-content:space-between}.tabs{display:flex;gap:8px;margin:14px 0 18px}.tab{padding:8px 14px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text-dim);font-size:13.5px;cursor:pointer}.tab.active{color:var(--text);border-color:#7fb4ff8c}.badge{display:inline-block;min-width:18px;padding:1px 5px;border-radius:999px;background:#ffb37f2e;color:var(--accent-warm);font-size:11.5px;text-align:center}.badge:empty{display:none}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.cell{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);cursor:pointer;padding:0}.cell img{width:100%;height:100%;object-fit:cover;display:block}.cell .tag{position:absolute;left:6px;bottom:6px;right:6px;font-size:10.5px;color:#ffffffe6;text-shadow:0 1px 3px rgba(0,0,0,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.cell .flag{position:absolute;top:6px;right:6px;font-size:12px;padding:2px 6px;border-radius:7px;background:#0000008c}.cell .flag.np{color:var(--accent-warm)}.cell .flag.fav{color:#ffd76b}.cell .flag.err{color:var(--danger)}.cell.processing:after{content:"processing…";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:11px;color:var(--text-dim);background:#0000088c}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000599;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-height:86vh;overflow-y:auto;background:#070b18;border-top:1px solid var(--panel-border);border-radius:18px 18px 0 0;padding-bottom:max(env(safe-area-inset-bottom),14px)}@media(min-width:720px){.sheet{left:50%;right:auto;transform:translate(-50%);width:560px}}.sheet-photo{width:100%;max-height:42vh;object-fit:contain;background:#000;display:block}.sheet-body{padding:16px 18px 6px}.sheet-title{display:flex;justify-content:space-between;align-items:start;gap:12px}.sheet-place{font-size:18px;font-weight:650}.sheet-place.unplaced{color:var(--accent-warm)}.sheet-date{font-size:13px;color:var(--text-dim);margin-top:2px}.fav{font-size:22px;background:none;border:1px solid var(--panel-border);border-radius:10px;color:var(--text-dim);padding:6px 12px;cursor:pointer}.fav.on{color:#ffd76b;border-color:#ffd76b80}.place-edit{margin-top:16px}.place-edit input{width:100%;padding:12px 13px;border-radius:10px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font-size:15px;outline:none}.place-results{display:flex;flex-direction:column;gap:4px;margin-top:6px}.place-results button{text-align:left;padding:10px 12px;border-radius:9px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font-size:14px;cursor:pointer}.place-results button:hover{border-color:#7fb4ff8c}.place-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.place-chips button{padding:6px 11px;border-radius:999px;border:1px solid var(--panel-border);background:none;color:var(--text-dim);font-size:12.5px;cursor:pointer}.place-chips button:hover{color:var(--text);border-color:#7fb4ff8c}.sheet-actions{display:flex;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--panel-border)}.sheet-actions button{padding:10px 16px;border-radius:10px;font-size:14.5px;cursor:pointer;border:1px solid var(--panel-border);background:none}.sheet-actions .danger{color:var(--danger);border-color:#ff8f8f59}.sheet-actions .danger.confirm{background:#ff8f8f26;font-weight:600}.sheet-actions .ghost{color:var(--text)}
