/* Shared visual language. Page-specific workbench geometry stays unchanged. */
a,button,input,select,textarea {
  transition:background-color .15s,border-color .15s,color .15s
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px
}

button.primary,.platform-primary {
  background:var(--text);
  color:#fff;
  border-radius:6px
}

button.primary:hover:not(:disabled),.platform-primary:hover {
  background:var(--forest);
  color:#fff
}

button.secondary {
  background:var(--panel);
  border-radius:6px
}

button.secondary:hover:not(:disabled) {
  background:var(--panel2);
  border-color:#a5b29c
}

.card {
  box-shadow:var(--shadow)
}

.platform-header {
  background:var(--bg)
}

.platform-brand {
  letter-spacing:-.4px
}

.platform-brand [data-product-icon] {
  --product-icon-color:var(--accent);
  --product-icon-depth:#e8c6b2
}

.platform-main {
  padding-top:44px
}

.platform-title {
  font-weight:600;
  letter-spacing:-1px;
  line-height:1.25
}

.platform-subtitle {
  line-height:1.8
}

.platform-eyebrow {
  font-size:10px;
  letter-spacing:1.8px;
  color:var(--muted)
}

.platform-account {
  border-radius:5px;
  background:transparent
}

.auth-card {
  max-width:430px;
  padding:38px 32px;
  border-top:3px solid var(--accent)
}

.auth-title {
  font-size:25px;
  font-weight:600;
  letter-spacing:-.7px
}

.auth-card input {
  min-height:42px;
  background:var(--bg)
}

.auth-card .lang-select {
  min-height:32px
}

.sidebar nav button {
  border-radius:6px
}

.sidebar nav button.active {
  background:var(--accent-soft)
}

.app-card,.recent-card {
  border-radius:8px;
  box-shadow:none
}

.app-card:hover,.recent-card:hover {
  border-color:#a5b29c;
  background:#f2f4ec
}

.app-icon {
  --product-icon-color:var(--forest);
  --product-icon-depth:#c2cfb5
}

.work-kind {
  background:var(--accent-soft)
}

.portal-search input {
  box-shadow:none;
  border-radius:7px;
  background:var(--panel)
}

.quota-card {
  background:#e9ede3;
  box-shadow:none;
  border-color:#d8dfcf
}

.skip-link {
  position:absolute;
  top:-100px;
  left:20px;
  z-index:100;
  background:var(--text);
  color:#fff;
  padding:12px 18px;
  border-radius:4px;
  text-decoration:none
}

.skip-link:focus {
  top:10px
}

@media(max-width:640px) {
  .platform-main {
    padding-top:28px
  }

  .auth-card {
    padding:30px 23px
  }

}

@media(prefers-reduced-motion:reduce) {
  a,button,input,select,textarea {
    transition:none
  }

}
