/* Settings use the same restrained spacing and borders as the report workspace. */
body.weekly-settings-page { background:#f6f7f8; color:#404b56; }
.settings-main { max-width:1240px; padding-top:30px; padding-bottom:40px; }
.settings-heading { margin-bottom:23px; }
.settings-heading h1 { color:#2e343b; font-size:23px; font-weight:600; margin:0 0 7px; }
.settings-heading p { margin:0; color:#737b84; font-size:13px; }
.settings-main .card { border:1px solid #dfe3e7; border-radius:4px; box-shadow:none; margin-bottom:22px; }
.settings-main .card-header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:61px; padding:16px 22px; border-bottom:1px solid #e5e8eb; }
.settings-main .card-header h2 { margin:0; font-size:15px; font-weight:600; color:#37424d; }
.settings-header-note { color:#89919a; font-size:12px; }
.settings-main .card-body { padding:22px; }
.settings-description { font-size:13px; line-height:1.9; color:#79828c; margin:0 0 20px; }
.settings-profile-body { display:grid; grid-template-columns:1fr 1fr 1fr; gap:28px; align-items:center; }
.settings-profile-body .settings-description, .settings-profile-body .form-group { margin:0; }
.settings-main .form-label { color:#55606b; font-size:13px; font-weight:400; margin-bottom:8px; }
.settings-main input, .settings-main select, .settings-main textarea { border:1px solid #d9dfe5; border-radius:4px; background:#fff; color:#404b56; font-family:inherit; font-size:13px; line-height:1.5; padding:9px 11px; width:100%; }
.settings-main input, .settings-main select { min-height:38px; }
.settings-main textarea { resize:vertical; min-height:100px; }
.settings-main input[readonly] { background:#f6f7f9; color:#68737f; border-color:#e4e8ec; }
.settings-main input:focus, .settings-main select:focus, .settings-main textarea:focus { outline:2px solid #6699cc22; outline-offset:0; border-color:#6699cc; }
.settings-main select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%2375818c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:34px; }
.settings-main .btn { border-radius:4px; box-shadow:none; font-size:13px; }
.settings-main .btn-secondary { color:#4e5965; border-color:#d8dde2; background:#fff; }
.settings-main .btn-sm { padding:6px 12px; font-size:12px; }
.settings-columns { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:22px; align-items:start; }
.settings-key-list { margin:0 0 22px; }
.settings-key-list > .flex-between { border:1px solid #e6e9ed; flex-wrap:wrap; gap:10px; }
.settings-key-list .flex-center { flex-wrap:wrap; justify-content:flex-start; min-width:0; }
.settings-key-list code { overflow-wrap:anywhere; }
.settings-add-key { border-top:1px solid #e5e8eb; padding-top:20px; }
.settings-add-key h3 { color:#46515d; font-size:14px; font-weight:500; margin:0 0 16px; }
.settings-add-key #key-form { display:grid; grid-template-columns:1fr; gap:16px; }
.settings-add-key .form-group { margin:0; }
.settings-add-key #add-key { justify-self:start; }
.settings-main .badge { font-size:11px; border-radius:3px; font-weight:400; }
.settings-main .alert { padding:13px 15px; border-radius:4px; font-size:13px; line-height:1.8; }
.settings-main .text-muted { color:#79828c; line-height:1.9; }
.settings-main #system-key-container .stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:20px; }
.settings-main #system-key-container .stat-card { padding:0 12px; background:transparent; border:0; border-right:1px solid #e5e8eb; border-radius:0; box-shadow:none; transform:none; }
.settings-main #system-key-container .stat-card:first-child { padding-left:0; }
.settings-main #system-key-container .stat-card:last-child { border-right:0; padding-right:0; }
.settings-main #system-key-container .stat-card::before { display:none; }
.settings-main #system-key-container .stat-label { color:#79828c; font-size:12px; font-weight:400; }
.settings-main #system-key-container .stat-value { color:#37424d; font-weight:500; overflow-wrap:anywhere; }
@media(max-width:900px) { .settings-profile-body { grid-template-columns:1fr 1fr; gap:18px; } .settings-profile-body .settings-description { grid-column:1/-1; } .settings-columns { grid-template-columns:1fr; gap:0; } }
@media(max-width:600px) { .settings-main { padding-top:22px; } .settings-main .card-header, .settings-main .card-body { padding:16px; } .settings-profile-body { grid-template-columns:1fr; } .settings-header-note { font-size:11px; } }
@media(forced-colors:active) { .settings-main select { appearance:auto; -webkit-appearance:auto; background-image:none; } }

/* Two alternative setup routes, with no second configuration requirement. */
.settings-choice-heading { margin:2px 0 18px; }
.settings-choice-heading h2 { margin:0 0 9px; color:#37424d; font-size:16px; font-weight:600; }
.settings-choice-heading h2 span { display:inline-block; margin-left:9px; padding:2px 7px; border:1px solid #d9e3ec; border-radius:3px; color:#557895; font-size:12px; font-weight:400; vertical-align:middle; }
.settings-choice-heading p { margin:0; color:#707b85; font-size:13px; line-height:1.8; }
.settings-choice-heading .settings-choice-hint { margin-top:4px; color:#9098a0; font-size:12px; }
.settings-key-choice .settings-columns { grid-template-columns:minmax(0,1.15fr) 30px minmax(0,1fr); gap:12px; }
.settings-method-label { display:block; margin-bottom:5px; font-size:11px; font-weight:400; color:#8a939d; }
.settings-choice-divider { display:flex; flex-direction:column; align-items:center; align-self:stretch; gap:12px; color:#8c98a4; font-size:13px; padding-bottom:22px; }
.settings-choice-divider::before, .settings-choice-divider::after { content:""; display:block; width:1px; min-height:20px; flex:1; background:#e0e5ea; }
.settings-choice-divider span { padding:4px 0; }
@media(max-width:900px) {
 .settings-key-choice .settings-columns { grid-template-columns:1fr; gap:0; }
 .settings-choice-divider { flex-direction:row; padding:0 0 22px; }
 .settings-choice-divider::before, .settings-choice-divider::after { width:auto; min-height:0; height:1px; }
 .settings-choice-divider span { padding:0 4px; }
}
