:root { --platform-feedback-dock-width: 4rem; }
.platform-feedback-trigger {
  align-items: center;
  background: var(--ui-brand);
  border: 0;
  border-radius: 50%;
  bottom: max(1rem, env(safe-area-inset-bottom));
  box-shadow: var(--ui-shadow-sm);
  color: var(--ui-text);
  display: flex;
  font-size: 1.3rem;
  font-weight: 800;
  height: 3rem;
  justify-content: center;
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  width: 3rem;
  z-index: 1050;
}
.platform-feedback-trigger:focus-visible { outline: 3px solid var(--ui-focus-color); outline-offset: 3px; }
@media (min-width: 768px) {
  .app-shell { padding-inline-end: var(--platform-feedback-dock-width); }
  .platform-feedback-trigger {
    border-radius: var(--ui-radius-field) 0 0 var(--ui-radius-field);
    bottom: auto;
    right: 0;
    top: calc(var(--ui-topbar-desktop) + 1rem);
  }
  .is-anonymous .platform-feedback-trigger { top: 1rem; }
}
.platform-feedback-dialog {
  border: 0;
  border-radius: var(--ui-radius-hero);
  box-shadow: var(--ui-shadow-md);
  max-height: calc(100vh - 2rem);
  max-width: min(34rem, calc(100vw - 2rem));
  padding: 0;
  width: 100%;
}
.platform-feedback-dialog::backdrop { background: rgb(17 24 39 / 55%); }
.platform-feedback-dialog form { display: grid; gap: var(--ui-space-4); padding: 20px; }
.platform-feedback-heading { align-items: start; display: flex; justify-content: space-between; }
.platform-feedback-heading p { color: var(--ui-text-secondary); font-size: var(--ui-text-label); letter-spacing: .04em; margin: 0; text-transform: uppercase; }
.platform-feedback-heading h2 { font-size: 16px; margin: 4px 0 0; }
.platform-feedback-privacy { color: var(--ui-text-secondary); font-size: var(--ui-text-micro); margin: 0; }
.platform-feedback-actions { display: flex; gap: .75rem; justify-content: flex-end; }
.topbar-search { display: none; }
.topbar-search input {
  background: var(--ui-surface-subtle);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-field);
  color: var(--ui-text);
  min-height: var(--ui-field-desktop);
  padding: 5px 10px;
  width: 100%;
}
.topbar-search input:focus-visible { border-color: var(--ui-brand); outline: 3px solid rgb(239 184 42 / 30%); }
.topbar-search-link { display: inline-flex; }
.topbar-actions > .ui-icon-button { position: relative; }
.ui-nav-count {
  align-items: center;
  background: var(--ui-danger);
  border: 2px solid var(--ui-surface);
  border-radius: 999px;
  color: var(--ui-surface);
  display: inline-flex;
  font-size: .65rem;
  font-weight: 700;
  height: 1.2rem;
  justify-content: center;
  min-width: 1.2rem;
  padding: 0 .2rem;
  position: absolute;
  right: -.2rem;
  top: -.2rem;
}
@media (min-width: 1200px) {
  .workspace-topbar .topbar-search { display: block; }
  .workspace-topbar .topbar-search-link { display: none; }
}
.landing-body > .message-stack {
  margin: 1rem auto 0;
  max-width: 75rem;
  padding: 0 1.25rem;
}
.landing-body > .message-stack .system-alert {
  background: var(--ui-brand-subtle);
  border: 1px solid var(--ui-brand);
  border-radius: var(--ui-radius-field);
  color: var(--ui-text);
  padding: 12px 16px;
}
.platform-page { display: grid; gap: 20px; margin: 0 auto; max-width: 64rem; padding: var(--ui-space-6); }
.platform-filter-grid { align-items: end; display: grid; gap: .75rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.platform-filter-grid > .btn { align-self: end; min-height: var(--ui-button-desktop); }
.platform-card-grid { display: grid; gap: .75rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.platform-card { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-panel); display: grid; gap: 4px; padding: var(--ui-card-padding); }
.platform-card span { color: var(--ui-text-secondary); font-size: var(--ui-text-micro); }
.platform-card strong { font-family: var(--ui-font-condensed); font-size: var(--ui-text-metric); }
.platform-result-list, .platform-notification-list, .platform-history { display: grid; gap: .65rem; list-style: none; margin: 0; padding: 0; }
.platform-result, .platform-notification, .platform-history li { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-panel); padding: 12px 16px; }
.platform-result { color: inherit; display: grid; gap: .2rem; text-decoration: none; }
.platform-result:hover { border-color: var(--ui-brand); }
.platform-result span, .platform-notification p, .platform-history small { color: var(--ui-text-secondary); margin: 0; }
.platform-notification.is-unread { border-left: 4px solid var(--ui-brand); }
.platform-detail-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); }
.platform-surface { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-panel); padding: var(--ui-card-padding); }
.platform-rights { display: grid; gap: .5rem; }
.platform-right { align-items: start; border-top: 1px solid var(--ui-border); display: grid; gap: 8px; grid-template-columns: minmax(12rem, 1.5fr) .6fr 2fr; padding: 12px 0; }
.platform-right .is-granted { color: var(--ui-success); }
.platform-right .is-denied { color: var(--ui-danger); }
@media (max-width: 850px) {
  .platform-filter-grid, .platform-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .platform-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .topbar-search { display: none; }
  .topbar-search-link { display: inline-flex; }
  .user-meta { display: none; }
}
@media (max-width: 560px) {
  .workspace-topbar .topbar-clinic { display: none; }
  .platform-page { padding: 1rem; }
  .platform-filter-grid, .platform-card-grid { grid-template-columns: 1fr; }
  .platform-right { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .platform-feedback {
    display: flex;
    justify-content: flex-end;
    padding: 1rem 1rem calc(5rem + env(safe-area-inset-bottom));
  }
  .is-anonymous .platform-feedback { padding-bottom: 1rem; }
  .platform-feedback-trigger { position: static; }
}


/* Communication Center R1 */
.communication-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem}.communication-filters a{border:1px solid var(--ui-border,#d7dee8);border-radius:999px;color:inherit;padding:.45rem .85rem;text-decoration:none}.communication-filters a[aria-current="page"]{background:#172536;color:#fff;border-color:#172536}.communication-list{display:grid;gap:.75rem;padding:0}.communication-card{align-items:center;border-left:4px solid transparent;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.communication-card.is-unread{border-left-color:#e4aa18;background:#fffaf0}.communication-card.is-important{border-left-color:#b42318}.communication-card-meta,.communication-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.communication-card-actions{justify-content:flex-end}.communication-chip{background:#eef2f6;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;padding:.2rem .55rem}.communication-chip.is-important{background:#fee4e2;color:#b42318}.communication-next-action{color:#475467;font-size:.82rem;max-width:14rem}.communication-admin-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.communication-panel{background:#fff;border:1px solid var(--ui-border,#d7dee8);border-radius:16px;padding:1rem;margin-bottom:1rem}.communication-panel form p{display:grid;gap:.35rem}.communication-panel input,.communication-panel select,.communication-panel textarea{max-width:100%;width:100%}.communication-template-list{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.communication-template-list li{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.communication-admin .ui-table{border-collapse:separate;border-spacing:0;width:100%}.communication-admin .ui-table th,.communication-admin .ui-table td{padding:.65rem .75rem;text-align:left;vertical-align:top;white-space:nowrap}@media(max-width:767px){.communication-card,.communication-admin-grid{grid-template-columns:1fr}.communication-card-actions{justify-content:flex-start}}

.patient-communication-shell{margin:0 auto;max-width:960px;padding:1rem}.patient-communication-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.patient-communication-header h1{margin:.2rem 0}.patient-communication-header p{color:#a16d00;font-weight:800;margin:0}.patient-communication-logout{background:transparent;border:1px solid #d7dee8;border-radius:10px;padding:.55rem .8rem}.patient-communication-list{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.patient-communication-list .communication-card{background:#fff;border:1px solid #d7dee8;border-left-width:4px;border-radius:14px;padding:1rem}@media(max-width:600px){.patient-communication-header{align-items:flex-start;gap:1rem}.patient-communication-list .communication-card{grid-template-columns:1fr}}


/* Client Journey R1 */
.client-journey-page{display:grid;gap:1rem}.client-journey-eyebrow{color:var(--ui-text-secondary);font-size:var(--ui-text-micro);font-weight:800;letter-spacing:.06em;margin:0;text-transform:uppercase}.client-journey-command{background:var(--ui-surface-subtle);border:1px solid var(--ui-border);border-left:4px solid var(--ui-brand);border-radius:var(--ui-radius-panel);display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:1rem}.client-journey-command div,.client-journey-next-band div{display:grid;gap:.25rem}.client-journey-command span,.client-journey-next-band span{color:var(--ui-text-secondary);font-size:var(--ui-text-micro);font-weight:800;text-transform:uppercase}.client-journey-command strong{font-size:1rem}.client-journey-summary small{color:var(--ui-text-secondary);display:block;margin-top:.25rem}.client-journey-action-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.client-journey-action-grid>form{border:1px solid var(--ui-border);border-radius:var(--ui-radius-panel);display:grid;gap:.5rem;padding:1rem}.client-journey-action-grid h3{font-size:1rem;margin:0}.client-journey-action-grid form p{display:grid;gap:.3rem;margin:0}.client-journey-action-grid input,.client-journey-action-grid select,.client-journey-action-grid textarea{max-width:100%;width:100%}.client-journey-next-band{align-items:center;background:var(--ui-brand-subtle);border-radius:var(--ui-radius-panel);display:flex;gap:1rem;justify-content:space-between;padding:1rem}.client-journey-secondary,.client-journey-close{border-top:1px solid var(--ui-border);padding-top:1rem}.client-journey-close{align-items:center;display:flex;gap:1rem;justify-content:space-between}@media(max-width:767px){.client-journey-command,.client-journey-action-grid{grid-template-columns:1fr}.client-journey-next-band,.client-journey-close{align-items:stretch;flex-direction:column}}

.client-journey-primary-action{display:grid;gap:.5rem}.client-journey-secondary-actions{border-top:1px solid var(--ui-border);padding-top:1rem}.client-journey-secondary-actions summary{cursor:pointer;font-weight:800;list-style:none;margin-bottom:1rem}.client-journey-secondary-actions summary::-webkit-details-marker{display:none}.client-journey-secondary-actions summary::after{color:var(--ui-text-secondary);content:"Показать";font-size:var(--ui-text-micro);font-weight:700;margin-left:.5rem}.client-journey-secondary-actions[open] summary::after{content:"Скрыть"}@media(max-width:767px){.client-journey-page{min-width:0}.client-journey-action-grid>form{min-width:0}.client-journey-secondary-actions summary{overflow-wrap:anywhere}}


/* Beta pre-production channel */
.beta-environment-marker {
  align-items: center;
  background: #fff4cc;
  border-bottom: 1px solid #e0ad16;
  color: #4a3600;
  display: flex;
  font-size: 0.875rem;
  gap: 1rem;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.4rem 1rem;
  position: relative;
  z-index: 1200;
}

.beta-environment-marker a {
  color: inherit;
  font-weight: 700;
}

.topbar-beta-preference {
  border-bottom: 1px solid var(--color-border, #d8dee8);
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
}

.topbar-channel-current {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.topbar-channel-current span {
  color: var(--ui-text-secondary, #667085);
  font-size: 0.75rem;
  font-weight: 700;
}

.topbar-channel-switch {
  align-items: center;
  background: var(--ui-surface-subtle, #f4f6f8);
  border: 1px solid var(--ui-border, #d8dee8);
  border-radius: 999px;
  color: var(--ui-text, #172536);
  display: inline-flex;
  flex-direction: column;
  line-height: 1.05;
  min-height: 40px;
  min-width: 74px;
  padding: 0.35rem 0.65rem;
  text-decoration: none;
}

.topbar-channel-switch span {
  color: var(--ui-text-secondary, #667085);
  font-size: 0.65rem;
  font-weight: 700;
}

.topbar-channel-switch strong {
  font-size: 0.75rem;
}

.topbar-channel-switch.is-beta {
  background: #fff4cc;
  border-color: #e0ad16;
  color: #4a3600;
}

@media (max-width: 767.98px) {
  .topbar-channel-switch {
    min-width: 42px;
    padding-inline: 0.45rem;
  }

  .topbar-channel-switch span {
    display: none;
  }
}

.topbar-beta-preference form {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.topbar-beta-preference .profile-switch {
  min-width: 3.75rem;
}
