:root {
  --atena-blue: #000f3d;
  --atena-lime: #7bcd13;
  --atena-light-blue: #dbe6f7;
  --atena-gray: #7a808c;
  --ink: #263348;
  --muted: #5c6573;
  --line: #e2e7ef;
  --green: var(--atena-blue);
  --green-soft: #edf2fa;
  --blue: #204a82;
  --surface: #f7f9fc;
}
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible { outline-color: #507bb7; }
.brand { justify-content:center; padding:24px 20px; min-height:110px; }
.atena-logo { display:block; width:100%; height:auto; aspect-ratio:1200/430; object-fit:contain; }
.mobile-brand { display:none; }
.workspace-label, .eyebrow { color:#626f85; }
.company-name { max-width:560px; line-height:1.6; overflow-wrap:anywhere; }
.nav-link { color:#4e5b70; }
.nav-link:hover { background:#edf2fa; }
.nav-link.active { color:var(--atena-blue); background:var(--atena-light-blue); box-shadow:inset 3px 0 var(--atena-lime); }
.button.primary { background:var(--atena-lime); border-color:var(--atena-lime); color:var(--atena-blue); }
.button.primary:hover { background:#70ba10; border-color:#70ba10; }
.button:hover, .icon-button:hover { background:#edf2fa; color:var(--atena-blue); }
.button { color:#354560; border-color:#d4dce8; }
.button.subtle { background:var(--surface); }
.avatar { background:var(--atena-light-blue); color:var(--atena-blue); }
.avatar .icon { width:17px; height:17px; }
.status-dot { background:var(--atena-lime); }
.connection, .by-atena, .breadcrumbs { color:#657187; }
.breadcrumbs strong, h1, h2, h3 { color:var(--atena-blue); }
.metric-label .icon { color:#8294ad; }
.data-table th { background:#f5f7fc; color:#58677d; }
.data-table tbody tr:hover td { background:#f5f7fc; }
.data-table .name { color:#283953; }
.data-table .sub, .table-footer, .bottom-caption, .stats-note { color:#637083; }
.badge.green { background:#edf6e4; color:#416516; }
.badge:not(.green):not(.blue):not(.amber):not(.red) { background:#edf1f7; color:#53627a; }
.field label { color:#43516a; }
.field input, .field select, .field textarea { color:#263348; border-color:#d2d9e5; }
.field input[readonly] { background:#f5f7fc; color:#66758a; }
.search { border-color:#d2d9e5; }
.search input::placeholder { color:#6a778b; }
.search .icon { color:#72839c; }
.month-state, .month-state.closed { color:var(--atena-blue); }
.month-state-label small { color:#637083; }
.new-client-choice, .closing-explanation strong { color:var(--atena-blue); }
.new-client-choice input { accent-color:var(--atena-blue); }
.closing-explanation { color:#526079; }
.dialog-footer { background:#f5f7fc; }
.admin-note { color:#526079; }
.admin-note strong { color:var(--atena-blue); }
.request-group small { color:#637083; }
#toast { color:var(--atena-blue); border-color:#d2ddec; }
.login-page { background:#fff; min-height:100svh; padding:40px 24px; }
.login-main { width:min(100%,380px); padding-block:24px; }
.login-brand { justify-content:center; margin-bottom:30px; }
.login-brand img { display:block; width:220px; height:auto; aspect-ratio:1200/430; object-fit:contain; max-width:100%; }
.login-form { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.login-form h1 { margin-bottom:36px; font-size:30px; font-weight:650; line-height:1.25; text-align:center; }
.login-form .field { margin-bottom:18px; }
.login-form .field label { margin-bottom:10px; font-size:12px; color:#526079; }
.login-input { position:relative; }
.login-input>.lucide { position:absolute; top:18px; left:17px; width:18px; height:18px; color:#77859a; pointer-events:none; }
.login-form .field input { height:54px; padding:14px 16px 14px 47px; border:1px solid #dce3ee; border-radius:12px; background:#f7f9fc; color:var(--atena-blue); font-size:15px; transition:background .15s, border-color .15s, box-shadow .15s; }
.login-form .field input:hover { border-color:#a9b9cf; }
.login-form .field input:focus { outline:none; border-color:#507bb7; background:#fff; box-shadow:0 0 0 4px #dbe6f780; }
.login-form .button.primary { width:100%; min-height:52px; padding:14px 20px; border-radius:12px; font-size:14px; gap:12px; }
.login-form .button>.lucide { width:18px; height:18px; flex:none; }
.login-form .text-link { display:flex; justify-content:center; width:100%; margin-top:20px; min-height:36px; font-size:12px; }
.login-message { color:#5c6573; font-size:13px; line-height:1.7; margin-bottom:24px; }
.login-feedback { min-height:24px; margin-top:14px; }
.login-feedback .form-error { margin:0; font-size:12px; }
@media (max-width:850px) {
  .brand { padding:24px 20px; }
  .company-name { max-width:100%; }
  .mobile-brand { display:block; width:132px; height:47px; }
  .mobile-brand img { display:block; width:100%; height:100%; object-fit:contain; }
  .breadcrumbs>strong, .breadcrumbs>.icon { display:none; }
}
@media (max-width:540px) {
  .company-name { font-size:10px; }
  .login-page { padding:32px 24px; }
  .login-form { padding:0; }
}
