/* ============================================================
   MMUST CU Admin — Phase 37
   Mobile, Accessibility & Performance Optimization
   ============================================================ */
:root{--phase37-focus:#FF9900;--phase37-safe-top:env(safe-area-inset-top,0px);--phase37-safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:96px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:0;overflow-x:hidden}
main,.container,.admin-main-nav{min-width:0}
img,svg,video,canvas,iframe,object,embed{max-width:100%;height:auto}
:where(h1,h2,h3,h4,h5,h6,[id]){scroll-margin-top:104px}
:where(p,li,dd,dt,a,strong,span,small){overflow-wrap:break-word}
pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}

.phase37-skip-link{position:fixed;left:16px;top:12px;z-index:5000;transform:translateY(-160%);padding:11px 15px;border:2px solid #000;border-radius:10px;background:#FF9900;color:#000;font-weight:900;box-shadow:0 10px 26px rgba(0,0,0,.2);transition:transform .15s ease}
.phase37-skip-link:focus{transform:translateY(0);outline:3px solid #fff;outline-offset:2px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--phase37-focus)!important;outline-offset:3px!important}
:where(input,select,textarea):focus-visible{border-color:#0099FF!important}
:where(button,[role="button"]){touch-action:manipulation}

.phase37-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-gutter:stable;border-radius:inherit}
.phase37-table-scroll>table{width:100%;min-width:max-content;margin:0}
.phase37-table-scroll:focus-visible{outline:3px solid #0099FF!important;outline-offset:2px!important}
.phase37-table-hint{display:none}
form,fieldset,label{min-width:0;max-width:100%}
input,select,textarea,button{max-width:100%}
input[type="file"]{width:100%}
textarea{resize:vertical}

/* Make dense administration grids shrink safely. */
:where(.admin-grid,.dashboard-grid,.stat-grid,.summary-grid,.panel-grid,.form-grid,
       .finance-grid,.member-grid,.analytics-grid,.governance-grid,.shop-dashboard-grid,
       .strategy-plan-grid,.records-series-grid,.records-record-grid,.knowledge-grid)>*{min-width:0}

/* Delay painting of deep dashboard sections while keeping semantics intact. */
body>main>section:nth-of-type(n+4),body>main>.container>section:nth-of-type(n+4){content-visibility:auto;contain-intrinsic-size:650px}

@media(max-width:980px){
  html{scroll-padding-top:82px}
  .admin-header{padding-top:var(--phase37-safe-top)}
  .container{width:min(100% - 24px,1200px)}
  .admin-main-nav{max-height:calc(100dvh - 76px - var(--phase37-safe-top));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .admin-nav-dropdown{max-width:100%}
  .admin-nav-group,.admin-nav-trigger,.admin-nav-direct{min-width:0}
  .phase37-table-hint{display:block;margin:0 0 7px;font-size:11px;font-weight:800;color:#666}
}

@media(max-width:680px){
  .container{width:min(100% - 18px,1200px)}
  body{font-size:14px}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important}
  button,.button,input[type="submit"],input[type="button"],input[type="reset"]{min-height:44px}
  .admin-header .nav{gap:8px}
  .admin-header .brand{min-width:0;max-width:calc(100vw - 72px)}
  .admin-header .brand span{min-width:0}
  .admin-header .brand strong{overflow-wrap:anywhere}
  .admin-academic-cycle-chip{max-width:100%;min-width:0}
  .admin-footer .container{gap:6px;align-items:flex-start;flex-direction:column}
  .mmustcu-assist-panel{max-height:calc(100dvh - 24px - var(--phase37-safe-top) - var(--phase37-safe-bottom))}
}

@media print{
  .phase37-skip-link{display:none!important}
  .phase37-table-scroll{overflow:visible!important}
  .phase37-table-scroll>table{width:100%!important}
  body>main>section,body>main>.container>section{content-visibility:visible!important;contain-intrinsic-size:auto!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  body>main>section,body>main>.container>section{content-visibility:visible!important;contain-intrinsic-size:auto!important}
}

@media(forced-colors:active){:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid Highlight!important}}

/* ==========================================================================
   PHASE 37.1 — PROFESSIONAL SVG ICON SYSTEM
   Lucide Static 1.31.0, progressive enhancement with text fallback.
   ========================================================================== */
.ui-svg-icon{display:block;width:1.25rem;height:1.25rem;max-width:100%;max-height:100%;object-fit:contain}
.module>.icon.ui-iconified{font-size:0!important;line-height:0}
.module>.icon.ui-iconified .ui-svg-icon{width:22px;height:22px;filter:brightness(0) invert(1)}
.module.orange>.icon.ui-iconified .ui-svg-icon{filter:brightness(0)}
.mmustcu-assist-launcher-icon.ui-iconified{font-size:0!important;line-height:0}
.mmustcu-assist-launcher-icon.ui-iconified .ui-svg-icon{width:21px;height:21px;filter:brightness(0)}
button[data-menu].ui-iconified{font-size:0!important}
button[data-menu].ui-iconified .ui-svg-icon{width:21px;height:21px;margin:auto}
.admin-nav-trigger>span.ui-iconified,.admin-nav-trigger-link>span.ui-iconified{display:inline-flex!important;align-items:center;justify-content:center;width:13px;height:13px;font-size:0!important}
.admin-nav-trigger>span.ui-iconified .ui-svg-icon,.admin-nav-trigger-link>span.ui-iconified .ui-svg-icon{width:13px;height:13px}


/* ==========================================================================
   PHASE 37.2 — ADMIN MEDIA VISIBILITY + PERMANENT MEMBER ADMIN CONTROL
   ========================================================================== */
.admin-media-page .album-grid{align-items:stretch;min-width:0}
.admin-media-page .gallery-admin-card{background:#FFFFFF!important;border:1px solid #CCCCCC!important;border-top:4px solid #0099FF!important;box-shadow:0 10px 26px rgba(0,0,0,.07)!important;min-width:0;visibility:visible!important;opacity:1!important;content-visibility:visible!important}
.admin-media-page .gallery-admin-card:nth-child(even){border-top-color:#FF9900!important}
.admin-media-page .gallery-admin-card>a{background:#FFFFFF!important;color:#000000!important;min-width:0}
.admin-media-page .gallery-admin-cover{background:#F5F7FA!important;min-height:180px}
.admin-media-page .gallery-admin-cover img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;background:#F5F7FA!important;opacity:1!important;visibility:visible!important}
.admin-media-page .album-body{display:block!important;background:#FFFFFF!important;color:#000000!important;min-height:118px;visibility:visible!important;opacity:1!important}
.admin-media-page .album-body small{color:#0069A8!important;font-size:11px!important}
.admin-media-page .album-body h3{color:#000000!important;font-size:17px!important;margin:7px 0!important}
.admin-media-page .album-body p{color:#0069A8!important;font-size:12px!important;font-weight:800!important;margin:8px 0 0!important}
.admin-media-page .gallery-admin-actions{background:#FFFFFF!important;border-top:1px solid #EEEEEE;padding-top:12px!important}

.button.danger{background:#B42318;color:#FFFFFF;border-color:#B42318}
.button.danger:hover,.button.danger:focus-visible{background:#7A1711;border-color:#7A1711}
.admin-danger-zone{border:2px solid #B42318!important;border-top-width:6px!important;background:#FFF8F7!important}
.admin-danger-zone .kicker{color:#B42318!important}
.admin-danger-zone p{font-size:13px;line-height:1.6;color:#5E2A25}
.admin-member-delete-form{margin-top:16px;padding-top:14px;border-top:1px solid #E8B4AE}
.admin-member-delete-form label{color:#7A1711;font-weight:900}
.admin-member-delete-form input{border-color:#B42318!important;background:#FFFFFF!important}

@media(max-width:650px){
  .admin-media-page .album-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .admin-media-page .gallery-admin-cover{height:135px!important;min-height:135px}
  .admin-media-page .album-body{padding:12px!important;min-height:108px}
  .admin-media-page .album-body h3{font-size:14px!important}
  .admin-media-page .gallery-admin-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;padding:10px!important}
  .admin-media-page .gallery-admin-actions .button,.admin-media-page .gallery-admin-actions form,.admin-media-page .gallery-admin-actions button{width:100%!important}
}

/* Phase 37.3 — Event campaign admin */
.campaign-admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:22px;align-items:start}.campaign-admin-main hr{border:0;border-top:1px solid #e6edf5;margin:28px 0}.campaign-admin-main textarea{min-height:105px}.campaign-admin-publish{position:sticky;top:96px}.toggle-row{display:flex!important;gap:12px;align-items:flex-start;border:1px solid #e3e8ef;border-radius:14px;padding:14px;margin:0 0 10px;background:#fafcff}.toggle-row input{width:18px!important;height:18px!important;margin-top:2px;accent-color:#0099ff}.toggle-row span{display:block}.toggle-row b{display:block;font-size:.9rem}.toggle-row small{display:block;margin-top:3px;color:#667085;line-height:1.45}.campaign-admin-privacy{margin-top:16px;border-radius:14px;background:#eef7ff;border:1px solid #cce8ff;padding:14px}.campaign-admin-privacy b{color:#075985}.campaign-admin-privacy p{margin:5px 0 0;font-size:.8rem;color:#51667d;line-height:1.55}.campaign-admin-advanced{margin-top:14px;border:1px solid #e3e8ef;border-radius:14px;padding:14px}.campaign-admin-advanced summary{cursor:pointer;font-weight:800}.campaign-admin-advanced .grid-three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
@media(max-width:900px){.campaign-admin-grid{grid-template-columns:1fr}.campaign-admin-publish{position:static}.campaign-admin-advanced .grid-three{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.campaign-admin-advanced .grid-three{grid-template-columns:1fr}}
