/* Retain v2 design tokens/cards; fit the installed app to its real device. */
html,body.native-app{width:100%;height:100%;margin:0;overflow:hidden;background:#f7f9fd}
body.native-app .studio-header,body.native-app .story-panel,body.native-app .device-caption,body.native-app .device-hint,body.native-app .studio-footer,body.native-app .hardware-key,body.native-app .status-bar,body.native-app .home-indicator{display:none!important}
body.native-app .presentation,body.native-app .studio-grid,body.native-app .device-column,body.native-app .device-stage,body.native-app .device,body.native-app .screen{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;transform:none!important;box-shadow:none!important;position:relative!important;overflow:hidden!important;background:#f7f9fd}
body.native-app .presentation{height:var(--app-height,100dvh)!important}
body.native-app .screen{display:flex!important;flex-direction:column!important}
body.native-app .app-shell{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;width:100%}
body.native-app .app-header{flex:0 0 auto;min-height:68px;background:#fff}
body.native-app .app-main{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
body.native-app .bottom-nav{flex:0 0 auto;padding-bottom:8px;min-height:67px}
body.native-app .overlay{inset:0;position:absolute}
body.native-app .sheet{max-height:94%;padding-bottom:28px}
body.native-app .toast{bottom:85px;font-size:11px}
.login-fields{display:grid;gap:16px;margin:8px 0 20px}.login-fields label>span{display:block;font-size:11px;color:#75899f;margin-bottom:8px}.login-fields input{font-size:15px;min-height:49px;padding:13px 15px;background:#fff;border:1px solid #dce6f2;border-radius:12px;width:100%;outline-color:#7499c8}.login-fields input[dir=ltr]{text-align:left}.login-fields .primary-button{margin-top:3px}.login-links{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}.login-links button{font-size:11px;color:var(--primary);display:flex;gap:5px;align-items:center}.login-links .icon{width:15px}.login-view>p{margin-bottom:20px!important}.server-address{font:12px ui-monospace,monospace;direction:ltr;word-break:break-all;line-height:1.8;color:#6c8199}.connection-dot{height:6px;width:6px;border-radius:50%;display:inline-block;background:#4fced2;margin-inline-end:5px}.account-points{background:linear-gradient(140deg,#f0f7ff,#fff);border:1px solid #dce9f8;border-radius:16px;padding:16px;margin:17px 0}.account-points-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.account-points-top span{font-size:11px;color:#6884a4}.account-points-top strong{font-size:24px;color:var(--navy);font-weight:700;font-variant-numeric:tabular-nums}.account-points-top strong small{font-size:10px;color:#7091b5;font-weight:500;margin-inline-start:5px}.account-points-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #e2ecf8;padding-top:12px}.account-points-grid div{text-align:center}.account-points-grid b{font-size:14px;color:#1855a4;font-variant-numeric:tabular-nums;display:block}.account-points-grid small{display:block;font-size:9px;color:#8ba0b8;line-height:1.9;margin-top:3px}.points-mini{padding:11px 13px;display:flex;justify-content:space-between;align-items:center;background:#edf7fb;border:1px solid #d8edf2;border-radius:12px;margin:12px 0;font-size:11px;color:#527d9c}.points-mini b{font-size:16px;color:var(--primary)}.points-grant{border:1px solid #e3ebf5;background:#f8fbff;border-radius:14px;padding:15px;margin:15px 0}.points-grant h3{font-size:13px;color:var(--navy);margin-bottom:12px}.points-grant .text-field{margin-bottom:10px}.points-grant label{font-size:10px;color:#8497ad}.network-busy{position:fixed;inset:0;z-index:100;background:#f3f7fbc9;backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;font:12px var(--font);color:#1855a4}.network-busy[hidden]{display:none}.network-busy i{display:block;width:36px;height:36px;border:3px solid #cdddf0;border-top-color:#1855a4;border-radius:50%;animation:busySpin .75s linear infinite}.login-fields input:focus-visible{outline:2px solid #7499c8;outline-offset:2px}@keyframes busySpin{to{transform:rotate(360deg)}}
@media(min-width:650px){body.native-app{background:#edf2f8}body.native-app .presentation{max-width:480px!important;margin:0 auto!important;border-inline:1px solid #dae4ef!important}}
@media(prefers-reduced-motion:reduce){.network-busy i{animation:none}}
@media print{body.native-app{height:auto;overflow:visible}body.native-app .presentation{display:none!important}.network-busy{display:none!important}.print-report{display:block!important}}
