/* Portal Pengelola v54 — explicit school identity, access, and backup status. */
.school-account-legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;margin:0 0 18px;padding:15px 17px;border:1px solid #bae6fd;border-radius:18px;background:#f0f9ff;color:#0c4a6e;font-size:12px;line-height:1.5}
.school-account-legend>b{font-size:13px}.school-account-legend>span{display:block}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.legend-dot.direct{background:#078ee8}.legend-dot.foundation{background:#0ea5e9}
.source-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.school-account-table{min-width:1180px}.school-account-table th:nth-child(1){width:15%}.school-account-table th:nth-child(2){width:17%}.school-account-table th:nth-child(3){width:19%}.school-account-table th:nth-child(4){width:18%}.school-account-table th:nth-child(5){width:10%}.school-account-table td small+small{margin-top:5px;color:#475569}
.backup-status-table{min-width:980px}
.badge.active{background:#f3f8ff;color:#003f9e}.badge.inactive{background:#fff1f2;color:#be123c}.badge.pending{background:#fff7e6;color:#b45309}
.owner-header-actions{display:flex;align-items:center;gap:10px}.owner-realtime-notifications{position:relative}.owner-notification-button{width:46px;height:46px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;color:#475569;display:grid;place-items:center;position:relative;box-shadow:0 4px 15px rgba(15,23,42,.06)}.owner-notification-button:hover,.owner-notification-button.active{color:#003f9e;border-color:#b8ddff;background:#f3f8ff}.owner-notification-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.owner-notification-badge{position:absolute;right:-5px;top:-5px;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ef4444;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.owner-notification-panel{position:absolute;right:0;top:55px;width:min(390px,calc(100vw - 28px));max-height:min(560px,calc(100dvh - 100px));overflow:hidden;border:1px solid #dce6eb;border-radius:22px;background:#fff;box-shadow:0 25px 65px rgba(15,23,42,.2);z-index:230}.owner-notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:17px 18px;border-bottom:1px solid #edf2f5}.owner-notification-head b,.owner-notification-head small{display:block}.owner-notification-head b{font-size:14px}.owner-notification-head small{margin-top:4px;color:#64748b;font-size:10px}.owner-notification-head button{width:30px;height:30px;border:0;border-radius:10px;background:#f1f5f9;color:#64748b;font-size:20px;line-height:1}.owner-notification-list{max-height:390px;overflow:auto}.owner-notification-item{width:100%;border:0;border-bottom:1px solid #edf2f5;background:#fff;padding:14px 16px;display:flex;align-items:flex-start;gap:11px;text-align:left}.owner-notification-item:hover{background:#f0fdf8}.owner-notification-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#078ee8;box-shadow:0 0 0 4px #dbeeff;flex:none}.owner-notification-item b,.owner-notification-item small,.owner-notification-item time{display:block}.owner-notification-item b{font-size:12px}.owner-notification-item small{margin-top:4px;color:#475569;font-size:10px;line-height:1.5}.owner-notification-item time{margin-top:6px;color:#94a3b8;font-size:9px}.owner-notification-empty{padding:38px 20px;text-align:center;color:#64748b;font-size:11px}.owner-notification-all{width:calc(100% - 28px);margin:12px 14px 14px;border:0;border-radius:13px;padding:11px;background:#078ee8;color:#fff;font-size:11px;font-weight:900}.owner-notification-all:hover{background:#006fd1}
@media(max-width:760px){.school-account-legend{align-items:flex-start;flex-direction:column;padding:13px}.sidebar nav{grid-template-columns:repeat(7,1fr)}.school-account-table{min-width:1100px}.backup-status-table{min-width:900px}}
@media(max-width:760px){.owner-header-actions{gap:7px}.owner-notification-button{width:44px;height:44px;border-radius:14px}.owner-notification-panel{position:fixed;top:66px;right:10px;left:10px;width:auto;max-height:calc(100dvh - 155px)}.owner-notification-list{max-height:calc(100dvh - 285px)}}

.owner-notification-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:none}.owner-notification-head .owner-notification-read-all{width:auto;height:30px;padding:0 10px;border:1px solid #b8ddff;border-radius:10px;background:#f3f8ff;color:#003f9e;font-size:9px;font-weight:900;white-space:nowrap}.owner-notification-head .owner-notification-read-all:hover{background:#dbeeff}.owner-notification-head .owner-notification-read-all:disabled{opacity:.55}.owner-notification-item>span:last-child{min-width:0;flex:1}.owner-notification-item time{display:flex;align-items:center;justify-content:space-between;gap:8px}.owner-notification-item time em{color:#006fd1;font-size:8px;font-style:normal;font-weight:900}.owner-notification-item.read{background:#f8fafc}.owner-notification-item.read:hover{background:#f1f5f9}.owner-notification-item.read .owner-notification-dot{background:#cbd5e1;box-shadow:0 0 0 4px #f1f5f9}.owner-notification-item.read b,.owner-notification-item.read small{color:#64748b}.owner-notification-item.read time em{color:#94a3b8}

@media(max-width:480px){.owner-notification-head{padding:14px}.owner-notification-head-actions{gap:5px}.owner-notification-head .owner-notification-read-all{padding:0 8px;font-size:8px}.owner-notification-item{padding:13px 14px}}

.android-notification-test h3{margin:0;font-size:15px}.android-notification-test p{margin:7px 0 14px;color:#64748b;font-size:11px;line-height:1.6}

html.portal-admin-android,html.portal-admin-android body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior:none}html.portal-admin-android .owner-app,html.portal-admin-android .workspace,html.portal-admin-android .content,html.portal-admin-android .panel{min-width:0;max-width:100%}html.portal-admin-android .workspace{width:100%;overflow-x:clip!important}html.portal-admin-android .topbar{left:0;right:0;width:100%;z-index:220!important;transform:none!important}html.portal-admin-android .owner-header-actions{margin-left:auto;flex:none;position:relative;z-index:221}html.portal-admin-android .content{width:100%;overflow-x:clip!important;overflow-y:visible!important;touch-action:pan-y!important}html.portal-admin-android .table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch;padding-bottom:5px;scrollbar-width:thin;scrollbar-color:#94a3b8 #e2e8f0}html.portal-admin-android .table-wrap::-webkit-scrollbar{height:7px}html.portal-admin-android .table-wrap::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}html.portal-admin-android .table-wrap::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px}html.portal-admin-android .data-table{max-width:none}html.portal-admin-android .panel-body,html.portal-admin-android .record-card,html.portal-admin-android .form-grid{min-width:0;max-width:100%}

@media(max-width:760px){.workspace{overflow-x:clip}.topbar{left:0;right:0;width:100%;z-index:220}.owner-header-actions{margin-left:auto;flex:none;position:relative;z-index:221}html.portal-admin-android .sidebar nav{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:4px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x!important;-webkit-overflow-scrolling:touch;padding:0 4px 3px}html.portal-admin-android .sidebar .nav-button{flex:0 0 72px!important;width:72px!important;min-width:72px!important;scroll-snap-align:center}html.portal-admin-android .content{padding-right:12px!important;padding-left:12px!important}html.portal-admin-android .table-wrap{margin:0;width:100%}}
