html,body,#root{height:100%}body{margin:0;background:#f7f9fa;font-family:Inter,system-ui,sans-serif;color:#223038}a{color:#0e6b7a}a:hover{color:#00a8b4}*{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c6d3db;border-radius:6px}.connectivity-banner{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;z-index:2000;display:flex;align-items:flex-start;gap:10px;width:min(560px,calc(100vw - 32px));padding:12px 16px;border:1px solid rgba(255,255,255,.35);border-radius:10px;box-shadow:0 8px 28px #0d1b2a3d;font-size:13px;line-height:1.4;transform:translate(-50%);animation:connectivity-banner-in .18s ease-out}.connectivity-banner__dot{width:9px;height:9px;margin-top:5px;flex:0 0 auto;border:2px solid rgba(255,255,255,.65);border-radius:50%;background:#fff}.connectivity-banner__detail{display:block;margin-top:2px;font-size:12px}.connectivity-banner__sections{display:block;margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.35);font-size:11.5px}@keyframes connectivity-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.sync-status{position:fixed;right:18px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 58px));z-index:1900;display:flex;align-items:center;gap:9px;max-width:min(440px,calc(100vw - 36px));padding:11px 14px;border-radius:10px;box-shadow:0 8px 28px #0d1b2a38;font-size:12.5px}.sync-status button{margin-left:4px;padding:5px 8px;border:1px solid rgba(255,255,255,.7);border-radius:6px;background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer}.sync-status__dot,.sync-status__spinner{width:9px;height:9px;flex:0 0 auto;border:2px solid rgba(255,255,255,.72);border-radius:50%}.pwa-controls{position:fixed;left:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:1850;display:flex;align-items:center;gap:12px;max-width:min(480px,calc(100vw - 36px));padding:11px 14px;border:1px solid #1E3549;border-radius:10px;background:#0d1b2a;color:#fff;box-shadow:0 8px 28px #0d1b2a38;font-size:12.5px}.pwa-controls button{padding:6px 10px;border:0;border-radius:6px;background:#00c9d4;color:#0d1b2a;font:inherit;font-weight:700;cursor:pointer}.sync-status__spinner{border-right-color:transparent;animation:sync-status-spin .7s linear infinite}@keyframes sync-status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.connectivity-banner{animation:none}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr!important}.app-shell>aside{position:relative!important;height:auto!important}.app-shell>main{padding:20px 16px 40px!important;overflow-x:auto}.connectivity-banner{top:max(8px,env(safe-area-inset-top));width:calc(100vw - 20px);padding:11px 13px}.sync-status{right:10px;bottom:max(10px,env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}.pwa-controls{left:10px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px));max-width:calc(100vw - 20px)}}@media print{body{background:#fff}.app-shell{display:block!important}.app-shell>aside{display:none!important}.app-shell>main{max-width:none!important;padding:0!important}}
