:root{--bg:#f7f4ef;--surface:#fffdf8;--surface-strong:#fff;--text:#1f2326;--muted:#667078;--line:#ded8ce;--accent:#d83a2f;--accent-dark:#a72620;--teal:#147c7b;--amber:#aa6a00;--green:#247345;--danger:#b42318;--shadow:0 8px 22px #1f232614}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;letter-spacing:0}img{max-width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100svh;padding-bottom:88px}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f4eff0;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:9px;font-size:1.2rem;font-weight:800;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.user-chip{max-width:42vw;color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.content{width:min(100%,920px);margin:0 auto;padding:18px 16px 30px}.bottom-nav{z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f5;grid-template-columns:repeat(4,1fr);gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{min-height:56px;color:var(--muted);border-radius:8px;place-items:center;gap:3px;font-size:.72rem;font-weight:700;display:grid}.nav-item svg{width:21px;height:21px}.nav-item:hover,.nav-item:focus-visible{color:var(--text);background:#f0ebe2;outline:none}.page-title{margin:4px 0 16px;font-size:1.5rem;line-height:1.12}.section-title{margin:24px 0 10px;font-size:1rem}.search-hero{gap:14px;display:grid}.search-input-wrap{position:relative}.search-input-wrap svg{width:24px;height:24px;color:var(--muted);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-input{border:2px solid var(--text);background:var(--surface-strong);width:100%;min-height:64px;color:var(--text);border-radius:8px;outline:none;padding:17px 18px 17px 52px;font-size:1.1rem;font-weight:700}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #d83a2f29}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button{border:1px solid var(--line);background:var(--surface-strong);min-height:48px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:12px 15px;font-weight:800;display:inline-flex}.button svg{flex:none;width:20px;height:20px}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark)}.button.full{width:100%}.button.ghost{background:0 0}.button:disabled{cursor:not-allowed;opacity:.58}.item-list{gap:10px;margin-top:18px;display:grid}.item-card{border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow);border-radius:8px;gap:8px;padding:14px;display:grid}.item-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.item-name{margin:0;font-size:1.06rem;line-height:1.2}.muted{color:var(--muted)}.meta-line{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.9rem;display:flex}.status{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:4px 9px;font-size:.75rem;font-weight:800;display:inline-flex}.status.confirmed{color:var(--green);background:#2473451f}.status.approximate{color:var(--amber);background:#aa6a0021}.status.needs-checking{color:var(--danger);background:#b423181f}.panel{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;padding:14px}.form-grid{gap:14px;display:grid}.field{gap:7px;display:grid}.field label,.label{color:var(--text);font-size:.88rem;font-weight:800}.field input,.field textarea,.field select{width:100%;min-height:50px;color:var(--text);background:#fff;border:1px solid #cfc7bc;border-radius:8px;outline:none;padding:12px}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d83a2f24}.form-section{gap:14px;margin-top:14px;display:grid}.details-block{border:1px solid var(--line);background:var(--surface);border-radius:8px}.details-block summary{cursor:pointer;min-height:48px;padding:14px;font-weight:800}.details-body{gap:14px;padding:0 14px 14px;display:grid}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.photo-tile{border:1px solid var(--line);aspect-ratio:1;background:#ece6dc;border-radius:8px;position:relative;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%}.detail-block{gap:8px;margin-top:16px;display:grid}.detail-label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.detail-value{margin:0;font-size:1.05rem;line-height:1.45}.where-box{border-left:5px solid var(--teal);background:#eef8f6;border-radius:8px;padding:14px}.warning-box{border-left:5px solid var(--danger);background:#fff1ef;border-radius:8px;padding:14px}.empty-state{color:var(--muted);text-align:center;border:1px dashed #bfb7ac;border-radius:8px;margin-top:20px;padding:22px 16px}.login-screen{place-items:center;min-height:100svh;padding:24px 16px;display:grid}.login-box{gap:16px;width:min(100%,420px);display:grid}.login-title{margin:0;font-size:2.25rem;line-height:1}.error-box{color:var(--danger);background:#fff1ef;border:1px solid #b4231847;border-radius:8px;padding:12px;font-weight:700}.success-box{color:var(--green);background:#eef8f0;border:1px solid #24734538;border-radius:8px;padding:12px;font-weight:700}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.browse-group{gap:10px;margin-top:12px;display:grid}@media (min-width:720px){.content{padding:28px 24px 40px}.app-shell{padding-bottom:0}.bottom-nav{border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;width:min(100%,920px);margin:0 auto;position:sticky;top:65px;bottom:auto}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}}
