html[data-lifeos-gate="locked"]{overflow:hidden}
html[data-lifeos-gate="locked"] body{overflow:hidden!important}
html[data-lifeos-gate="locked"] body>*:not(#lifeOsLockScreen){display:none!important}
#lifeOsLockScreen{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:auto;padding:24px;background:radial-gradient(ellipse at 85% 8%,rgba(228,190,204,.44),transparent 33%),radial-gradient(ellipse at 8% 90%,rgba(187,181,215,.28),transparent 34%),linear-gradient(145deg,#f8f2ee,#fbf8f5 52%,#f1e9ee);color:#382e39;font-family:Inter,"Avenir Next",Avenir,"Segoe UI",sans-serif}
.lifeos-lock-panel{width:min(440px,100%);padding:clamp(24px,5vw,42px);border:1px solid rgba(255,255,255,.92);border-radius:24px;background:rgba(255,252,250,.88);box-shadow:0 26px 80px rgba(62,40,57,.18);backdrop-filter:blur(20px);animation:lifeos-lock-enter .32s ease both}
@keyframes lifeos-lock-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.lifeos-lock-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.lifeos-lock-brand img{width:42px;height:42px;padding:6px;border-radius:14px;background:#f5e5eb}
.lifeos-lock-brand strong{display:block;color:#352a34;font-size:14px;letter-spacing:.14em}
.lifeos-lock-brand small{display:block;margin-top:3px;color:#95858f;font-size:9px;letter-spacing:.15em}
.lifeos-lock-kicker{color:#87445d;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.lifeos-lock-panel h1{margin:7px 0 9px;color:#302530!important;font:600 clamp(27px,7vw,35px)/1.13 Georgia,serif;letter-spacing:-.025em}
.lifeos-lock-copy{margin:0 0 23px;color:#5f535e;font-size:13px;line-height:1.7}
.lifeos-lock-form{display:grid;gap:13px}
.lifeos-lock-field{display:grid;gap:6px;color:#504452;font-size:11px;font-weight:750}
.lifeos-lock-field input{width:100%;min-height:47px;padding:12px 14px;border:1px solid #e6d8df;border-radius:11px;background:#fff;color:#332c37;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;box-shadow:inset 0 1px 2px rgba(47,32,43,.025)}
.lifeos-lock-field input:focus{outline:2px solid #c8839a;outline-offset:2px}
.lifeos-lock-hint{margin:-5px 0 0;color:#695d67;font-size:10px;line-height:1.6}
.lifeos-lock-remember{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #e3d3db;border-radius:10px;background:#fff8fa;color:#4d414b;font-size:11px;font-weight:700;line-height:1.5}
.lifeos-lock-remember input{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:#a85f7a}
.lifeos-lock-primary,.lifeos-lock-secondary{min-height:43px;padding:11px 15px;border:0;border-radius:10px;font-family:inherit;font-size:11px;font-weight:700;line-height:1.3;cursor:pointer;transition:transform .16s ease,filter .16s ease}
.lifeos-lock-primary{margin-top:2px;background:linear-gradient(120deg,#bd718a,#9f5874);color:white;box-shadow:0 8px 20px rgba(161,88,116,.22)}
.lifeos-lock-secondary{border:1px solid #e7dae0;background:#fffaf8;color:#715e6d}
.lifeos-lock-primary:hover,.lifeos-lock-secondary:hover{filter:brightness(1.03);transform:translateY(-1px)}
.lifeos-lock-primary:disabled{opacity:.65;cursor:wait;transform:none}
.lifeos-lock-error{min-height:18px;margin:0;color:#a04458;font-size:10px;line-height:1.55}
.lifeos-lock-footnote{margin:20px 0 0;padding-top:14px;border-top:1px solid #eee4e8;color:#625660;font-size:10px;line-height:1.6}
.lifeos-lock-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.lifeos-lock-actions>.lifeos-lock-secondary{flex:1 1 150px}.lifeos-lock-form>.lifeos-lock-secondary{width:100%}.lifeos-lock-panel .lifeos-lock-hint{margin:2px 0 0;padding:10px 12px;border:1px solid #eadde4;border-radius:10px;background:#fff8fa;text-align:center}
.lifeos-lock-recovery-code{display:block;margin:12px 0;padding:14px;border:1px dashed #c98aa0;border-radius:10px;background:#fff7f8;color:#593d4b;font:700 14px/1.7 ui-monospace,monospace;letter-spacing:.07em;text-align:center;overflow-wrap:anywhere;user-select:all}
.lifeos-lock-top-button{border-color:#d9c5ce!important;background:#fff9fbd9!important;color:#765267!important}
.lifeos-lock-settings-card{grid-column:1/-1}
.lifeos-lock-settings-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.lifeos-lock-settings-form label{display:grid;gap:6px;color:#776975;font-size:10px;font-weight:650}
.lifeos-lock-settings-form input{width:100%;min-height:38px;padding:9px 10px;border:1px solid #e6dce1;border-radius:8px;background:#fff;color:#382e39;font:inherit;font-size:11px}
.lifeos-lock-settings-status{min-height:18px;margin:8px 0;color:#776975;font-size:10px}
.lifeos-device-list{display:grid;gap:8px;margin-top:14px}
.lifeos-device-row{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid #e9dfe4;border-radius:12px;background:#fffaf8}
.lifeos-device-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:#f4e7ec;color:#774e62;font-size:16px}
.lifeos-device-copy{min-width:0;flex:1}
.lifeos-device-copy strong{display:block;color:#423640;font-size:12px}
.lifeos-device-copy small{display:block;margin-top:4px;color:#6b606a;font-size:10px;line-height:1.5}
.lifeos-device-current{color:#397254;font-size:10px;font-weight:750}
.lifeos-device-revoke{min-height:34px;padding:7px 10px;border:1px solid #ddc6cf;border-radius:8px;background:#fff;color:#87445d;font-size:10px;font-weight:700}
.lifeos-devices-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.lifeos-device-empty{padding:12px;border-radius:10px;background:#fff8fa;color:#675b65;font-size:11px}
@media(max-width:700px){.lifeos-lock-settings-form{grid-template-columns:1fr}.lifeos-lock-settings-card{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.lifeos-lock-panel{animation:none}.lifeos-lock-primary,.lifeos-lock-secondary{transition:none}}
