/* Платформа «Совет дома»: поверх style.css и admin.css движка. Свой цвет —
   фиолетовый, чтобы панель владельца не путалась с панелью дома (красная)
   и кабинетом Совета (синий). */
html[data-cab="platform"]{--cab:#6b3fa0; --cab-dark:#52307d; --cab-soft:#f0e9fa; --side:#1d1a2b; --side-2:#27233a;
  --acc:#6b3fa0; --acc-dark:#52307d; --acc-soft:#f0e9fa}
@media (prefers-color-scheme: dark){
  html[data-cab="platform"]:not([data-theme="light"]){--cab:#b192e0; --cab-dark:#c9b3ee; --cab-soft:#241d33; --side:#0f0d17; --side-2:#1a1726;
    --acc:#b192e0; --acc-dark:#c9b3ee; --acc-soft:#241d33}
}

.pf-login{max-width:460px; margin:8vh auto; padding:0 16px}
.pf-login h1{font-size:22px}
.pf-logout{width:calc(100% - 20px); border:0; background:none; cursor:pointer; text-align:left; font:inherit}
.pf-topstat{white-space:nowrap}
.pf-red{color:var(--err); font-weight:600}
.pf-green{color:var(--ok); font-weight:600}

.pf-status{display:inline-block; padding:2px 9px; border-radius:999px; font-size:12.5px; font-weight:600; vertical-align:middle; white-space:nowrap}
.st-active{background:var(--ok-soft); color:var(--ok)}
.st-trial{background:var(--cyan-soft); color:var(--cyan)}
.st-overdue{background:var(--err-soft); color:var(--err)}
.st-suspended{background:var(--warn-soft); color:var(--warn)}
.st-deleted{background:var(--line-soft); color:var(--muted)}

.pf-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.pf-grid>.card{min-width:0}
.pf-actions{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.pf-actions form{display:inline; margin:0}
.pf-out summary{cursor:pointer; color:var(--muted); font-size:12.5px}
.pf-pre{white-space:pre-wrap; word-break:break-word; font-family:Consolas,monospace; font-size:12.5px; background:var(--line-soft);
  padding:10px; border-radius:8px; max-height:260px; overflow:auto; margin:6px 0 0}
.pf-inline summary{list-style:none; display:inline-block; cursor:pointer}
.pf-inline summary::-webkit-details-marker{display:none}
.pf-plans{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px}
.pf-price{font-size:28px; font-weight:800; letter-spacing:-.02em; margin:4px 0 8px}
.pf-price small{font-size:14px; color:var(--muted); font-weight:500}
.adm-main h1 .pf-status{font-size:13px; margin-left:6px}
.adm-main .filters{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.adm-main .filters .searchbar{flex:1; min-width:220px}
@media (max-width:960px){.pf-grid{grid-template-columns:1fr}}
@media (max-width:640px){.pf-topstat{display:none}}
