/* ===== Tampilan aplikasi Android (aktif bila User-Agent "SchoolOSAndroid" atau ?ui=app) ===== */
.app-tab, .app-lembar, .app-lembar-latar { display:none; }
body.app-android { background:#eef1f8; display:block; -webkit-tap-highlight-color:transparent; font-size:14px; padding-bottom:0; }
body.app-android .rail, body.app-android .overlay-mobile, body.app-android .hamburger-btn, body.app-android .gs-kotak kbd, body.app-android .topbar .user-info, body.app-android .lonceng-wrap .lonceng-dropdown { display:none !important; }
body.app-android .main { margin-left:0 !important; min-height:100vh; display:block; }

/* bilah atas bergaya aplikasi */
body.app-android .topbar { position:sticky; top:0; margin:0; border-radius:0 0 22px 22px; padding:calc(env(safe-area-inset-top) + 12px) 16px 14px; background:linear-gradient(135deg,#13206b,#26268f 60%,#432b9a); border:0; box-shadow:0 8px 22px rgba(19,32,107,.3); z-index:900; flex-wrap:nowrap; }
body.app-android .topbar .judul-halaman { color:#fff; font-size:18px; font-weight:800; letter-spacing:.2px; }
body.app-android .topbar-kanan { gap:6px; }
body.app-android .lonceng-btn { color:#fff; background:rgba(255,255,255,.14); width:40px; height:40px; }
body.app-android .lonceng-badge { border-color:#26268f; }
body.app-android .gs-wrap { position:static; }
body.app-android .gs-kotak input { width:40px; height:40px; padding:0; border-radius:50%; background:rgba(255,255,255,.14); border:0; color:transparent; }
body.app-android .gs-kotak input::placeholder { color:transparent; }
body.app-android .gs-kotak > i { color:#fff; left:13px; font-size:15px; }
body.app-android .gs-kotak input:focus { position:fixed; left:12px; right:12px; top:calc(env(safe-area-inset-top) + 10px); width:auto; height:46px; padding:0 16px 0 42px; border-radius:23px; background:#fff; color:#1f2d3d; z-index:1000; box-shadow:0 10px 30px rgba(0,0,0,.3); }
body.app-android .gs-kotak input:focus::placeholder { color:#8a949e; }
body.app-android .gs-panel { position:fixed; left:12px; right:12px; top:calc(env(safe-area-inset-top) + 64px); width:auto; max-width:none; max-height:65vh; border-radius:18px; z-index:1000; }

body.app-android .content { padding:16px 14px calc(96px + env(safe-area-inset-bottom)); }
body.app-android .hero-halaman { margin:0 0 14px !important; padding:14px 16px !important; border-radius:20px !important; }
body.app-android .hh-kanan { display:none; } body.app-android .hh-judul { font-size:17px; } body.app-android .hh-avatar { width:42px; height:42px; }
body.app-android .card, body.app-android .ds-kartu, body.app-android .ds-kal, body.app-android .kal-mini { border-radius:18px; }
body.app-android .card { padding:16px; }
body.app-android .ds-atas, body.app-android .ds-grafik { grid-template-columns:1fr !important; }
body.app-android .ds-grid { grid-template-columns:repeat(2,1fr) !important; gap:10px; }
body.app-android .ds-kartu { padding:12px 12px; } body.app-android .ds-kartu .nilai { font-size:22px; }
body.app-android .ds-strip { border-radius:16px; font-size:12px; gap:6px 14px; } body.app-android .ds-strip .ds-sisi { margin-left:0; }
body.app-android .btn, body.app-android button.btn, body.app-android .tb-toolbar, body.app-android .btn-toolbar { min-height:44px; border-radius:14px; }
body.app-android input, body.app-android select, body.app-android textarea { font-size:16px; border-radius:12px; }
body.app-android .tabel-scroll, body.app-android .tabel-dapodik-wrap { -webkit-overflow-scrolling:touch; }
body.app-android .cari-kotak { min-width:0; width:100%; }
body.app-android .stat-grid, body.app-android .form-grid { grid-template-columns:1fr; }
body.app-android #notifStack { top:calc(env(safe-area-inset-top) + 70px); }

/* bilah tab bawah */
body.app-android .app-tab { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:950; background:#fff; border-radius:24px 24px 0 0; padding:8px 8px calc(8px + env(safe-area-inset-bottom)); box-shadow:0 -8px 28px rgba(19,32,107,.16); justify-content:space-around; }
body.app-android .app-tab a, body.app-android .app-tab button { flex:1; border:0; background:none; text-decoration:none; color:#7b85a6; display:flex; flex-direction:column; align-items:center; gap:3px; font-size:10.5px; font-weight:700; padding:4px 2px; cursor:pointer; font-family:inherit; }
body.app-android .app-tab i { width:46px; height:30px; border-radius:15px; display:flex; align-items:center; justify-content:center; font-size:17px; transition:background .2s, color .2s; }
body.app-android .app-tab a.on { color:#26268f; } body.app-android .app-tab a.on i { background:linear-gradient(135deg,#2f48c4,#1696b0); color:#fff; box-shadow:0 6px 14px rgba(47,72,196,.35); }
body.app-android .app-tab a:active i, body.app-android .app-tab button:active i { background:#e8ecfb; }

/* lembar menu (naik dari bawah) */
body.app-android .app-lembar-latar { display:block; position:fixed; inset:0; background:rgba(8,14,60,.5); backdrop-filter:blur(2px); z-index:960; opacity:0; pointer-events:none; transition:opacity .25s; }
body.app-android .app-lembar-latar.buka { opacity:1; pointer-events:auto; }
body.app-android .app-lembar { display:block; position:fixed; left:0; right:0; bottom:0; z-index:970; background:#fff; border-radius:26px 26px 0 0; max-height:82vh; overflow-y:auto; padding:10px 16px calc(24px + env(safe-area-inset-bottom)); transform:translateY(105%); transition:transform .32s cubic-bezier(.2,.8,.2,1); box-shadow:0 -14px 40px rgba(0,0,0,.25); }
body.app-android .app-lembar.buka { transform:none; }
.app-gagang { width:44px; height:5px; border-radius:3px; background:#d5daea; margin:0 auto 14px; }
.app-profil { display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,#13206b,#432b9a); color:#fff; border-radius:18px; padding:14px 16px; margin-bottom:16px; }
.app-profil .rail-avatar { width:44px; height:44px; font-size:16px; border:2px solid rgba(255,255,255,.5); margin:0; }
.app-profil b { display:block; font-size:15px; } .app-profil small { opacity:.85; font-size:11.5px; }
.app-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px 6px; }
.app-grid a { display:flex; flex-direction:column; align-items:center; gap:7px; text-decoration:none; color:#273449; font-size:11px; font-weight:700; text-align:center; line-height:1.25; }
.app-grid a i { width:54px; height:54px; border-radius:18px; background:#eef1fb; color:#2f48c4; display:flex; align-items:center; justify-content:center; font-size:21px; transition:transform .15s, background .15s; }
.app-grid a:active i { transform:scale(.92); background:#dfe5fa; }
.app-grid a.app-keluar i { background:#fdecec; color:#c92a2a; }
@media (min-width:600px) { body.app-android .app-grid { grid-template-columns:repeat(6,1fr); } }

.app-sub { margin:20px 2px 10px; font-size:12px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:#6b7aa6; display:flex; align-items:center; gap:8px; } .app-sub i { color:#2f48c4; }
