/* Spazio Compiti 2026 — UI gestionale mobile-first */
:root{
  --sc-brand:#6430ff;--sc-brand-dark:#4820c7;--sc-brand-deep:#35158f;--sc-brand-soft:#f0ecff;
  --sc-bg:#f4f5f8;--sc-surface:#fff;--sc-surface-2:#fafafe;--sc-text:#171925;--sc-muted:#6c7180;
  --sc-border:#e4e6ec;--sc-success:#18864b;--sc-warning:#a86300;--sc-danger:#c93445;
  --sc-radius:14px;--sc-radius-sm:10px;--sc-shadow:0 8px 24px rgba(22,24,35,.07);
  --sc-shadow-lg:0 18px 48px rgba(22,24,35,.13);--sc-safe-bottom:env(safe-area-inset-bottom,0px);--sc-safe-top:env(safe-area-inset-top,0px);
  --sc-ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}html{max-width:100%;overflow-x:hidden;background:var(--sc-bg);-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden;background:var(--sc-bg);color:var(--sc-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.sc-ui-ready{animation:scPageIn .18s ease-out both}
@keyframes scPageIn{from{opacity:.55}to{opacity:1}}
img,svg,video,canvas{max-width:100%;height:auto}a{color:var(--sc-brand-dark);text-underline-offset:2px}main,.container,.container-fluid{max-width:100%}
h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;color:var(--sc-text);font-weight:750}.text-primary{color:var(--sc-brand)!important}.text-muted,.text-secondary{color:var(--sc-muted)!important}

/* superfici */
.card,.modal-content,.sc-card{border:1px solid var(--sc-border)!important;border-radius:var(--sc-radius)!important;box-shadow:none!important;background:var(--sc-surface);overflow:hidden}
.card{transition:border-color .18s ease,box-shadow .18s ease}.card:hover{transform:none!important;border-color:#d8dbe4!important}.card-header{background:var(--sc-surface-2)!important;border-bottom:1px solid var(--sc-border)!important;color:var(--sc-text)!important;font-weight:750;padding:.9rem 1rem}.card-body{padding:1rem}
.shadow,.shadow-sm{box-shadow:var(--sc-shadow)!important}.rounded{border-radius:var(--sc-radius)!important}

/* controlli compatti ma touch-friendly */
.btn,button,input[type=submit],input[type=button]{min-height:42px;border-radius:10px!important;font-weight:700;touch-action:manipulation;transition:transform .12s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}
.btn:active,button:active{transform:scale(.975)}.btn-primary{background:var(--sc-brand)!important;border-color:var(--sc-brand)!important}.btn-primary:hover,.btn-primary:focus{background:var(--sc-brand-dark)!important;border-color:var(--sc-brand-dark)!important}.btn-outline-primary{color:var(--sc-brand)!important;border-color:#cfc4ff!important}.btn-outline-primary:hover{background:var(--sc-brand-soft)!important;color:var(--sc-brand-dark)!important}.btn-danger{background:var(--sc-danger)!important;border-color:var(--sc-danger)!important}.btn-success{background:var(--sc-success)!important;border-color:var(--sc-success)!important}.btn-light{border-color:var(--sc-border)!important}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{min-height:44px;border-radius:10px!important;border-color:#d8dbe3!important;background-color:#fff!important;max-width:100%;box-shadow:none!important}.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:rgba(100,48,255,.62)!important;box-shadow:0 0 0 .2rem rgba(100,48,255,.11)!important;outline:0}label{font-weight:650;color:#343746;margin-bottom:.35rem}.input-group>.btn{min-height:44px}

/* tabelle */
.table-responsive,.sc-table-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--sc-border);border-radius:12px;background:#fff;overscroll-behavior-x:contain}.table{margin-bottom:0;background:#fff}.table>:not(caption)>*>*{padding:.72rem .75rem;vertical-align:middle;border-bottom-color:#eceef2}.table thead th{position:sticky;top:0;z-index:2;background:#f7f6fc!important;color:#39364a!important;border-bottom-color:#ddd9ef!important;white-space:nowrap;font-size:.82rem;text-transform:none}.table tbody tr:hover>*{background:#faf9ff}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:#fcfcfe}

/* feedback / overlay */
.alert{border:1px solid transparent;border-radius:11px}.badge{border-radius:999px;padding:.46em .66em}.dropdown-menu{border:1px solid var(--sc-border);border-radius:12px;box-shadow:var(--sc-shadow-lg);padding:.4rem}.dropdown-item{border-radius:8px;padding:.6rem .7rem}.modal{padding-left:0!important}.modal-dialog{margin:1rem auto}.modal-header{background:#fff!important;color:var(--sc-text)!important;border-bottom:1px solid var(--sc-border)!important}.modal-footer{border-top:1px solid var(--sc-border)!important;background:#fafafe}.toast{border-radius:12px;border:1px solid var(--sc-border);box-shadow:var(--sc-shadow-lg)}

/* utilities gestionali */
.sc-page{padding:clamp(14px,2.2vw,26px)}.sc-page-header{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.sc-page-title{margin:0;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:800}.sc-actions{display:flex;gap:8px;flex-wrap:wrap}.sc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}.sc-stat{padding:16px;border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:#fff}.sc-stat strong{font-size:1.55rem;display:block;letter-spacing:-.04em}.sc-muted{color:var(--sc-muted)}.sc-empty{padding:28px;text-align:center;color:var(--sc-muted);border:1px dashed #cdd0d9;border-radius:var(--sc-radius);background:#fff}
.sc-section-title{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sc-muted);font-weight:800;margin:20px 0 8px}

/* compatibilità pagine legacy */
[style*="width: 1200px"],[style*="width:1200px"],[style*="width: 1000px"],[style*="width:1000px"],[style*="min-width"]{max-width:100%!important}iframe{max-width:100%}.w3-container{max-width:100%}.well,.panel{max-width:100%}

/* PWA / mobile app */
@media(max-width:767.98px){
  body{font-size:14.5px;padding-bottom:calc(var(--mobilebar-height,64px) + var(--sc-safe-bottom))}
  .container,.container-fluid{padding-left:12px!important;padding-right:12px!important}.row{--bs-gutter-x:.85rem;--bs-gutter-y:.85rem}
  h1{font-size:1.42rem}h2{font-size:1.22rem}h3{font-size:1.08rem}
  .card-header{padding:.78rem .85rem}.card-body{padding:.85rem}.card{border-radius:12px!important}
  .btn,button,input[type=submit],input[type=button]{min-height:44px}.btn-sm{min-height:38px;padding:.35rem .62rem}.sc-actions{width:100%}.sc-actions>.btn,.sc-actions>button{flex:1 1 auto}
  .modal-dialog{margin:0;min-height:100dvh;display:flex;align-items:flex-end;max-width:none}.modal-content{width:100%;max-height:min(88dvh,760px);overflow:auto;border-radius:18px 18px 0 0!important;border-bottom:0!important;animation:scSheetIn .24s var(--sc-ease) both;padding-bottom:var(--sc-safe-bottom)}
  @keyframes scSheetIn{from{transform:translateY(34px);opacity:.4}to{transform:none;opacity:1}}
  .modal-header{position:sticky;top:0;z-index:3}.modal-footer{position:sticky;bottom:0;z-index:3}
  .table:not(.sc-no-mobile) td,.table:not(.sc-no-mobile) th{font-size:.84rem;white-space:nowrap}.table>:not(caption)>*>*{padding:.65rem .65rem}
  .form-row,.row.form-row{display:block}input,select,textarea{font-size:16px!important} /* evita zoom iOS */
  .dropdown-menu{max-width:calc(100vw - 24px)}
  .sc-page{padding:12px}.sc-page-header{margin-bottom:14px}
  /* tap area per link operativi */
  a.btn,.list-group-item{touch-action:manipulation}.list-group-item{padding:.78rem .85rem}
}
@media(min-width:768px){body{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Fixed mobile nav must never inherit a transformed containing block. */
html,body{transform:none!important;filter:none!important;perspective:none!important}


/* v27 · Identificazione globale iscritti MEDIE */
.sc-medie-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.28rem .55rem;border-radius:999px;
  background:#ed8c2b!important;color:#fff!important;
  border:1px solid #d97816!important;
  font-size:.68rem!important;font-weight:900!important;
  letter-spacing:.055em;text-transform:uppercase;line-height:1;
  vertical-align:middle;white-space:nowrap
}
.sc-medie-card,.sc-medie-row{
  background:#fff6e8!important;
  border-color:#ed8c2b!important;
}
.sc-medie-row{box-shadow:inset 4px 0 0 #ed8c2b}
table tr.sc-medie-row>td,table tr.sc-medie-row>th{
  --bs-table-bg:#fff6e8!important;
  --bs-table-accent-bg:#fff6e8!important;
  background:#fff6e8!important;
  border-color:#efc18e!important
}
.sc-medie-accent{border-left:4px solid #ed8c2b!important;background:#fff8ee!important}
.sc-medie-text{color:#a85a0e!important}
