/* =========================================================
   PODOCLICK DESIGN SYSTEM
   Единый активный CSS кабинета: shell + UI-kit + типографика.
   ========================================================= */
:root{
  --pc-shell-sidebar: 264px;
  --pc-shell-topbar: 74px;
  --pc-shell-bg: #f8faff;
  --pc-shell-surface: #ffffff;
  --pc-shell-surface-2: #fbfcff;
  --pc-shell-text: #111827;
  --pc-shell-muted: #64748b;
  --pc-shell-muted-2: #94a3b8;
  --pc-shell-border: #e5e7eb;
  --pc-shell-border-soft: #eef0f6;
  --pc-shell-primary: #6c4df6;
  --pc-shell-primary-dark: #5a3fe0;
  --pc-shell-primary-soft: #f0edff;
  --pc-shell-primary-faint: #f6f3ff;
  --pc-shell-accent: #8b5cf6;
  --pc-shell-success: #22c55e;
  --pc-shell-danger: #ef4444;
  --pc-shell-warning: #f59e0b;
  --pc-shell-radius: 18px;
  --pc-shell-radius-xl: 24px;
  --pc-shell-shadow: 0 8px 30px rgba(15,23,42,.06);
  --pc-shell-shadow-soft: 0 4px 18px rgba(15,23,42,.06);
  --pc-shell-focus: 0 0 0 4px rgba(108,77,246,.20);
}

html{height:100%;}
body.pc-app,
body.pc-public{
  min-height:100%;
  background:
    radial-gradient(circle at 16% -5%, rgba(108,77,246,.08), transparent 32rem),
    radial-gradient(circle at 92% 0%, rgba(139,92,246,.07), transparent 30rem),
    var(--pc-shell-bg) !important;
  color:var(--pc-shell-text)!important;
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.pc-app{overflow-x:hidden;}

/* ===== Sidebar ===== */
.pc-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--pc-shell-sidebar);
  height:100vh;
  z-index:6040;
  display:flex;
  flex-direction:column;
  background:#fff;
  color:var(--pc-shell-text);
  border-right:1px solid var(--pc-shell-border-soft);
  box-shadow:10px 0 42px rgba(15,23,42,.035);
}
.pc-sidebar__brand{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 18px 14px;
}
.pc-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:inherit!important;
  text-decoration:none!important;
  min-width:0;
}
.pc-brand:hover{color:inherit!important;text-decoration:none!important;}
.pc-brand__icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,#fff,#f0edff);
  box-shadow:0 10px 24px rgba(108,77,246,.16);
  overflow:hidden;
}
.pc-brand__icon img{width:31px;height:31px;object-fit:contain;display:block;}
.pc-brand__text{
  color:var(--pc-shell-primary);
  font-size:1.28rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  white-space:nowrap;
}
.pc-brand--public .pc-brand__text{color:var(--pc-shell-primary);}

.pc-icon-btn{
  width:42px;
  height:42px;
  border:1px solid var(--pc-shell-border);
  border-radius:14px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  color:#233044;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.pc-icon-btn:hover{background:var(--pc-shell-primary-soft);border-color:#d8d0ff;color:var(--pc-shell-primary);box-shadow:var(--pc-shell-shadow-soft);transform:translateY(-1px);}
.pc-sidebar__close{display:none;}

.pc-mobile-clinic-card{display:none;}

.pc-nav{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:8px 14px 18px;
  overflow:auto;
  scrollbar-width:thin;
}
.pc-nav__group{display:flex;flex-direction:column;gap:4px;}
.pc-nav__section-title{
  padding:5px 14px 6px;
  color:#8a98aa;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.pc-nav__item{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:44px;
  padding:10px 14px;
  border-radius:12px;
  color:#27364d!important;
  text-decoration:none!important;
  font-weight:700;
  letter-spacing:-.01em;
  transition:background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.pc-nav__item i{
  width:22px;
  text-align:center;
  color:#64748b;
  font-size:1.02rem;
}
.pc-nav__item:hover{
  color:var(--pc-shell-primary)!important;
  background:var(--pc-shell-primary-faint);
  transform:translateX(2px);
}
.pc-nav__item:hover i{color:var(--pc-shell-primary);}
.pc-nav__item.active{
  color:var(--pc-shell-primary)!important;
  background:var(--pc-shell-primary-soft);
  box-shadow:inset 0 0 0 1px rgba(108,77,246,.06);
}
.pc-nav__item.active i{color:var(--pc-shell-primary);}
.pc-sidebar__support{
  margin:10px 14px 10px;
  padding:14px 14px;
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:16px;
  background:linear-gradient(135deg,#faf9ff,#f3f0ff);
  border:1px solid #eee9ff;
}
.pc-help-icon{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  color:var(--pc-shell-primary);background:#fff;border:1px solid #dfd8ff;font-size:1rem;
}
.pc-sidebar__support strong{display:block;color:var(--pc-shell-primary);font-size:.86rem;font-weight:850;line-height:1.1;}
.pc-sidebar__support span{display:block;color:#64748b;font-size:.78rem;font-weight:600;margin-top:2px;}
.pc-sidebar__bottom{
  padding:0 14px 16px;
}
.pc-nav__item--logout{
  color:#dc2626!important;
  margin-bottom:8px;
}
.pc-nav__item--logout i{color:#dc2626!important;}
.pc-nav__item--logout:hover{background:#fef2f2!important;color:#b91c1c!important;}
.pc-version{display:block;text-align:center;color:#94a3b8;font-size:.72rem;font-weight:700;}

/* ===== Main frame ===== */
.pc-app-frame{min-height:100vh;margin-left:var(--pc-shell-sidebar);}
.pc-topbar{
  position:sticky;
  top:0;
  z-index:5020;
  min-height:var(--pc-shell-topbar);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 26px;
  background:rgba(255,255,255,.92)!important;
  color:var(--pc-shell-text)!important;
  border-bottom:1px solid var(--pc-shell-border-soft);
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(160%);
}
.pc-topbar__left,.pc-topbar__right{display:flex;align-items:center;gap:16px;min-width:0;}
.pc-topbar__right{justify-content:flex-end;}
.pc-menu-toggle{display:none;}
.pc-clinic-selector__button{
  min-height:46px;
  min-width:300px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:8px 14px;
  border:1px solid var(--pc-shell-border);
  border-radius:12px;
  background:#fff;
  color:#1f2937;
  font-weight:700;
  box-shadow:0 2px 10px rgba(15,23,42,.02);
}
.pc-clinic-selector__button:hover,.pc-clinic-selector__button:focus{border-color:#d8d0ff;box-shadow:var(--pc-shell-focus);outline:none;}
.pc-clinic-selector__icon{
  width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  color:#59667b;background:#f8faff;border:1px solid #edf0f6;
}
.pc-clinic-selector__button .fa-chevron-down{margin-left:auto;color:#111827;font-size:.78rem;}
.pc-page-context{min-width:0;line-height:1.1;}
.pc-page-context strong{display:block;color:var(--pc-shell-text);font-size:1.02rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54vw;}
.pc-notification-btn{
  position:relative;
  width:42px;height:42px;border:0;background:transparent;color:#64748b;border-radius:14px;display:grid;place-items:center;font-size:1.14rem;
}
.pc-notification-btn:hover{background:var(--pc-shell-primary-faint);color:var(--pc-shell-primary);}
.pc-notification-badge{
  position:absolute;top:2px;right:2px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:900;line-height:20px;text-align:center;border:2px solid #fff;
}
.pc-user-menu{display:flex;align-items:center;gap:12px;min-width:0;}
.pc-user-menu__text{text-align:right;line-height:1.1;min-width:0;}
.pc-user-menu__text strong{display:block;color:#111827;font-weight:850;font-size:.94rem;white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis;}
.pc-user-menu__text span{display:block;color:#64748b;font-size:.8rem;font-weight:650;margin-top:4px;}
.pc-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#f5f3ff,#e9d5ff);color:var(--pc-shell-primary);font-weight:900;border:1px solid #dfd8ff;}
.pc-avatar--top{width:44px;height:44px;flex-basis:44px;box-shadow:0 6px 18px rgba(108,77,246,.14);}
.pc-main{width:100%;min-height:calc(100vh - var(--pc-shell-topbar));padding:28px!important;padding-top:28px!important;}
.pc-flash-stack{margin-bottom:12px;}.pc-flash-stack .alert{width:100%;margin:0 0 12px!important;}

.pc-clinic-menu{width:330px;max-height:70vh;overflow:auto;border:1px solid rgba(148,163,184,.22)!important;border-radius:18px!important;box-shadow:0 28px 70px rgba(15,23,42,.16)!important;padding:8px!important;}
.pc-dropdown-title{padding:8px 12px 5px;color:var(--pc-shell-muted);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;}
.pc-clinic-menu__item{display:flex!important;align-items:flex-start;gap:10px;border-radius:14px!important;padding:10px 12px!important;color:var(--pc-shell-text)!important;}
.pc-clinic-menu__item i{margin-top:3px;color:var(--pc-shell-primary);}
.pc-clinic-menu__item strong{display:block;line-height:1.15;}.pc-clinic-menu__item small{display:block;color:var(--pc-shell-muted);font-weight:650;line-height:1.2;margin-top:2px;}
.pc-clinic-menu__item.active{background:var(--pc-shell-primary-soft)!important;color:var(--pc-shell-primary)!important;}

/* Public pages */
.pc-public-topbar{position:sticky;top:0;z-index:5020;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,3vw,34px);background:rgba(255,255,255,.92)!important;border-bottom:1px solid var(--pc-shell-border-soft);box-shadow:0 10px 30px rgba(15,23,42,.04)!important;backdrop-filter:blur(18px);}
.pc-public-main{padding-top:0!important;min-height:calc(100vh - 72px);}.pc-public-topbar__actions{display:flex;align-items:center;gap:10px;}.pc-public .login-container{min-height:calc(100vh - 72px)!important;}

/* Mobile */
.pc-mobile-overlay{display:none;}
@media (max-width: 1024px){
  .pc-sidebar{left:auto;right:12px;top:12px;bottom:12px;height:auto;width:min(92vw,390px);border-radius:26px;border:0;box-shadow:0 30px 90px rgba(15,23,42,.22);transform:translateX(110%);transition:transform .24s ease;overflow:hidden;}
  body.pc-sidebar-open .pc-sidebar{transform:translateX(0);}
  .pc-sidebar__brand{min-height:62px;padding:18px 18px 10px;}
  .pc-sidebar__brand:before{content:"Меню";font-size:1.35rem;font-weight:900;color:#111827;order:0;}
  .pc-sidebar__brand .pc-brand{display:none;}
  .pc-sidebar__close{display:inline-grid;border:0;background:transparent;color:#111827;font-size:1.2rem;}
  .pc-mobile-clinic-card{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;margin:10px 16px 18px;padding:16px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#6c4df6,#8b5cf6 62%,#7c3aed);box-shadow:0 16px 38px rgba(108,77,246,.25);}
  .pc-mobile-clinic-card strong{display:block;font-size:.95rem;font-weight:850;line-height:1.2;}.pc-mobile-clinic-card span{display:block;margin-top:3px;color:rgba(255,255,255,.82);font-size:.78rem;font-weight:650;}.pc-mobile-clinic-card>i{font-size:1.5rem;opacity:.85;margin-top:3px;}.pc-mobile-clinic-card__action{grid-column:1/-1;display:inline-flex;width:max-content;align-items:center;gap:7px;margin-top:6px;padding:8px 11px;border-radius:11px;background:rgba(255,255,255,.16);color:#fff!important;text-decoration:none!important;font-size:.8rem;font-weight:800;}
  .pc-app-frame{margin-left:0;}
  .pc-menu-toggle{display:inline-grid;}
  body.pc-sidebar-open .pc-mobile-overlay{display:block;position:fixed;inset:0;z-index:6030;background:rgba(15,23,42,.18);backdrop-filter:blur(6px);}
  .pc-main{padding:20px!important;}
  .pc-topbar{padding:10px 16px;}
  .pc-user-menu__text{display:none;}
  .pc-nav{gap:14px;padding:0 16px 14px;}
  .pc-sidebar__support{margin:6px 16px 10px;}
}
@media (max-width: 576px){
  :root{--pc-shell-topbar:64px;}
  .pc-sidebar{right:8px;top:8px;bottom:8px;width:min(92vw,360px);border-radius:24px;}
  .pc-page-context strong{font-size:.98rem;max-width:52vw;}
  .pc-main{padding:14px!important;}
  .pc-public-topbar{min-height:64px;padding:10px 14px;}
  .pc-brand__icon{width:38px;height:38px;flex-basis:38px;border-radius:14px;}
  .pc-brand__text{font-size:1.12rem;}
  .pc-topbar__right{gap:8px;}.pc-notification-btn{width:40px;height:40px;}.pc-avatar--top{width:40px;height:40px;flex-basis:40px;}
}

/* Avoid legacy fixed header spacing from old base */
body.pc-app main:not(.pc-main),body.pc-public main:not(.pc-public-main){padding-top:0!important;}
body.pc-app > header:not(.pc-topbar):not(.pc-public-topbar){display:none!important;}


/* ===== UI components ===== */

/* =========================================================
   PODOCLICK COMPONENTS — STAGE 3.1
   Контрастные кнопки, формы, таблицы, чекбоксы и состояния.
   ========================================================= */
:root{
  --pc-text:#111827;
  --pc-muted:#5b6472;
  --pc-border:#e5e7eb;
  --pc-surface:#fff;
  --pc-primary:#6c4df6;
  --pc-primary-dark:#5a3fe0;
  --pc-primary-soft:#f0edff;
  --pc-success:#16a34a;
  --pc-danger:#dc2626;
  --pc-warning:#b45309;
  --pc-radius:18px;
  --pc-focus:0 0 0 4px rgba(108,77,246,.20);
}

/* Layout normalization for legacy templates */
.pc-main .container,
.pc-main .container-fluid{
  width:100%!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.pc-main .container-fluid[style*="max-width"]{max-width:1440px!important;}
.pc-main h1,.pc-main h2,.pc-main h3,.pc-main h4,.pc-main h5,.pc-main h6{
  color:var(--pc-text)!important;
  font-weight:900;
  letter-spacing:-.035em;
}
.pc-main p,.pc-main li,.pc-main td,.pc-main label{color:var(--pc-text);}
.pc-main .text-muted,.pc-main small{color:var(--pc-muted)!important;}

/* Cards */
.card,.modal-content,.list-group-item,.dropdown-menu{
  border:1px solid rgba(148,163,184,.28)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.07)!important;
}
.card{overflow:visible!important;margin-bottom:1.15rem!important;}
.card-header,.card-footer{
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  border-color:rgba(148,163,184,.22)!important;
  color:var(--pc-text)!important;
  font-weight:900!important;
}
.card-header:first-child{border-radius:18px 18px 0 0!important;}
.card-body{padding:1.25rem!important;}
.bg-primary.card,.card.bg-primary,.bg-success.card,.card.bg-success,.bg-info.card,.card.bg-info,.bg-danger.card,.card.bg-danger{
  color:#fff!important;
  border:0!important;
}
.card.bg-warning,.bg-warning.card{color:#111827!important;border:0!important;}
.card.bg-primary,.bg-primary{background:#6c4df6!important;}
.card.bg-success,.bg-success{background:#16a34a!important;}
.card.bg-info,.bg-info{background:#3b82f6!important;}
.card.bg-danger,.bg-danger{background:#dc2626!important;}
.card.bg-warning,.bg-warning{background:#f59e0b!important;color:#111827!important;}
.bg-primary .text-white,.bg-success .text-white,.bg-info .text-white,.bg-danger .text-white{color:#fff!important;}
.bg-warning .text-white,.card.bg-warning .text-white{color:#111827!important;}
.opacity-50{opacity:.72!important;}
.opacity-75{opacity:.90!important;}

/* Buttons */
.btn,button,input[type="submit"],input[type="button"]{
  min-height:40px;
  border-radius:12px!important;
  font-weight:800!important;
  letter-spacing:-.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease!important;
}
.btn:hover,button:hover,input[type="submit"]:hover,input[type="button"]:hover{transform:translateY(-1px);}
.btn:active,button:active{transform:translateY(1px);}
.btn:focus-visible,button:focus-visible,a:focus-visible{outline:none!important;box-shadow:var(--pc-focus)!important;}
.btn-primary{background:linear-gradient(135deg,#1763d1,#0f766e)!important;border-color:transparent!important;color:#fff!important;}
.btn-success{background:#16a34a!important;border-color:#047857!important;color:#fff!important;}
.btn-danger{background:#dc2626!important;border-color:#b91c1c!important;color:#fff!important;}
.btn-info{background:#3b82f6!important;border-color:#0369a1!important;color:#fff!important;}
.btn-warning{background:#f59e0b!important;border-color:#f59e0b!important;color:#111827!important;}
.btn-secondary{background:#475569!important;border-color:#475569!important;color:#fff!important;}
.btn-light{background:#fff!important;border-color:#cbd5e1!important;color:#111827!important;}
.btn-outline-primary{background:#fff!important;border-color:#6c4df6!important;color:#5a3fe0!important;}
.btn-outline-primary:hover{background:#6c4df6!important;color:#fff!important;}
.btn-outline-secondary{background:#fff!important;border-color:#64748b!important;color:#334155!important;}
.btn-outline-secondary:hover{background:#334155!important;color:#fff!important;}
.btn-outline-danger{background:#fff!important;border-color:#b91c1c!important;color:#b91c1c!important;}
.btn-outline-danger:hover{background:#dc2626!important;color:#fff!important;}
.btn-outline-warning{background:#fff!important;border-color:#b45309!important;color:#92400e!important;}
.btn-outline-warning:hover{background:#f59e0b!important;color:#111827!important;}
.btn-sm{min-height:34px;padding:.34rem .62rem!important;font-size:.86rem!important;border-radius:10px!important;}
.btn-lg{min-height:48px;padding:.72rem 1.15rem!important;border-radius:14px!important;}
.btn:disabled,button:disabled{opacity:.62!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;}

/* Forms */
.form-label,label{font-weight:800;color:#263244!important;margin-bottom:.35rem;}
.form-control,.form-select,textarea,select,
input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="date"],input[type="time"],input[type="number"],input[type="search"]{
  min-height:44px;
  border:1.5px solid var(--pc-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--pc-text)!important;
  box-shadow:none!important;
}
.form-control::placeholder,textarea::placeholder,input::placeholder{color:#6b7280!important;opacity:1!important;}
.form-control:focus,.form-select:focus,textarea:focus,select:focus,input:focus{
  outline:none!important;
  border-color:var(--pc-primary)!important;
  box-shadow:var(--pc-focus)!important;
  background:#fff!important;
  color:var(--pc-text)!important;
}
.form-control:disabled,.form-select:disabled,input:disabled,textarea:disabled{
  background:#f1f5f9!important;
  color:#64748b!important;
  border-color:#cbd5e1!important;
}
.input-group-text{background:#f8fafc!important;border-color:var(--pc-border)!important;color:#334155!important;font-weight:850!important;border-radius:12px!important;}
.invalid-feedback{color:var(--pc-danger)!important;font-weight:750;}

/* Checkboxes/radios — контрастные и хорошо заметные */
.form-check{display:flex;align-items:flex-start;gap:.55rem;min-height:30px;}
.form-check-input,
input[type="checkbox"],input[type="radio"]{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  margin-top:.08rem!important;
  border:2px solid #475569!important;
  background-color:#fff!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  appearance:auto!important;
  accent-color:var(--pc-primary)!important;
}
.form-check-input:checked,
input[type="checkbox"]:checked,input[type="radio"]:checked{
  background-color:var(--pc-primary)!important;
  border-color:var(--pc-primary)!important;
}
.form-check-input:focus,
input[type="checkbox"]:focus,input[type="radio"]:focus{
  outline:none!important;
  box-shadow:var(--pc-focus)!important;
}
.form-switch{align-items:center!important;gap:.65rem;}
.form-switch .form-check-input{
  width:46px!important;
  min-width:46px!important;
  height:26px!important;
  border-radius:999px!important;
  border:2px solid #64748b!important;
}
.form-switch .form-check-input:checked{background-color:var(--pc-primary)!important;border-color:var(--pc-primary)!important;}
.form-check-label{color:var(--pc-text)!important;font-weight:750!important;cursor:pointer!important;line-height:1.35;}
.form-check-input:disabled + .form-check-label,
input[type="checkbox"]:disabled + label,
input[type="radio"]:disabled + label{color:#64748b!important;cursor:not-allowed!important;}
.pc-choice-active,.form-check.is-checked,.permission-item.is-checked,.toggle-card.is-checked,.checkbox-card.is-checked{
  background:var(--pc-primary-soft)!important;
  border-color:rgba(108,77,246,.45)!important;
  color:var(--pc-text)!important;
}

/* Tables */
.table-responsive{border-radius:18px;overflow:auto;}
.table{color:var(--pc-text)!important;margin-bottom:0;border-collapse:separate!important;border-spacing:0!important;}
.table th{
  background:#f8fafc!important;
  color:#334155!important;
  border-bottom:1px solid #dbe4ef!important;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-weight:950!important;
  white-space:nowrap;
}
.table td{
  color:var(--pc-text)!important;
  background:#fff!important;
  border-bottom:1px solid #e5edf6!important;
  vertical-align:middle!important;
}
.table tbody tr:hover td{background:#f8fbff!important;}
.table a{font-weight:800;}

/* Badges and alerts */
.badge{border-radius:999px!important;font-weight:850!important;letter-spacing:-.01em;padding:.42em .68em!important;}
.badge.bg-light,.badge.text-dark{background:#f1f5f9!important;color:#334155!important;border:1px solid #cbd5e1!important;}
.badge.bg-success{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important;}
.badge.bg-info{background:#e0f2fe!important;color:#075985!important;border:1px solid #7dd3fc!important;}
.badge.bg-warning{background:#fef3c7!important;color:#92400e!important;border:1px solid #fcd34d!important;}
.badge.bg-danger{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important;}
.alert{border-radius:16px!important;border-width:1px!important;font-weight:750;}
.alert-success{background:#ecfdf5!important;color:#065f46!important;border-color:#a7f3d0!important;}
.alert-danger,.alert-error{background:#fef2f2!important;color:#991b1b!important;border-color:#fecaca!important;}
.alert-warning{background:#fffbeb!important;color:#92400e!important;border-color:#fde68a!important;}
.alert-info{background:#eff6ff!important;color:#1e3a8a!important;border-color:#bfdbfe!important;}
.btn-close{filter:none!important;opacity:.8!important;}

/* Dropdowns/modals */
.dropdown-menu{padding:.45rem!important;}
.dropdown-item{border-radius:12px!important;color:var(--pc-text)!important;font-weight:750!important;min-height:36px;display:flex;align-items:center;gap:.4rem;}
.dropdown-item:hover,.dropdown-item:focus{background:var(--pc-primary-soft)!important;color:#5a3fe0!important;}
.dropdown-item.active,.dropdown-item:active{background:var(--pc-primary)!important;color:#fff!important;}
.modal-header{border-bottom-color:#e5edf6!important;}
.modal-footer{border-top-color:#e5edf6!important;}
.modal-title{font-weight:950;color:var(--pc-text)!important;}

/* FullCalendar readability */
.fc .fc-button{
  border-radius:10px!important;
  min-height:36px!important;
  font-weight:850!important;
  background:#fff!important;
  color:#5a3fe0!important;
  border:1px solid #d8d0ff!important;
  box-shadow:none!important;
}
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active,
.fc .fc-button-primary:hover{
  background:#6c4df6!important;
  color:#fff!important;
  border-color:#6c4df6!important;
}
.fc .fc-toolbar-title{font-weight:950!important;color:var(--pc-text)!important;letter-spacing:-.04em;}
.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:var(--pc-text)!important;font-weight:850!important;}
.fc .fc-day-today{background:#fff7ed!important;}
.fc-event{border-radius:8px!important;border-width:0!important;font-weight:800!important;}
.fc-event-title,.fc-event-time{color:inherit!important;}

/* Click/tap target quality */
a,.btn,button,.dropdown-item,.pc-nav__item{touch-action:manipulation;}
@media (max-width:576px){
  .btn,button,input[type="submit"]{min-height:44px;}
  .table th,.table td{padding:.72rem .65rem!important;}
  .card-body{padding:1rem!important;}
}

/* Stage 3.1.1 — unified page primitives, replacing old standalone headers */
.pc-page{width:100%;max-width:1440px;margin:0 auto;}
.pc-page--narrow{max-width:920px;}
.pc-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.pc-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pc-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:8px;
  color:#5a3fe0!important;
  background:#e8f1ff;
  border:1px solid #c7dcff;
  border-radius:999px;
  padding:5px 10px;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.pc-page-title{margin:0 0 6px!important;font-size:clamp(1.55rem,2.7vw,2.25rem)!important;line-height:1.1;}
.pc-page-subtitle{margin:0!important;color:#5b6472!important;max-width:760px;font-weight:650;}
.pc-grid{display:grid;gap:18px;}
.pc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.pc-card{
  background:#fff;
  border:1px solid rgba(148,163,184,.28);
  border-radius:22px;
  box-shadow:0 14px 35px rgba(15,23,42,.08);
  padding:22px;
}
.pc-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;}
.pc-card__title{margin:0!important;font-size:1.16rem!important;line-height:1.2;}
.pc-card__subtitle{margin:5px 0 0!important;color:#5b6472!important;font-size:.95rem;font-weight:650;}
.pc-stats-list{display:flex;flex-direction:column;gap:10px;}
.pc-stats-list__item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:13px 14px;
  background:#f8fbff;
  border:1px solid #e5edf6;
  border-radius:16px;
}
.pc-stats-list__item span{color:#334155;font-weight:800;}
.pc-stats-list__item strong{font-size:1.35rem;color:#111827;font-weight:950;}
.pc-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;}
.pc-info-tile{
  padding:14px;
  background:#f8fafc;
  border:1px solid #dbe4ef;
  border-radius:16px;
  min-width:0;
}
.pc-info-tile span{display:block;color:#5b6472;font-size:.82rem;font-weight:900;margin-bottom:4px;}
.pc-info-tile strong{display:block;color:#111827;font-size:1.05rem;font-weight:950;word-break:break-word;}
.pc-info-tile small{display:block;margin-top:4px;color:#64748b!important;font-weight:700;}
.pc-empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  min-height:180px;
  padding:22px;
  background:#f8fbff;
  border:1px dashed #adc5e8;
  border-radius:18px;
  color:#334155;
}
.pc-empty-state--compact{min-height:150px;}
.pc-empty-state i{font-size:1.8rem;color:#1763d1;}
.pc-empty-state strong{color:#111827;font-weight:950;}
.pc-empty-state span{color:#5b6472;font-weight:650;}
.pc-form-card{padding:0;overflow:hidden;}
.pc-form-section{padding:24px;border-bottom:1px solid #e5edf6;}
.pc-form-section:last-of-type{border-bottom:0;}
.pc-form-section__head{margin-bottom:16px;}
.pc-form-section__head h2{font-size:1.12rem!important;margin:0 0 5px!important;}
.pc-form-section__head p{margin:0!important;color:#5b6472!important;font-weight:650;}
.pc-form-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  padding:20px 24px;
  background:#f8fafc;
  border-top:1px solid #e5edf6;
}
@media (max-width:900px){
  .pc-grid--2{grid-template-columns:1fr;}
  .pc-page-header{flex-direction:column;align-items:stretch;}
  .pc-page-actions .btn{width:100%;}
}
@media (max-width:576px){
  .pc-card{padding:16px;border-radius:18px;}
  .pc-form-section{padding:18px;}
  .pc-form-actions{padding:16px;flex-direction:column-reverse;}
  .pc-form-actions .btn{width:100%;}
}


/* Stage 3.3.2 reference polish */
.card,.modal-content,.list-group-item,.dropdown-menu{
  border:1px solid #eef0f6!important;
  border-radius:18px!important;
  box-shadow:0 4px 18px rgba(15,23,42,.06)!important;
}
.card-header,.card-footer{
  background:#fff!important;
  border-color:#eef0f6!important;
}
.btn-primary{background:#6c4df6!important;border-color:#6c4df6!important;color:#fff!important;}
.btn-primary:hover,.btn-primary:focus{background:#5a3fe0!important;border-color:#5a3fe0!important;color:#fff!important;}
.btn-outline-primary{color:#5a3fe0!important;border-color:#d8d0ff!important;background:#fff!important;}
.btn-outline-primary:hover,.btn-outline-primary:focus{background:#f0edff!important;color:#5a3fe0!important;border-color:#bfb3ff!important;}
.form-control:focus,.form-select:focus{border-color:#bfb3ff!important;box-shadow:0 0 0 4px rgba(108,77,246,.16)!important;}
.form-check-input:checked,input[type="checkbox"]:checked,input[type="radio"]:checked{background-color:#6c4df6!important;border-color:#6c4df6!important;}
.badge.bg-primary{background:#f0edff!important;color:#5a3fe0!important;border:1px solid #d8d0ff!important;}
.text-primary{color:#6c4df6!important;}


/* ===== Typography ===== */

/* PODOCLICK typography polish — lighter, cleaner SaaS look.
   Loaded after module styles to reduce the heavy 800/900 visual weight. */
:root{
  --pc-font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --pc-weight-regular:400;
  --pc-weight-medium:500;
  --pc-weight-semibold:600;
  --pc-weight-bold:700;
}

html, body{
  font-family:var(--pc-font-sans)!important;
  font-weight:var(--pc-weight-regular)!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

body,
.pc-app,
.pc-main,
.pc-public-main{
  letter-spacing:-.01em;
}

/* Main headings: confident, but not bulky */
h1,
.h1,
.pc-ref-hero h1,
.pc-page-title,
.page-title,
main h1:first-child{
  font-weight:var(--pc-weight-semibold)!important;
  letter-spacing:-.035em!important;
}

h2,
.h2,
.pc-ref-card-head h2,
.pc-card__title,
.modal-title{
  font-weight:var(--pc-weight-semibold)!important;
  letter-spacing:-.025em!important;
}

h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.card-title,
.pc-form-section__head h2,
.pc-med-section__title,
.pc-patient-profile__name,
.pc-patient-card__name,
.pc-calendar-title{
  font-weight:var(--pc-weight-semibold)!important;
  letter-spacing:-.018em!important;
}

/* Navigation and chrome */
.pc-brand__text{
  font-weight:var(--pc-weight-semibold)!important;
  letter-spacing:.005em!important;
}

.pc-nav__section-title,
.pc-dropdown-title{
  font-weight:var(--pc-weight-semibold)!important;
  letter-spacing:.045em!important;
}

.pc-nav__item,
.pc-clinic-selector__button,
.pc-user-menu__text strong,
.pc-page-context strong,
.pc-mobile-clinic-card strong,
.pc-sidebar__support strong,
.pc-sidebar__support span,
.pc-version{
  font-weight:var(--pc-weight-medium)!important;
}

.pc-nav__item.active{
  font-weight:var(--pc-weight-semibold)!important;
}

.pc-user-menu__text span,
.pc-mobile-clinic-card span,
.pc-clinic-menu__item small{
  font-weight:var(--pc-weight-regular)!important;
}

.pc-avatar,
.pc-notification-badge{
  font-weight:var(--pc-weight-semibold)!important;
}

/* Cards, metrics and dashboard */
.pc-ref-stat-card p,
.pc-ref-stat-card small,
.pc-ref-appointment-main small,
.pc-specialist-main small,
.pc-page-subtitle,
.pc-card__subtitle,
.pc-empty-state span,
.pc-form-section__head p{
  font-weight:var(--pc-weight-regular)!important;
}

.pc-ref-stat-card strong,
.pc-stats-list__item strong,
.pc-info-tile strong,
.pc-specialist-main strong,
.pc-specialist-row b,
.pc-ref-appointment-row time,
.pc-ref-appointment-main strong,
.pc-service-row strong,
.pc-service-row b,
.network-metrics strong,
.stat-value,
.stats-number,
.metric-number{
  font-weight:var(--pc-weight-semibold)!important;
  letter-spacing:-.035em!important;
}

.pc-stats-list__item span,
.pc-info-tile span,
.pc-mini-meta__item small,
.pc-mini-meta__item strong,
.pc-info-row dt,
.pc-info-row dd,
.pc-visit-date,
.pc-visit-time,
.pc-visit-title,
.pc-medical-note__item strong,
.pc-medical-note__item span{
  font-weight:var(--pc-weight-medium)!important;
}

/* Forms and controls: readable, not visually heavy */
label,
.form-label,
.form-check-label,
.input-group-text,
.invalid-feedback,
legend,
.required::after{
  font-weight:var(--pc-weight-medium)!important;
}

.form-control,
.form-select,
.btn,
.dropdown-item,
.badge,
.status-badge,
.label,
.chip,
.alert{
  font-weight:var(--pc-weight-medium)!important;
}

.btn-primary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info{
  font-weight:var(--pc-weight-medium)!important;
}

/* Tables and calendar */
.table th,
.pc-responsive-table td:before,
.pc-med-table td::before,
.fc .fc-toolbar-title,
.fc .fc-col-header-cell-cushion,
.fc .fc-daygrid-day-number,
.fc-event{
  font-weight:var(--pc-weight-medium)!important;
}

.fc .fc-toolbar-title{
  letter-spacing:-.025em!important;
}

.pc-calendar-card__time,
.pc-calendar-card__name,
.pc-calendar-day__title,
.pc-slot-time,
.pc-calendar-empty strong,
.pc-appointment-drawer__title,
.pc-appointment-modal__title{
  font-weight:var(--pc-weight-semibold)!important;
}

.pc-calendar-card__meta,
.pc-calendar-empty span,
.pc-slot-caption{
  font-weight:var(--pc-weight-regular)!important;
}

/* Medical records and patient pages */
.pc-med-badge,
.pc-patient-badge,
.pc-risk-badge,
.pc-privacy-badge,
.pc-med-form-card strong,
.pc-photo-card strong,
.pc-upload-zone strong,
.pc-empty-value,
.pc-empty-state h3{
  font-weight:var(--pc-weight-semibold)!important;
}

.pc-med-form-card span,
.pc-upload-zone span,
.pc-empty-state p{
  font-weight:var(--pc-weight-regular)!important;
}

/* Avoid fake ultra-bold from old pages/components */
strong,
b{
  font-weight:var(--pc-weight-semibold);
}

small,
.text-muted,
.pc-muted{
  font-weight:var(--pc-weight-regular)!important;
}

@media (max-width: 768px){
  h1,.h1,.pc-ref-hero h1,.pc-page-title{font-weight:var(--pc-weight-semibold)!important;letter-spacing:-.03em!important;}
  .pc-nav__item{font-weight:var(--pc-weight-medium)!important;}
}


/* ===== Laconic visual layer integrated ===== */

/* =========================================================
   PODOCLICK LACONIC POLISH — lighter, quieter interface
   Цель: ещё более тонкая типографика и спокойный премиальный SaaS.
   Загружается последним и мягко перекрывает тяжёлые старые веса/тени.
   ========================================================= */
:root{
  --pc-weight-regular:400;
  --pc-weight-medium:500;
  --pc-weight-semibold:560;
  --pc-weight-bold:600;
  --pc-shell-text:#111827;
  --pc-shell-muted:#5f6f85;
  --pc-shell-muted-2:#8b98aa;
  --pc-shell-border:#e8ebf2;
  --pc-shell-border-soft:#f0f2f7;
  --pc-shell-shadow:0 10px 28px rgba(15,23,42,.045);
  --pc-shell-shadow-soft:0 4px 14px rgba(15,23,42,.045);
  --shadow-soft:0 10px 28px rgba(15,23,42,.045);
  --shadow-card:0 4px 14px rgba(15,23,42,.045);
}

html,body{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-weight:400!important;
  letter-spacing:-.006em!important;
  color:var(--pc-shell-text)!important;
}
body.pc-app,body.pc-public{
  background:
    radial-gradient(circle at 12% -8%,rgba(108,77,246,.045),transparent 34rem),
    radial-gradient(circle at 94% 0,rgba(139,92,246,.035),transparent 32rem),
    #f9fbff!important;
}

/* Типографика: без тяжёлого визуального веса */
h1,.h1,.pc-ref-hero h1,.pc-page-title,.page-title,main h1:first-child{
  font-weight:600!important;
  letter-spacing:-.032em!important;
  line-height:1.12!important;
}
h2,.h2,.pc-ref-card-head h2,.pc-card__title,.modal-title{
  font-weight:560!important;
  letter-spacing:-.022em!important;
}
h3,.h3,h4,.h4,h5,.h5,h6,.h6,.card-title,
.pc-form-section__head h2,.pc-med-section__title,.pc-patient-profile__name,
.pc-patient-card__name,.pc-calendar-title{
  font-weight:560!important;
  letter-spacing:-.016em!important;
}
.pc-main h1,.pc-main h2,.pc-main h3,.pc-main h4,.pc-main h5,.pc-main h6{
  font-weight:560!important;
  letter-spacing:-.024em!important;
}
strong,b{font-weight:560!important;}
small,.text-muted,.pc-muted{font-weight:400!important;color:#64748b!important;}

/* Sidebar/topbar: тоньше, спокойнее */
.pc-sidebar{
  box-shadow:6px 0 30px rgba(15,23,42,.026)!important;
  border-right-color:#eef1f6!important;
}
.pc-brand__icon{
  background:#fff!important;
  box-shadow:0 8px 18px rgba(108,77,246,.10)!important;
  border:1px solid #eee9ff!important;
}
.pc-brand__text{
  font-weight:600!important;
  letter-spacing:-.035em!important;
  font-size:1.22rem!important;
}
.pc-nav{gap:17px!important;}
.pc-nav__section-title,.pc-dropdown-title{
  font-weight:500!important;
  color:#8a98aa!important;
  letter-spacing:.052em!important;
}
.pc-nav__item{
  font-weight:500!important;
  color:#27364d!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:11px!important;
  letter-spacing:-.004em!important;
}
.pc-nav__item i{color:#738195!important;font-size:1rem!important;}
.pc-nav__item.active{
  font-weight:500!important;
  background:#f2efff!important;
  box-shadow:none!important;
}
.pc-nav__item:hover{transform:none!important;background:#f7f5ff!important;}
.pc-sidebar__support{
  background:#faf9ff!important;
  box-shadow:none!important;
  border-color:#eee9ff!important;
}
.pc-sidebar__support strong,
.pc-sidebar__support span,
.pc-version{
  font-weight:400!important;
}
.pc-sidebar__support strong{font-weight:500!important;}
.pc-topbar{
  min-height:70px!important;
  padding:11px 26px!important;
  background:rgba(255,255,255,.94)!important;
}
.pc-clinic-selector__button{
  font-weight:400!important;
  min-height:44px!important;
  border-color:#e9edf4!important;
  box-shadow:0 3px 10px rgba(15,23,42,.025)!important;
}
.pc-clinic-menu__item strong,.pc-clinic-menu__item small,
.pc-user-menu__text strong,.pc-user-menu__text span,
.pc-page-context strong,.pc-mobile-clinic-card strong,.pc-mobile-clinic-card span{
  font-weight:400!important;
}
.pc-user-menu__text strong,.pc-page-context strong,.pc-mobile-clinic-card strong{font-weight:500!important;}
.pc-notification-btn,.pc-icon-btn{
  box-shadow:none!important;
  border-color:#e9edf4!important;
}
.pc-notification-badge,.pc-avatar{
  font-weight:500!important;
}
.pc-avatar{
  background:#f6f3ff!important;
  box-shadow:none!important;
}

/* Карточки и поверхности: меньше визуального шума */
.card,.modal-content,.list-group-item,.dropdown-menu,
.pc-card,.pc-form-section,.pc-info-tile,.pc-ref-card,
.pc-ref-stat-card,.pc-branch-card,.pc-patient-card,
.pc-patient-profile,.pc-med-section,.pc-med-form-card,
.pc-calendar-panel,.pc-calendar-day,.pc-appointment-drawer,
.pc-network-card,.pc-page-card{
  border-color:#edf0f6!important;
  box-shadow:0 5px 18px rgba(15,23,42,.045)!important;
}
.card-header,.card-footer{
  background:#fff!important;
  font-weight:500!important;
}
.card-body{padding:1.15rem!important;}
.pc-card__title,.pc-form-section__head h2,.pc-med-section__title{
  font-weight:560!important;
}
.pc-page-subtitle,.pc-card__subtitle,.pc-form-section__head p{
  color:#64748b!important;
  font-weight:400!important;
}

/* Dashboard metrics: цифры читаемые, но без массивности */
.pc-ref-stat-card p,.pc-ref-stat-card small{font-weight:400!important;color:#64748b!important;}
.pc-ref-stat-card strong,.stat-value,.stats-number,.metric-number,
.network-metrics strong,.pc-stats-list__item strong,.pc-info-tile strong{
  font-weight:600!important;
  letter-spacing:-.032em!important;
}
.pc-ref-card-head h2{font-weight:560!important;}
.pc-ref-card-head a{font-weight:500!important;}
.pc-specialist-main strong,.pc-specialist-row b,
.pc-ref-appointment-row time,.pc-ref-appointment-main strong,
.pc-service-row strong,.pc-service-row b,
.pc-chart-toolbar span,.pc-chart-toolbar strong{
  font-weight:500!important;
}
.pc-mini-avatar{
  font-weight:500!important;
  background:#f6f3ff!important;
}
.pc-ref-appointment-row em,.badge,.status-badge,.label,.chip,
.pc-med-badge,.pc-patient-badge,.pc-risk-badge,.pc-privacy-badge{
  font-weight:500!important;
  letter-spacing:0!important;
}

/* Forms/buttons: спокойнее, но с хорошей видимостью */
.btn,button,input[type="submit"],input[type="button"],.dropdown-item{
  font-weight:500!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}
.btn:hover,button:hover,input[type="submit"]:hover,input[type="button"]:hover{transform:none!important;}
.btn-primary{
  background:#6c4df6!important;
  border-color:#6c4df6!important;
}
.btn-secondary{background:#475569!important;border-color:#475569!important;}
.btn-outline-primary{font-weight:500!important;}
.form-label,label,.form-check-label,legend,.input-group-text,.invalid-feedback,.required::after{
  font-weight:500!important;
}
.form-control,.form-select,textarea,select,
input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="date"],input[type="time"],input[type="number"],input[type="search"]{
  font-weight:400!important;
  border-width:1px!important;
  border-color:#e3e8f0!important;
  min-height:42px!important;
}
.form-check-input,input[type="checkbox"],input[type="radio"]{
  border-width:1.5px!important;
  border-color:#64748b!important;
}

/* Таблицы/списки */
.table th,.pc-responsive-table td:before,.pc-med-table td::before{
  font-weight:500!important;
  color:#64748b!important;
  letter-spacing:.035em!important;
}
.table td,.table a,.pc-info-row dt,.pc-info-row dd,
.pc-visit-date,.pc-visit-time,.pc-visit-title{
  font-weight:400!important;
}
.table a,.pc-visit-title{font-weight:500!important;}

/* Calendar/patients/medical modules */
.pc-calendar-card__time,.pc-calendar-card__name,.pc-calendar-day__title,
.pc-slot-time,.pc-calendar-empty strong,.pc-appointment-drawer__title,
.pc-appointment-modal__title,.pc-patient-card__name,.pc-patient-profile__name,
.pc-medical-note__item strong,.pc-photo-card strong,.pc-upload-zone strong,
.pc-empty-state h3{
  font-weight:560!important;
}
.pc-calendar-card__meta,.pc-calendar-empty span,.pc-slot-caption,
.pc-med-form-card span,.pc-upload-zone span,.pc-empty-state p{
  font-weight:400!important;
}
.pc-med-table td::before,.pc-responsive-table td:before{font-weight:500!important;}

/* Мобильное меню как на референсе, но менее тяжёлое */
@media (max-width: 992px){
  .pc-sidebar{
    box-shadow:0 28px 70px rgba(15,23,42,.14)!important;
  }
  .pc-sidebar__brand:before{
    font-weight:560!important;
    letter-spacing:-.02em!important;
  }
  .pc-mobile-clinic-card{
    box-shadow:none!important;
  }
  .pc-mobile-clinic-card__action{font-weight:500!important;}
}
@media (max-width: 768px){
  h1,.h1,.pc-ref-hero h1,.pc-page-title{font-weight:600!important;}
  .pc-main{padding:18px 14px 24px!important;}
}


/* ===== Minimal visual layer integrated ===== */

/* =========================================================
   PODOCLICK WORLD-CLASS MINIMAL POLISH
   Финальный лаконичный слой: спокойная типографика, меньше декора,
   больше воздуха и премиальный SaaS-ритм в духе Linear/Stripe/Doctolib.
   Загружается самым последним.
   ========================================================= */
:root{
  --pc-primary:#6C4DF6;
  --pc-primary-600:#5A3FE0;
  --pc-primary-soft:#F4F1FF;
  --pc-primary-soft-2:#FAF9FF;
  --pc-bg:#FAFBFE;
  --pc-surface:#FFFFFF;
  --pc-surface-soft:#FCFDFF;
  --pc-text:#0F172A;
  --pc-text-2:#334155;
  --pc-muted:#64748B;
  --pc-muted-2:#94A3B8;
  --pc-border:#EEF1F6;
  --pc-border-strong:#E3E8F0;
  --pc-shadow-xs:0 1px 2px rgba(15,23,42,.035);
  --pc-shadow-sm:0 6px 18px rgba(15,23,42,.04);
  --pc-shadow-md:0 14px 36px rgba(15,23,42,.055);
  --pc-radius:16px;
  --pc-radius-lg:20px;
}

html,body{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:-.012em!important;
  color:var(--pc-text)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.pc-app{
  background:var(--pc-bg)!important;
}
body.pc-public{
  background:#fff!important;
}

/* Typography scale: меньше тяжести, больше editorial-аккуратности */
h1,.h1,.pc-ref-hero h1,.pc-page-title,main h1:first-child{
  font-size:clamp(1.65rem,2.3vw,2.05rem)!important;
  font-weight:560!important;
  line-height:1.14!important;
  letter-spacing:-.045em!important;
  color:#0B1220!important;
}
h2,.h2,.pc-ref-card-head h2,.pc-card__title,.modal-title{
  font-size:clamp(1.18rem,1.55vw,1.38rem)!important;
  font-weight:540!important;
  line-height:1.22!important;
  letter-spacing:-.032em!important;
  color:#111827!important;
}
h3,.h3,h4,.h4,h5,.h5,h6,.h6,.card-title,
.pc-form-section__head h2,.pc-med-section__title,.pc-calendar-title,
.pc-patient-profile__name,.pc-patient-card__name{
  font-weight:520!important;
  letter-spacing:-.024em!important;
  color:#111827!important;
}
p,li,td,dd,.pc-page-subtitle,.pc-card__subtitle,.pc-form-section__head p{
  color:var(--pc-text-2)!important;
}
small,.small,.text-muted,.pc-muted,.pc-page-subtitle,.pc-card__subtitle{
  color:var(--pc-muted)!important;
  font-weight:400!important;
}
strong,b{font-weight:520!important;}

/* Global surfaces */
.card,.pc-card,.pc-page-card,.pc-ref-card,.pc-ref-stat-card,.pc-network-card,
.pc-branch-card,.pc-patient-card,.pc-patient-profile,.pc-med-section,.pc-med-form-card,
.pc-form-section,.pc-info-tile,.pc-calendar-panel,.pc-calendar-day,.modal-content,.dropdown-menu{
  background:var(--pc-surface)!important;
  border:1px solid var(--pc-border)!important;
  border-radius:var(--pc-radius-lg)!important;
  box-shadow:var(--pc-shadow-sm)!important;
}
.card:hover,.pc-card:hover,.pc-ref-card:hover,.pc-ref-stat-card:hover,.pc-network-card:hover,
.pc-branch-card:hover,.pc-patient-card:hover,.pc-calendar-day:hover{
  transform:none!important;
  box-shadow:var(--pc-shadow-sm)!important;
}
.card-header,.card-footer,.modal-header,.modal-footer{
  background:#fff!important;
  border-color:var(--pc-border)!important;
}
hr,.dropdown-divider{border-color:var(--pc-border)!important;opacity:1!important;}

/* Shell: sidebar/topbar становятся легче */
.pc-sidebar{
  width:258px!important;
  background:#fff!important;
  border-right:1px solid var(--pc-border)!important;
  box-shadow:none!important;
  padding:22px 14px 16px!important;
}
.pc-app-frame{margin-left:258px!important;}
.pc-main{padding:28px 30px 34px!important;}
.pc-topbar{
  min-height:68px!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px)!important;
  border-bottom:1px solid var(--pc-border)!important;
  box-shadow:none!important;
  padding:10px 28px!important;
}
.pc-brand{gap:10px!important;}
.pc-brand__icon{
  width:34px!important;
  height:34px!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
}
.pc-brand__icon img{width:30px!important;height:30px!important;object-fit:contain!important;}
.pc-brand__text{
  font-size:1.18rem!important;
  font-weight:560!important;
  letter-spacing:-.04em!important;
  color:var(--pc-primary)!important;
}
.pc-nav{gap:18px!important;margin-top:18px!important;}
.pc-nav__section-title{
  margin:0 13px 6px!important;
  color:#98A2B3!important;
  font-size:.68rem!important;
  font-weight:500!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.pc-nav__item{
  min-height:40px!important;
  padding:8px 12px!important;
  gap:12px!important;
  border-radius:10px!important;
  color:#253047!important;
  font-size:.94rem!important;
  font-weight:450!important;
  letter-spacing:-.012em!important;
  border:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
.pc-nav__item i{
  width:18px!important;
  min-width:18px!important;
  font-size:.98rem!important;
  color:#75839A!important;
  opacity:.96!important;
}
.pc-nav__item:hover{
  background:#F8F7FF!important;
  color:#1F2937!important;
  border-color:#F0ECFF!important;
}
.pc-nav__item:hover i{color:var(--pc-primary)!important;}
.pc-nav__item.active{
  background:#F3F0FF!important;
  color:var(--pc-primary)!important;
  border-color:#EAE3FF!important;
  font-weight:500!important;
  box-shadow:none!important;
}
.pc-nav__item.active i{color:var(--pc-primary)!important;}
.pc-sidebar__support{
  background:#FBFAFF!important;
  border:1px solid #F0ECFF!important;
  border-radius:16px!important;
  padding:13px 14px!important;
  box-shadow:none!important;
}
.pc-sidebar__support strong{font-size:.86rem!important;font-weight:500!important;color:#4F46E5!important;}
.pc-sidebar__support span,.pc-version{font-size:.78rem!important;color:#8B98AA!important;font-weight:400!important;}
.pc-help-icon{background:#fff!important;border:1px solid #EEE9FF!important;color:var(--pc-primary)!important;box-shadow:none!important;}

/* Topbar controls */
.pc-clinic-selector__button{
  min-height:42px!important;
  padding:8px 13px!important;
  border:1px solid var(--pc-border-strong)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:var(--pc-shadow-xs)!important;
  font-size:.92rem!important;
  font-weight:450!important;
  color:#1E293B!important;
}
.pc-clinic-selector__icon{
  width:28px!important;height:28px!important;
  background:#F8FAFC!important;
  color:#64748B!important;
  border:1px solid #EEF2F7!important;
}
.pc-notification-btn,.pc-icon-btn{
  width:38px!important;
  height:38px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:#64748B!important;
  box-shadow:none!important;
}
.pc-notification-btn:hover,.pc-icon-btn:hover{
  background:#F8F7FF!important;
  border-color:#F0ECFF!important;
  color:var(--pc-primary)!important;
}
.pc-notification-badge{
  font-size:.68rem!important;
  font-weight:600!important;
  border:2px solid #fff!important;
}
.pc-user-menu{gap:10px!important;}
.pc-user-menu__text strong{font-size:.9rem!important;font-weight:520!important;color:#111827!important;}
.pc-user-menu__text span{font-size:.76rem!important;font-weight:400!important;color:#64748B!important;}
.pc-avatar{
  width:36px!important;height:36px!important;
  background:#F6F3FF!important;
  color:#5B45DE!important;
  border:1px solid #EEE9FF!important;
  box-shadow:none!important;
  font-weight:520!important;
}

/* Dashboard: premium calm */
.pc-ref-hero{margin-bottom:22px!important;}
.pc-ref-hero h1{margin-bottom:8px!important;}
.pc-ref-hero p{font-size:1rem!important;color:#5F6B7A!important;}
.pc-ref-stats{gap:16px!important;}
.pc-ref-stat-card{
  padding:18px 20px!important;
  min-height:126px!important;
}
.pc-ref-stat-card .pc-stat-icon,.pc-stat-icon{
  width:44px!important;height:44px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.pc-ref-stat-card p{font-size:.9rem!important;color:#64748B!important;margin-bottom:7px!important;}
.pc-ref-stat-card strong,.stat-value,.stats-number,.metric-number{
  font-size:clamp(1.42rem,2vw,1.72rem)!important;
  font-weight:560!important;
  letter-spacing:-.045em!important;
  color:#0F172A!important;
}
.pc-ref-stat-card small{font-size:.82rem!important;font-weight:400!important;}
.pc-ref-card,.pc-network-card{padding:20px 22px!important;}
.pc-ref-card-head{margin-bottom:16px!important;}
.pc-ref-card-head h2{font-size:1.08rem!important;font-weight:540!important;}
.pc-specialist-row,.pc-ref-appointment-row,.pc-service-row{
  padding:10px 0!important;
}
.pc-progress,.progress{height:5px!important;background:#EFF2F7!important;border-radius:999px!important;box-shadow:none!important;}
.pc-progress__bar,.progress-bar{border-radius:999px!important;box-shadow:none!important;}
.pc-mini-avatar{box-shadow:none!important;border:1px solid #EEF1F6!important;}

/* Buttons/forms: меньше “button chrome”, больше продукта */
.btn,.pc-btn,button[type="submit"],input[type="submit"]{
  border-radius:11px!important;
  min-height:40px!important;
  padding:.52rem .88rem!important;
  font-size:.92rem!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
  box-shadow:none!important;
}
.btn-primary,.pc-btn-primary{
  background:var(--pc-primary)!important;
  border-color:var(--pc-primary)!important;
  color:#fff!important;
}
.btn-primary:hover,.pc-btn-primary:hover{background:var(--pc-primary-600)!important;border-color:var(--pc-primary-600)!important;}
.btn-outline-primary,.btn-light,.btn-outline-secondary,.pc-btn-secondary{
  background:#fff!important;
  border-color:var(--pc-border-strong)!important;
  color:#1E293B!important;
}
.btn-outline-primary:hover,.btn-light:hover,.btn-outline-secondary:hover,.pc-btn-secondary:hover{
  background:#F8F7FF!important;
  border-color:#DED6FF!important;
  color:var(--pc-primary)!important;
}
.form-label,label,.form-check-label{
  color:#334155!important;
  font-size:.9rem!important;
  font-weight:500!important;
}
.form-control,.form-select,textarea,select,
input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="date"],input[type="time"],input[type="number"],input[type="search"]{
  min-height:42px!important;
  border-radius:11px!important;
  border:1px solid var(--pc-border-strong)!important;
  background:#fff!important;
  color:#111827!important;
  font-size:.93rem!important;
  font-weight:400!important;
  box-shadow:none!important;
}
.form-control:focus,.form-select:focus,textarea:focus,select:focus,
input:focus{
  border-color:#B9AAFF!important;
  box-shadow:0 0 0 3px rgba(108,77,246,.10)!important;
}
.form-check-input,input[type="checkbox"],input[type="radio"]{
  width:1.08rem!important;height:1.08rem!important;
  border:1.5px solid #667085!important;
  box-shadow:none!important;
}
.form-check-input:checked,input[type="checkbox"]:checked,input[type="radio"]:checked{
  background-color:var(--pc-primary)!important;
  border-color:var(--pc-primary)!important;
}

/* Tables/lists */
.table{font-size:.92rem!important;color:#1E293B!important;}
.table thead th,.pc-responsive-table th{
  background:#FBFCFF!important;
  color:#6B7688!important;
  font-size:.72rem!important;
  font-weight:520!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  border-bottom:1px solid var(--pc-border)!important;
}
.table td,.table th{padding:.76rem .85rem!important;border-color:var(--pc-border)!important;}
.table tbody tr:hover{background:#FBFAFF!important;}
.badge,.status-badge,.pc-patient-badge,.pc-med-badge,.pc-risk-badge,.chip{
  border-radius:999px!important;
  font-size:.74rem!important;
  font-weight:500!important;
  padding:.28rem .56rem!important;
  box-shadow:none!important;
}

/* Calendar / patient / medical: calmer cards */
.pc-calendar-card,.pc-slot-card,.pc-appointment-card,.pc-patient-card,.pc-med-card,
.pc-photo-card,.pc-upload-zone{
  border-color:var(--pc-border)!important;
  box-shadow:none!important;
}
.pc-calendar-card__time,.pc-calendar-card__name,.pc-patient-card__name,
.pc-patient-profile__name,.pc-med-section__title,.pc-upload-zone strong{
  font-weight:520!important;
  letter-spacing:-.024em!important;
}
.pc-calendar-card__meta,.pc-patient-card__meta,.pc-med-hint,.pc-upload-zone span{
  color:#64748B!important;
  font-weight:400!important;
}
.pc-empty-state{
  background:#fff!important;
  border:1px dashed #DDE3ED!important;
  box-shadow:none!important;
}
.pc-empty-state h3{font-weight:520!important;}

/* Alerts/dropdowns/modals */
.alert{
  border-radius:14px!important;
  border-width:1px!important;
  box-shadow:var(--pc-shadow-xs)!important;
  font-weight:400!important;
}
.dropdown-menu{padding:8px!important;}
.dropdown-item{border-radius:10px!important;font-weight:450!important;font-size:.92rem!important;}
.dropdown-item:hover{background:#F8F7FF!important;color:var(--pc-primary)!important;}
.modal-content{box-shadow:var(--pc-shadow-md)!important;}

/* Mobile: cleaner reference panel */
@media (max-width: 992px){
  .pc-app-frame{margin-left:0!important;}
  .pc-sidebar{
    width:min(92vw,390px)!important;
    padding:18px 14px 16px!important;
    border-radius:0 24px 24px 0!important;
    box-shadow:0 24px 70px rgba(15,23,42,.16)!important;
  }
  .pc-topbar{padding:9px 14px!important;min-height:62px!important;}
  .pc-main{padding:20px 14px 28px!important;}
  .pc-mobile-clinic-card{
    background:linear-gradient(135deg,#6C4DF6 0%,#8B5CF6 100%)!important;
    border:0!important;
    border-radius:18px!important;
    box-shadow:none!important;
    padding:16px!important;
  }
  .pc-mobile-clinic-card strong{font-weight:520!important;}
  .pc-mobile-clinic-card span{font-weight:400!important;opacity:.88!important;}
}
@media (max-width: 768px){
  html,body{font-size:14.5px!important;}
  .pc-ref-stats,.pc-dashboard-grid,.pc-network-grid{gap:12px!important;}
  .pc-ref-stat-card,.pc-ref-card,.pc-network-card,.card,.pc-card{border-radius:16px!important;padding:16px!important;}
  .btn,.pc-btn{min-height:42px!important;}
  .table td,.table th{padding:.7rem!important;}
}

/* Reduce motion unless useful */
*,*::before,*::after{transition-duration:.16s!important;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}

/* =========================================================
   STAGE 3.3.2 SPATIAL POLISH — compact controls and safe rhythm
   Исправляет слипание кнопок/иконок, чрезмерный размер controls и мобильную плотность.
   ========================================================= */
.pc-main .card-header,
.pc-main .modal-header,
.pc-main .modal-footer{
  gap:10px 12px!important;
}
.pc-main .card-header{
  min-height:unset!important;
  padding:14px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
}
.pc-main .card-header h1,
.pc-main .card-header h2,
.pc-main .card-header h3,
.pc-main .card-header h4,
.pc-main .card-header h5,
.pc-main .card-header h6{
  margin:0!important;
  line-height:1.22!important;
  min-width:0!important;
}
.pc-toolbar,
.pc-page-actions,
.pc-row-actions,
.pc-table-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
.pc-toolbar--compact,
.pc-row-actions--compact{
  gap:6px!important;
}
.pc-main .btn,
.pc-main button.btn,
.pc-main a.btn,
.pc-main input[type="submit"],
.pc-main input[type="button"]{
  min-height:36px!important;
  padding:.43rem .72rem!important;
  border-radius:10px!important;
  font-size:.88rem!important;
  line-height:1.18!important;
  font-weight:500!important;
  letter-spacing:-.004em!important;
  white-space:normal!important;
  box-shadow:none!important;
}
.pc-main .btn-sm,
.pc-main button.btn-sm,
.pc-main a.btn-sm{
  min-height:32px!important;
  padding:.33rem .55rem!important;
  border-radius:9px!important;
  font-size:.82rem!important;
  gap:.32rem!important;
}
.pc-main .btn-lg,
.pc-main button.btn-lg,
.pc-main a.btn-lg{
  min-height:44px!important;
  padding:.62rem .96rem!important;
  border-radius:12px!important;
  font-size:.94rem!important;
}
.pc-main .card-header .btn{
  flex:0 1 auto!important;
  max-width:100%!important;
}
.pc-main .btn i{
  line-height:1!important;
  flex:0 0 auto!important;
  font-size:.95em!important;
}
.pc-main .btn .badge{
  flex:0 0 auto!important;
  margin-top:-1px!important;
}
.pc-icon-action,
.pc-row-actions .pc-icon-action,
.pc-main .btn.pc-icon-action{
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  border-radius:9px!important;
  display:inline-grid!important;
  place-items:center!important;
  gap:0!important;
  flex:0 0 32px!important;
}
.pc-icon-action i{
  margin:0!important;
  font-size:.88rem!important;
}
.pc-action-cell{
  white-space:nowrap!important;
  width:1%!important;
  min-width:76px!important;
  vertical-align:middle!important;
}
.pc-action-cell .pc-row-actions{
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
}
.pc-main .table td,
.pc-main .table th{
  vertical-align:middle!important;
}
.pc-main .table td:last-child .btn + .btn{
  margin-left:0!important;
}
.pc-main .table-responsive{
  border-radius:16px!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.pc-main .table{
  table-layout:auto!important;
}
.pc-main .badge{
  min-height:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.privacy-switch{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:32px!important;
  margin:0!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.privacy-switch input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  flex:0 0 18px!important;
}
.privacy-switch span{
  display:none!important;
}
.privacy-switch em{
  color:#334155!important;
  font-style:normal!important;
  font-size:.86rem!important;
  font-weight:500!important;
  line-height:1!important;
}
.pc-staff-page{
  max-width:1400px!important;
  margin:16px auto!important;
}
.pc-staff-page .card{
  overflow:hidden!important;
}
.pc-staff-page .card-header{
  align-items:flex-start!important;
}
.pc-staff-page .card-header h5{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding-top:4px!important;
  font-size:1rem!important;
}
.pc-staff-page .card-header h5 i{
  color:#334155!important;
  font-size:.98rem!important;
}
.pc-staff-page .table th,
.pc-staff-page .table td{
  padding:.68rem .78rem!important;
}
.pc-staff-page .table td:first-child{
  min-width:128px!important;
}
.pc-staff-page .table td:nth-child(4){
  min-width:106px!important;
}
.pc-staff-page .btn-outline-info{
  color:#2563eb!important;
  border-color:#bfdbfe!important;
  background:#fff!important;
}
.pc-staff-page .btn-outline-info:hover{
  color:#1d4ed8!important;
  background:#eff6ff!important;
  border-color:#93c5fd!important;
}
.pc-staff-page .btn-outline-warning{
  color:#a16207!important;
  border-color:#fde68a!important;
  background:#fff!important;
}
.pc-staff-page .btn-outline-warning:hover{
  color:#92400e!important;
  background:#fffbeb!important;
  border-color:#fcd34d!important;
}
.pc-staff-page .btn-outline-danger{
  color:#dc2626!important;
  border-color:#fecaca!important;
  background:#fff!important;
}
.pc-staff-page .btn-outline-danger:hover{
  color:#b91c1c!important;
  background:#fef2f2!important;
  border-color:#fca5a5!important;
}
.pc-staff-page .btn-outline-primary{
  color:#5a3fe0!important;
  border-color:#ddd6fe!important;
  background:#fff!important;
}
.pc-staff-page .btn-outline-primary:hover{
  color:#5a3fe0!important;
  background:#f5f3ff!important;
  border-color:#c4b5fd!important;
}
@media (max-width: 1200px){
  .pc-main .card-header{
    align-items:flex-start!important;
  }
  .pc-toolbar{
    justify-content:flex-start!important;
  }
}
@media (max-width: 768px){
  .pc-main .card-header{
    padding:13px 14px!important;
    gap:10px!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .pc-main .card-header .pc-toolbar,
  .pc-main .card-header .pc-page-actions{
    width:100%!important;
  }
  .pc-main .card-header .pc-toolbar .btn,
  .pc-main .card-header .pc-page-actions .btn{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .pc-main .btn,
  .pc-main button.btn,
  .pc-main a.btn{
    min-height:38px!important;
    padding:.46rem .68rem!important;
    font-size:.87rem!important;
  }
  .pc-main .btn-sm,
  .pc-main a.btn-sm,
  .pc-main button.btn-sm{
    min-height:34px!important;
    padding:.36rem .52rem!important;
  }
  .pc-icon-action,
  .pc-main .btn.pc-icon-action{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    flex-basis:34px!important;
  }
  .pc-action-cell{
    min-width:82px!important;
  }
  .pc-staff-page{
    margin:8px auto!important;
  }
  .pc-staff-page > .d-flex:first-child{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .pc-staff-page > .d-flex:first-child .btn{
    width:100%!important;
  }
  .privacy-policy-card .card-body{
    flex-direction:column!important;
  }
}
@media (max-width: 420px){
  .pc-main .card-header .pc-toolbar{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .pc-main .card-header .pc-toolbar .btn{
    width:100%!important;
  }
  .pc-row-actions--compact{
    gap:5px!important;
  }
}

/* =========================================================
   STAGE 3.3.2 — COMPLETE UI CONTROL UNIFICATION
   Единый слой кнопок, иконок, action-групп, календаря и мобильных состояний.
   ========================================================= */
:root{
  --pc-control-height: 36px;
  --pc-control-height-sm: 32px;
  --pc-control-height-lg: 42px;
  --pc-control-radius: 10px;
  --pc-control-gap: 8px;
  --pc-control-icon: 32px;
  --pc-control-icon-sm: 30px;
  --pc-control-border: #D8DEE8;
  --pc-control-border-hover: #C8D0DD;
  --pc-control-text: #27364D;
  --pc-control-muted: #64748B;
  --pc-control-shadow: 0 1px 2px rgba(15,23,42,.035);
}

/* Унифицированная геометрия кнопок */
.pc-app .pc-main .btn,
.pc-app .modal .btn,
.pc-app .dropdown-menu .btn,
.pc-app .pc-btn,
.pc-app button.btn,
.pc-app a.btn,
.pc-app input[type="submit"].btn,
.pc-app input[type="button"].btn{
  min-height:var(--pc-control-height)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.42rem!important;
  padding:.43rem .72rem!important;
  border-radius:var(--pc-control-radius)!important;
  font-size:.875rem!important;
  line-height:1.15!important;
  font-weight:500!important;
  letter-spacing:-.006em!important;
  white-space:nowrap!important;
  box-shadow:var(--pc-control-shadow)!important;
  text-decoration:none!important;
  vertical-align:middle!important;
}
.pc-app .pc-main .btn-sm,
.pc-app .modal .btn-sm,
.pc-app button.btn-sm,
.pc-app a.btn-sm{
  min-height:var(--pc-control-height-sm)!important;
  padding:.34rem .56rem!important;
  border-radius:9px!important;
  font-size:.82rem!important;
  gap:.34rem!important;
}
.pc-app .pc-main .btn-lg,
.pc-app .modal .btn-lg,
.pc-app button.btn-lg,
.pc-app a.btn-lg{
  min-height:var(--pc-control-height-lg)!important;
  padding:.56rem .9rem!important;
  border-radius:12px!important;
  font-size:.92rem!important;
}
.pc-app .btn i,
.pc-app .btn .fa,
.pc-app .btn .fas,
.pc-app .btn .far,
.pc-app .btn .fa-solid,
.pc-app .btn .fa-regular{
  width:1em!important;
  min-width:1em!important;
  height:1em!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:0!important;
  margin-right:0!important;
  line-height:1!important;
  font-size:.95em!important;
  opacity:.92!important;
}
.pc-app .btn .me-1,
.pc-app .btn .me-2,
.pc-app .btn .ms-1,
.pc-app .btn .ms-2{margin:0!important;}

/* Цвета кнопок: единый спокойный продуктовый стиль */
.pc-app .btn-primary,
.pc-app .pc-btn-primary{
  background:#6C4DF6!important;
  border-color:#6C4DF6!important;
  color:#fff!important;
}
.pc-app .btn-primary:hover,
.pc-app .btn-primary:focus,
.pc-app .pc-btn-primary:hover,
.pc-app .pc-btn-primary:focus{
  background:#5A3FE0!important;
  border-color:#5A3FE0!important;
  color:#fff!important;
}
.pc-app .btn-secondary,
.pc-app .btn-light,
.pc-app .btn-outline-secondary,
.pc-app .pc-btn-secondary{
  background:#fff!important;
  border:1px solid var(--pc-control-border)!important;
  color:var(--pc-control-text)!important;
}
.pc-app .btn-secondary:hover,
.pc-app .btn-light:hover,
.pc-app .btn-outline-secondary:hover,
.pc-app .pc-btn-secondary:hover{
  background:#F8FAFC!important;
  border-color:var(--pc-control-border-hover)!important;
  color:#111827!important;
}
.pc-app .btn-outline-primary{
  background:#fff!important;
  border:1px solid #DCD5FF!important;
  color:#5A3FE0!important;
}
.pc-app .btn-outline-primary:hover,
.pc-app .btn-outline-primary:focus{
  background:#F4F1FF!important;
  border-color:#C8BCFF!important;
  color:#4F39D4!important;
}
.pc-app .btn-success,
.pc-app .btn-outline-success{
  background:#fff!important;
  border:1px solid #B7E4C7!important;
  color:#15803D!important;
}
.pc-app .btn-success:hover,
.pc-app .btn-outline-success:hover{
  background:#F0FDF4!important;
  border-color:#86D9A3!important;
  color:#166534!important;
}
.pc-app .btn-danger,
.pc-app .btn-outline-danger{
  background:#fff!important;
  border:1px solid #F4B4B4!important;
  color:#B91C1C!important;
}
.pc-app .btn-danger:hover,
.pc-app .btn-outline-danger:hover{
  background:#FEF2F2!important;
  border-color:#FCA5A5!important;
  color:#991B1B!important;
}
.pc-app .btn-warning,
.pc-app .btn-outline-warning{
  background:#fff!important;
  border:1px solid #F6D58B!important;
  color:#92400E!important;
}
.pc-app .btn-warning:hover,
.pc-app .btn-outline-warning:hover{
  background:#FFFBEB!important;
  border-color:#FCD34D!important;
  color:#78350F!important;
}
.pc-app .btn-info,
.pc-app .btn-outline-info{
  background:#fff!important;
  border:1px solid #BFDBFE!important;
  color:#1D4ED8!important;
}
.pc-app .btn-info:hover,
.pc-app .btn-outline-info:hover{
  background:#EFF6FF!important;
  border-color:#93C5FD!important;
  color:#1E40AF!important;
}
.pc-app .btn:disabled,
.pc-app .btn.disabled,
.pc-app button:disabled{
  opacity:.52!important;
  transform:none!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

/* Action rows: одинаковые интервалы, никакого слипания */
.pc-js-action-row,
.pc-page-actions,
.pc-card__actions,
.pc-card-actions,
.pc-toolbar,
.pc-row-actions,
.pc-table-actions,
.pc-form-actions,
.pc-calendar-actions,
.pc-appointment-actions,
.pc-modal-actions,
.modal-footer,
.card-footer{
  display:flex!important;
  align-items:center!important;
  gap:var(--pc-control-gap)!important;
  flex-wrap:wrap!important;
}
.pc-js-action-row > .btn,
.pc-page-actions > .btn,
.pc-card__actions > .btn,
.pc-card-actions > .btn,
.pc-toolbar > .btn,
.pc-row-actions > .btn,
.pc-table-actions > .btn,
.pc-form-actions > .btn,
.pc-calendar-actions > .btn,
.pc-appointment-actions > .btn,
.modal-footer > .btn,
.card-footer > .btn{
  margin:0!important;
}
.pc-js-action-row .btn + .btn,
.pc-calendar-actions .btn + .btn,
.modal-footer .btn + .btn,
.card-footer .btn + .btn{margin-left:0!important;}

/* Table action cells */
.pc-action-cell,
.pc-main td.pc-action-cell,
.pc-main .table td:last-child{
  white-space:nowrap!important;
  vertical-align:middle!important;
}
.pc-action-cell,
.pc-main .table td:last-child{
  min-width:72px;
}
.pc-action-cell > .btn,
.pc-main .table td:last-child > .btn,
.pc-main .table td:last-child > form,
.pc-main .table td:last-child > a,
.pc-main .table td:last-child > button{
  margin-top:2px!important;
  margin-bottom:2px!important;
}
.pc-main .table td:last-child > form{
  display:inline-flex!important;
  margin-right:6px!important;
  vertical-align:middle!important;
}

/* Icon-only controls: календарь, отвязка, edit/delete/key — один стандарт */
.pc-icon-action,
.pc-js-icon-only,
.pc-main .btn.pc-icon-action,
.pc-app .btn.pc-js-icon-only,
.pc-main .table td:last-child > .btn:has(> i:only-child),
.pc-main .table td:last-child > button:has(> i:only-child),
.pc-main .input-group .btn:has(> i:only-child){
  width:var(--pc-control-icon)!important;
  min-width:var(--pc-control-icon)!important;
  max-width:var(--pc-control-icon)!important;
  height:var(--pc-control-icon)!important;
  min-height:var(--pc-control-icon)!important;
  padding:0!important;
  border-radius:10px!important;
  display:inline-grid!important;
  place-items:center!important;
  gap:0!important;
  flex:0 0 var(--pc-control-icon)!important;
  overflow:hidden!important;
}
.pc-app .btn-sm.pc-icon-action,
.pc-app .btn-sm.pc-js-icon-only,
.pc-main .table .btn-sm:has(> i:only-child){
  width:var(--pc-control-icon-sm)!important;
  min-width:var(--pc-control-icon-sm)!important;
  max-width:var(--pc-control-icon-sm)!important;
  height:var(--pc-control-icon-sm)!important;
  min-height:var(--pc-control-icon-sm)!important;
  flex-basis:var(--pc-control-icon-sm)!important;
}
.pc-icon-action i,
.pc-js-icon-only i,
.pc-main .btn:has(> i:only-child) i{
  margin:0!important;
  font-size:.88rem!important;
}

/* Bootstrap button groups no longer look like glued old Bootstrap pills */
.pc-app .btn-group,
.pc-app .btn-group-sm{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.pc-app .btn-group > .btn,
.pc-app .btn-group-sm > .btn{
  border-radius:10px!important;
  margin:0!important;
  position:static!important;
}
.pc-app .btn-group > .btn:not(:first-child),
.pc-app .btn-group-sm > .btn:not(:first-child){margin-left:0!important;}
.pc-app .btn-group > .btn.disabled,
.pc-app .btn-group > .btn:disabled,
.pc-app .btn-group-sm > .btn.disabled,
.pc-app .btn-group-sm > .btn:disabled{
  background:#F8FAFC!important;
  color:#475569!important;
  border-color:#D8DEE8!important;
}

/* FullCalendar controls and calendar toolbars */
.pc-calendar-actions{
  gap:8px!important;
  row-gap:8px!important;
}
.pc-calendar-actions .form-select,
.pc-calendar-actions .form-control{
  min-height:var(--pc-control-height)!important;
  border-radius:10px!important;
  font-size:.875rem!important;
  font-weight:400!important;
  width:auto!important;
  max-width:230px!important;
}
.pc-calendar-actions .btn{flex:0 0 auto!important;}
.fc .fc-toolbar.fc-header-toolbar{
  gap:10px!important;
  margin-bottom:14px!important;
  align-items:center!important;
}
.fc .fc-toolbar-chunk{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.fc .fc-button-group{
  display:inline-flex!important;
  gap:6px!important;
}
.fc .fc-button-group > .fc-button{
  border-radius:10px!important;
  margin:0!important;
}
.fc .fc-button{
  min-height:34px!important;
  padding:.34rem .6rem!important;
  border-radius:10px!important;
  font-size:.82rem!important;
  font-weight:500!important;
  box-shadow:none!important;
}
.fc .fc-button-primary{
  background:#fff!important;
  border:1px solid #D8DEE8!important;
  color:#27364D!important;
}
.fc .fc-button-primary:hover,
.fc .fc-button-primary:focus{
  background:#F4F1FF!important;
  border-color:#C8BCFF!important;
  color:#5A3FE0!important;
}
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active{
  background:#6C4DF6!important;
  border-color:#6C4DF6!important;
  color:#fff!important;
}
.fc .fc-toolbar-title{
  font-size:1.08rem!important;
  font-weight:560!important;
  letter-spacing:-.018em!important;
}
.pc-event-card__time,
.pc-event-card__name{font-weight:520!important;}
.pc-status-pill{font-weight:500!important;}
.pc-appointment-actions{justify-content:flex-end!important;}
.pc-appointment-actions .btn{margin:0!important;}

/* Generated schedule buttons */
.edit-btn,
.schedule-container button,
.schedule-container .edit-btn{
  min-height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:.28rem .5rem!important;
  border-radius:9px!important;
  border:1px solid #D8DEE8!important;
  background:#fff!important;
  color:#27364D!important;
  font-size:.8rem!important;
  font-weight:500!important;
  box-shadow:none!important;
}
.edit-btn:hover,
.schedule-container button:hover{
  background:#F4F1FF!important;
  border-color:#C8BCFF!important;
  color:#5A3FE0!important;
}

/* Legacy inline Bootstrap utility icons made calmer */
.pc-app .bg-primary.text-white.rounded-circle,
.pc-app .rounded-circle.bg-primary{
  background:#F4F1FF!important;
  color:#5A3FE0!important;
  border:1px solid #DED6FF!important;
  box-shadow:none!important;
}
.pc-app .badge{
  min-height:20px!important;
  border-radius:999px!important;
  padding:.28rem .52rem!important;
  font-size:.74rem!important;
  font-weight:500!important;
  letter-spacing:-.003em!important;
}
.pc-app .badge.bg-success{background:#ECFDF3!important;color:#166534!important;border:1px solid #BBF7D0!important;}
.pc-app .badge.bg-danger{background:#FEF2F2!important;color:#991B1B!important;border:1px solid #FECACA!important;}
.pc-app .badge.bg-warning{background:#FFFBEB!important;color:#92400E!important;border:1px solid #FDE68A!important;}
.pc-app .badge.bg-info{background:#EFF6FF!important;color:#1E40AF!important;border:1px solid #BFDBFE!important;}
.pc-app .badge.bg-secondary{background:#F1F5F9!important;color:#475569!important;border:1px solid #CBD5E1!important;}

/* Mobile proportional controls */
@media (max-width: 768px){
  .pc-app .pc-main .btn,
  .pc-app .modal .btn,
  .pc-app button.btn,
  .pc-app a.btn{
    min-height:38px!important;
    padding:.42rem .64rem!important;
    font-size:.84rem!important;
  }
  .pc-calendar-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    align-items:stretch!important;
  }
  .pc-calendar-actions .form-select,
  .pc-calendar-actions .form-control,
  .pc-calendar-actions .btn{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .pc-calendar-actions .form-select:first-child,
  .pc-calendar-actions .btn:last-child:nth-child(odd){grid-column:1/-1;}
  .modal-footer,
  .pc-appointment-actions{
    justify-content:stretch!important;
  }
  .modal-footer .btn,
  .pc-appointment-actions .btn{
    flex:1 1 calc(50% - 8px)!important;
    width:auto!important;
  }
  .pc-action-cell,
  .pc-main .table td:last-child{min-width:84px!important;}
}
@media (max-width: 480px){
  .pc-calendar-actions{grid-template-columns:1fr!important;}
  .modal-footer .btn,
  .pc-appointment-actions .btn{flex:1 1 100%!important;}
  .pc-js-action-row{gap:6px!important;}
  .pc-js-action-row > .btn{flex:1 1 auto!important;}
  .pc-js-action-row > .pc-js-icon-only{flex:0 0 var(--pc-control-icon)!important;}
}

/* ===== User dropdown: profile moved from dashboard to settings/profile ===== */
.pc-user-dropdown__toggle{
  display:flex;
  align-items:center;
  gap:12px;
  border:0;
  background:transparent;
  padding:0;
  border-radius:16px;
  color:inherit;
}
.pc-user-dropdown__toggle:focus-visible{outline:none;box-shadow:var(--pc-shell-focus);}
.pc-user-dropdown__menu{
  min-width:230px;
  padding:8px;
  border:1px solid var(--pc-shell-border-soft);
  border-radius:16px;
  box-shadow:0 18px 45px rgba(15,23,42,.10);
}
.pc-user-dropdown__menu .dropdown-item{
  min-height:40px;
  display:flex;
  align-items:center;
  border-radius:11px;
  color:#27364d;
  font-weight:500;
}
.pc-user-dropdown__menu .dropdown-item:hover{background:var(--pc-shell-primary-faint);color:var(--pc-shell-primary);}

/* Stage 3.3.3 — global edge/spacing polish
   Унифицирует отступы между empty-state, footer/actions и группами кнопок, чтобы элементы не прилипали к рамкам. */
.pc-main .pc-empty-state + .pc-work-actions-row,
.pc-main .pc-empty-state + .pc-page-actions,
.pc-main .pc-empty-state + .pc-card-actions,
.pc-main .pc-empty-state + .pc-card__actions,
.pc-main .pc-empty-state + .pc-form-actions,
.pc-main .pc-empty-state + .pc-js-action-row,
.pc-main .pc-empty-state + .d-flex,
.pc-main .pc-empty-state + .btn,
.pc-main .pc-empty-state + .btn-group{
  margin-top:14px!important;
}
.pc-main .card-body > .pc-empty-state:last-child,
.pc-main .pc-card > .pc-empty-state:last-child,
.pc-main .pc-work-card > .pc-empty-state:last-child{
  margin-bottom:0!important;
}
.pc-main .card-body > .pc-empty-state:not(:last-child),
.pc-main .pc-card > .pc-empty-state:not(:last-child),
.pc-main .pc-work-card > .pc-empty-state:not(:last-child){
  margin-bottom:14px!important;
}
.pc-main .pc-js-action-row,
.pc-main .pc-page-actions,
.pc-main .pc-card-actions,
.pc-main .pc-card__actions,
.pc-main .pc-toolbar,
.pc-main .pc-calendar-actions,
.pc-main .pc-appointment-actions,
.pc-main .doctor-actions,
.pc-main .role-actions,
.pc-main .btn-toolbar,
.pc-main .modal-footer,
.pc-main .card-footer{
  gap:8px!important;
  row-gap:8px!important;
  flex-wrap:wrap!important;
}
.pc-main .pc-work-actions-row{
  gap:10px!important;
  row-gap:10px!important;
}
.pc-main .btn-group,
.pc-main .btn-group-sm{
  gap:6px!important;
  row-gap:6px!important;
}
.pc-main .card-header,
.pc-main .pc-card__header,
.pc-main .pc-work-card__head,
.pc-main .role-card-head{
  gap:12px!important;
  row-gap:10px!important;
}
.pc-main .pc-work-card__head .btn,
.pc-main .pc-card__header .btn,
.pc-main .card-header .btn{
  flex:0 0 auto!important;
}
.fc .fc-toolbar-chunk,
.fc .fc-button-group{
  gap:7px!important;
  row-gap:7px!important;
}
@media (max-width:768px){
  .pc-main .pc-js-action-row,
  .pc-main .pc-page-actions,
  .pc-main .pc-card-actions,
  .pc-main .pc-card__actions,
  .pc-main .pc-work-actions-row,
  .pc-main .pc-calendar-actions,
  .pc-main .pc-appointment-actions,
  .pc-main .modal-footer,
  .pc-main .card-footer{
    gap:8px!important;
    row-gap:8px!important;
  }
}
@media (max-width:480px){
  .pc-main .pc-empty-state + .pc-work-actions-row,
  .pc-main .pc-empty-state + .pc-page-actions,
  .pc-main .pc-empty-state + .pc-card-actions,
  .pc-main .pc-empty-state + .pc-card__actions,
  .pc-main .pc-empty-state + .pc-form-actions,
  .pc-main .pc-empty-state + .pc-js-action-row,
  .pc-main .pc-empty-state + .d-flex,
  .pc-main .pc-empty-state + .btn,
  .pc-main .pc-empty-state + .btn-group{
    margin-top:12px!important;
  }
}

/* DOCX bugfix 20260706 — JS-hidden controls must stay hidden despite global button display rules */
.d-none,[hidden],.btn.d-none,.pc-appointment-actions .btn.d-none,.modal-footer .btn.d-none{display:none!important;}

/* =========================================================
   PODOCLICK LOGO INTEGRATION — 2026-07-07
   Основной бренд-элемент без старых текстовых логотипов.
   ========================================================= */
.pc-brand{
  display:inline-flex!important;
  align-items:center!important;
  min-width:0!important;
  color:inherit!important;
  text-decoration:none!important;
}
.pc-brand__full{
  display:block!important;
  width:min(172px, 100%)!important;
  height:auto!important;
  max-height:44px!important;
  object-fit:contain!important;
}
.pc-brand__mark{
  display:none!important;
  width:38px!important;
  height:38px!important;
  align-items:center!important;
  justify-content:center!important;
}
.pc-brand__mark img{
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
}
.pc-sidebar__brand{
  min-height:68px!important;
  padding:14px 12px 12px!important;
}
.pc-sidebar .pc-brand__full{
  width:178px!important;
  max-height:50px!important;
}
.pc-public-topbar .pc-brand__full{
  width:184px!important;
  max-height:52px!important;
}
.pc-mobile-clinic-card__logo{
  display:block;
  width:142px;
  max-width:70%;
  height:auto;
  margin:0 0 12px;
  filter:drop-shadow(0 8px 18px rgba(15,23,42,.08));
}
@media (max-width: 991px){
  .pc-sidebar .pc-brand__full{width:170px!important;}
}
@media (max-width: 575px){
  .pc-public-topbar .pc-brand__full{width:150px!important;max-height:44px!important;}
  .pc-topbar .pc-user-menu__text{display:none!important;}
}
@media (max-width: 380px){
  .pc-public-topbar .pc-brand__full{display:none!important;}
  .pc-public-topbar .pc-brand__mark{display:inline-flex!important;}
}

/* dashboard brand accent */
.pc-work-hero__brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.pc-work-hero__brand img{
  width:158px;
  height:auto;
  display:block;
}
.pc-work-hero__brand span{
  color:#64748b;
  font-size:.88rem;
  font-weight:500;
}
.pc-tool-card-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  margin-bottom:14px;
  border:1px solid #e8edf5;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-radius:16px;
}
.pc-tool-card-brand img{width:132px;height:auto;display:block;}
.pc-tool-card-brand small{color:#64748b;font-weight:500;line-height:1.35;}
@media (max-width: 640px){
  .pc-work-hero__brand{align-items:flex-start;flex-direction:column;gap:6px;}
  .pc-work-hero__brand img{width:142px;}
  .pc-tool-card-brand{align-items:flex-start;flex-direction:column;}
}

/* Billing / YooKassa */
.pc-billing-page .pc-grid--2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}
.pc-billing-page .pc-stack { display: grid; gap: 14px; }
.pc-price-block {
  display: grid;
  gap: 4px;
  padding: 18px 0;
  border-top: 1px solid var(--pc-border-soft, #EEF0F6);
  border-bottom: 1px solid var(--pc-border-soft, #EEF0F6);
  margin: 18px 0;
}
.pc-price-block__value,
.pc-plan-price strong {
  color: var(--pc-text, #111827);
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 600;
  letter-spacing: -0.04em;
}
.pc-price-block__caption,
.pc-plan-price span { color: var(--pc-muted, #64748B); font-size: 14px; }
.pc-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--pc-primary-soft, #F0EDFF);
  color: var(--pc-primary, #6C4DF6);
}
.pc-alert {
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 14px;
  border: 1px solid transparent;
}
.pc-alert--warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.pc-alert--danger { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.pc-check-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px;
  border: 1px solid var(--pc-border, #E5E7EB);
  border-radius: 14px;
  background: #fff;
  color: var(--pc-text, #111827);
}
.pc-check-row input { margin-top: 3px; flex: 0 0 auto; }
.pc-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 16px;
  font-size: 14px;
}
.pc-legal-links a { color: var(--pc-primary, #6C4DF6); text-decoration: none; font-weight: 500; }
.pc-legal-links a:hover { text-decoration: underline; }
.pc-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.pc-plan-card { display: flex; flex-direction: column; gap: 16px; }
.pc-plan-card .btn { margin-top: auto; }
.pc-plan-price { display: grid; gap: 2px; }
.pc-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
  color: var(--pc-text-secondary, #334155);
  font-size: 14px;
}
.pc-feature-list i { color: var(--pc-accent-green, #22C55E); margin-right: 8px; }
.pc-status-hero {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid var(--pc-border-soft, #EEF0F6);
}
.pc-status-hero i {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.pc-status-hero h2 { margin: 0; font-size: 20px; font-weight: 600; }
.pc-status-hero p { margin: 4px 0 0; color: var(--pc-muted, #64748B); }
.pc-status-hero.is-success { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.pc-status-hero.is-pending { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.pc-status-hero.is-error { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.pc-badge--muted { background: #f1f5f9; color: #475569; }
.pc-badge--warning { background: #fef3c7; color: #92400e; }
.pc-badge--danger { background: #fee2e2; color: #991b1b; }
.pc-public-hero--compact { max-width: 820px; margin: 0 auto 28px; text-align: center; }
.pc-public-logo { max-width: 240px; height: auto; margin-bottom: 18px; }
.pc-billing-public { max-width: 1180px; margin: 0 auto; padding: 36px 18px; }
@media (max-width: 991px) {
  .pc-billing-page .pc-grid--2,
  .pc-pricing-grid { grid-template-columns: 1fr; }
}

/* Admin tariff module */
.pc-tariff-form{display:flex;flex-direction:column;gap:18px;}
.pc-tariff-total{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--pc-border-soft,#eef0f6);border-radius:16px;background:linear-gradient(180deg,#fff,#fbfcff);}
.pc-tariff-total span{display:block;color:#64748b;font-size:.9rem;font-weight:500;}
.pc-tariff-total strong{display:block;margin-top:2px;color:#111827;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;}
.pc-tariff-total small{color:#64748b;text-align:right;}
.pc-check-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--pc-border-soft,#eef0f6);border-radius:16px;background:#fff;cursor:pointer;}
.pc-check-row input{margin-top:3px;flex:0 0 auto;}
.pc-check-row span{display:flex;flex-direction:column;gap:2px;}
.pc-check-row strong{font-weight:600;color:#111827;}
.pc-check-row small{font-weight:400;color:#64748b;}
.pc-code-field{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.92rem;line-height:1.55;}
.pc-table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pc-table-actions .btn{white-space:nowrap;}
@media (max-width: 640px){
  .pc-tariff-total{align-items:flex-start;flex-direction:column;}
  .pc-tariff-total small{text-align:left;}
  .pc-table-actions{justify-content:flex-start!important;}
}
