/* Splash Screen */
#splash-screen {
    position: fixed;
    top:0; left:0;
    width:100%; height:100%;
    background-color:#3a8dbc;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    z-index:9999;
    overflow:hidden;
    transition: opacity 0.5s ease;
}
#splash-screen img {
    max-width:40%;
    height:auto;
    animation: pulse 1.5s infinite alternate;
}
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
#splash-footer {
    position:absolute;
    bottom:5vh;
    text-align:center;
    font-family:'Roboto',sans-serif;
    color:#fff;
    text-shadow:0 2px 4px rgba(0,0,0,0.5);
}
#splash-footer .from { font-weight:300; font-size:clamp(12px,3vw,16px); color:rgba(255,255,255,0.6);}
#splash-footer .brand { font-weight:600; font-size:clamp(16px,4vw,24px); display:block; margin-top:2px; }

/* PWA Banner */
#pwa-install-banner {
    position:fixed;
    bottom:20px; left:0; right:0;
    display:flex; justify-content:center;
    z-index:2000; font-family:'Roboto',sans-serif;
    display:none;
}
.pwa-card {
    background:#fff; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.15);
    display:flex; align-items:center; gap:12px; padding:12px 16px;
    max-width:max-content; width:calc(100% - 40px);
    text-align: left; animation: slideUp 0.3s ease;
}
.pwa-icon { font-size:28px; }
.pwa-text h4 { margin:0; font-size:16px; font-weight:600; color:#3a8dbc; }
.pwa-text p { margin:2px 0 0; font-size:14px; color:#444; }
.pwa-actions { margin-left:auto; display:flex; gap:6px; }
.pwa-actions button { border:none; padding:6px 12px; border-radius:6px; cursor:pointer; font-size:14px; }
#pwa-install-btn { background:#3a8dbc; color:#fff; }
#pwa-close-btn { background:#f0f0f0; color:#333; }
@keyframes slideUp { from { transform:translateY(50px); opacity:0; } to { transform:translateY(0); opacity:1; } }