html.booting #authView,html.booting #appShell{display:none!important}
#bootMsg{display:none;position:fixed;inset:0;z-index:50;align-items:center;justify-content:center;background:#f7f4fb;color:#5b5670;font-weight:700;font-size:20px}
html.booting #bootMsg{display:flex}
.authview{position:fixed;inset:0;z-index:40;overflow:auto;background:linear-gradient(160deg,#f7f4fb,#ebe4f7 50%,#f9f6ff);display:flex;justify-content:center;padding:28px 16px 40px}
.authbox{width:100%;max-width:440px;margin:auto;display:flex;flex-direction:column;gap:14px}
.authbox .brand{width:120px;height:auto}
.authcard{background:#fff;border:1px solid #e4dcee;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 30px rgba(60,40,90,.08);position:relative;z-index:1}
.authcard .seg{display:flex;gap:6px;margin:0}
.authcard .tab{flex:1;border:1px solid #ddd;background:#f7f4fb;border-radius:999px;padding:8px 12px;margin:0;font:inherit;font-weight:700;cursor:pointer;color:#5b4b8a;border-bottom:1px solid #ddd}
.authcard .tab[aria-selected="true"]{background:#5b4b8a;color:#fff;border-color:#5b4b8a}
.authcard h2{margin:0;font-size:28px;color:#2a2238}
.authcard .note{margin:0;color:#6b6580;font-size:14px;line-height:1.4}
#authForm{display:flex;flex-direction:column;gap:14px;margin:0}
.authcard .field{display:flex;flex-direction:column;gap:6px;font-size:14px;margin:0}
.authcard .field b{color:#2a2238}
.authcard .inp,.pbar .inp,#patForm .inp{width:100%;box-sizing:border-box;border:1px solid #d8d0e8;border-radius:10px;padding:10px 12px;font:inherit;margin:0;position:relative;z-index:0}
.authcard .msg.err,.pacview .msg.err{background:#f6eef2;border-left:3px solid #c45a7a;padding:10px 12px;border-radius:8px;color:#5a2a3a;font-size:14px}
.authcard .actions,.pacview .actions{display:flex;gap:8px;flex-wrap:wrap;margin:0;position:relative;z-index:0}
.authcard .btn,.pacview .btn,.pbar .plink{font:inherit;font-weight:700;border:0;border-radius:999px;padding:10px 16px;background:#5b4b8a;color:#fff;cursor:pointer;text-decoration:none;position:relative;z-index:0}
.authcard .btn:disabled{opacity:.5;cursor:not-allowed}
.pbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:#fff;border-bottom:1px solid #e4dcee;position:sticky;top:0;z-index:15}
body.auth-open{overflow:hidden}
body.auth-open #appShell{visibility:hidden!important;pointer-events:none!important}
.pbar .plink{background:transparent;color:#5b4b8a;border:1px solid #d8d0e8;padding:7px 12px;font-size:14px}
#rtStatus{font-size:12px;color:#6b6580;margin-left:auto}
.pacview{position:fixed;inset:0;z-index:30;background:#f7f4fb;overflow:auto;padding:16px}
.pacview .sheet{max-width:720px;margin:0 auto;background:#fff;border:1px solid #e4dcee;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}
.pacview .psub{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;max-width:720px;margin-inline:auto}
.plist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.pitem{border:1px solid #e4dcee;border-radius:12px;padding:12px}
.pitem.cur{border-color:#5b4b8a;background:#f7f4fb}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:#ebe4f7;color:#5b4b8a;font-weight:700}
.tag.on{background:#5b4b8a;color:#fff}
.btn.sm{padding:6px 12px;font-size:13px}
body.patient-ro #patForm,body.patient-ro #lnkPac{display:none!important}
#contaKv{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;margin:0}
#contaKv dt{color:#6b6580;font-size:13px}
#contaKv dd{margin:0;font-weight:600}
