/* Shared accessibility and layout guardrails; preserve each interface's layout. */
#workspace-entry-loading{display:none}
html[data-workspace-entry="pending"] #workspace-entry-loading{display:block;margin:25vh auto;text-align:center;color:#bccbdd;font:500 1rem system-ui}
html[data-workspace-entry="pending"] :is(#homepage-view,#main-content){display:none!important}
@media(max-width:600px){
 #main-content .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
 #main-content .topbar-brand{max-width:none;width:100%;overflow:visible;gap:8px}
 #main-content .tenant-name-row{flex-wrap:wrap;gap:4px 8px}
 #main-content #tenant-brand-name{max-width:100%;font-size:1rem}
 #main-content .live-clock{font-size:.78rem;line-height:1.5;overflow-wrap:normal}
 #main-content .topbar-actions{gap:4px;flex-wrap:nowrap}
 #main-content :is(.topbar-icon-btn,.lang-btn){width:44px;min-width:44px;height:44px;padding:0}
 #main-content .switch-badge-btn{min-height:44px;padding:6px 10px;font-size:.75rem}
 #main-content .tenant-logo-img{width:32px;height:32px;object-fit:contain}
 #main-content .linked-identity-card{display:grid!important;grid-template-columns:36px minmax(0,1fr);gap:8px 10px;padding:12px}
 #main-content .linked-identity-card[style*="display: none"],#main-content .linked-identity-card[style*="display:none"]{display:none!important}
 #main-content .linked-text strong{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
 #main-content .linked-actions{grid-column:2;justify-content:flex-start;gap:10px!important;min-width:0}
 #main-content #switch-identity-btn{min-height:32px;height:32px;padding:4px 8px!important;font-size:.72rem!important;background:transparent!important;border-color:transparent!important;color:var(--muted)!important;white-space:nowrap}
 #main-content #switch-identity-btn:hover,#main-content #switch-identity-btn:focus-visible{background:var(--surface-2)!important;color:var(--text)!important}
 #main-content .device-locked-pill{max-width:100%;font-size:.7rem}
 #main-content #last-action{color:var(--text)}
}
@media(max-width:380px){#main-content .topbar{grid-template-columns:1fr}#main-content .topbar-actions{justify-self:end}#main-content .tenant-name-row{flex-wrap:nowrap}}
html { scroll-padding-top: 80px; scroll-behavior: smooth; }
.link-context{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.closing-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.closing-actions a{min-height:44px;padding:11px 18px;max-width:100%;justify-content:center}
*, *::before, *::after { box-sizing: border-box; }
body { min-width: 0; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #1a9a70; outline-offset: 4px; }
button:disabled { cursor: not-allowed; }
img { max-width: 100%; }
.hp-feature-card, .topbar-brand, .onboard-wrapper, .form-group { min-width: 0; overflow-wrap: anywhere; }
.modal-overlay { overflow-y: auto; padding: 16px; }
.modal, .modal-content { max-width: 100%; max-height: calc(100dvh - 32px); overflow-y: auto; }
.hp-footer-bottom { flex-wrap: wrap; gap: 12px; }
.hp-footer-status { color: inherit; }
.hp-footer-links{align-items:center}
.hp-footer-links .hp-footer-link{background:none;border:0;color:var(--text-muted);font-size:.84rem;padding:0;min-height:44px;cursor:pointer}
.hp-footer-links a{display:inline-flex;align-items:center;min-height:44px}
.hp-footer-link:hover{color:#27fb8a}
.policy-agreement{display:flex!important;align-items:flex-start;gap:12px;margin:20px 0;font-size:.9rem;line-height:1.6}
.policy-agreement input[type="checkbox"]{width:20px!important;height:20px;flex:0 0 20px;margin-top:4px;accent-color:var(--primary)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b16b00;outline-offset:4px}
[data-theme="dark"] :where(a,button,input,select,textarea,summary):focus-visible,.homepage-wrapper :focus-visible{outline-color:#ffcf80}
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;padding:16px 20px;text-align:center;font-size:.8rem;width:100%;background:transparent;border-top:1px solid var(--border,#29394b);margin-top:24px;flex-shrink:0}
.legal-links a{color:var(--muted,var(--text-muted,#b8c5d6));text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.legal-links a:hover{color:var(--text,#edf3f9);text-decoration:underline}
html:has(.homepage-wrapper),body:has(.homepage-wrapper){height:auto;overflow:visible}
.homepage-wrapper{overflow-x:clip}
.hp-navbar{position:sticky;top:0;z-index:1000}
.hp-hero-title span{background-image:linear-gradient(110deg,#27fb8a,#38bdf8,#27fb8a);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:brand-wave 7s ease-in-out infinite alternate}
@keyframes brand-wave{from{background-position:0% 50%}to{background-position:100% 50%}}
.product-preview{color:#edf3f9}.preview-label{font-size:.72rem;letter-spacing:.12em;color:#27fb8a;font-weight:700}.preview-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0}.preview-controls button{background:#0f1b2d;color:#b8c5d6;border:1px solid #29394b;padding:12px 20px;border-radius:99px;min-height:44px;cursor:pointer}.preview-controls button[aria-pressed="true"]{background:#27fb8a;color:#0b1524;border-color:#27fb8a}.preview-summary{padding:20px;background:#27fb8a12;border:1px solid #27fb8a40;border-radius:12px;text-align:center;line-height:1.7}.preview-records{margin:16px 0 24px;border:1px solid #29394b;border-radius:12px;padding:0 20px;background:#0f1b2d}.preview-records p{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #29394b;margin:0;color:#b8c5d6}.preview-records p:last-child{border-bottom:0}.preview-records strong{color:#edf3f9;font-size:.9rem}.preview-note{color:#a8b5c5;font-size:.85rem;line-height:1.7;margin:20px 0}.hp-card a,.hp-footer a{ text-decoration:none }.hp-card a:hover,.hp-footer a:hover{text-decoration:underline}@media(max-width:600px){.preview-records p{flex-direction:column;gap:6px}.preview-controls button{flex:1;padding:12px}.preview-summary{font-size:.9rem}}
.floating-faq{position:fixed;right:20px;bottom:20px;z-index:900;border:1px solid var(--primary);border-radius:99px;background:var(--surface);color:var(--primary);padding:12px 20px;min-height:44px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #0003}
body:has(#demo-sandbox-widget) .floating-faq{right:auto;left:20px}
@media(max-width:480px){.floating-faq{right:12px;bottom:12px}body:has(#demo-sandbox-widget){padding-bottom:310px}#demo-sandbox-widget{max-height:260px;overflow-y:auto}}
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px !important; }
  button:not(.modal-close-btn), .btn-primary, .btn-secondary { min-height: 44px; }
  .topbar { flex-wrap: wrap; gap: 12px; }
  .topbar-actions { flex-wrap: wrap; }
  #demo-sandbox-widget { left: 12px; right: 12px !important; bottom: 12px !important; width: auto; }
  body:has(#demo-sandbox-widget) { padding-bottom: 310px; }
}
/* Content-sized actions across app, account and marketing surfaces. */
.auth-card button { width: auto; flex: 0 1 auto; }
.auth-card .actions { gap: 10px; }
.auth-card #enterprise-recover { margin-top: 12px; }
.plan .button { width: auto; align-self: flex-start; }
#admin-login-btn { width: auto; justify-self: start; min-height: 44px; padding: 11px 22px; }
.hp-hero-ctas { flex-direction: row; align-items: center; flex-wrap: nowrap; margin-bottom: 12px; }
.hp-hero-ctas .btn-hp-primary, .hp-hero-ctas .btn-hp-secondary { width: auto; flex: 0 1 auto; max-width: 100%; }
.actions > button, .actions > a { flex: 0 1 auto; max-width: 100%; }
.step-actions .btn-primary, .step-actions .btn-secondary { white-space: nowrap; }
.admin-actions .admin-btn, .dialog-actions .admin-btn { white-space: nowrap; height: 44px; }
.dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.dialog-actions .btn-in { width: auto; }
/* Fixed-height task actions; groups can move intact, labels never wrap. */
:where(.actions, .admin-actions, .dialog-actions, .step-actions, .closing-actions) > :is(button,a),
.auth-card > form > button, .plan .button {
  box-sizing: border-box; min-height: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  white-space: nowrap; flex-shrink: 0; line-height: 1.2;
}
.dialog-actions { justify-content: flex-end; }
.auth-card .actions { justify-content: flex-start; }
.hp-hero-ctas > :is(a,button) { height: 48px; white-space: nowrap; }
.hp-hero-offer { color: #a8b5c5; font-size: 0.8rem; margin: 0 0 20px; }
.hp-hero-existing { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 4px 10px; color: #a8b5c5; font-size: 0.8rem; margin-bottom: 32px; }
.hp-text-action { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 4px; border: 0; background: transparent; color: #edf3f9; font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; }
.hp-text-action:hover { color: #27fb8a; text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:420px) {
  .hp-hero-ctas { flex-direction: column; gap: 10px; }
  .hp-hero-ctas > :is(a,button) { min-width: 190px; }
  .step-actions { justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
