/* Mobile presentation only: existing permissions and workflows are retained. */
:root { --vc-navy:#0e2a47; --vc-teal:#0f8b7d; --vc-ink:#243e52; --vc-paper:#f7f7f5; }
[hidden] { display:none !important; }
#installAppButton { min-height:44px; border:1px solid #0f8b7d; background:#0e2a47; color:white; font:600 14px system-ui,sans-serif; border-radius:12px; cursor:pointer; }
:is(button,a,input,select,textarea):focus-visible { outline:3px solid #0f8b7d; outline-offset:3px; }
.vc-app { --primary:#0e2a47; --secondary:#0f8b7d; --bg:#f0f4f5; --text:#243e52; padding-top:max(18px,env(safe-area-inset-top)); font-family:Inter,system-ui,sans-serif; }
.vc-app > .container { padding:28px; border:1px solid #e0e8ea; border-radius:24px; box-shadow:0 12px 45px #0e2a4709; }
.vc-app .top-bar { position:relative; background:#0e2a47; color:white; border-radius:18px; padding:24px 20px; margin-bottom:24px; }
.vc-app .top-bar h1 { color:white; margin:0; display:flex; gap:8px; align-items:center; justify-content:center; font-size:27px; letter-spacing:-1px; }
.vc-app .top-bar h1 img { border-radius:12px; width:48px; height:48px; }
.vc-app .top-bar .subtitle { color:#d7e6ed; font-size:14px; line-height:1.5; margin:8px 0 0; }
.vc-app .top-bar .btn-logout { float:none; display:block; margin:14px auto 0; background:#23445f; }
.vc-app #authScreen { box-sizing:border-box; background:white; border:0; margin:0 auto; padding:12px 8px; }
.vc-app input,.vc-app select,.vc-app textarea { font-size:16px; min-height:48px; border-color:#c9d7dd; border-radius:12px; }
.vc-app button { min-height:44px; border-radius:12px; }
.vc-app .app-nav { background:#e9eff1; border:0; border-radius:16px; padding:8px; gap:6px; }
.vc-app .nav-pill { font-size:14px; }
.vc-app .nav-pill.active { background:#0e2a47; color:white; }
.vc-app .dash-card { border-radius:16px; box-shadow:none; border:1px solid #dde7e9; }
.vc-app .section-header { font-size:18px; letter-spacing:-.3px; }
.vc-app .profile-tabs { overflow-x:auto; flex-wrap:nowrap; }
.vc-app .profile-tab-btn { white-space:nowrap; flex-shrink:0; }
.vc-app .search-box { flex-wrap:wrap; }
.vc-app img { max-width:100%; }
.vc-network { position:sticky; top:0; z-index:100; padding:12px 18px; background:#fff2ce; color:#593e09; font:500 14px/1.5 system-ui,sans-serif; border-radius:10px; max-width:850px; margin:0 auto 12px; }
.vc-install { box-sizing:border-box; width:min(430px,calc(100% - 32px)); padding:28px; border:1px solid #d5e2e6; border-radius:24px; color:#0e2a47; background:#fff; font:16px/1.6 system-ui,sans-serif; box-shadow:0 24px 80px #00162640; }
.vc-install::backdrop { background:#001b32b3; }
.vc-install img { border-radius:16px; }
.vc-install h2 { font-size:24px; line-height:1.2; letter-spacing:-.6px; }
.vc-install button,.vc-update button { padding:12px 18px; border:0; background:#0e2a47; color:white; border-radius:12px; font:600 14px system-ui,sans-serif; min-height:44px; cursor:pointer; }
.vc-muted { color:#516573; font-size:14px; }
.vc-update { position:fixed; bottom:calc(92px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(520px,calc(100% - 32px)); padding:18px; box-sizing:border-box; z-index:180; border:1px solid #c4d8dc; background:#fff; color:#0e2a47; box-shadow:0 8px 40px #0e2a472b; border-radius:18px; font:14px/1.5 system-ui,sans-serif; }
.vc-update span { display:block; margin-bottom:12px; }
.vc-update .vc-secondary { background:#e8eff0; color:#0e2a47; margin-left:8px; }
.vc-tabs { display:none; }
.vc-splash { position:fixed; inset:0; z-index:500; display:grid; place-content:center; justify-items:center; background:#0e2a47; color:#fff; font-family:system-ui,sans-serif; pointer-events:none; animation:vc-expire 0s 2s forwards; }
.vc-splash img { width:112px; height:112px; border-radius:28px; }
.vc-splash strong { font-size:34px; letter-spacing:-1.4px; margin-top:18px; }
.vc-splash strong span { color:#35c5b3; }
.vc-splash p { color:#c6d8df; font-size:14px; }
.vc-splash i { height:3px; width:56px; background:#35c5b3; border-radius:4px; margin-top:26px; animation:vc-pulse .8s ease-in-out infinite alternate; }
@keyframes vc-pulse { to { opacity:.25; transform:scaleX(.5); } }
@keyframes vc-expire { to { visibility:hidden; } }
@media(max-width:700px) {
  .vc-app { padding:12px; padding-top:max(12px,env(safe-area-inset-top)); }
  .vc-app > .container { padding:16px; border-radius:20px; }
  .vc-app .top-bar { padding:20px 12px; }
  .vc-app .top-bar .subtitle { max-width:290px; margin:8px auto 0; }
  .vc-app .dashboard-grid { gap:10px; }
  .vc-app .nav-pill { min-width:100px; padding:12px 8px; }
  .vc-tabs:not([hidden]) { display:flex; gap:8px; position:fixed; z-index:150; bottom:0; left:0; right:0; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid #d7e2e7; background:#fff; box-shadow:0 -5px 28px #0e2a470a; }
  .vc-tabs button { flex:1; min-height:56px; border:0; background:transparent; color:#516573; font:600 14px system-ui,sans-serif; border-radius:14px; display:flex; flex-direction:column; gap:4px; align-items:center; justify-content:center; }
  .vc-tabs button[aria-current] { background:#e2f3ef; color:#086c61; }
  .vc-has-tabs { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
  .vc-keyboard .vc-tabs { display:none; }
}
@media(prefers-reduced-motion:reduce) { .vc-splash i { animation:none; } * { scroll-behavior:auto !important; } }
@media print { .vc-tabs,.vc-network,.vc-update,.vc-splash,#installAppButton { display:none !important; } }
