:root { --fg:#1b1f24; --mut:#5c6670; --bg:#fff; --line:#d8dde2; --acc:#0b57d0; --warn:#fff4e5; --warnb:#e0a040; --rev:#7a4b00; }
/* tema SEMPRE chiaro (richiesta di Paolo, 05/10): nessuna variante scura, anche se il sistema e' in modalita' scura */
:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--fg); background:var(--bg); }
a { color:var(--acc); }
.top { display:flex; justify-content:space-between; align-items:center; padding:.6rem 1rem; border-bottom:1px solid var(--line); }
.top .home { font-weight:600; text-decoration:none; color:var(--fg); }
.out { margin:0; }
button { font:inherit; padding:.35rem .8rem; border:1px solid var(--line); background:transparent; color:var(--fg); border-radius:6px; cursor:pointer; }
main { max-width:1100px; margin:0 auto; padding:1rem; }
main.narrow { max-width:380px; padding-top:4rem; }
main.search { max-width:640px; padding-top:22vh; }
h1 { font-size:1.5rem; margin:.5rem 0 1rem; overflow-wrap:anywhere; }
h2 { font-size:1.1rem; margin:1.6rem 0 .5rem; border-bottom:1px solid var(--line); padding-bottom:.2rem; }
h3 { font-size:.95rem; margin:1rem 0 .3rem; color:var(--mut); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.4rem 1.5rem; margin:0; }
.f dt { font-size:.8rem; color:var(--mut); }
.f dd { margin:0; overflow-wrap:anywhere; }
.nd { color:var(--mut); font-style:italic; }
.prov { color:var(--mut); font-size:.75rem; margin-left:.3rem; }
.tag { font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; border:1px solid var(--line); border-radius:4px; padding:0 .35rem; color:var(--mut); vertical-align:middle; }
.rev { font-size:.7rem; color:var(--rev); border:1px solid var(--warnb); border-radius:4px; padding:0 .3rem; }
.note, .count { color:var(--mut); font-size:.85rem; margin:.3rem 0; }
.warn { background:var(--warn); border-left:4px solid var(--warnb); padding:.1rem 1rem .6rem; margin-top:1rem; }
.warnline { font-weight:600; }
.tw { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:.85rem; }
th, td { text-align:left; padding:.3rem .5rem; border-bottom:1px solid var(--line); vertical-align:top; overflow-wrap:anywhere; }
th { color:var(--mut); font-weight:600; white-space:nowrap; }
.foot { max-width:1100px; margin:2rem auto 1rem; padding:.6rem 1rem; border-top:1px solid var(--line); color:var(--mut); font-size:.8rem; }
.bar { position:relative; display:flex; gap:.5rem; align-items:stretch; }
.bar .campo { position:relative; flex:1; }
.bar select { font:inherit; padding:0 .8rem; border:1px solid var(--line); border-radius:999px; background:var(--bg); color:var(--fg); }
.lista .idr { color:var(--mut); font-size:.8rem; margin-left:.3rem; }
.proposte .idr { color:var(--mut); font-size:.8rem; }
.bar input { width:100%; font:inherit; font-size:1.15rem; padding:.8rem 1.1rem; border:1px solid var(--line); border-radius:999px; background:var(--bg); color:var(--fg); outline:none; }
.bar input:focus { border-color:var(--acc); }
.proposte { position:absolute; left:0; right:0; top:100%; margin:.3rem 0 0; padding:.3rem 0; list-style:none; background:var(--bg); border:1px solid var(--line); border-radius:12px; z-index:5; max-height:70vh; overflow-y:auto; }
.proposte[hidden] { display:none; }
.proposte li { padding:.4rem 1rem; cursor:pointer; display:flex; gap:.6rem; align-items:baseline; flex-wrap:wrap; }
.proposte li.sel, .proposte li:hover { background:rgba(127,127,127,.15); }
.proposte .et { font-weight:600; overflow-wrap:anywhere; }
.proposte .ctx, .proposte .pa { color:var(--mut); font-size:.8rem; }
.lista { list-style:none; padding:0; }
.lista li { padding:.4rem 0; border-bottom:1px solid var(--line); }
.login { display:flex; flex-direction:column; gap:.8rem; }
.login input { display:block; width:100%; font:inherit; padding:.5rem; margin-top:.2rem; border:1px solid var(--line); border-radius:6px; background:var(--bg); color:var(--fg); }
.err { color:#b3261e; }
@media (max-width:600px) { main { padding:.7rem; } }
.dbinfo { margin-top:1.2rem; text-align:center; color:var(--mut); font-size:.8rem; }
.dbinfo p { margin:.15rem 0; }
.dbinfo .small { font-size:.72rem; margin-top:.5rem; }
