:root{font-family:system-ui,-apple-system,sans-serif;color:#172b3a;background:#f3f6f8}
*{box-sizing:border-box}
body{max-width:1150px;margin:auto;padding:18px;background:#f3f6f8}
h1{margin-bottom:3px}h2{margin-top:0;font-size:1.3rem}h3{margin-bottom:6px}
.muted{color:#526574;font-size:.92rem}.small{font-size:.83rem}
.card{background:white;border:1px solid #dce5eb;border-radius:15px;padding:20px;margin:16px 0;box-shadow:0 2px 8px #152a3b0a}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:5px}
label.inline{display:flex;gap:6px;align-items:center;font-weight:400;margin:0}
input,select,button,textarea{font:inherit;border:1px solid #b8c9d3;border-radius:8px;padding:10px;width:100%;background:white;color:inherit}
button{width:auto;cursor:pointer;background:#145b75;color:white;border:0;margin:5px 4px 5px 0}
button.alt{background:#e4eef2;color:#164d62}
button:disabled,select:disabled{opacity:.55;cursor:not-allowed}
table{width:100%;border-collapse:collapse;font-size:.9rem}
td,th{border-bottom:1px solid #e1e8ec;text-align:left;padding:9px;vertical-align:top}
td button{padding:6px 9px}
.scroll{overflow:auto}
.error{color:#aa2525}.ok{color:#147047}
.hidden{display:none!important}
select{min-width:125px}
input[type=checkbox]{width:auto}
code{overflow-wrap:anywhere;font-size:1.05rem;background:#eef4f6;padding:6px 8px;border-radius:6px;display:inline-block;margin:4px 0}
#notice{min-height:24px;font-weight:600}
.slotgrid select{min-width:140px;padding:7px}.slotgrid th{white-space:nowrap}
select.excluded{background:#f6e7e7;color:#8a2a2a}select.room{background:#e8f3ee}
.tag{display:inline-block;border-radius:20px;padding:3px 9px;font-size:.82rem;background:#eef1f3;white-space:nowrap}
.tag.lock{background:#dff0e6;color:#14532d}.tag.manual{background:#fdf0d8;color:#7a4a05}.tag.auto{background:#e4eef2;color:#164d62}
.warn{color:#9a4b05;font-size:.82rem;margin-top:4px}
.banner{background:#fdf0d8;border-radius:8px;padding:10px;margin-bottom:12px}
.busy{opacity:.6;pointer-events:none}
.days{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
ul.schools{padding-left:20px;line-height:2}
.nowrap{white-space:nowrap}
.tag.st-aperta{background:#dff0e6;color:#14532d}.tag.st-chiusa{background:#fdf0d8;color:#7a4a05}.tag.st-archiviata{background:#eceff1;color:#5b6770}
a{color:#145b75}
.equiv{margin:8px 0 4px}.equivToggle{margin-top:6px;color:#526574}
details.extras{margin-top:6px;font-size:.85rem}details.extras summary{cursor:pointer;color:#145b75}details.extras label{margin-top:6px}details.extras input,details.extras select{padding:6px;margin-top:2px}
footer.coord{text-align:center;margin:28px 0 8px;font-size:.85rem}footer.coord a{color:#526574}
