:root { --db-red:#c8102e; --bg:#0f1115; --card:#1a1d24; --muted:#8a93a6; --txt:#e8ecf3; --green:#2ecc71; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif; background:var(--bg); color:var(--txt); }
header { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:var(--db-red); }
header h1 { font-size:1.1rem; margin:0; }
header .logout { color:#fff; text-decoration:none; opacity:.9; font-size:.9rem; }
main { padding:16px; max-width:1000px; margin:0 auto; }
section { margin-bottom:28px; }
h2 { font-size:1rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.card { background:var(--card); border-radius:12px; padding:14px; }
.card.inactive { opacity:.45; }
.card-head { display:flex; justify-content:space-between; align-items:center; }
.price { font-size:2rem; font-weight:700; margin:6px 0; }
.price.cheap { color:var(--green); }
.stats { display:flex; flex-wrap:wrap; gap:10px; font-size:.78rem; color:var(--muted); }
.badge { margin-top:8px; font-size:.8rem; color:var(--green); }
.muted { color:var(--muted); }
.alarms { list-style:none; padding:0; }
.alarms li { background:var(--card); border-radius:10px; padding:10px 12px; margin-bottom:8px; display:flex; justify-content:space-between; gap:10px; align-items:center; }
.alarms li.inactive { opacity:.45; }
.fired { color:#ffb454; margin-left:6px; }
button { background:var(--db-red); color:#fff; border:0; border-radius:8px; padding:8px 12px; cursor:pointer; font-size:.9rem; }
button.del { background:transparent; color:var(--muted); font-size:1.2rem; padding:0 6px; }
details { margin-top:14px; background:var(--card); border-radius:10px; padding:12px; }
summary { cursor:pointer; color:var(--db-red); }
.form-row { display:flex; gap:8px; margin:8px 0; }
input,select { background:#0c0e12; border:1px solid #2a2f3a; color:var(--txt); border-radius:8px; padding:8px; flex:1; min-width:0; }
.loc-results { font-size:.85rem; }
.loc-results button { background:#2a2f3a; margin:3px 0; display:block; width:100%; text-align:left; }
.cal-block { margin:8px 0; }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; }
.chip { background:#2a2f3a; color:var(--txt); border-radius:14px; padding:4px 10px; font-size:.8rem; cursor:pointer; }
.tlabel { display:flex; align-items:center; gap:6px; flex-wrap:wrap; color:var(--muted); font-size:.9rem; }
.tlabel input { flex:0 0 auto; }
.login-body { display:flex; min-height:100vh; align-items:center; justify-content:center; }
.login-card { background:var(--card); padding:28px; border-radius:14px; display:flex; flex-direction:column; gap:12px; width:280px; }
.login-card h1 { font-size:1.2rem; text-align:center; margin:0 0 8px; }
.error { color:#ff6b6b; font-size:.85rem; text-align:center; margin:0; }
