:root {
  --str-ink: #13272d;
  --str-muted: #536870;
  --str-teal: #0d6570;
  --str-teal-dark: #084b53;
  --str-gold: #d8ad42;
  --str-surface: #ffffff;
  --str-soft: #edf4f3;
  --str-border: #c8d7d8;
  --str-danger: #a83636;
}

.str-role-context,
.str-portal-card,
.str-admin-card {
  box-sizing: border-box;
  border: 1px solid var(--str-border);
  border-radius: 18px;
  background: var(--str-surface);
  color: var(--str-ink);
  box-shadow: 0 12px 30px rgba(18, 55, 61, 0.08);
}

.str-role-context,
.str-portal-card {
  padding: clamp(22px, 4vw, 38px);
}

.str-role-context {
  margin: 0 0 24px;
  border-left: 7px solid var(--str-gold);
}

.str-role-context small,
.str-portal-card small {
  display: block;
  margin-bottom: 8px;
  color: var(--str-teal);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.13em;
}

.str-role-context h2,
.str-portal-card h2,
.str-portal-card h3 {
  margin: 0 0 12px;
  color: var(--str-ink);
  line-height: 1.15;
}

.str-role-context p,
.str-portal-card p,
.str-admin p,
.str-admin label,
.str-admin input,
.str-admin select {
  font-size: 17px;
  line-height: 1.55;
}

.str-portal-grid,
.str-admin-grid,
.str-gates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 20px;
}

a.str-portal-card {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

a.str-portal-card:hover,
a.str-portal-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(18, 55, 61, 0.14);
  outline: 3px solid rgba(216, 173, 66, 0.45);
}

.str-button,
.str-admin .button,
.str-admin .button-primary {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 750;
}

.str-button {
  background: var(--str-teal);
  color: #fff;
  text-decoration: none;
}

.str-admin-grid,
.str-gates {
  margin-top: 24px;
}

.str-admin-card {
  padding: 24px;
}

.str-lead {
  max-width: 78ch;
  font-size: 19px !important;
}

.str-field {
  display: grid;
  gap: 7px;
  margin: 0 0 18px;
  font-weight: 700;
}

.str-field input,
.str-admin select {
  width: 100%;
  min-height: 46px;
  padding: 7px 12px;
}

.str-field small {
  color: var(--str-muted);
  font-size: 15px;
  font-weight: 500;
}

.str-checks {
  display: grid;
  gap: 10px;
}

.str-checks label {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 10px;
}

.str-state {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 9px 0;
  padding: 14px 16px;
  border: 1px solid var(--str-border);
  border-radius: 10px;
  background: var(--str-soft);
  font-size: 16px;
}

.str-ok {
  border-left: 5px solid #258653;
}

.str-warning {
  border-left: 5px solid var(--str-gold);
}

.str-api-status.is-error {
  color: var(--str-danger);
}

@media (max-width: 700px) {
  .str-state {
    flex-direction: column;
  }
}

.str-operational-shell { width:min(1500px,calc(100vw - 32px)); margin-left:50%; transform:translateX(-50%); }
.str-operational-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding:22px 26px; border:1px solid var(--str-border); border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(18,55,61,.08); }
.str-operational-head small { color:var(--str-teal); font-weight:900; letter-spacing:.13em; }
.str-operational-head h2 { margin:4px 0; font-size:32px; }
.str-operational-head p { margin:0; }
.str-operational-frame { display:block; width:100%; min-height:82vh; border:1px solid var(--str-border); border-radius:20px; background:#edf4f3; box-shadow:0 20px 55px rgba(18,55,61,.14); }
@media (max-width:700px) { .str-operational-shell { width:calc(100vw - 16px); } .str-operational-head { align-items:stretch; flex-direction:column; padding:18px; } .str-operational-frame { min-height:88vh; border-radius:14px; } }
.str-user-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 220px auto;gap:14px;align-items:end;margin:22px 0}.str-user-toolbar label{display:grid;gap:6px;font-weight:750}.str-user-toolbar input,.str-user-toolbar select{min-height:46px;padding:7px 11px;border:1px solid var(--str-border);border-radius:9px}.str-user-layout{display:grid;grid-template-columns:minmax(520px,1.1fr) minmax(400px,.9fr);gap:20px}.str-user-results{display:grid;gap:8px}.str-user-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;width:100%;padding:13px;border:1px solid var(--str-border);border-radius:12px;background:#fff;color:var(--str-ink);text-align:left;cursor:pointer}.str-user-row:hover,.str-user-row:focus-visible{border-color:var(--str-teal);box-shadow:0 8px 22px rgba(13,101,112,.12)}.str-user-row span{min-width:0}.str-user-row strong,.str-user-row small,.str-user-row b{display:block}.str-user-row small{overflow:hidden;color:var(--str-muted);text-overflow:ellipsis;white-space:nowrap}.str-user-row>span:last-child{text-align:right}.str-user-avatar{display:grid!important;width:44px;height:44px;place-items:center;border-radius:13px;background:var(--str-gold);font-size:19px;font-weight:900}.str-user-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.str-user-detail{position:sticky;top:48px;align-self:start}.str-user-detail-head{display:flex;justify-content:space-between;gap:18px}.str-user-detail-head small{color:var(--str-teal);font-weight:900;letter-spacing:.1em}.str-user-detail-head h2{margin:5px 0}.str-user-state{align-self:start;padding:7px 10px;border-radius:999px;background:#e7f5ee;color:#17643d;font-weight:800}.str-user-state.is-suspended{background:#fff0d4;color:#835808}.str-user-state.is-archived,.str-user-state.is-deletion_pending{background:#f1e5e5;color:#883232}.str-user-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.str-user-facts span{padding:10px;border-radius:9px;background:var(--str-soft)}.str-user-facts b{display:block;font-size:12px;text-transform:uppercase}.str-user-actions{display:flex;justify-content:space-between;gap:10px}.str-user-delete{color:#9b2727!important;border-color:#b85c5c!important}@media(max-width:1100px){.str-user-toolbar{grid-template-columns:1fr 1fr}.str-user-layout{grid-template-columns:1fr}.str-user-detail{position:static}}@media(max-width:700px){.str-user-toolbar{grid-template-columns:1fr}.str-user-row{grid-template-columns:44px 1fr}.str-user-row>span:last-child{grid-column:2;text-align:left}.str-user-facts{grid-template-columns:1fr}.str-user-actions{flex-direction:column}}
