.auth-locked .sidebar,
.auth-locked main { display: none; }

.auth-shell {
  min-height: 100vh;
  width: 100%;
  display: grid;
  place-items: center;
  padding: 24px;
  background: radial-gradient(circle at top left, #2b7552 0, #112d22 46%, #091b14 100%);
}

body:not(.auth-locked) .auth-shell { display: none; }

.auth-card {
  width: min(440px, 100%);
  background: #fff;
  border-radius: 18px;
  padding: 34px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .3);
}

.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; }
.auth-brand strong,.auth-brand small { display: block; }
.auth-brand small { color: #66706a; margin-top: 3px; }
.auth-form { display: grid; gap: 15px; }
.auth-form.hidden { display: none; }
.auth-form label,.user-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.auth-form input,.user-form input,.user-form select { border: 1px solid #bdc9c1; border-radius: 8px; padding: 11px; background: #fff; }
.link-button { border: 0; background: transparent; color: #165b3b; cursor: pointer; font-weight: 700; }
.password-help { justify-self: center; padding: 2px 0; font-size: 12px; }
.logout { margin-top: auto; }
.sidebar .logout + .safety { margin-top: 8px; }
.user-form { display: grid; grid-template-columns: 1.2fr 1fr .7fr auto; gap: 12px; align-items: end; margin: 22px 0; }

@media(max-width:1000px){.user-form{grid-template-columns:1fr}}
.assistant-panel{max-width:920px}.assistant-form{display:grid;gap:12px}.assistant-form textarea{resize:vertical;border:1px solid #bdc9c1;border-radius:10px;padding:14px;font:inherit}.assistant-response{margin-top:18px;padding:18px;border-radius:10px;background:#eef6f0;line-height:1.5}.assistant-response.error{background:#fff0ee;color:#a33a32}.production-lock{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-top:18px;padding:16px;border:1px solid #efcac6;border-radius:10px;background:#fff7f6;color:#7f312b}.production-lock span{font-size:12px}.production-lock button{border:0;border-radius:8px;padding:11px;opacity:.5}@media(max-width:850px){.production-lock{grid-template-columns:1fr}}
.operation-card{border:1px solid #dce5df;border-radius:12px;padding:14px;margin-bottom:14px}.preview{padding:14px;background:#f8faf8;border-radius:10px;overflow:auto}.preview table{width:100%;border-collapse:collapse;font-size:12px}.preview th,.preview td{padding:8px;border-bottom:1px solid #dce5df;text-align:left;vertical-align:top}.preview code{word-break:break-all}.preview-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
