/* Shared public/console surfaces. The model workspace keeps its own content skin. */
.site-workspace{
  --surface-radius:16px;
  --surface-inner-radius:12px;
  --surface-control-radius:10px;
  --surface-shadow:0 4px 16px rgba(29,45,72,.025);
}
.site-workspace:where(:not(.workspace-reference)){
  --radius:12px;
  font-size:15px;
  line-height:1.65;
}
.site-workspace .site-header{border-bottom-color:var(--line)}
.site-workspace .nav-links>a{font-weight:550}
.site-workspace .nav-links>a.active{font-weight:650}
.site-workspace .nav-actions>.btn,
.site-workspace .mobile-nav-actions>.btn{border-radius:var(--surface-control-radius);font-weight:600}
.site-workspace :is(.lang-switch,.hamburger,.notification-icon-button){border-radius:var(--surface-control-radius)}
.site-workspace .site-footer{background:var(--soft)}
.site-workspace .footer-summary p{color:var(--muted);line-height:1.75}
.site-workspace .footer-links a{font-size:14px;font-weight:550}
.site-workspace .footer-copy{color:var(--muted);font-size:12px;line-height:1.7}
.site-workspace .notice-title{font-weight:650}
.site-workspace .notice-message{font-weight:500;line-height:1.7}

/* These rules deliberately avoid changing display/visibility or input semantics. */
.site-workspace:where(:not(.workspace-reference)) .btn{
  border-radius:var(--surface-control-radius);
  font-weight:600;
  line-height:1.4;
}
.site-workspace:where(:not(.workspace-reference)) .btn:hover{transform:none}
.site-workspace:where(:not(.workspace-reference)) .btn-primary{box-shadow:0 3px 10px rgba(23,105,194,.12)}
.site-workspace:where(:not(.workspace-reference)) .btn:focus-visible{outline:2px solid var(--sky);outline-offset:3px;box-shadow:none}
.site-workspace:where(:not(.workspace-reference)) .card{
  border-radius:var(--surface-radius);
  border-color:var(--line);
  box-shadow:var(--surface-shadow);
}
.site-workspace:where(:not(.workspace-reference)) .card h2{font-size:20px;font-weight:650;line-height:1.45}
.site-workspace:where(:not(.workspace-reference)) .card p{line-height:1.75}
.site-workspace:where(:not(.workspace-reference)) .page-head p{font-size:15px;line-height:1.8}
.site-workspace:where(:not(.workspace-reference)) .table{font-size:14px;line-height:1.6}
.site-workspace:where(:not(.workspace-reference)) .table th{
  background:var(--soft);
  color:var(--muted);
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.site-workspace:where(:not(.workspace-reference)) .table :is(th,td){padding:14px 12px}
.site-workspace:where(:not(.workspace-reference)) .badge{font-weight:600;line-height:1.5}
.site-workspace:where(:not(.workspace-reference)) .form{border-radius:var(--surface-radius);box-shadow:0 8px 32px rgba(29,45,72,.05)}
.site-workspace:where(:not(.workspace-reference)) .form label{font-size:14px;font-weight:550;color:var(--ink)}
.site-workspace:where(:not(.workspace-reference)) :is(input,select,textarea):where(:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="file"]):not([type="submit"])){
  border-radius:var(--surface-control-radius);
}
.site-workspace:where(:not(.workspace-reference)) :is(input,select,textarea):where(:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"])):focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.site-workspace:where(:not(.workspace-reference)) :is(.flash-ok,.flash-err,.form-msg){border-radius:var(--surface-inner-radius);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.site-workspace:where(:not(.workspace-reference)) .row-actions{gap:8px}

/* Notifications share the workspace's readable, bounded secondary panels. */
.site-workspace .topbar-notification-center .unified-notification-panel{
  border-radius:var(--surface-radius);
  border-color:var(--line);
  padding:16px;
  box-shadow:0 12px 40px rgba(29,45,72,.12);
}
.site-workspace .updates-popover-head{align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.site-workspace .notification-center-tabs{gap:4px}
.site-workspace .notification-center-tab{border-radius:var(--surface-control-radius);font-size:14px;font-weight:600;min-height:38px}
.site-workspace .updates-close{width:38px;height:38px;border-radius:var(--surface-control-radius);background:var(--soft)}
.site-workspace .notification-item{border-radius:var(--surface-inner-radius);padding:12px}
.site-workspace .notification-item strong{font-size:14px;font-weight:600;line-height:1.65;overflow-wrap:anywhere}
.site-workspace .notification-item span{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.site-workspace :is(.notification-view-all,.notification-push-toggle){font-size:13px;font-weight:600}
.site-workspace .notification-list p{font-size:14px;line-height:1.7}
.site-workspace .updates-row-header strong{font-size:15px;font-weight:600;line-height:1.6}
.site-workspace .updates-row-header time{font-size:12px;font-weight:500}
.site-workspace .updates-row-body{font-size:14px;line-height:1.8;color:var(--muted)}
.site-workspace .updates-popover :is(.updates-period,.update-severity-label){font-size:12px}
.site-workspace .updates-popover :is(.updates-refresh,.updates-retry){border-radius:var(--surface-control-radius);font-size:13px;font-weight:550}

/* Consent and recovery notices appear on several otherwise unrelated pages. */
.site-workspace .google-onetap-consent-card{border-radius:var(--surface-radius);border-color:var(--line)}
.site-workspace .google-onetap-consent-card h2{font-size:24px;font-weight:650;line-height:1.4;color:var(--ink)}
.site-workspace .google-onetap-consent-card>p{font-size:15px;line-height:1.75}
.site-workspace .google-onetap-legal{font-size:14px;font-weight:400;line-height:1.7;color:var(--muted)}
.site-workspace .google-onetap-legal a{font-weight:550}
.site-workspace .google-onetap-consent-close{border-radius:var(--surface-control-radius)}
.site-workspace .page-expired-page{background:var(--soft)}
.site-workspace .page-expired-card{border-color:var(--line);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}
.site-workspace .page-expired-card h1{color:var(--ink);font-size:28px;font-weight:650;line-height:1.4}
.site-workspace .page-expired-card p{color:var(--muted);font-size:15px;line-height:1.75}
.site-workspace .page-expired-card-icon{border-radius:var(--surface-inner-radius);color:var(--sky);background:var(--sky-soft)}
.site-workspace .page-expired-action{border-radius:var(--surface-control-radius);font-weight:600}
.site-workspace .page-expired-notice{border-radius:var(--surface-radius);box-shadow:0 12px 40px rgba(29,45,72,.12);color:var(--ink)}
.site-workspace .page-expired-notice-copy strong{font-size:15px;font-weight:650;line-height:1.5}
.site-workspace .page-expired-notice-copy p{font-size:13px;line-height:1.7;color:var(--muted)}
.site-workspace .page-expired-notice-refresh{border-radius:var(--surface-control-radius);font-size:13px;font-weight:600;min-height:38px}
.site-workspace .page-expired-notice-dismiss{border-radius:var(--surface-control-radius)}

/* Keep full action buttons consistent across marketing and account pages.
   Compact inline actions and the model workbench retain their own sizing. */
@media(max-width:640px){
  .site-workspace:not(.workspace-reference) main .btn{min-height:44px}
}

@media(max-width:620px){
  .site-workspace:where(:not(.workspace-reference)) .card{padding:18px}
  .site-workspace:where(:not(.workspace-reference)) .card h2{font-size:18px}
  .site-workspace:where(:not(.workspace-reference)) :is(input,select,textarea):where(:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="file"]):not([type="submit"])){font-size:16px}
  .site-workspace .topbar-notification-center .unified-notification-panel{padding:12px}
  .site-workspace .notification-center-tab{min-height:40px}
  .site-workspace .updates-close{width:40px;height:40px}
  .site-workspace .page-expired-notice-dismiss{width:30px;height:34px}
}
