/* Pannelli di lavoro scolastico: stessa palette e stesse convenzioni dello Studio. */
#sf-school-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.ss-tool { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; }
.ss-tool svg { width:20px; height:20px; flex:none; }
.ss-tool[aria-expanded="true"] { background:#edf3f5; border-color:#17374b; color:#17374b; }
.ss-panel { flex:none; width:min(1200px,calc(100% - 2rem)); margin:1rem auto; padding:1.5rem; border:1px solid var(--sf-line,#d5dde6); border-radius:12px; background:#fff; box-shadow:0 8px 24px #17374b0a; scroll-margin-top:1rem; }
.ss-panel h2 { margin:0; color:#17374b; font-size:1.5rem; line-height:1.25; }
.ss-panel h3 { color:#17374b; margin:0 0 .6rem; font-size:1.05rem; }
.ss-panel p { max-width:72ch; }
.ss-panel a { color:#174d78; text-underline-offset:3px; }
.ss-panel button,.ss-panel select,.ss-panel input { min-height:48px; }
.ss-panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; padding-bottom:1.1rem; border-bottom:1px solid #d5dde6; margin-bottom:1.25rem; }
.ss-panel-heading>div { min-width:0; }
.ss-panel-heading p { margin:.5rem 0 0; color:#4b5b6d; }
.ss-panel-heading>button { flex:none; }
.ss-ideas-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:2rem; align-items:start; }
.ss-form { display:grid; gap:.9rem; }
.ss-form label { display:grid; gap:.35rem; font-weight:600; color:#17374b; }
.ss-form input,.ss-form select,.ss-form textarea,.ss-trace-result textarea { width:100%; min-width:0; padding:.65rem .75rem; border:1px solid #8c9eaa; border-radius:6px; font:inherit; font-weight:400; color:#1b2838; background:#fff; }
.ss-form textarea,.ss-trace-result textarea { resize:vertical; line-height:1.6; }
.ss-form button[type="submit"] { justify-self:start; }
.ss-form ::placeholder,.ss-trace-result ::placeholder { color:#5a6a79; opacity:1; }
.ss-field-help { font-size:.88rem; line-height:1.55; color:#4b5b6d; margin:.1rem 0 .4rem; }
.ss-trace-result>label { display:block; font-weight:600; color:#17374b; margin-bottom:.4rem; }
.ss-trace-result textarea { min-height:300px; background:#f8fafb; }
.ss-actions { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin:.8rem 0; }
.ss-reading-preset { padding-top:1.1rem; margin-top:1.2rem; border-top:1px solid #d5dde6; }
.ss-reading-preset p { margin:.35rem 0 .8rem; }
.ss-principles { margin-top:1.5rem; border-top:1px solid #d5dde6; padding-top:1rem; }
.ss-principles summary { min-height:48px; display:list-item; cursor:pointer; font-weight:600; color:#17374b; padding:.5rem 0; }
.ss-principles ul { display:grid; gap:.75rem; max-width:75ch; padding-left:1.25rem; }
.ss-principles p { font-size:.88rem; color:#4b5b6d; }
.ss-review-summary { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; padding-bottom:1rem; }
.ss-review-summary p { margin:0; }
.ss-review-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:2rem; align-items:start; }
.ss-issues { list-style:none; padding:0; margin:0; }
.ss-issues>li { border-top:1px solid #d5dde6; padding:1rem 0; }
.ss-issues h4 { margin:.4rem 0; font-size:1rem; color:#17374b; }
.ss-issues p { margin:.3rem 0 .75rem; color:#405465; overflow-wrap:anywhere; }
.ss-severity { display:inline-block; font-size:.8rem; font-weight:650; line-height:1.5; padding:.15rem .5rem; border-radius:4px; color:#17374b; background:#edf3f5; }
.ss-error { color:#8e1931; background:#fbecef; }
.ss-warning { color:#754710; background:#fff3d9; }
.ss-human-review { padding:1.2rem; background:#f1f5f7; border-radius:8px; }
.ss-human-review ul { margin:0; padding-left:1.15rem; display:grid; gap:.7rem; }
.ss-human-review li p { margin:.25rem 0; }
.ss-review-note { font-size:.9rem; padding-top:.8rem; border-top:1px solid #bdccd5; }
.ss-human-review>p:last-child { font-size:.88rem; color:#405465; }
.ss-review-empty { margin:0; padding:1rem 0; border-top:1px solid #d5dde6; }
@media(max-width:800px) {
  .ss-panel { width:calc(100% - 1rem); padding:1rem; }
  .ss-ideas-layout,.ss-review-layout { grid-template-columns:minmax(0,1fr); gap:1.4rem; }
  .ss-panel h2 { font-size:1.3rem; }
  .ss-panel-heading { gap:.8rem; }
  .ss-panel-heading>button { padding:.45rem .7rem; }
  .ss-trace-result textarea { min-height:280px; }
  .ss-review-summary { gap:.2rem; }
}
@media(forced-colors:active) { .ss-severity,.ss-human-review { border:1px solid CanvasText; } }
