:root { --private-brand:#0b5d5a; --private-ink:#11211f; --private-muted:#64716f; --private-line:#dfe7e5; }
html.auth-pending body > :not(.private-auth-gate),
html.auth-locked body > :not(.private-auth-gate) { display:none!important; }
.private-auth-gate { position:fixed; inset:0; z-index:20000; display:grid; place-items:center; padding:24px; background:linear-gradient(145deg,#e8f2ef,#f8faf9 48%,#dbe9e6); }
.private-auth-card { width:min(100%,430px); background:#fff; border:1px solid var(--private-line); border-radius:26px; box-shadow:0 24px 70px #153d3526; padding:28px; }
.private-auth-card img { display:block; width:min(260px,80%); margin:0 auto 22px; }
.private-auth-card h1 { margin:0; color:var(--private-ink); font-size:26px; text-align:center; }
.private-auth-card>p { margin:9px 0 24px; color:var(--private-muted); text-align:center; line-height:1.5; }
.private-auth-card label { display:block; margin:14px 0 6px; color:var(--private-ink); font-size:13px; font-weight:700; }
.private-auth-card input { width:100%; padding:12px 13px; border:1px solid #bdcfca; border-radius:12px; color:var(--private-ink); background:#fff; }
.private-auth-card button, .private-online-toolbar button, .private-catalog button { border:0; border-radius:12px; padding:11px 14px; font-weight:750; cursor:pointer; }
.private-auth-submit { width:100%; margin-top:18px; color:#fff; background:var(--private-brand); }
.private-auth-submit:disabled { opacity:.58; cursor:wait; }
.private-auth-status { min-height:22px; margin:13px 0 0!important; color:#a02b2b!important; font-size:13px; text-align:left!important; }
.private-auth-note { margin-top:18px!important; padding:12px; border-radius:12px; background:#f2f7f6; color:#4d625e!important; font-size:12px; }
.private-online-toolbar { position:sticky; top:0; z-index:10000; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; border-bottom:1px solid #a8d3ca; background:#e0f4ef; color:#173b35; font:600 13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.private-online-toolbar strong { display:block; }
.private-online-toolbar small { display:block; color:#486a64; }
.private-online-actions { display:flex; gap:8px; flex:0 0 auto; }
.private-online-actions button { padding:8px 10px; color:#fff; background:var(--private-brand); font-size:12px; }
.private-online-actions button:last-child { color:#6c2929; background:#fff; border:1px solid #dfb9b9; }
.private-local-warning { padding:8px 16px; border-bottom:1px solid #ebd38e; background:#fff6d9; color:#5b470d; font:650 12px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:center; }
.private-catalog { width:min(94vw,760px); max-height:88vh; border:0; border-radius:22px; padding:0; box-shadow:0 25px 70px #0005; }
.private-catalog::backdrop { background:#10201d99; }
.private-catalog-inner { padding:22px; overflow:auto; max-height:88vh; }
.private-catalog-head { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.private-catalog h2 { margin:0; }
.private-catalog p { color:var(--private-muted); }
.private-catalog select,.private-catalog input { width:100%; padding:10px; border:1px solid #c7d4d1; border-radius:10px; background:#fff; }
.private-catalog-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }
.private-catalog-panel { padding:15px; border:1px solid var(--private-line); border-radius:15px; }
.private-catalog-panel h3 { margin:0 0 10px; }
.private-catalog-list { display:grid; gap:7px; margin:12px 0; padding:0; list-style:none; }
.private-catalog-list li { padding:9px 10px; border-radius:9px; background:#f3f7f6; }
.private-catalog form { display:grid; gap:8px; }
.private-catalog .primary { color:#fff; background:var(--private-brand); }
.private-catalog .secondary { color:var(--private-brand); background:#fff; border:1px solid #aac6c0; }
.private-catalog-message { min-height:20px; font-size:13px; }
@media(max-width:640px){.private-online-toolbar{align-items:flex-start}.private-online-actions{flex-direction:column}.private-catalog-grid{grid-template-columns:1fr}}
