/* Платформа «Совет дома»: поверх 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}}

/* Серверы: карточка свёрнута до заголовка, раскрывается по клику */
.pf-host{position:relative}
.pf-host > summary{list-style:none; cursor:pointer; display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; min-height:28px}
.pf-host > summary::-webkit-details-marker{display:none}
.pf-host-title{flex:1 1 320px}
.pf-host-title b{font-size:17px}
.pf-host-actions{display:inline-flex; gap:8px; margin-left:auto}
.pf-host-arrow{color:var(--muted); transition:transform .15s}
.pf-host[open] > summary .pf-host-arrow{transform:rotate(180deg)}
.pf-host-body{margin-top:14px}
.pf-host > form.stack{margin-top:14px}
@media (max-width:640px){
  .pf-host-actions{margin-left:0}
}

/* Ход снятия копии */
.pf-bar{height:8px; background:rgba(0,0,0,.08); border-radius:4px; overflow:hidden; margin:8px 0}
.pf-bar i{display:block; height:100%; background:var(--acc); transition:width .3s}
.pf-bar i.pf-bar-wait{animation:pf-pulse 1.1s ease-in-out infinite alternate}
@keyframes pf-pulse{from{opacity:.35}to{opacity:1}}

