/* ===== Flow OS - Base Styles ===== */
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
body { font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif; background:#f1f5f9; color:#0f172a; overflow:hidden; height:100vh; width:100vw; }
.dark body { background:#0f172a; color:#e2e8f0; }

/* ===== Lock Screen ===== */
#lockScreen {
  position:fixed; inset:0; z-index:99999;
  background: linear-gradient(135deg,#f1f5fb 0%,#e2e8f0 100%);
  display:flex; align-items:center; justify-content:center;
  transition: opacity .4s, visibility .4s;
}
.dark #lockScreen { background: linear-gradient(135deg,#0f172a 0%,#1e293b 100%); }
#lockScreen.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.lock-card {
  width:90%; max-width:400px; text-align:center;
  background:var(--glass-bg); backdrop-filter:blur(20px);
  border:1px solid var(--glass-border); border-radius:28px;
  padding:48px 36px 36px; box-shadow:var(--glass-shadow);
}
.lock-icon-wrap {
  width:72px; height:72px; margin:0 auto 20px;
  background:linear-gradient(135deg,var(--primary),#7c3aed);
  border-radius:20px; display:flex; align-items:center; justify-content:center;
}
.lock-icon-wrap i { color:white; font-size:28px; }
.lock-title { font-size:1.6rem; font-weight:700; letter-spacing:-.5px; margin-bottom:4px; }
.lock-subtitle { color:#94a3b8; font-size:.85rem; margin-bottom:28px; }
.lock-input {
  width:100%; padding:14px 18px; background:rgba(241,245,249,0.8);
  border:1.5px solid #e2e8f0; border-radius:14px; color:#0f172a;
  font-size:.95rem; outline:none; transition:all .2s; text-align:center;
}
.dark .lock-input { background:rgba(30,41,59,0.6); border-color:#334155; color:#e2e8f0; }
.lock-input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(37,99,235,0.12); }
.lock-input-wrapper { position:relative; margin-bottom:16px; }
.lock-toggle-pwd {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer; opacity:.5; transition:opacity .2s; padding:4px 8px;
}
.lock-toggle-pwd:hover { opacity:1; }
.lock-btn {
  width:100%; padding:14px; background:var(--primary); border:none; border-radius:14px;
  color:white; font-weight:600; font-size:.95rem; cursor:pointer; transition:all .2s; letter-spacing:.3px;
}
.lock-btn:hover { opacity:.9; transform:translateY(-1px); }
.lock-error { color:#dc2626; font-size:.8rem; margin-top:14px; min-height:1.2em; }

/* ===== Scrollbar ===== */
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:#cbd5e1; border-radius:6px; }
.dark ::-webkit-scrollbar-thumb { background:#334155; }
