/*
  MyManzo Enhanced UI polish (Prompts 43–45)
  - Extra consistency + responsiveness + micro-interactions
  - Safe: only styles inside .mymanzo-summer
*/

.mymanzo-summer .mymanzo-card,
.mymanzo-summer .mymanzo-box,
.mymanzo-summer .mymanzo-panel{
  border-radius: 22px;
}

.mymanzo-summer :is(button, input[type="submit"], input[type="button"], a.button, .button, .mymanzo-btn){
  border-radius: 14px !important;
  transition: transform .08s ease, box-shadow .15s ease, opacity .15s ease;
}

.mymanzo-summer :is(button, input[type="submit"], input[type="button"], a.button, .button, .mymanzo-btn):active{
  transform: translateY(1px);
}

.mymanzo-summer :is(button, input[type="submit"], input[type="button"], a.button, .button, .mymanzo-btn)[aria-busy="true"],
.mymanzo-summer .mymanzo-loading{
  opacity: .75;
  pointer-events: none;
}

/* Inline spinner */
.mymanzo-summer :is(button, input[type="submit"], input[type="button"], a.button, .button, .mymanzo-btn)[aria-busy="true"]{
  position: relative;
}
.mymanzo-summer :is(button, input[type="submit"], input[type="button"], a.button, .button, .mymanzo-btn)[aria-busy="true"]::after{
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.55);
  border-top-color: rgba(255,255,255,1);
  animation: mymanzoSpin .7s linear infinite;
}
@keyframes mymanzoSpin { to { transform: rotate(360deg); } }

/* Inputs: bigger touch targets */
.mymanzo-summer :is(input[type="text"], input[type="number"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], select, textarea){
  min-height: 42px;
}

/* Better tables on mobile */
.mymanzo-summer .mymanzo-table-wrap{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  border: 1px solid var(--mymanzo-border);
}
.mymanzo-summer .mymanzo-table-wrap table{
  min-width: 720px;
}

/* Management tab rows (works even if markup varies) */
.mymanzo-summer .mymanzo-mgmt-tabs,
.mymanzo-summer .mymanzo-tabs,
.mymanzo-summer .mymanzo-subtabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 10px 0 16px;
}
.mymanzo-summer .mymanzo-mgmt-tabs a,
.mymanzo-summer .mymanzo-tabs a,
.mymanzo-summer .mymanzo-subtabs a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius: 999px;
  border:1px solid var(--mymanzo-border);
  background: #fff;
  text-decoration:none;
  font-weight: 800;
}
.mymanzo-summer .mymanzo-mgmt-tabs a.is-active,
.mymanzo-summer .mymanzo-tabs a.is-active,
.mymanzo-summer .mymanzo-subtabs a.is-active{
  background: linear-gradient(180deg, rgba(14,165,233,.14), rgba(14,165,233,.06));
  border-color: rgba(14,165,233,.35);
}

/* Tile grid: ensure tiles look consistent everywhere */
.mymanzo-summer .mymanzo-menu-tile{
  transition: transform .12s ease, box-shadow .2s ease;
}
.mymanzo-summer .mymanzo-menu-tile:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .14);
}

/* Management icon tabbar */
.mymanzo-summer .mymanzo-tabbar{
  display:flex;
  gap:10px;
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}
.mymanzo-summer .mymanzo-tabbar::-webkit-scrollbar{height:6px;}
.mymanzo-summer .mymanzo-tabbar::-webkit-scrollbar-thumb{background: rgba(0,0,0,.12); border-radius:999px;}

.mymanzo-summer .mymanzo-tab{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius: 999px;
  border:1px solid var(--mymanzo-border);
  background:#fff;
  text-decoration:none;
  font-weight:800;
  white-space:nowrap;
}
.mymanzo-summer .mymanzo-tab .mymanzo-tab-ic{
  width:28px;
  height:28px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(14,165,233,.10);
}
.mymanzo-summer .mymanzo-tab.is-active{
  background: linear-gradient(180deg, rgba(14,165,233,.16), rgba(14,165,233,.08));
  border-color: rgba(14,165,233,.35);
}

/* Mobile: tighten padding */
@media (max-width: 640px){
  .mymanzo-wrap{padding-left: 10px; padding-right: 10px;}
  .mymanzo-summer .mymanzo-card{padding: 14px;}
  .mymanzo-summer .mymanzo-menu-grid{grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px;}
}


/* Task widget highlights */
.mymanzo-summer .mymanzo-task-card.is-overdue{
  border-color: rgba(239, 68, 68, .45) !important;
  background: rgba(239, 68, 68, .06);
}
.mymanzo-summer .mymanzo-task-card.is-due-today{
  border-color: rgba(245, 158, 11, .45) !important;
  background: rgba(245, 158, 11, .06);
}

/* Portal quick-actions sidebar (desktop) */
@media (min-width: 1100px){
  .mymanzo-summer .mymanzo-portal-actions.mymanzo-actions-sidebar{
    position: fixed;
    right: 18px;
    top: 140px;
    z-index: 999;
    flex-direction: column;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);
    border: 1px solid var(--mymanzo-border);
    border-radius: 16px;
    padding: 10px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
  }
  .mymanzo-summer .mymanzo-portal-actions.mymanzo-actions-sidebar .mymanzo-btn{
    width: 100%;
    justify-content: center;
  }
}

/* Admin Center task multi-assign picker */
.mymanzo-task-teacher-item:hover{ background: rgba(0,0,0,.03); }

/* ==========================================================
 * Mobile/responsive helpers (Library + tables)
 * ========================================================== */
.mymanzo-summer .mymanzo-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

@media (max-width: 768px){
  .mymanzo-summer .mymanzo-table-wrap table,
  .mymanzo-summer table.widefat{ min-width: 680px; }

  /* Prevent iOS zoom on focus */
  .mymanzo-summer :is(button, input, select, textarea){ font-size:16px; }
}


/* === Library: Mobile polish (v1.1.59) === */
@media (max-width: 782px){
  .mymanzo-library-wrap .mymanzo-grid{display:block !important;}
  .mymanzo-library-wrap .mymanzo-card{margin-bottom:12px;}
  .mymanzo-library-wrap table{display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
  .mymanzo-library-wrap table thead{position:sticky; top:0;}
  .mymanzo-library-actions .button{display:inline-flex; align-items:center; gap:6px; margin:4px 6px 4px 0;}
  .mymanzo-library-filters{display:flex; flex-direction:column; gap:8px;}
  .mymanzo-library-filters select,
  .mymanzo-library-filters input[type="text"]{width:100% !important; max-width:100% !important;}
  .mymanzo-library-kpis{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;}
  .mymanzo-library-kpi{padding:12px;}
  .mymanzo-library-table-note{font-size:13px; opacity:.85;}
}
/* Print-friendly report */
@media print{
  .mymanzo-no-print{display:none !important;}
  .wrap{margin:0 !important;}
  table{page-break-inside:avoid;}
}

/* ============================
   Parent/Learner Portal: Classmates
   ============================ */
.mymanzo-summer .mymanzo-pl-classmates-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:12px;
  margin-top:12px;
}
.mymanzo-summer .mymanzo-pl-matecard{
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 25px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease;
  cursor:pointer;
}
.mymanzo-summer .mymanzo-pl-matecard:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(0,0,0,.09);
}
.mymanzo-summer .mymanzo-pl-matecard-top{display:flex; gap:10px; align-items:center;}
.mymanzo-summer .mymanzo-pl-matephoto{
  width:56px; height:56px;
  border-radius:16px;
  background:#eef;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(0,0,0,.10);
  flex:0 0 auto;
}
.mymanzo-summer .mymanzo-pl-mateinfo{min-width:0;}
.mymanzo-summer .mymanzo-pl-matename{font-weight:800; line-height:1.15;}
.mymanzo-summer .mymanzo-pl-matestars{font-size:12px; opacity:.9; margin-top:3px;}
.mymanzo-summer .mymanzo-pl-ach{margin-top:10px;}
.mymanzo-summer .mymanzo-pl-achline{font-size:12px; margin:3px 0; opacity:.92;}

/* Modal */
.mymanzo-summer .mymanzo-pl-modal{display:none; position:fixed; inset:0; background:rgba(0,0,0,.52); z-index:999999; padding:16px;}
.mymanzo-summer .mymanzo-pl-modal.is-open{display:flex; align-items:center; justify-content:center;}
.mymanzo-summer .mymanzo-pl-modal-inner{width:min(720px, 96vw); max-height:90vh; overflow:auto; background:#fff; border-radius:20px; padding:14px; box-shadow:0 30px 70px rgba(0,0,0,.25);}
.mymanzo-summer .mymanzo-pl-modal-close{border:0; background:transparent; font-size:28px; line-height:1; cursor:pointer; float:right; opacity:.8;}
.mymanzo-summer .mymanzo-pl-modal-head{display:flex; gap:12px; align-items:center; margin-top:6px;}
.mymanzo-summer .mymanzo-pl-modal-photo{width:86px; height:86px; border-radius:22px; background:#eef; background-size:cover; background-position:center; border:1px solid rgba(0,0,0,.10);}
.mymanzo-summer .mymanzo-pl-modal-name{font-weight:900; font-size:18px;}
.mymanzo-summer .mymanzo-pl-modal-stars{font-size:13px; margin-top:4px; opacity:.9;}
.mymanzo-summer .mymanzo-pl-modal-body{margin-top:12px;}
.mymanzo-summer .mymanzo-pl-achlist{display:flex; flex-direction:column; gap:6px;}

/* Print styles (Save as PDF via browser) */
@media print{
  .mymanzo-summer .mymanzo-pl-modal-close,
  .mymanzo-summer #mymanzoPlClassmatesPrint,
  .mymanzo-summer #mymanzoPlMateModalPrint{
    display:none !important;
  }
  .mymanzo-summer .mymanzo-pl-modal{position:static !important; inset:auto !important; background:transparent !important; padding:0 !important;}
  .mymanzo-summer .mymanzo-pl-modal-inner{width:100% !important; max-height:none !important; overflow:visible !important; box-shadow:none !important;}
}
