/* Phase 3 登录层 / 安全中心 样式（独立文件，不改动既有主题） */
.pl-login-mask{position:fixed;inset:0;background:rgba(8,11,16,.72);display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(3px);}
.pl-login-box{width:360px;max-width:92vw;background:#141a22;color:#e6edf3;border:1px solid #283242;border-radius:14px;padding:26px 24px;box-shadow:0 18px 60px rgba(0,0,0,.5);}
.pl-login-box .pl-logo{font-size:34px;text-align:center;}
.pl-login-box h2{margin:6px 0 2px;text-align:center;font-size:19px;}
.pl-login-box .pl-sub{margin:0 0 16px;text-align:center;color:#9aa7b5;font-size:13px;}
.pl-form{display:flex;flex-direction:column;gap:6px;}
.pl-form label{font-size:12px;color:#9aa7b5;margin-top:6px;}
.pl-form input[type=text],.pl-form input[type=password]{width:100%;padding:10px 12px;background:#0e131a;border:1px solid #2a3340;border-radius:9px;color:#e6edf3;font-size:14px;outline:none;}
.pl-form input:focus{border-color:#2dd4bf;}
.pl-pw{position:relative;display:flex;}
.pl-pw input{flex:1;}
.pl-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:15px;color:#9aa7b5;}
.pl-mfa,.pl-rec{margin-top:2px;}
.pl-opt{font-size:12px;color:#9aa7b5;display:flex;align-items:center;gap:6px;margin-top:8px;cursor:pointer;}
.pl-submit{margin-top:14px;padding:11px;border:none;border-radius:9px;background:#2dd4bf;color:#06231f;font-weight:700;font-size:14px;cursor:pointer;}
.pl-submit:hover{filter:brightness(1.07);}
.pl-submit:disabled{opacity:.6;cursor:default;}
.pl-submit.pl-danger{background:#ef5a5a;color:#2a0c0c;}
.pl-link{margin-top:12px;font-size:12px;color:#6fb3ff;text-align:center;display:block;text-decoration:none;}
.pl-err{background:#3a1c1c;color:#ff9a9a;border:1px solid #5a2a2a;border-radius:8px;padding:8px 10px;font-size:13px;margin-top:8px;}
.pl-qr{display:block;margin:10px auto;width:180px;height:180px;background:#fff;border-radius:8px;}
.pl-secret{font-family:monospace;background:#0e131a;border:1px dashed #2a3340;border-radius:8px;padding:8px;text-align:center;letter-spacing:1px;color:#9fe7d8;word-break:break-all;}
.pl-recovery{padding:8px;}
.pl-recovery h4{margin:6px 0;}
.pl-rc{font-family:monospace;background:#0e131a;border:1px solid #2a3340;border-radius:6px;padding:6px 10px;margin:4px 0;letter-spacing:2px;}

.pl-sec-mask{position:fixed;inset:0;background:rgba(8,11,16,.6);display:flex;align-items:flex-start;justify-content:center;z-index:9998;padding-top:5vh;}
.pl-sec{width:760px;max-width:94vw;max-height:88vh;overflow:auto;background:#141a22;color:#e6edf3;border:1px solid #283242;border-radius:14px;}
.pl-sec-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #232c38;}
.pl-sec-head h3{margin:0;font-size:16px;}
.pl-x{background:none;border:none;color:#9aa7b5;font-size:18px;cursor:pointer;}
.pl-sec-nav{display:flex;gap:6px;padding:10px 18px;border-bottom:1px solid #232c38;flex-wrap:wrap;}
.pl-tab{padding:7px 12px;background:#0e131a;border:1px solid #2a3340;border-radius:8px;color:#cdd6e0;cursor:pointer;font-size:13px;}
.pl-tab.active{background:#2dd4bf;color:#06231f;border-color:#2dd4bf;font-weight:700;}
.pl-sec-body{padding:16px 18px;}
.pl-hint{color:#9aa7b5;font-size:13px;}
.pl-cards{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.pl-info{flex:1;min-width:140px;background:#0e131a;border:1px solid #232c38;border-radius:10px;padding:12px;}
.pl-info-k{font-size:12px;color:#9aa7b5;}
.pl-info-v{font-size:15px;margin-top:4px;font-weight:600;}
.pl-dev-tbl{width:100%;border-collapse:collapse;font-size:13px;}
.pl-dev-tbl th,.pl-dev-tbl td{border-bottom:1px solid #232c38;padding:8px 6px;text-align:left;vertical-align:top;}
.pl-mini{padding:4px 8px;background:#0e131a;border:1px solid #2a3340;border-radius:7px;color:#cdd6e0;cursor:pointer;font-size:12px;margin-right:4px;}
.pl-mini:disabled{opacity:.4;cursor:default;}
.pl-dev-bar{margin-top:12px;}
.pl-alert{border:1px solid #2a3340;border-radius:9px;padding:9px 11px;margin-bottom:8px;font-size:13px;}
.pl-sev-low{border-left:3px solid #4b9be8;}
.pl-sev-medium{border-left:3px solid #e8b84b;}
.pl-sev-high{border-left:3px solid #ef5a5a;}
.pl-sev-critical{border-left:3px solid #ff2d2d;background:#2a1212;}
.pl-sev{font-size:11px;color:#9aa7b5;}

/* Atelier account surfaces also apply before the main workspace has booted. */
.pl-login-mask,.pl-sec-mask{background:rgba(35,31,24,.38);backdrop-filter:blur(8px);padding:24px;box-sizing:border-box;overflow:auto}
.pl-login-box,.pl-sec{background:#f2efe7;color:#24231f;border:1px solid #bcb6a9;border-radius:2px;box-shadow:0 24px 80px #211c1726;font-family:"Segoe UI","Microsoft YaHei",sans-serif;box-sizing:border-box}
.pl-login-box{width:420px;max-width:100%;padding:36px;max-height:calc(100dvh - 48px);overflow:auto}
.pl-login-box .pl-logo{text-align:left;font-family:Impact,"Arial Narrow",sans-serif;font-size:38px;letter-spacing:-1.5px;color:#191917;line-height:1;padding-bottom:25px;margin-bottom:24px;border-bottom:1px solid #bcb6a9}
.pl-login-box h2{text-align:left;font-size:24px;font-weight:600;letter-spacing:-.5px;margin:0 0 9px}
.pl-login-box .pl-sub{text-align:left;font-size:12px;line-height:1.8;color:#68665e;margin-bottom:24px}
.pl-form{gap:9px}.pl-form label,.pl-opt{color:#68665e;font-size:12px;line-height:1.7}.pl-form input[type=text],.pl-form input[type=password],.pl-sec input:not([type=checkbox]){box-sizing:border-box;min-height:46px;padding:11px 12px;background:#faf8f3;color:#24231f;border:1px solid #c9c3b9;border-radius:2px;font:inherit;font-size:14px;box-shadow:none}
.pl-form input:focus,.pl-sec input:focus{border-color:#c83718;outline:2px solid #c8371826;outline-offset:2px}
.pl-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #faf8f3 inset;-webkit-text-fill-color:#24231f;caret-color:#24231f}
.pl-pw input{padding-right:55px!important;min-width:0}.pl-eye{color:#68665e;font-size:11px;padding:7px;right:5px}.pl-opt{gap:9px;margin-top:9px;align-items:flex-start}.pl-opt input[type=checkbox]{accent-color:#c83718;min-height:0;width:14px;height:14px;margin:4px 0;flex-shrink:0}
.pl-submit{background:#c83718;color:#fff;border:1px solid #c83718;border-radius:2px;min-height:45px;margin-top:19px;font-weight:600}.pl-submit:hover{background:#a93017;filter:none}.pl-submit.pl-danger{background:#a83222;color:#fff;border-color:#a83222}
.pl-link{color:#8c3c27;font-size:12px;text-align:left;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.pl-err{background:#f3e3dc;border:1px solid #d6afa0;color:#973822;border-radius:2px;line-height:1.7}
.pl-sec{max-height:88dvh}.pl-sec-mask{align-items:flex-start;padding-top:5vh}.pl-sec-head{padding:22px 24px;border-color:#bcb6a9}.pl-sec-head h3{font-size:21px}.pl-sec-nav{padding:13px 24px;border-color:#cec8bd;gap:8px}.pl-sec-body{padding:24px}.pl-tab,.pl-mini{background:transparent;border:1px solid #c9c3b9;color:#484741;border-radius:2px}.pl-tab.active{background:#24231f;border-color:#24231f;color:#fff}.pl-x,.pl-hint,.pl-info-k,.pl-sev{color:#68665e}.pl-info{background:#f8f6f0;border:1px solid #cec8bd;border-radius:2px;padding:16px}.pl-info-v{color:#24231f}.pl-dev-tbl th,.pl-dev-tbl td{border-color:#cec8bd;padding:12px 8px}.pl-secret,.pl-rc{background:#e9e5dc;color:#484741;border-color:#bcb6a9;border-radius:2px}.pl-qr,.pl-alert{border-radius:2px}.pl-alert{border-color:#cec8bd}.pl-sev-critical{background:#f3e3dc}.pl-login-box :focus-visible,.pl-sec :focus-visible{outline:2px solid #c83718;outline-offset:3px}
@media(max-width:480px){.pl-login-mask{padding:16px}.pl-login-box{padding:28px 24px;max-height:calc(100dvh - 32px)}.pl-login-box .pl-logo{font-size:34px}.pl-sec-body{padding:16px}.pl-sec-nav{padding:12px 16px}.pl-dev-tbl{display:block;overflow:auto}}
