/* Lo stile mobile condiviso si estende al desktop senza cambiare i layout piccoli. */
#app .desktop-control-icon { display: none; }
#app .calendar-event-room { display: none; }
#app.registro-wordpress-app .cards.student-attendance-totals { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 600px) {
  #app.registro-wordpress-app .cards.student-attendance-totals { gap: 10px !important; }
  #app.registro-wordpress-app .student-attendance-totals .card { padding: 14px 10px !important; }
  #app.registro-wordpress-app .student-attendance-totals .stat-top { min-height: 2.8em; }
}

#app.registro-wordpress-app .sidebar .nav .nav-notification-dot-desktop { display: none; }

@media (min-width: 901px) {
  #app.registro-wordpress-app .sidebar .nav .nav-notification-count { display: none; }
  #app.registro-wordpress-app .sidebar .nav .nav-notification-dot-desktop { display: block; }
  #app.registro-wordpress-app.registro-ui {
    --ui-border: color-mix(in srgb, var(--theme-line) 23%, white);
    --ui-control-border: color-mix(in srgb, var(--theme-line) 55%, white);
    --ui-shadow: 0 4px 20px rgba(19, 49, 77, .035);
  }
  #app.registro-wordpress-app.registro-ui .content {
    padding: 28px 32px 36px !important;
    background: linear-gradient(150deg, var(--panel), var(--paper) 55%, color-mix(in srgb, var(--theme-soft) 26%, var(--paper))) !important;
  }
  #app.registro-wordpress-app.registro-ui .topbar { gap: 18px; align-items: center !important; margin-bottom: 26px !important; }
  #app.registro-wordpress-app.registro-ui .topbar > div:first-child { min-width: 0; }
  #app.registro-wordpress-app.registro-ui .topbar h1 { font-size: 32px !important; line-height: 1.2 !important; letter-spacing: -.9px; }
  #app.registro-wordpress-app.registro-ui .topbar .eyebrow { font-size: 14px !important; font-weight: 600 !important; line-height: 1.5; letter-spacing: .1px !important; margin-bottom: 8px !important; }
  #app.registro-wordpress-app.registro-ui .topbar .date { font-size: 13px !important; line-height: 1.5; }
  #app.registro-wordpress-app.registro-ui :is(.teacher-overview-label, .student-overview-label, .admin-overview-label) { font-size: 13px !important; font-weight: 400 !important; line-height: 1.5; margin-top: 7px !important; color: var(--muted); }

  /* Sidebar: simboli coerenti con le schede e una selezione ben leggibile. */
  #app.registro-wordpress-app.registro-ui .sidebar { background: linear-gradient(165deg, var(--forest), color-mix(in srgb, var(--forest) 88%, #071e32)) !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .nav-group { gap: 4px; }
  #app.registro-wordpress-app.registro-ui .sidebar .nav-group-title { margin: 16px 12px 6px !important; font-size: 9px !important; letter-spacing: 1px; }
  #app.registro-wordpress-app.registro-ui .sidebar .nav button { min-height: 43px; border: 1px solid transparent !important; border-radius: 12px !important; padding: 10px 12px !important; gap: 12px !important; font-size: 13px !important; font-weight: 500 !important; transition: background .15s, border-color .15s; }
  #app.registro-wordpress-app.registro-ui .sidebar .nav button:hover { background: rgba(255,255,255,.07) !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .nav button.active { color: white !important; background: rgba(255,255,255,.13) !important; border-color: rgba(255,255,255,.12) !important; font-weight: 700 !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .nav .icon { width: 20px !important; height: 20px !important; flex: 0 0 20px; color: inherit !important; }
  #app.registro-wordpress-app.registro-ui .original-control-icon { display: none !important; }
  #app.registro-wordpress-app.registro-ui .desktop-control-icon { display: inline-flex !important; width: 100%; height: 100%; align-items: center; justify-content: center; }
  #app.registro-wordpress-app.registro-ui .desktop-control-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  #app.registro-wordpress-app.registro-ui .sidebar-bottom { border-top-color: rgba(255,255,255,.14) !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .profile-mini { padding: 12px !important; border-radius: 14px; background: rgba(255,255,255,.07); gap: 10px !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .profile-mini .avatar:not(.has-profile-photo) { background: #e7f3ff !important; color: var(--forest) !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .school-year-switcher select { border-radius: 10px !important; border-color: rgba(255,255,255,.22) !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .logout { padding: 10px 12px !important; border-radius: 10px !important; }
  #app.registro-wordpress-app.registro-ui .sidebar .logout:hover { background: rgba(255,255,255,.07) !important; }

  /* Superfici, intestazioni e icone riprendono la pagina Altro. */
  #app.registro-wordpress-app.registro-ui :is(.section, .card, .course-board, .room-card, .event-card, .survey-card) {
    border: 1px solid var(--ui-border) !important; border-radius: 18px !important;
    background: var(--panel) !important; box-shadow: var(--ui-shadow) !important;
  }
  #app.registro-wordpress-app.registro-ui .section-head { padding: 22px 22px 18px !important; gap: 18px; border-color: var(--ui-border) !important; align-items: center !important; flex-wrap: wrap; }
  #app.registro-wordpress-app.registro-ui .section-head h2 { font-size: 19px !important; line-height: 1.3 !important; letter-spacing: -.4px; }
  #app.registro-wordpress-app.registro-ui .section-head p { font-size: 13px !important; line-height: 1.5 !important; margin-top: 4px !important; font-weight: 400; }
  #app.registro-wordpress-app.registro-ui .section-head :is(.text-btn, .table-action) { flex-shrink: 0; }
  #app.registro-wordpress-app.registro-ui .mobile-card-icon {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 44px !important; height: 44px !important; flex: 0 0 44px !important;
    padding: 11px !important; border: 0 !important; border-radius: 15px !important;
    background: #e7f3ff !important; color: #087af1 !important;
  }
  #app.registro-wordpress-app.registro-ui .mobile-card-icon.tone-violet { background: #f1e7ff !important; color: #8734e8 !important; }
  #app.registro-wordpress-app.registro-ui .mobile-card-icon.tone-green { background: #e1f5e9 !important; color: #079550 !important; }
  #app.registro-wordpress-app.registro-ui :is(.mobile-card-icon, .mobile-chevron) svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  #app.registro-wordpress-app.registro-ui .mobile-chevron { display: inline-flex !important; width: 16px; height: 16px; color: var(--muted); }
  #app.registro-wordpress-app.registro-ui .mobile-card-heading { position: relative; min-height: 44px; padding-left: 58px !important; display: flex; flex-direction: column; justify-content: center; }
  #app.registro-wordpress-app.registro-ui .mobile-card-heading > .mobile-card-icon { position: absolute; top: 0; left: 0; }
  #app.registro-wordpress-app.registro-ui .empty { padding: 28px 22px !important; font-size: 13px !important; color: var(--muted); line-height: 1.5; }
  #app.registro-wordpress-app.registro-ui .toast:empty { display: none !important; }

  /* Pulsanti e moduli: angoli morbidi, stati di interazione e campi allineati. */
  #app.registro-wordpress-app.registro-ui .primary { min-height: 42px; border-radius: 11px !important; padding: 11px 16px !important; box-shadow: 0 3px 8px color-mix(in srgb, var(--forest) 12%, transparent); }
  #app.registro-wordpress-app.registro-ui :is(.outline, .secondary) { border-radius: 10px !important; border-color: var(--ui-control-border) !important; }
  #app.registro-wordpress-app.registro-ui :is(.outline, .secondary):not(.active):not(.danger) { background: var(--panel) !important; color: var(--theme-link) !important; }
  #app.registro-wordpress-app.registro-ui :is(.outline, .secondary):not(.active):not(.danger):hover { background: var(--paper) !important; }
  #app.registro-wordpress-app.registro-ui .table-action { border-radius: 8px !important; }
  #app.registro-wordpress-app.registro-ui .table-action:not(.danger):hover { background: var(--theme-soft) !important; }
  #app.registro-wordpress-app.registro-ui :is(.form-grid, .filters, .board-filters, .surveys-area) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    border: 1px solid var(--ui-control-border) !important; border-radius: 10px !important;
    background-color: var(--panel) !important; color: var(--ink) !important;
  }
  #app.registro-wordpress-app.registro-ui :is(.form-grid, .filters, .board-filters) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  #app.registro-wordpress-app.registro-ui :is(.form-grid, .filters, .board-filters) select { min-height: 44px !important; }
  #app.registro-wordpress-app.registro-ui :is(.form-grid, .filters, .board-filters, .surveys-area) :is(input, select, textarea):focus-visible { outline: 2px solid var(--theme-link) !important; outline-offset: 2px; box-shadow: none !important; }
  #app.registro-wordpress-app.registro-ui :is(input, select, textarea):disabled { background: var(--theme-soft) !important; color: var(--muted) !important; cursor: not-allowed; }
  #app.registro-wordpress-app.registro-ui .subject-checkbox { border-color: var(--ui-border) !important; border-radius: 10px !important; background: var(--paper) !important; }
  #app.registro-wordpress-app.registro-ui .subject-fieldset { border-color: var(--ui-border) !important; border-radius: 12px !important; }
  #app.registro-wordpress-app.registro-ui .save-row { border-color: var(--ui-border) !important; background: var(--paper) !important; border-radius: 0 0 17px 17px; }
  #app.registro-wordpress-app.registro-ui button:focus-visible { outline: 2px solid var(--theme-link); outline-offset: 3px; }
  #app.registro-wordpress-app.registro-ui .sidebar button:focus-visible { outline-color: white; }

  /* Tabelle complete sul desktop, con separatori discreti. */
  #app.registro-wordpress-app.registro-ui .table-wrap th { background: var(--paper) !important; border-color: var(--ui-border) !important; color: var(--muted) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .5px; padding: 13px 22px !important; }
  #app.registro-wordpress-app.registro-ui .table-wrap td { padding: 16px 22px !important; border-color: var(--ui-border) !important; vertical-align: middle; font-size: 13px !important; }
  @media (hover: hover) and (pointer: fine) {
    #app.registro-wordpress-app.registro-ui .editable-row:hover td { background: var(--paper) !important; }
  }
  #app.registro-wordpress-app.registro-ui :is(.status, .badge, .survey-badge) { padding: 6px 10px !important; border-radius: 10px !important; font-size: 11px !important; }
  #app.registro-wordpress-app.registro-ui .small-avatar { width: 36px !important; height: 36px !important; min-width: 36px !important; max-width: 36px !important; min-height: 36px !important; max-height: 36px !important; flex: 0 0 36px !important; padding: 0 !important; box-sizing: border-box; border-radius: 50% !important; font-size: 11px !important; background: var(--theme-soft-strong); color: var(--theme-link); }
  #app.registro-wordpress-app.registro-ui .person { gap: 11px; }
  #app.registro-wordpress-app.registro-ui .student-desktop-order { flex-wrap:nowrap!important; flex:0 0 auto; margin-left:auto; }
  #app.registro-wordpress-app.registro-ui .section-head:has(.student-desktop-order) { flex-wrap:nowrap; }
  #app.registro-wordpress-app.registro-ui .attendance-row { border-color: var(--ui-border) !important; }
  #app.registro-wordpress-app.registro-ui .status-set button { min-height: 38px; padding: 8px 13px !important; border-radius: 10px !important; }
  #app.registro-wordpress-app.registro-ui .collective-course-picker { padding: 16px 18px 16px 76px !important; border: 1px solid var(--ui-border); border-radius: 16px; background: var(--panel); max-width: 520px; }
  #app.registro-wordpress-app.registro-ui .collective-course-picker > .mobile-card-icon { left: 18px; top: 16px; }
  #app.registro-wordpress-app.registro-ui .collective-course-picker select { border-color: var(--ui-control-border); border-radius: 10px; }

  /* Panoramiche: Bacheca in apertura e schede adatte alla larghezza disponibile. */
  #app.registro-wordpress-app.registro-ui .overview-board-items { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; padding: 0 22px 22px !important; }
  #app.registro-wordpress-app.registro-ui .overview-board-items button { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) 16px !important; gap: 5px 12px !important; padding: 16px !important; border: 1px solid var(--ui-border) !important; border-radius: 15px !important; background: var(--panel) !important; transition: background .15s, border-color .15s; }
  #app.registro-wordpress-app.registro-ui .overview-board-items button:hover { background: var(--paper) !important; border-color: var(--ui-control-border) !important; }
  #app.registro-wordpress-app.registro-ui .overview-board-items button > .mobile-card-icon { grid-column: 1; grid-row: 1 / 3; align-self: start; }
  #app.registro-wordpress-app.registro-ui .overview-board-items button > span:not(.mobile-card-icon):not(.mobile-chevron) { grid-column: 2; color: var(--ink) !important; font-size: 13px !important; text-transform: none !important; line-height: 1.45; }
  #app.registro-wordpress-app.registro-ui .overview-board-items button > b { grid-column: 2; grid-row: 2; color: var(--muted) !important; font-size: 12px !important; font-weight: 400 !important; line-height: 1.5; -webkit-line-clamp: 3; }
  #app.registro-wordpress-app.registro-ui .overview-board-items button > .mobile-chevron { grid-column: 3; grid-row: 1 / 3; align-self: center; }
  #app.registro-wordpress-app.registro-ui .overview-board-items > .empty { grid-column: 1 / -1; }
  #app.registro-wordpress-app.registro-ui .quick-actions { gap: 12px !important; padding: 0 22px 22px !important; }
  #app.registro-wordpress-app.registro-ui .quick-action { border: 1px solid var(--ui-border) !important; border-radius: 15px !important; background: var(--paper) !important; padding: 18px !important; gap: 13px !important; }
  #app.registro-wordpress-app.registro-ui .quick-action:hover { background: var(--theme-soft) !important; }
  #app.registro-wordpress-app.registro-ui .quick-action > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; padding: 10px; border-radius: 13px !important; background: #e7f3ff !important; color: #087af1 !important; }
  #app.registro-wordpress-app.registro-ui .quick-action small { font-size: 12px; line-height: 1.5; color: var(--muted) !important; }
  #app.registro-wordpress-app.registro-ui .admin-overview-grid .mobile-card-heading { padding-left: 0 !important; padding-top: 56px; }
  #app.registro-wordpress-app.registro-ui .admin-overview-grid > .section:first-child .mobile-card-heading { padding-left: 58px !important; padding-top: 0; }
  #app.registro-wordpress-app.registro-ui .admin-overview-grid .quick-action { padding: 16px 14px !important; }
  #app.registro-wordpress-app.registro-ui .card { padding: 22px !important; }
  #app.registro-wordpress-app.registro-ui .stat-top { font-size: 12px !important; color: var(--muted); }
  #app.registro-wordpress-app.registro-ui .number { font-size: 32px !important; line-height: 1.2; letter-spacing: -.8px; }
  #app.registro-wordpress-app.registro-ui .trend { font-size: 12px !important; line-height: 1.5; }
  #app.registro-wordpress-app.registro-ui .finance-card .number { font-size: clamp(22px, 2vw, 30px) !important; overflow-wrap: anywhere; white-space: normal; }
  #app.registro-wordpress-app.registro-ui .teacher-course-boxes { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  #app.registro-wordpress-app.registro-ui[data-registro-view="teacher_students"] .teacher-course-box .table-wrap > table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
  #app.registro-wordpress-app.registro-ui[data-registro-view="teacher_students"] .teacher-course-box :is(th, td) { min-width: 0 !important; padding: 14px 10px !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  #app.registro-wordpress-app.registro-ui .teacher-course-box :is(th, td):first-child { width: 50% !important; }
  #app.registro-wordpress-app.registro-ui .teacher-course-box :is(th, td):nth-child(2) { width: 30% !important; }
  #app.registro-wordpress-app.registro-ui .teacher-course-box :is(th, td):nth-child(3) { width: 20% !important; }
  #app.registro-wordpress-app.registro-ui[data-registro-view="teacher_students"] .teacher-course-box th { padding-inline: 8px !important; font-size: 9px !important; letter-spacing: .2px; white-space: nowrap !important; }
  #app.registro-wordpress-app.registro-ui .teacher-course-box td { font-size: 12px !important; }
  #app.registro-wordpress-app.registro-ui .teacher-course-box .person { white-space: normal; gap: 8px; }
  #app.registro-wordpress-app.registro-ui .teacher-course-box .section-head h2 { font-size: 16px !important; }
  #app.registro-wordpress-app.registro-ui :is(.course-board, .room-card, .event-card) h3 { font-size: 18px !important; line-height: 1.4; }
  #app.registro-wordpress-app.registro-ui :is(.course-board-field textarea, .survey-question, .survey-choice, .survey-teachers) { border-color: var(--ui-control-border) !important; border-radius: 12px !important; }

  /* Calendario: griglia completa, separatori leggeri e appuntamenti colorati. */
  #app.registro-wordpress-app.registro-ui .calendar-toolbar { padding: 20px 22px !important; border-color: var(--ui-border) !important; }
  #app.registro-wordpress-app.registro-ui .calendar-toolbar h2 { font-size: 22px !important; letter-spacing: -.4px; }
  #app.registro-wordpress-app.registro-ui .calendar-arrow { width: 36px; height: 38px; border-color: var(--ui-control-border); border-radius: 10px; }
  #app.registro-wordpress-app.registro-ui .calendar-weekdays { background: var(--paper) !important; border-color: var(--ui-border) !important; }
  #app.registro-wordpress-app.registro-ui .calendar-weekdays span { font-size: 10px !important; letter-spacing: .5px; padding-block: 13px; }
  #app.registro-wordpress-app.registro-ui .calendar-day { border-color: var(--ui-border) !important; background: var(--panel); padding: 9px; }
  #app.registro-wordpress-app.registro-ui .calendar-day.outside-month { background: var(--paper); color: #96a2b0; }
  #app.registro-wordpress-app.registro-ui .calendar-day:hover { background: var(--theme-soft); }
  #app.registro-wordpress-app.registro-ui .calendar-day-number { font-size: 12px; }
  #app.registro-wordpress-app.registro-ui .calendar-day.today .calendar-day-number { width: 29px; height: 29px; box-shadow: 0 3px 8px color-mix(in srgb, var(--forest) 18%, transparent); }
  #app.registro-wordpress-app.registro-ui .calendar-event { background: #e8f2fc; color: var(--theme-link); padding: 5px 7px; border-radius: 6px; }
  #app .calendar-event-room { display: inline; }
  #app.registro-wordpress-app.registro-ui .calendar-event-with-student { white-space: normal; overflow-wrap: anywhere; }
  #app.registro-wordpress-app.registro-ui .calendar-event.collective { background: #f1e7ff; color: #813fbc; }
  #app.registro-wordpress-app.registro-ui .calendar-legend .collective { background: #aa5aea; }

  /* Chat: la conversazione mantiene lo scorrimento interno al viewport. */
  #app.registro-wordpress-app.registro-ui.chat-view .content { padding: 24px 32px !important; }
  #app.registro-wordpress-app.registro-ui .chat-section { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
  #app.registro-wordpress-app.registro-ui .chat-header { display:block; border:0; padding:0 0 10px; }
  #app.registro-wordpress-app.registro-ui .chat-course-picker { flex:1 1 0; max-width:520px; min-width:0; padding:6px 10px; border: 1px solid var(--ui-border); border-radius: 16px; background: var(--panel); box-shadow: var(--ui-shadow); }
  #app.registro-wordpress-app.registro-ui .chat-course-picker > span { display: grid; place-items: center; width:30px; height:30px; flex:0 0 30px; border-radius:9px; background:#e7f3ff; color: #087af1; font-size: 12px; }
  #app.registro-wordpress-app.registro-ui .chat-course-picker > span .desktop-control-icon { width:18px; height:18px; }
  #app.registro-wordpress-app.registro-ui .chat-course-picker select { width:100%; height:32px; min-height:32px; border:0; background: transparent; font-size: 14px; }
  #app.registro-wordpress-app.registro-ui .chat-retention { display:flex; align-items:center; gap:5px; margin:6px 2px 0; padding:0; background:transparent; color:var(--muted); font-size:11px; }
  #app.registro-wordpress-app.registro-ui .chat-messages { padding:16px; gap:10px; border-radius: 18px; background: linear-gradient(145deg, var(--paper), color-mix(in srgb, var(--theme-soft) 65%, white)); }
  #app.registro-wordpress-app.registro-ui .chat-message { position:relative; border:0; padding:9px 12px; box-shadow: 0 2px 8px rgba(22,51,77,.035); max-width: min(75%, 680px); }
  #app.registro-wordpress-app.registro-ui .chat-message-received { margin-left:40px; background: var(--panel); }
  #app.registro-wordpress-app.registro-ui .chat-author-avatar { position:absolute; top:4px; left:-40px; display:grid; place-items:center; width:32px; height:32px; border-radius: 50%; background: var(--theme-soft-strong); color: var(--theme-link); font-size: 11px; font-weight: 700; }
  #app.registro-wordpress-app.registro-ui .chat-message-own { background: var(--theme-soft-strong); }
  #app.registro-wordpress-app.registro-ui .chat-message p { font-size: 14px; line-height: 1.55; }
  #app.registro-wordpress-app.registro-ui .chat-form { box-sizing:border-box; width:100%; min-width:0; border:0; padding:10px 4px 4px; background:transparent; }
  #app.registro-wordpress-app.registro-ui .chat-composer { box-sizing:border-box; width:100%; min-width:0; max-width:100%; margin:0; padding:4px; border:3px solid var(--panel); border-radius:28px; box-shadow: var(--ui-shadow); background: var(--paper); }
  #app.registro-wordpress-app.registro-ui .chat-composer:focus-within { box-shadow: 0 0 0 2px var(--ui-control-border); }
  #app.registro-wordpress-app.registro-ui .chat-send { width:40px!important; height:40px!important; flex-basis:40px!important; box-shadow: 0 3px 9px color-mix(in srgb, var(--forest) 18%, transparent); }

  /* Anche le finestre aperte fuori da #app seguono gli stessi controlli. */
  :is(#app.registro-wordpress-app .modal-backdrop, body > .modal-backdrop) .modal { border-radius: 18px !important; background: var(--panel, white) !important; box-shadow: 0 24px 70px rgba(19,49,77,.2) !important; }
  :is(#app.registro-wordpress-app .modal-backdrop, body > .modal-backdrop) .form-grid :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-radius: 10px !important; border-color: color-mix(in srgb, var(--theme-line, #a7bbcd) 55%, white) !important; }
  :is(#app.registro-wordpress-app .modal-backdrop, body > .modal-backdrop) :is(button.primary, button.outline, button.secondary) { min-height: 42px !important; border-radius: 10px !important; }
  :is(#app.registro-wordpress-app .modal-backdrop, body > .modal-backdrop) :is(.save-row, .modal-actions) { border-color: color-mix(in srgb, var(--theme-line, #a7bbcd) 23%, white) !important; background: var(--paper, #f7f9fb) !important; }
}

@media (min-width: 901px) and (max-width: 1279px) {
  #app.registro-wordpress-app.registro-ui .content { padding: 24px !important; }
  #app.registro-wordpress-app.registro-ui .overview-board-items,
  #app.registro-wordpress-app.registro-ui .teacher-course-boxes { grid-template-columns: minmax(0, 1fr) !important; }
  #app.registro-wordpress-app.registro-ui .table-wrap :is(th, td) { padding-inline: 14px !important; }
  #app.registro-wordpress-app.registro-ui .topbar { flex-wrap: wrap; }
  #app.registro-wordpress-app.registro-ui .quick-action { padding: 14px !important; gap: 10px !important; flex-wrap: wrap; }
  #app.registro-wordpress-app.registro-ui .quick-action > div { flex: 1 1 120px; min-width: 0; }
  #app.registro-wordpress-app.registro-ui .quick-action > i { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
  #app.registro-wordpress-app.registro-ui :is(.sidebar .nav button, .overview-board-items button) { transition: none !important; }
}

/* Promemoria compleanni: stessa superficie delle altre card. */
#app .birthday-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px;padding:0 22px 22px}
#app .birthday-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--ui-border,var(--line));border-radius:16px;min-width:0}
#app .birthday-item>div{flex:1;min-width:0}
#app .birthday-item strong{display:block;overflow-wrap:anywhere}
#app .birthday-item small{display:block;color:var(--muted);margin-top:5px}
#app .birthday-today{background:#fff8e9;border-color:#efd7a4}
#app .birthday-item button{flex:0 0 auto;font-size:12px;padding:8px 10px}
#birthday-message-modal textarea{width:100%;resize:vertical}
#birthday-message-modal .birthday-feedback{color:var(--muted);margin:12px 0}
@media(max-width:600px){#app .birthday-list{grid-template-columns:1fr;padding:0 16px 16px}#app .birthday-item{flex-wrap:wrap}#app .birthday-item>div{flex-basis:calc(100% - 60px)}#app .birthday-item button{margin-left:48px}}

/* Schede e profili condivisi da tutte le aree, anche negli schermi stretti. */
#app.registro-wordpress-app .birthday-section { margin-block:22px!important; }
#app.registro-wordpress-app .birthday-list { padding:0 22px 22px;display:grid;gap:12px; }
#app.registro-wordpress-app .birthday-item { display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--theme-line);border-radius:16px;min-width:0; }
#app.registro-wordpress-app .birthday-item>div { flex:1;min-width:0;overflow-wrap:anywhere; }
#app.registro-wordpress-app .birthday-item small { display:block;color:var(--muted);margin-top:4px; }
#app.registro-wordpress-app .birthday-today { background:#fff9ee; }
#app.registro-wordpress-app .profile-identity { margin:0!important; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-list { padding:0 22px 22px;display:grid;gap:12px;min-width:0; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-card { display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;min-width:0;max-width:100%;border:1px solid var(--theme-line);border-radius:16px;background:var(--white,#fff);padding:18px!important;color:var(--ink);font:inherit;white-space:normal; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-card.is-unread { border-left:4px solid var(--forest); }
:is(#app.registro-wordpress-app, .registro-popup) .communication-heading { display:flex;justify-content:space-between;align-items:baseline;gap:8px 18px;flex-wrap:wrap;width:100%;min-width:0; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-heading strong { overflow-wrap:anywhere; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-heading time { font-size:13px;color:var(--muted);white-space:nowrap; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-preview { color:var(--muted);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-status { display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-status>span:last-child { margin-left:auto; }
:is(#app.registro-wordpress-app, .registro-popup) .communication-card[hidden],:is(#app.registro-wordpress-app, .registro-popup) .list-section tr[hidden] { display:none!important; }
.lesson-detail-meta { display:block;margin-top:8px;line-height:1.6;overflow-wrap:anywhere; }
@media(max-width:600px){
 #app.registro-wordpress-app .birthday-list,#app.registro-wordpress-app .communication-list { padding:0 14px 16px; }
 #app.registro-wordpress-app .birthday-item { flex-wrap:wrap; }
 #app.registro-wordpress-app .birthday-item>button { margin-left:auto; }
 #app.registro-wordpress-app .profile-identity { padding:18px!important; }
}
