/* EDUHUNT V2.2.256 R27 — Coordinator Operations UI only.
   Scope: searchable school selector, Coordinator Follow-up, School Management,
   School Admin, Medals. Existing portal business logic is not restyled here. */

/* School/Branch selectors across all six portals: keep the original SELECT as
   the submitted value, but replace the visible scrolling dropdown with search. */
.r27-school-native{
  position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;
  padding:0!important;margin:0!important;border:0!important;opacity:0!important;pointer-events:none!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;
}
.r27-school-search{position:relative;width:100%;min-width:0}
.r27-school-search-input{width:100%!important;min-width:0!important}
.r27-school-search-results{
  position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 5px);max-height:280px;overflow-y:auto;
  border:1px solid #8da8c4;border-radius:10px;background:#fff;box-shadow:0 14px 32px rgba(15,40,67,.22);
}
.r27-school-search-results button{display:block;width:100%;border:0;border-bottom:1px solid #dbe5ef;background:#fff;color:#10233f;padding:10px 12px;text-align:left;cursor:pointer}
.r27-school-search-results button:last-child{border-bottom:0}
.r27-school-search-results button:hover,.r27-school-search-results button:focus{background:#edf6ff;outline:0}
.r27-school-search-hint{padding:10px 12px;color:#647b91;font-size:12px;font-weight:800}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-school-search-results{background:#071d32;border-color:#31536d;box-shadow:0 16px 34px rgba(0,0,0,.38)}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-school-search-results button{background:#071d32;color:#f5f9ff;border-color:#28465f}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-school-search-results button:hover{background:#103552}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-school-search-hint{color:#aac0d4}

/* Shared R27 compact task tabs. */
.r27-tabbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;width:100%;margin:0 0 14px;min-width:0}
.r27-tabbar .button{width:100%;min-width:0;min-height:40px;padding:8px 10px;justify-content:center;text-align:center;white-space:normal;line-height:1.15}
.r27-pager{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.r27-pager strong{font-size:12px}

/* Coordinator call follow-up. */
.r27-followup-card{overflow:visible}
.r27-followup-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.r27-followup-remarks{grid-column:1/-1}
.r27-followup-filters{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:9px;align-items:end;margin-bottom:14px}
.r27-reminder-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 14px}
.r27-reminder-kpi{border:1px solid #bfd0e2;border-radius:12px;background:#fff;color:#143454;min-height:68px;padding:9px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;cursor:pointer;min-width:0}
.r27-reminder-kpi svg{width:19px;height:19px;flex:0 0 auto}.r27-reminder-kpi b{font-size:21px}.r27-reminder-kpi span{font-size:11px;font-weight:900;line-height:1.15}
.r27-reminder-kpi.is-active{border-color:#6b64ff;box-shadow:0 0 0 2px rgba(107,100,255,.15)}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-reminder-kpi{background:#071b2f;color:#f5f9ff;border-color:#28465f}

/* R27 tables must not force page-level horizontal scrolling. */
.r27-responsive-table{width:100%;max-width:100%;overflow:hidden;border:1px solid var(--line,#d3dfeb);border-radius:12px}
.r27-responsive-table table{width:100%;max-width:100%;min-width:0!important;table-layout:fixed;border-collapse:collapse}
.r27-responsive-table th,.r27-responsive-table td{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word}
.r27-responsive-table td small{display:block;margin-top:3px}

/* Coordinator school management. */
.r27-school-filterbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:14px}
.r27-school-search-wide{min-width:0}
.r27-programme-checks{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}
.r27-bulk-school-list{display:grid;gap:10px}
.r27-bulk-school-row{display:grid;grid-template-columns:minmax(150px,.8fr) repeat(4,minmax(130px,1fr)) auto;gap:9px;align-items:end;border:1px solid #cbd9e7;border-radius:12px;padding:10px;min-width:0}
.r27-bulk-school-code{align-self:center;min-width:0}.r27-bulk-school-code strong,.r27-bulk-school-code small{display:block;overflow-wrap:anywhere}.r27-bulk-school-code small{margin-top:4px;color:#60758d}
.r27-assigned-school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.r27-assigned-school{border:1px solid #cbd9e7;border-radius:12px;padding:12px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1.3fr) minmax(0,1fr) auto auto;gap:9px;align-items:center;min-width:0}
.r27-assigned-school>*{min-width:0;overflow-wrap:anywhere}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) :is(.r27-bulk-school-row,.r27-assigned-school){border-color:#28465f;background:#071b2f;color:#f5f9ff}

/* Coordinator School Admin pages. */
.r27-admin-form-card{overflow:visible}
.r27-admin-school-picker{max-width:700px;margin-bottom:14px}
.r27-admin-account-grid{align-items:stretch}
.r27-admin-account{height:100%}
.r27-admin-account-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.r27-admin-account-head h3{margin:3px 0 0}.r27-admin-designation{font-size:10px;letter-spacing:.09em;font-weight:900;color:#6b64ff}
.r27-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.r27-password-row input{min-width:0}
.r27-admin-filters{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(145px,1fr));gap:9px;align-items:end;margin-bottom:14px}
.r27-admin-search-wide{min-width:0}

/* Coordinator Medals: cards only, so there is never horizontal scrolling. */
.r27-medal-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px;width:100%;min-width:0}
.r27-medal-kpi{min-width:0;min-height:84px;border:1px solid #bfd0e2;border-radius:14px;background:#fff;color:#143454;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;text-align:center;cursor:pointer}
.r27-medal-kpi svg{width:22px;height:22px;flex:0 0 auto}.r27-medal-kpi b{font-size:28px;line-height:1}.r27-medal-kpi span{font-size:12px;font-weight:900;line-height:1.15}
.r27-medal-kpi.is-active{border-color:#6b64ff;box-shadow:0 0 0 2px rgba(107,100,255,.18)}
.r27-medal-list{overflow:visible}.r27-medal-list .card-head{align-items:end}.r27-medal-search{width:min(360px,100%)}.r27-medal-search input{width:100%}
.r27-medal-records{display:grid;gap:9px}
.r27-medal-record{display:grid;grid-template-columns:minmax(260px,2fr) minmax(145px,.75fr) minmax(240px,1.25fr) auto;gap:10px;align-items:end;border:1px solid #cbd9e7;border-radius:12px;padding:11px;min-width:0}
.r27-medal-school{align-self:center;min-width:0}.r27-medal-school strong,.r27-medal-school small{display:block;overflow-wrap:anywhere}.r27-medal-school small{margin-top:4px;color:#60758d;font-weight:700}.r27-medal-remarks{min-width:0}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-medal-kpi{background:#071b2f;color:#f5f9ff;border-color:#28465f}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-medal-record{background:#071b2f;color:#f5f9ff;border-color:#28465f}
:is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-medal-school small{color:#aac0d4}

@media(max-width:1200px){
  .r27-followup-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
  .r27-programme-checks{grid-template-columns:repeat(3,minmax(0,1fr))}
  .r27-bulk-school-row{grid-template-columns:minmax(150px,1fr) repeat(2,minmax(130px,1fr));}.r27-bulk-school-row .button{width:100%}
  .r27-assigned-school-grid{grid-template-columns:1fr}
  .r27-medal-record{grid-template-columns:minmax(220px,1.7fr) minmax(140px,.8fr) minmax(210px,1.2fr) auto}
}
@media(max-width:900px){
  .r27-tabbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r27-followup-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r27-followup-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r27-reminder-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .r27-school-filterbar,.r27-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r27-school-search-wide,.r27-admin-search-wide{grid-column:1/-1}
  .r27-programme-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r27-bulk-school-row{grid-template-columns:repeat(2,minmax(0,1fr))}.r27-bulk-school-code{grid-column:1/-1}
  .r27-medal-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .r27-medal-record{grid-template-columns:repeat(2,minmax(0,1fr))}.r27-medal-school{grid-column:1/-1}.r27-medal-record>.button{width:100%}
  .r27-admin-account-grid{grid-template-columns:1fr!important}

  /* Convert R27 tables to stacked records instead of horizontal scrolling. */
  .r27-responsive-table{border:0;overflow:visible}.r27-responsive-table table,.r27-responsive-table tbody{display:block;width:100%}.r27-responsive-table thead{display:none}
  .r27-responsive-table tr{display:block;border:1px solid #cbd9e7;border-radius:12px;margin:0 0 10px;padding:5px 10px;background:transparent}
  .r27-responsive-table td{display:grid!important;grid-template-columns:minmax(108px,34%) minmax(0,1fr);gap:9px;align-items:start;width:100%!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #e2e9f0!important;text-align:left!important}
  .r27-responsive-table td:last-child{border-bottom:0!important}.r27-responsive-table td::before{content:attr(data-label);font-size:10px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;color:#60758d}
  :is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-responsive-table tr{border-color:#28465f;background:#071b2f}
  :is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-responsive-table td{border-color:#28465f!important}
  :is(body[data-desktop-theme="dark"],body[data-student-theme="dark"]) .r27-responsive-table td::before{color:#9eb4c9}
}
@media(max-width:600px){
  .r27-tabbar{grid-template-columns:1fr 1fr;gap:7px}.r27-tabbar .button{font-size:11px;padding:7px 6px;min-height:38px}
  .r27-followup-form-grid,.r27-followup-filters,.r27-school-filterbar,.r27-admin-filters{grid-template-columns:1fr}
  .r27-followup-remarks,.r27-school-search-wide,.r27-admin-search-wide{grid-column:auto}
  .r27-reminder-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.r27-reminder-kpi{min-height:62px;padding:7px}.r27-reminder-kpi b{font-size:19px}.r27-reminder-kpi span{font-size:10px}
  .r27-programme-checks{grid-template-columns:1fr 1fr}.r27-bulk-school-row{grid-template-columns:1fr}.r27-bulk-school-code{grid-column:auto}
  .r27-medal-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.r27-medal-kpi{min-height:68px;padding:7px;gap:5px}.r27-medal-kpi b{font-size:22px}.r27-medal-kpi span{font-size:10px}.r27-medal-kpi svg{width:18px;height:18px}
  .r27-medal-record{grid-template-columns:1fr}.r27-medal-school{grid-column:auto}.r27-medal-list .card-head{align-items:stretch}.r27-medal-search{width:100%}
  .r27-password-row{grid-template-columns:1fr}.r27-password-row .button{width:100%}
  .r27-admin-school-row{grid-template-columns:1fr!important}.r27-admin-school-row .form-field{grid-column:auto!important}
}
.r27-admin-selected-school{grid-column:span 2;display:flex;min-height:46px;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft,rgba(255,255,255,.025));min-width:0}.r27-admin-selected-school span{font-size:12px;opacity:.72;white-space:nowrap}.r27-admin-selected-school strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.r27-admin-selected-school{grid-column:1/-1;align-items:flex-start;flex-direction:column;gap:2px}.r27-admin-selected-school strong{white-space:normal}}
