@import url('colors_and_type.css');

:root {
  --ag-white: #FFFFFF;
  --ag-snow: #F7F8FA;
  --ag-paper: #EEF0F3;
  --ag-paper-2: #E3E7EB;
  --ag-ink: #171B21;
  --ag-ink-2: #454E5A;
  --ag-ink-3: #6B7480;
  --ag-slate-900: #131920;
  --ag-slate-700: #2C3745;
  --ag-error: #8C3A2A;
  --ag-font-display: 'Instrument Serif', Georgia, serif;
  --ag-font-body: 'Manrope', system-ui, sans-serif;
  --agc-radius: 6px;
  --agc-hair: 1px solid rgba(19, 25, 32, 0.08);
  --agc-hair-strong: 1px solid rgba(19, 25, 32, 0.14);
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--ag-font-body); color: var(--ag-ink); background: var(--ag-snow); }

.agc-login-shell { min-height: 100vh; background: var(--ag-snow); display: flex; align-items: center; justify-content: center; padding: 24px; }
.agc-login-card { width: 100%; max-width: 380px; display: flex; flex-direction: column; gap: 22px; }
.agc-login-brand { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.agc-login-brand .mark { width: 40px; height: 40px; border-radius: 8px; background: var(--ag-slate-900); color: var(--ag-paper); display: flex; align-items: center; justify-content: center; font-family: var(--ag-font-display); font-size: 20px; }
.agc-login-brand .name { font-family: var(--ag-font-display); font-size: 20px; color: var(--ag-slate-900); }
.agc-login-brand .sub { font-size: 12.5px; color: var(--ag-ink-3); }
.agc-login-panel { background: var(--ag-white); border: var(--agc-hair); border-radius: 8px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.agc-login-error { background: rgba(140, 58, 42, 0.08); border: 1px solid rgba(140, 58, 42, 0.22); color: var(--ag-error); font-size: 12.5px; padding: 10px 12px; border-radius: 5px; display: flex; gap: 8px; align-items: flex-start; }
.agc-login-foot { text-align: center; font-size: 11.5px; color: var(--ag-ink-3); }

.agc-field { display: flex; flex-direction: column; gap: 6px; }
.agc-field-label { font-size: 12px; font-weight: 600; color: var(--ag-ink-2); }

.agc-input { background: var(--ag-white); border: var(--agc-hair-strong); border-radius: var(--agc-radius); padding: 8px 12px; font-size: 13px; font-family: var(--ag-font-body); outline: none; transition: border-color 140ms; width: 100%; }
.agc-input:focus { border-color: var(--ag-slate-700); }

.agc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--ag-font-body); font-weight: 600; font-size: 13px; padding: 9px 14px; border-radius: var(--agc-radius); border: 1px solid transparent; cursor: pointer; transition: all 140ms; line-height: 1; text-decoration: none; }
.agc-btn-primary { background: var(--ag-slate-900); color: #FFFFFF; }
.agc-btn-primary:hover { background: var(--ag-slate-700); }
.agc-btn-secondary { background: var(--ag-white); color: var(--ag-slate-900); border-color: rgba(19, 25, 32, 0.14); }
.agc-btn-secondary:hover { background: var(--ag-snow); border-color: var(--ag-slate-700); }
