:root{--bg:#f8fafc;--card:#ffffff;--muted:#64748b;--text:#0f172a;--border:#e5e7eb;--brand:#4f46e5}html[data-theme=dark]{--bg:#0b1220;--card:#0f172a;--muted:#94a3b8;--text:#e2e8f0;--border:rgba(148,163,184,0.18);--brand:#7c3aed}body,html{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;color:var(--text);background:var(--bg);display:flex;flex-direction:column;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 16px}.main-content{flex:1 0 auto;padding:16px 20px 72px}.footer{bottom:0;text-align:center;padding:14px 0;color:var(--muted);font-size:13px;border-top:1px solid var(--border);width:100%}.footer,.navbar{position:-webkit-sticky;position:sticky;left:0;right:0;z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,var(--card) 85%,transparent)}.navbar{top:0;border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;height:58px;padding:0 8px}.brand{font-weight:800;font-size:18px;letter-spacing:.3px;text-decoration:none;color:var(--brand)}.nav-links{display:none;gap:14px;margin-left:16px}.mobile-menu,.mobile-menu-btn{display:inline-flex}.mobile-menu-btn{padding:6px 10px}@media (min-width:700px){.nav-links{display:flex}.brand{font-size:20px}.mobile-menu{display:none}}.nav-link{color:color-mix(in srgb,var(--text) 70%,#0000);text-decoration:none;padding:6px 10px;border-radius:8px}.nav-link:hover{background:color-mix(in srgb,var(--card) 85%,transparent);color:var(--text)}.nav-user{margin-left:auto;display:flex;align-items:center;gap:8px}.avatar{width:28px;height:28px;border-radius:9999px;background:color-mix(in srgb,var(--brand) 12%,var(--card));color:var(--brand);display:grid;place-items:center;font-weight:700}.user-name{color:var(--muted);font-size:14px}.table{width:100%;border-collapse:collapse;text-align:center;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06);min-width:720px}td,th{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}@media (min-width:900px){td,th{padding:14px 16px}}th{font-weight:700;color:var(--text);background:color-mix(in srgb,var(--card) 85%,transparent)}.table img{width:96px;height:auto;border:1px solid var(--border);border-radius:8px}@media (min-width:700px){.table img{width:180px}}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.status{padding:4px 10px;border-radius:9999px;font-size:12px;display:inline-block}.status.active{background:#ecfdf5;color:#065f46}.status.off_market{background:#fee2e2;color:#991b1b}html[data-theme=dark] .status.active{background:rgba(16,185,129,.15);color:#10b981}html[data-theme=dark] .status.off_market{background:rgba(239,68,68,.15);color:#ef4444}.pipeline{display:inline-block;padding:6px 10px;border-radius:9999px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 85%,transparent);font-size:12px;color:color-mix(in srgb,var(--text) 70%,#0000);text-transform:capitalize}.pipeline.viewing_booked{background:color-mix(in srgb,#a7f3d0 35%,var(--card));border-color:#a7f3d0;color:#047857}.pipeline.viewed{background:color-mix(in srgb,#bfdbfe 35%,var(--card));border-color:#bfdbfe;color:#1d4ed8}.pipeline.enquired{background:color-mix(in srgb,#fde68a 35%,var(--card));border-color:#fde68a;color:#92400e}.pipeline.booking_needed{background:color-mix(in srgb,#fecaca 35%,var(--card));border-color:#fecaca;color:#991b1b}.pipeline.offer_sent{background:color-mix(in srgb,#ddd6fe 35%,var(--card));border-color:#ddd6fe;color:#6d28d9}.pipeline.removed{background:color-mix(in srgb,#e5e7eb 35%,var(--card));border-color:#e5e7eb;color:#475569}.filters-bar{display:flex;gap:10px;align-items:center;background:color-mix(in srgb,var(--card) 85%,transparent);border:1px solid var(--border);padding:8px 10px;border-radius:12px}.chip{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}button{cursor:pointer;border-radius:8px;transition:all .15s ease}.btn,button{padding:8px 12px}.btn{border:1px solid var(--border);background:var(--card);display:inline-block;border-radius:8px}.btn,a.btn:link,a.btn:visited{color:var(--text);text-decoration:none}.btn:hover,a.btn:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(0,0,0,.08)}.btn.red{color:#991b1b;border-color:#fecaca}.btn.red.active{background:#ef4444;color:#fff;border-color:#ef4444}.btn.blue{color:#1d4ed8;border-color:#bfdbfe}.btn.blue.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn.green{color:#065f46;border-color:#a7f3d0}.btn.green.active{background:#10b981;color:#fff;border-color:#10b981}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--card);color:var(--text);padding:20px;border-radius:12px;width:720px;max-width:calc(100% - 32px);box-shadow:0 10px 25px rgba(0,0,0,.2);border:1px solid var(--border)}html[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.6)}.mobile-menu .modal{width:420px;max-width:calc(100% - 32px)}@media (max-width:600px){.mobile-menu .modal{width:calc(100% - 32px)}}textarea{width:100%;padding:10px;resize:none;overflow:hidden}input,select,textarea{border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);box-sizing:border-box}input,select{padding:8px 10px}.comment-card{border:1px solid var(--border);border-radius:8px;padding:8px;background:color-mix(in srgb,var(--card) 92%,transparent)}.comment-meta{font-size:12px;color:var(--muted);margin-bottom:4px;display:flex;align-items:center;justify-content:space-between;gap:8px}.comment-actions{display:inline-flex;gap:6px}.comment-deleted{color:var(--muted);font-style:italic}html[data-theme=dark] .pipeline{border-color:rgba(148,163,184,.25);color:#cbd5e1}html[data-theme=dark] .pipeline.viewing_booked{background:rgba(16,185,129,.18);border-color:rgba(16,185,129,.35);color:#b9f4da}html[data-theme=dark] .pipeline.viewed{background:rgba(59,130,246,.18);border-color:rgba(59,130,246,.35);color:#cfe0ff}html[data-theme=dark] .pipeline.enquired{background:rgba(250,204,21,.18);border-color:rgba(250,204,21,.35);color:#fde68a}html[data-theme=dark] .pipeline.booking_needed{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.35);color:#fecaca}html[data-theme=dark] .pipeline.offer_sent{background:rgba(124,58,237,.18);border-color:rgba(124,58,237,.35);color:#e9d5ff}html[data-theme=dark] .pipeline.removed{background:rgba(148,163,184,.15);border-color:rgba(148,163,184,.35);color:#cbd5e1}