
:root { color-scheme:light; }
* { box-sizing:border-box; }
html { background:var(--spoventa-color-surface-page); }
body {
  margin:0;
  min-height:100vh;
  font-family:var(--spoventa-font-family-sans);
  font-size:var(--spoventa-font-size-md);
  line-height:var(--spoventa-font-line-height-normal);
  color:var(--spoventa-color-text-primary);
  background:var(--spoventa-color-surface-page);
}
button,input,select { font:inherit; }
button {
  min-height:44px;
  border:1px solid var(--spoventa-color-border-default);
  border-radius:var(--spoventa-radius-control);
  padding:var(--spoventa-space-2) var(--spoventa-space-4);
  background:var(--spoventa-color-surface-panel);
  color:var(--spoventa-color-text-primary);
  box-shadow:var(--spoventa-shadow-sm);
  cursor:pointer;
  font-weight:var(--spoventa-font-weight-medium);
}
button:hover { border-color:var(--spoventa-color-interactive-accent); background:var(--spoventa-color-surface-subtle); }
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid var(--spoventa-color-interactive-focus);
  outline-offset:3px;
}
button:disabled { cursor:not-allowed; opacity:.62; }
a { color:var(--spoventa-color-interactive-accent-hover); text-underline-offset:.18em; }
a:hover { color:var(--spoventa-color-interactive-primary-hover); }
.skip { position:absolute; left:-10000px; top:auto; }
.skip:focus {
  left:var(--spoventa-space-4);
  top:var(--spoventa-space-4);
  z-index:var(--spoventa-z-index-toast);
  padding:var(--spoventa-space-3) var(--spoventa-space-4);
  border-radius:var(--spoventa-radius-control);
  background:var(--spoventa-color-surface-panel);
  box-shadow:var(--spoventa-shadow-md);
}
.shell {
  width:min(calc(100% - (2 * var(--spoventa-space-4))), 30rem);
  margin:0 auto;
  padding:8vh 0 var(--spoventa-space-12);
}
.card {
  margin-top:var(--spoventa-space-6);
  padding:var(--spoventa-space-8);
  border:1px solid var(--spoventa-color-border-subtle);
  border-radius:var(--spoventa-radius-card);
  background:var(--spoventa-color-surface-panel);
  box-shadow:var(--spoventa-shadow-lg);
}
.brand { display:flex; align-items:center; min-width:0; }
.brand img { display:block; width:min(100%, 14rem); height:auto; }
.topbar .brand img { width:11rem; }
.language { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--spoventa-space-2); }
.topbar-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:var(--spoventa-space-3); }
.signout {
  border-color:var(--spoventa-color-border-default);
  background:var(--spoventa-color-surface-panel);
  color:var(--spoventa-color-text-primary);
}
.signout:hover { border-color:var(--spoventa-color-surface-strong); }
.language [aria-pressed="true"] {
  border-color:var(--spoventa-color-surface-strong);
  background:var(--spoventa-color-surface-strong);
  color:var(--spoventa-color-text-inverse);
}
h1,h2,h3 { color:var(--spoventa-color-text-primary); line-height:var(--spoventa-font-line-height-tight); }
h1 { margin:var(--spoventa-space-4) 0 var(--spoventa-space-1); font-size:var(--spoventa-font-size-3xl); }
h2 { font-size:var(--spoventa-font-size-2xl); }
h3 { font-size:var(--spoventa-font-size-xl); }
p { color:var(--spoventa-color-text-secondary); }
form { display:grid; gap:var(--spoventa-space-3); margin-top:var(--spoventa-space-5); }
label { font-weight:var(--spoventa-font-weight-semibold); }
input,select {
  width:100%;
  min-height:46px;
  border:1px solid var(--spoventa-color-border-strong);
  border-radius:var(--spoventa-radius-control);
  padding:var(--spoventa-space-3) var(--spoventa-space-4);
  background:var(--spoventa-color-surface-panel);
  color:var(--spoventa-color-text-primary);
}
.primary {
  margin-top:var(--spoventa-space-2);
  border-color:var(--spoventa-color-interactive-primary);
  background:var(--spoventa-color-interactive-primary);
  color:var(--spoventa-color-text-inverse);
  font-weight:var(--spoventa-font-weight-bold);
}
.primary:hover {
  border-color:var(--spoventa-color-interactive-primary-hover);
  background:var(--spoventa-color-interactive-primary-hover);
}
.status:not(:empty) {
  padding:var(--spoventa-space-3) var(--spoventa-space-4);
  border-left:4px solid var(--spoventa-color-interactive-accent);
  border-radius:var(--spoventa-radius-control);
  background:var(--spoventa-color-surface-subtle);
  color:var(--spoventa-color-text-primary);
}
details { margin-top:var(--spoventa-space-6); }
summary { cursor:pointer; font-weight:var(--spoventa-font-weight-semibold); }
.topbar {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:var(--spoventa-space-4);
  padding:var(--spoventa-space-4) clamp(var(--spoventa-space-4), 4vw, var(--spoventa-space-12));
  border-bottom:1px solid var(--spoventa-color-border-subtle);
  background:var(--spoventa-color-surface-panel);
  box-shadow:var(--spoventa-shadow-sm);
}
.suite-home-page { background:var(--spoventa-color-interactive-primary-hover); }
.suite-home-page .home {
  width:min(calc(100% - (2 * var(--spoventa-space-4))), 54rem);
  margin:0 auto;
  padding:var(--spoventa-space-12) 0 var(--spoventa-space-16);
}
.suite-home-page .home h1 { color:var(--spoventa-color-text-inverse); }
.suite-home-page .home-introduction {
  max-width:44rem;
  margin:var(--spoventa-space-3) 0 var(--spoventa-space-8);
  color:var(--spoventa-color-brand-mist-teal);
  font-size:var(--spoventa-font-size-lg);
}
.suite-home-page .updated { color:var(--spoventa-color-border-subtle); font-size:var(--spoventa-font-size-sm); }
.suite-home-page .workspace { margin:var(--spoventa-space-8) 0; }
.suite-home-page .workspace-title {
  margin:0 0 var(--spoventa-space-4);
  color:var(--spoventa-color-border-subtle);
  font-size:var(--spoventa-font-size-sm);
  font-weight:var(--spoventa-font-weight-semibold);
  letter-spacing:.02em;
}
.suite-home-page .product-list { display:grid; gap:var(--spoventa-space-3); }
.suite-home-page .product {
  width:100%;
  min-height:88px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto auto;
  align-items:center;
  gap:var(--spoventa-space-4);
  padding:var(--spoventa-space-4) var(--spoventa-space-5);
  border:1px solid var(--spoventa-color-border-strong);
  border-radius:var(--spoventa-radius-card);
  background:var(--spoventa-color-surface-strong);
  color:var(--spoventa-color-text-inverse);
  box-shadow:var(--spoventa-shadow-md);
  text-align:left;
}
.suite-home-page .product:hover {
  border-color:var(--spoventa-color-interactive-accent);
  background:var(--spoventa-color-brand-graphite);
}
.suite-home-page .product-icon { display:block; width:48px; height:48px; }
.suite-home-page .product-copy { display:grid; gap:var(--spoventa-space-1); min-width:0; }
.suite-home-page .product-name {
  margin:0;
  color:var(--spoventa-color-text-inverse);
  font-size:var(--spoventa-font-size-lg);
  font-weight:var(--spoventa-font-weight-bold);
}
.suite-home-page .product-description { margin:0; color:var(--spoventa-color-border-subtle); }
.suite-home-page .product-code { font-weight:var(--spoventa-font-weight-bold); }
.suite-home-page .product-arrow {
  color:var(--spoventa-color-interactive-accent);
  font-size:var(--spoventa-font-size-2xl);
  line-height:1;
}
.suite-home-page .status:not(:empty) {
  border-left-color:var(--spoventa-color-brand-coral);
  background:var(--spoventa-color-surface-panel);
}
#platform-administration {
  margin-top:var(--spoventa-space-8);
  padding-top:var(--spoventa-space-6);
  border-top:1px solid var(--spoventa-color-border-strong);
}
#platform-administration a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--spoventa-color-brand-teal);
  font-weight:var(--spoventa-font-weight-bold);
  text-decoration:none;
}
#platform-administration a:hover { color:var(--spoventa-color-text-inverse); }
.working-as-page { background:var(--spoventa-color-surface-page); }
.working-as-shell {
  width:min(calc(100% - (2 * var(--spoventa-space-4))), 42rem);
  margin:0 auto;
  padding:var(--spoventa-space-10) 0 var(--spoventa-space-16);
}
.working-as-card {
  padding:var(--spoventa-space-8);
  border:1px solid var(--spoventa-color-border-subtle);
  border-radius:var(--spoventa-radius-card);
  background:var(--spoventa-color-surface-panel);
  box-shadow:var(--spoventa-shadow-lg);
}
.working-as-product {
  margin:0;
  color:var(--spoventa-color-interactive-accent-hover);
  font-size:var(--spoventa-font-size-sm);
  font-weight:var(--spoventa-font-weight-bold);
  letter-spacing:.03em;
  text-transform:uppercase;
}
.working-as-workspace {
  margin:var(--spoventa-space-6) 0 var(--spoventa-space-3);
  font-size:var(--spoventa-font-size-lg);
}
.profile-list { display:grid; gap:var(--spoventa-space-3); margin-top:var(--spoventa-space-5); }
.profile-option {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--spoventa-space-4);
  padding:var(--spoventa-space-4);
  border-color:var(--spoventa-color-border-strong);
  text-align:left;
}
.profile-option:hover { border-color:var(--spoventa-color-interactive-accent); }
.profile-copy { display:grid; gap:var(--spoventa-space-1); min-width:0; }
.profile-role { color:var(--spoventa-color-text-primary); font-weight:var(--spoventa-font-weight-bold); }
.profile-scope { color:var(--spoventa-color-text-secondary); overflow-wrap:anywhere; }
.profile-current {
  padding:var(--spoventa-space-1) var(--spoventa-space-2);
  border:1px solid var(--spoventa-color-interactive-accent);
  border-radius:999px;
  color:var(--spoventa-color-interactive-accent-hover);
  font-size:var(--spoventa-font-size-sm);
  font-weight:var(--spoventa-font-weight-semibold);
}
.working-as-return { display:inline-block; margin-top:var(--spoventa-space-6); font-weight:var(--spoventa-font-weight-semibold); }
.secret {
  display:block;
  overflow-wrap:anywhere;
  padding:var(--spoventa-space-3);
  border:1px solid var(--spoventa-color-border-default);
  border-radius:var(--spoventa-radius-control);
  background:var(--spoventa-color-surface-subtle);
  font-size:var(--spoventa-font-size-md);
  user-select:all;
}
.backup-codes { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:var(--spoventa-space-2); padding:0; list-style:none; }
.backup-codes code {
  display:block;
  padding:var(--spoventa-space-3);
  border:1px solid var(--spoventa-color-border-default);
  border-radius:var(--spoventa-radius-control);
  background:var(--spoventa-color-surface-subtle);
  text-align:center;
  user-select:all;
}
[hidden] { display:none !important; }
@media (max-width:30rem) {
  .shell { padding-top:var(--spoventa-space-8); }
  .card { margin-top:var(--spoventa-space-4); padding:var(--spoventa-space-5); }
  .topbar { align-items:flex-start; }
  .topbar .brand img { width:9rem; }
  .topbar .language { width:100%; justify-content:flex-start; }
  h1 { font-size:var(--spoventa-font-size-2xl); }
  .suite-home-page .home { padding-top:var(--spoventa-space-8); }
  .suite-home-page .topbar-actions { width:100%; justify-content:space-between; }
  .suite-home-page .topbar .language { width:auto; }
  .suite-home-page .product {
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:var(--spoventa-space-3);
    padding:var(--spoventa-space-4);
  }
  .suite-home-page .product-icon { width:40px; height:40px; }
  .suite-home-page .product-code { display:none; }
  .working-as-shell { padding-top:var(--spoventa-space-6); }
  .working-as-card { padding:var(--spoventa-space-5); }
  .profile-option { grid-template-columns:1fr; gap:var(--spoventa-space-2); }
  .profile-current { justify-self:start; }
}
@media (prefers-reduced-motion:no-preference) {
  button,a,input,select { transition:border-color .15s,background-color .15s,color .15s; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
