.cloud-locked .app-shell, .cloud-locked .mobile-bottom-nav, .cloud-locked .mobile-app-tools, .cloud-locked .drawer, .cloud-locked .modal-backdrop { visibility:hidden !important; }
.cloud-access-panel { position:fixed; inset:0; z-index:500; display:grid; place-items:center; overflow:auto; padding:32px 20px; background:#f3f6fa; color:#334b63; }
.cloud-access-panel[hidden], .cloud-access-panel [hidden], .cloud-status-bar[hidden], .cloud-status-bar [hidden] { display:none !important; }
.cloud-access-card { width:min(420px,100%); box-sizing:border-box; border:1px solid #dfe7ef; background:white; border-radius:18px; padding:32px; box-shadow:0 16px 60px #10233e09; }
.cloud-access-card > img { display:block; width:180px; height:auto; }
.cloud-access-eyebrow { margin:28px 0 8px; font-size:9px; letter-spacing:2px; color:#73869b; }
.cloud-access-card h1 { margin:0 0 12px; font-size:26px; color:#173451; line-height:1.5; }
.cloud-access-description, .cloud-initialize p { font-size:13px; line-height:1.9; color:#718298; }
.cloud-access-message { font-size:13px; line-height:1.8; color:#416a93; margin:20px 0; }
.cloud-login-form { display:grid; gap:18px; margin-top:24px; }
.cloud-login-form label { display:grid; gap:9px; font-size:13px; color:#47627e; }
.cloud-login-form input { box-sizing:border-box; width:100%; min-height:46px; border:1px solid #ccd9e5; border-radius:8px; padding:11px 12px; color:#173451; background:#fff; font:inherit; font-size:16px; }
.cloud-login-form button, .cloud-import-label { display:block; box-sizing:border-box; padding:13px 16px; min-height:46px; border:1px solid #0075d4; border-radius:8px; color:white; background:#0075d4; font:inherit; font-size:14px; cursor:pointer; text-align:center; }
.cloud-login-form .cloud-remember-option { display:flex; align-items:center; gap:10px; min-height:32px; cursor:pointer; }
.cloud-login-form .cloud-remember-option input { width:19px; min-height:19px; height:19px; margin:0; padding:0; accent-color:#0075d4; flex-shrink:0; }
.cloud-login-hint { margin:-10px 0 0; font-size:12px; line-height:1.8; color:#718298; }
.cloud-access-card button:disabled { opacity:.6; cursor:wait; }
.cloud-access-recovery, .cloud-access-controls { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.cloud-access-recovery button, .cloud-access-controls button { border:1px solid #ccd9e5; border-radius:7px; color:#315980; background:#f3f7fc; padding:11px 12px; font:inherit; font-size:12px; cursor:pointer; }
.cloud-access-footnote { margin:30px 0 0; text-align:center; font-size:10px; color:#8c9bad; }
.cloud-status-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 40px 0; padding:11px 14px; border:1px solid #d6e7f4; border-radius:8px; color:#416a93; background:#edf5fd; font-size:11px; }
.cloud-status-main { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; line-height:1.7; }
.cloud-sync-dot { width:6px; height:6px; flex-shrink:0; border-radius:100%; background:#168553; }
.cloud-session-name { padding-left:8px; color:#718298; }
.cloud-status-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cloud-status-actions button { padding:5px 2px; color:#0868b1; border:0; background:transparent; font:inherit; white-space:nowrap; cursor:pointer; }
.cloud-status-bar[data-phase="dirty"] .cloud-sync-dot, .cloud-status-bar[data-phase="saving"] .cloud-sync-dot { background:#d5972f; }
.cloud-status-bar[data-phase="conflict"], .cloud-status-bar[data-phase="offline"], .cloud-status-bar[data-phase="error"] { background:#fff6e6; border-color:#edd7ac; color:#8b621c; }
.cloud-status-bar[data-phase="conflict"] .cloud-sync-dot, .cloud-status-bar[data-phase="offline"] .cloud-sync-dot, .cloud-status-bar[data-phase="error"] .cloud-sync-dot { background:#b77d27; }
@media(max-width:700px) {
  .cloud-access-panel { padding:calc(24px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-left,0px)) calc(24px + env(safe-area-inset-bottom,0px)); align-items:center; }
  .cloud-access-card { padding:28px 24px; }
  .cloud-status-bar { margin:12px 18px 0; padding:11px 12px; align-items:flex-start; flex-direction:column; gap:5px; }
  .cloud-status-actions { gap:14px; }
  .cloud-status-actions button { min-height:32px; }
}
@media print { .cloud-status-bar, .cloud-access-panel {display:none !important;} }
.cloud-recovery-dialog { width:min(960px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid #dfe7ef; border-radius:14px; padding:24px; color:#334b63; background:#fff; }
.cloud-recovery-dialog::backdrop { background:#10233e70; }
.cloud-recovery-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.cloud-recovery-header h2 { margin:0; color:#173451; font-size:21px; }
.cloud-recovery-dialog p { font-size:13px; line-height:1.8; }
.cloud-recovery-header button { flex-shrink:0; border:0; border-radius:8px; width:38px; height:38px; font-size:25px; color:#62758a; background:#f3f6fa; }
.cloud-recovery-entry { padding-top:20px; margin-top:16px; border-top:1px solid #dfe7ef; }
.cloud-recovery-meta { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:12px; }
.cloud-recovery-meta span { color:#62758a; }
.cloud-recovery-meta button { margin-left:auto; border:1px solid #ccd9e5; border-radius:7px; padding:8px 10px; background:#f3f7fc; color:#315980; font:inherit; }
.cloud-recovery-table-wrap { overflow:auto; }
.cloud-recovery-dialog table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; line-height:1.7; }
.cloud-recovery-dialog th,.cloud-recovery-dialog td { padding:12px; border:1px solid #dfe7ef; text-align:left; vertical-align:top; overflow-wrap:anywhere; white-space:pre-wrap; }
.cloud-recovery-dialog th { background:#f4f7fb; font-weight:500; }
.cloud-recovery-dialog th:first-child { width:26%; }
.cloud-recovery-dialog th small { display:block; margin-top:5px; color:#62758a; }
@media(max-width:700px) { .cloud-recovery-dialog { padding:18px; } .cloud-recovery-dialog table { min-width:600px; } }
@media print { .cloud-recovery-dialog { display:none !important; } }
