/* Preventivi Dvor – login and account pages */
:root { --ink:#1f1d1a; --muted:#6f6a62; --line:#e4dfd6; --bg:#f6f3ee; --card:#fff; --accent:#7a2e2a; --err:#a3261f; --ok:#2f6b3a; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.5 "Source Sans 3", system-ui, sans-serif; }
h1, h2 { font-family:"Cormorant Garamond", Georgia, serif; font-weight:600; margin:0 0 .5em; }
h1 { font-size:2rem; } h2 { font-size:1.5rem; margin-top:1.5em; }
.wrap { max-width:880px; margin:0 auto; padding:24px 16px 48px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:24px; }
.login { max-width:380px; margin:10vh auto 0; }
.login img { display:block; max-width:180px; margin:0 auto 12px; }
label { display:block; font-size:.9rem; color:var(--muted); margin:12px 0 4px; }
input, select { width:100%; padding:10px 12px; font:inherit; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
button { font:inherit; padding:10px 16px; border-radius:6px; border:1px solid var(--accent); background:var(--accent); color:#fff; cursor:pointer; }
button.ghost { background:transparent; color:var(--accent); }
button.danger { background:transparent; color:var(--err); border-color:var(--err); }
button:disabled { opacity:.5; cursor:default; }
.full { width:100%; margin-top:18px; }
.msg { margin:12px 0 0; min-height:1.5em; font-size:.95rem; }
.msg.err { color:var(--err); } .msg.ok { color:var(--ok); }
.top { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.top a { color:var(--accent); }
table { width:100%; border-collapse:collapse; font-size:.95rem; }
th { text-align:left; font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); border-bottom:1px solid var(--ink); padding:8px 6px; }
td { border-bottom:1px solid var(--line); padding:8px 6px; vertical-align:middle; }
td .acts { display:flex; gap:6px; flex-wrap:wrap; }
td button { padding:5px 10px; font-size:.85rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:0 12px; align-items:end; }
.tag { font-size:.8rem; padding:2px 8px; border-radius:99px; background:var(--bg); border:1px solid var(--line); }
.off { color:var(--muted); text-decoration:line-through; }
.scroll { overflow-x:auto; }
