/* School Master Parent Portal Phase 2 — application surfaces + isolation overrides. */

.sm-login-page:has(.ps-shell),
.sm-login-page:has(.pe-shell),
.sm-login-page:has(.pm-shell),
.sm-login-page:has(.pg-shell),
.sm-login-page:has(.ps-state),
.sm-login-page:has(.pe-state),
.sm-login-page:has(.pm-state),
.sm-login-page:has(.pg-state){
  width:100%!important;min-height:100dvh!important;margin:0!important;padding:0!important;display:block!important;
  overflow-x:hidden!important;background:#f4f6fb!important;color:#172033!important;color-scheme:light!important;
}
.sm-login-page[data-sm-parent-surface="true"]>.sm-login-glow{display:none!important}

/* Parent navigation is independent from ERP sidebar/topbar. */
.sm-login-page[data-sm-parent-surface="true"]>.parent-layout-quicknav{
  position:sticky!important;top:0!important;left:auto!important;transform:none!important;z-index:80!important;
  width:min(1180px,calc(100% - 28px))!important;min-height:58px!important;margin:0 auto!important;padding:8px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  border:1px solid #e4e0ef!important;border-top:0!important;border-radius:0 0 18px 18px!important;
  background:rgba(255,255,255,.97)!important;box-shadow:0 10px 28px rgba(39,25,77,.08)!important;backdrop-filter:blur(14px)!important;
}
.sm-login-page[data-sm-parent-surface="true"]>.parent-layout-quicknav a{
  min-height:39px!important;padding:0 15px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  border-radius:12px!important;color:#57407f!important;text-decoration:none!important;font-size:12px!important;font-weight:850!important;
}
.sm-login-page[data-sm-parent-surface="true"]>.parent-layout-quicknav a:hover{background:#f2edff!important;color:#5e26d1!important}
.sm-login-page[data-sm-parent-surface="true"]>.parent-layout-quicknav a span{font-size:16px!important}

.ps-shell,.pe-shell,.pm-shell,.pg-shell{width:min(1180px,calc(100% - 28px))!important;max-width:1180px!important;margin:0 auto!important;padding:22px 0 94px!important;color:#172033!important}
.ps-state,.pe-state,.pm-state,.pg-state{max-width:720px!important;margin:64px auto!important;padding:34px!important;border:1px solid #e4e7ee!important;border-radius:22px!important;background:#fff!important;box-shadow:0 20px 48px rgba(35,27,64,.08)!important;text-align:center!important;color:#172033!important}

/* App page hero/header. */
.ps-head,.pe-head,.pm-head,.pg-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;
  margin:0 0 18px!important;padding:24px 26px!important;border:1px solid rgba(105,67,190,.18)!important;border-radius:22px!important;
  background:linear-gradient(135deg,#2a185f 0%,#5630c7 62%,#7445ee 100%)!important;color:#fff!important;
  box-shadow:0 20px 42px rgba(72,43,149,.16)!important;
}
.ps-head small,.pe-head small,.pm-head small,.pg-head small{display:block!important;color:#ffd166!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important}
.ps-head h1,.pe-head h1,.pm-head h1,.pg-head h1{margin:5px 0 6px!important;color:#fff!important;font-size:clamp(25px,3vw,34px)!important;line-height:1.08!important}
.ps-head p,.pe-head p,.pm-head p,.pg-head p{margin:0!important;color:#e7e0ff!important;font-size:12px!important;line-height:1.55!important}
.ps-head-actions,.pe-head-actions,.pm-head-actions,.pg-head>div:last-child{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.ps-head-actions .btn,.pe-head-actions .btn,.pm-head-actions .btn,.pg-head .btn{
  min-height:38px!important;border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:none!important;
}

/* Child selector / summary strips. */
.ps-childbar,.pe-childbar,.pm-childbar,.pg-child{
  margin:16px 0!important;padding:16px 18px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;
  border:1px solid #e6e7ee!important;border-radius:18px!important;background:#fff!important;box-shadow:0 9px 24px rgba(29,25,48,.045)!important;
}
.ps-childbar label,.pe-childbar label,.pm-childbar label,.pg-child label{min-width:280px!important;font-size:11px!important;font-weight:850!important;color:#343b4f!important}
.ps-childbar .form-select,.pe-childbar .form-select,.pm-childbar .form-select,.pg-child .form-select{margin-top:6px!important;min-height:42px!important;border-radius:12px!important}
.ps-kpis,.pe-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;flex:1!important}
.ps-kpis span,.pe-kpis span{min-width:0!important;padding:12px 14px!important;display:grid!important;gap:2px!important;border:1px solid #e9e5f4!important;border-radius:14px!important;background:linear-gradient(145deg,#fbf9ff,#f4f1fb)!important}
.ps-kpis strong,.pe-kpis strong{font-size:17px!important;color:#5b27ca!important}.ps-kpis small,.pe-kpis small{font-size:9px!important;color:#7c8494!important}

/* Tab navigation. */
.ps-tabs,.pe-tabs,.pm-tabs{position:sticky!important;top:66px!important;z-index:35!important;display:flex!important;gap:8px!important;overflow-x:auto!important;margin:16px 0!important;padding:8px!important;border:1px solid #e6e3ef!important;border-radius:15px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 8px 20px rgba(38,28,65,.06)!important;backdrop-filter:blur(12px)!important}
.ps-tabs button,.pe-tabs button,.pm-tabs button{min-height:38px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#636b7e!important;padding:0 14px!important;font-size:11px!important;font-weight:850!important;white-space:nowrap!important}
.ps-tabs button.active,.pe-tabs button.active,.pm-tabs button.active{background:linear-gradient(135deg,#5b25cf,#7839e7)!important;color:#fff!important;box-shadow:0 7px 16px rgba(91,37,207,.20)!important}

/* Unified cards. */
.ps-grid,.pm-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.pe-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.pg-feed{display:grid!important;gap:16px!important}
.ps-shell .sm-panel,.pe-shell .sm-panel,.pm-shell .sm-panel,.pg-shell .sm-panel{
  border:1px solid #e5e7ee!important;border-radius:18px!important;background:linear-gradient(145deg,#fff,#fdfcff)!important;
  box-shadow:0 12px 28px rgba(30,25,50,.055)!important;padding:18px!important;color:#20283b!important;overflow:hidden!important;
}
.ps-shell .sm-panel h2,.pe-shell .sm-panel h2,.pm-shell .sm-panel h2,.pg-shell .sm-panel h2{margin-top:0!important;color:#20283b!important;font-size:16px!important}
.ps-shell .sm-panel p,.pe-shell .sm-panel p,.pm-shell .sm-panel p,.pg-shell .sm-panel p{font-size:11px!important;line-height:1.55!important;color:#626b7d!important}

/* Services / requests. */
.ps-action-list{display:grid!important;gap:10px!important}.ps-action-list button{min-height:78px!important;padding:14px 15px!important;border:1px solid #e6e2f1!important;border-radius:14px!important;background:linear-gradient(145deg,#fff,#f7f4ff)!important;text-align:left!important;box-shadow:0 6px 15px rgba(79,47,151,.05)!important}.ps-action-list button:hover{transform:translateY(-1px)!important;border-color:#c9b9ef!important}.ps-action-list strong{font-size:12px!important;color:#3a2a67!important}.ps-action-list span{font-size:10px!important;color:#7a8191!important;margin-top:4px!important}
.ps-history{display:grid!important;gap:10px!important}.ps-history>div{padding:13px!important;border:1px solid #e7e9ef!important;border-radius:14px!important;background:#fff!important}.ps-status{display:inline-flex!important;width:max-content!important;padding:4px 9px!important;border-radius:999px!important;background:#eee9ff!important;color:#5b26c9!important;font-size:9px!important;font-weight:900!important}.ps-status.approved,.ps-status.verified{background:#e3f7e9!important;color:#147546!important}.ps-status.rejected{background:#fde8eb!important;color:#b52c42!important}
.ps-block,.pm-block{display:block!important;margin:12px 0!important;font-size:10px!important;font-weight:800!important;color:#41485b!important}.ps-block .form-control,.pm-block .form-control{margin-top:5px!important}
.ps-calendar{display:grid!important;gap:10px!important}.ps-calendar article{display:grid!important;grid-template-columns:120px 1fr!important;gap:14px!important;padding:13px 0!important;border-bottom:1px solid #eceef3!important}.ps-calendar time{font-weight:900!important;color:#602bcf!important}

/* Engagement. */
.pe-card{display:flex!important;flex-direction:column!important;gap:10px!important}.pe-card-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.pe-type{display:inline-flex!important;width:max-content!important;padding:5px 9px!important;border-radius:999px!important;background:#eee8ff!important;color:#5e27cb!important;font-size:9px!important;font-weight:900!important;letter-spacing:.05em!important}.pe-body{white-space:pre-wrap!important;line-height:1.58!important}.pe-meta{display:flex!important;gap:10px!important;flex-wrap:wrap!important;color:#778091!important;font-size:10px!important}.pe-response{padding:10px 12px!important;border:1px solid #bdeacb!important;border-radius:12px!important;background:#edfbf2!important;color:#286543!important}.pe-response-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:auto!important}

/* More services. */
.pm-list{display:grid!important;gap:10px!important}.pm-list>div{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;padding:13px!important;border:1px solid #e7e9ef!important;border-radius:14px!important;background:#fff!important}.pm-list strong,.pm-list span,.pm-list small{display:block!important}.pm-list strong{font-size:11px!important;color:#283046!important}.pm-list span,.pm-list small{margin-top:3px!important;font-size:9px!important;color:#768093!important}.pm-chip{display:inline-flex!important;width:max-content!important;padding:5px 9px!important;border-radius:999px!important;background:#eee8ff!important;color:#5c28c8!important;font-size:9px!important;font-weight:900!important}.pm-pickup-grid,.pm-resource-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:12px!important}.pm-pickup-card,.pm-resource-grid>div{padding:14px!important;border:1px solid #e7e9ef!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 18px rgba(28,24,47,.04)!important}.pm-pin{padding:10px!important;border-radius:12px!important;background:#17142a!important;color:#fff!important}.pm-pin strong{font-size:20px!important;letter-spacing:.13em!important}.pm-facts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}.pm-facts>div{padding:12px!important;border-radius:12px!important;background:#f7f8fb!important}.pm-facts small{font-size:9px!important;color:#7d8595!important}.pm-facts strong{font-size:11px!important}.pm-checks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:12px 0!important}.pm-checks label{padding:10px!important;display:flex!important;align-items:center!important;gap:8px!important;border-radius:11px!important;background:#f7f8fb!important;font-size:10px!important}.pm-table{overflow:auto!important;border:1px solid #eceef2!important;border-radius:13px!important}.pm-table table{width:100%!important;border-collapse:collapse!important}.pm-table th,.pm-table td{padding:10px!important;border-bottom:1px solid #eceef2!important;text-align:left!important;font-size:10px!important;white-space:nowrap!important}.pm-table th{background:#f8f9fb!important;color:#71798b!important}

/* Gallery. */
.pg-child>span{font-size:10px!important;color:#747d8e!important}.pg-post{padding:18px!important}.pg-post-head small{font-size:9px!important;color:#7b8393!important}.pg-chip{display:inline-flex!important;padding:5px 9px!important;border-radius:999px!important;background:#eee8ff!important;color:#5c28c9!important;font-size:9px!important;font-weight:900!important}.pg-media{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:11px!important;margin-top:12px!important}.pg-media img,.pg-media video{width:100%!important;max-height:460px!important;object-fit:contain!important;border-radius:15px!important;background:#111827!important;box-shadow:0 8px 20px rgba(17,24,39,.12)!important}

/* Forms/buttons on parent surfaces. */
.sm-login-page[data-sm-parent-surface="true"] .form-control,.sm-login-page[data-sm-parent-surface="true"] .form-select{border:1px solid #dfe2ea!important;background:#fff!important;color:#20283b!important;box-shadow:none!important}
.sm-login-page[data-sm-parent-surface="true"] .form-control:focus,.sm-login-page[data-sm-parent-surface="true"] .form-select:focus{border-color:#8a68db!important;box-shadow:0 0 0 3px rgba(103,62,205,.09)!important}
.sm-login-page[data-sm-parent-surface="true"] .sm-gradient-btn{background:linear-gradient(135deg,#5b24ce,#793ae8)!important;border-color:transparent!important;color:#fff!important;border-radius:11px!important;box-shadow:0 8px 17px rgba(91,36,206,.18)!important}.sm-login-page[data-sm-parent-surface="true"] .sm-outline-btn{border-radius:11px!important}

/* Explicitly neutralize ERP dark-mode selectors inside Parent App. Parent has its own surface preference. */
[data-sm-theme="dark"] .sm-login-page[data-sm-parent-surface="true"],
[data-coreui-theme="dark"] .sm-login-page[data-sm-parent-surface="true"]{background:#f4f6fb!important;color:#172033!important;color-scheme:light!important}
[data-sm-theme="dark"] .sm-login-page[data-sm-parent-surface="true"] .sm-panel,
[data-sm-theme="dark"] .sm-login-page[data-sm-parent-surface="true"] .ps-childbar,
[data-sm-theme="dark"] .sm-login-page[data-sm-parent-surface="true"] .pe-childbar,
[data-sm-theme="dark"] .sm-login-page[data-sm-parent-surface="true"] .pm-childbar,
[data-sm-theme="dark"] .sm-login-page[data-sm-parent-surface="true"] .pg-child{background:#fff!important;color:#172033!important;border-color:#e5e7ee!important}

@media(max-width:820px){
  .ps-shell,.pe-shell,.pm-shell,.pg-shell{width:calc(100% - 18px)!important;padding-top:12px!important}
  .ps-head,.pe-head,.pm-head,.pg-head{padding:20px!important;flex-direction:column!important}.ps-head-actions,.pe-head-actions,.pm-head-actions,.pg-head>div:last-child{width:100%!important}
  .ps-head-actions .btn,.pe-head-actions .btn,.pm-head-actions .btn,.pg-head .btn{flex:1!important}
  .ps-childbar,.pe-childbar,.pm-childbar,.pg-child{flex-direction:column!important;align-items:stretch!important}.ps-childbar label,.pe-childbar label,.pm-childbar label,.pg-child label{min-width:0!important}
  .ps-kpis,.pe-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important}
  .ps-grid,.pe-list,.pm-grid{grid-template-columns:1fr!important}.pm-facts{grid-template-columns:1fr!important}
}

@media(max-width:620px){
  .sm-login-page[data-sm-parent-surface="true"]{padding-bottom:76px!important}
  .sm-login-page[data-sm-parent-surface="true"]>.parent-layout-quicknav{position:fixed!important;top:auto!important;left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;min-height:58px!important;border:1px solid #e2ddeb!important;border-radius:18px!important;padding:6px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;box-shadow:0 16px 38px rgba(37,26,66,.20)!important}
  .sm-login-page[data-sm-parent-surface="true"]>.parent-layout-quicknav a{min-width:0!important;min-height:46px!important;padding:4px 2px!important;display:flex!important;flex-direction:column!important;gap:1px!important;font-size:8px!important}.sm-login-page[data-sm-parent-surface="true"]>.parent-layout-quicknav a span{font-size:15px!important}
  .ps-shell,.pe-shell,.pm-shell,.pg-shell{padding-bottom:88px!important}.ps-head h1,.pe-head h1,.pm-head h1,.pg-head h1{font-size:24px!important}
  .ps-kpis,.pe-kpis{grid-template-columns:1fr!important}.ps-tabs,.pe-tabs,.pm-tabs{top:0!important}.pm-checks{grid-template-columns:1fr!important}.pg-media{grid-template-columns:1fr!important}
}

@media print{.parent-layout-quicknav,.ps-head-actions,.pe-head-actions,.pm-head-actions,.pg-head>div:last-child,.ps-tabs,.pe-tabs,.pm-tabs,.btn{display:none!important}.ps-shell,.pe-shell,.pm-shell,.pg-shell{max-width:none!important;width:100%!important;padding:0!important}.sm-panel{break-inside:avoid!important}}
