/* Shared login and no-login review chrome. Never target the document/slide body. */
body.bc-public {
  --color-bg: var(--bc-canvas);
  --color-card: var(--bc-surface);
  --color-text: var(--bc-text);
  --color-muted: var(--bc-muted);
  --color-border: var(--bc-border);
  --color-primary: var(--bc-action);
  --clr-bg: var(--bc-canvas);
  --clr-card: var(--bc-surface);
  --clr-text: var(--bc-text);
  --clr-muted: var(--bc-muted);
  --clr-border: var(--bc-border);
  --clr-primary: var(--bc-action);
  --radius: 8px;
  --shadow: none;
  background: var(--bc-canvas);
  color: var(--bc-text);
  font: 15px/1.6 'Google Sans', 'Segoe UI', system-ui, sans-serif;
}
body.bc-public :is(.site-header,.header) { background: var(--bc-surface); border-bottom: 1px solid var(--bc-border); box-shadow: none; }
body.bc-public :is(.doc-title,.header h1) { color: var(--bc-text); font-size: 1.5rem; line-height: 1.3; letter-spacing: -.02em; }
body.bc-public :is(.meta,.doc-meta,.gate-reviewer,.site-footer,.actions-note-label) { color: var(--bc-muted); }
body.bc-public :is(.status-card,.actions-card,.actions-panel,.review-card,.intro,.gate-modal,.grv-modal__panel) {
  background: var(--bc-surface);
  border: 1px solid var(--bc-border);
  border-radius: 8px;
  box-shadow: none;
}
body.bc-public > .wrap > .card,
body.bc-public > .card { border-color: var(--bc-border); border-radius: 8px; box-shadow: none; }
body.bc-public > .wrap > .card > h1 { font-size: 1.5rem; color: var(--bc-text); }
body.bc-public > .wrap > .card > h1.ok { color: var(--bc-success); }
body.bc-public .doc-card { border: 1px solid var(--bc-border); border-radius: 8px; box-shadow: none; }
/* Preserve the existing document reading face; this is authored content. */
body.bc-public .doc-card__content { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
body.bc-public[data-bc-page="care_update"] > .wrap > .card :is(input:not([type=hidden]),select,textarea) { min-height: 44px; border: 1px solid var(--bc-border); border-radius: 8px; color: var(--bc-text); background: var(--bc-surface); padding: 10px 12px; font: inherit; box-sizing: border-box; }
body.bc-public :is(.status-pending,.pill) { background: #fff3dd; color: #854d0e; }
body.bc-public :is(.status-live,.status-approved,.message-success) { background: #e6f5ed; color: #11683f; }
body.bc-public :is(.status-rejected,.message-error) { background: #fceceb; color: #a32222; }
body.bc-public :is(.status-scheduled,.message-warning) { background: #fff3dd; color: #854d0e; }
body.bc-public :is(.status,.badge,.pill):not(.doc-card__content *) { border-radius: 6px; font-size: .8125rem; line-height: 1.4; }
body.bc-public :is(.actions,.actions-panel,.gate-modal-actions,.grv-modal__actions) { gap: 8px; }
body.bc-public :is(.actions,.actions-card,.actions-panel,.gate-modal,.grv-modal__panel,.review-field,.modal) :is(input:not([type=checkbox]):not([type=hidden]),select,textarea),
body.bc-public .review-select,
body.bc-public .review-textarea {
  border: 1px solid var(--bc-border);
  border-radius: 8px;
  color: var(--bc-text);
  background: var(--bc-surface);
  padding: 10px 12px;
  min-height: 44px;
  font: inherit;
  box-sizing: border-box;
}
body.bc-public :is(.btn-primary,.btn-main,.btn-success,.btn-view,.tb-btn--primary):not(.doc-card__content *) { background: var(--bc-action); border-color: var(--bc-action); color: #fff; box-shadow: none; }
body.bc-public :is(.btn-primary,.btn-main,.btn-success,.btn-view,.tb-btn--primary):not(.doc-card__content *):hover { background: var(--bc-action-hover); border-color: var(--bc-action-hover); }
body.bc-public :is(.btn-warn,.btn-secondary):not(.doc-card__content *) { background: white; color: var(--bc-action); border-color: var(--bc-border); }
body.bc-public .btn-warn:not(.doc-card__content *):hover { background: var(--bc-canvas); border-color: var(--bc-action); }
body.bc-public :is(.btn,.tb-btn):not(.doc-card__content *) { border-radius: 8px; min-height: 44px; line-height: 1.3; white-space: normal; }
body.bc-public .gate-modal,
body.bc-public .grv-modal__panel { box-shadow: 0 16px 48px rgb(24 33 47 / 18%); }
body.bc-public :is(.gate-modal-backdrop,.grv-modal,.modal-backdrop) { background-color: rgb(24 33 47 / 45%); }
body.bc-public :is(.review-select,.review-textarea,.responder):focus-visible { outline: 3px solid #79a8c8; outline-offset: 2px; }
body.bc-public[data-bc-page="login"] .login .container {
  width: min(420px, calc(100vw - 32px));
  padding: 32px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--bc-border);
  border-radius: 8px;
  box-shadow: 0 8px 32px rgb(24 33 47 / 6%);
}
body.bc-public[data-bc-page="login"] .login .logo { width: 220px; height: auto; max-width: 100%; object-fit: contain; margin: 0 auto 24px; }
body.bc-public[data-bc-page="login"] #loginform input { min-height: 48px; border: 1px solid var(--bc-border); border-radius: 8px; font-size: 1rem; background: var(--bc-surface); color: var(--bc-text); }
body.bc-public[data-bc-page="login"] #loginform button[type=submit] { min-height: 48px; width: 100%; background: var(--bc-action); border-radius: 8px; box-shadow: none; }
body.bc-public[data-bc-page="login"] .forgot-password { color: var(--bc-action); }
body.bc-public[data-bc-page="login"] .password-toggle { background: transparent; color: var(--bc-muted); }
@media (max-width: 640px) {
  body.bc-public:not([data-bc-page="login"]) { padding: 16px; }
  body.bc-public:has(> .site-header),
  body.bc-public:has(> .header) { padding: 0; }
  body.bc-public .container { padding-left: 16px; padding-right: 16px; }
  body.bc-public :is(.actions-card,.actions-panel,.gate-modal,.grv-modal__panel) { padding: 16px; }
  body.bc-public .actions { align-items: stretch; }
  body.bc-public .actions .responder { flex-basis: 100%; width: 100%; }
  body.bc-public :is(.actions,.actions-panel,.gate-modal-actions) > .btn,
  body.bc-public .actions-card .btn { min-height: 48px; flex: 1 1 100%; width: 100%; }
  body.bc-public :is(.actions,.actions-card,.actions-panel,.gate-modal,.review-field,.modal) :is(input,select,textarea) { font-size: 16px; }
  body.bc-public .actions-grid { grid-template-columns: 1fr; }
  body.bc-public .gate-modal-actions { flex-wrap: wrap; }
  body.bc-public > .wrap > .card { padding: 20px 16px; }
  body.bc-public[data-bc-page="care_update"] .grid { grid-template-columns: 1fr; }
  body.bc-public[data-bc-page="care_update"] > .wrap > .card :is(input,select,textarea) { font-size: 16px; }
}
