.backend-loading { display: grid; min-height: 100dvh; place-items: center; color: #77978b; font-size: 13px; }
.login-screen { display: grid; place-content: center; min-height: 100dvh; padding: 80px 20px 45px; background: #f2f6f4; }
.login-home { position: absolute; top: 26px; left: 30px; display: flex; align-items: center; gap: 6px; color: #789488; font-size: 12px; }
.login-home .icon { width: 14px; height: 14px; transform: rotate(180deg); }
.login-card { width: min(420px, calc(100vw - 40px)); padding: 36px; border: 1px solid #dfeae4; border-radius: 16px; background: #fff; box-shadow: 0 20px 65px #224c3110; }
.login-card .brand-mark { margin-bottom: 20px; width: 43px; height: 43px; }
.login-eyebrow { font: 10px var(--mono); letter-spacing: 2px; color: #99ada3; }
.login-card h1 { margin: 9px 0 6px; font-size: 26px; font-weight: 650; }
.login-card > p { margin: 0 0 27px; color: #8da59a; font-size: 12px; }
.login-card label { margin-top: 16px; font-size: 12px; }
.login-card input { min-height: 43px; font-size: 13px; }
.login-card .btn { margin-top: 25px; width: 100%; min-height: 43px; font-size: 12px; }
.login-note { margin-top: 24px; padding-top: 19px; border-top: 1px solid var(--line); color: #9bafa5; font-size: 10px; line-height: 1.9; }
.login-note code { font-size: 10px; }
.login-footer { margin-top: 26px; text-align: center; color: #9aacaa; font: 10px var(--mono); }
.admin-body .app-sidebar { overflow-y: auto; }
.admin-body .nav-short { display: none; }
.admin-user { margin-top: 10px; color: #a7cfbd; font-size: 13px; overflow-wrap: anywhere; }
.admin-top-user { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #6e8d80; }
.metric-value strong.metric-text { font-family: inherit; font-size: 21px; letter-spacing: -.5px; }
#adminMessage { margin: 0 0 16px; }
.admin-library { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: start; }
.admin-groups .group-list { max-height: 580px; }
.admin-groups .empty { padding: 25px 4px; }
.admin-record-actions { padding: 0 0 17px; border-bottom: 1px solid var(--line); margin-bottom: 15px; }
.admin-record-actions .btn { min-height: 34px; }
.admin-filters { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; }
.admin-filters .search-bar { flex: 1 1 230px; }
.admin-filters select { width: auto; max-width: 170px; min-height: 34px; margin-top: 0; font-size: 10px; }
.admin-filters .check { min-height: 34px; }
#adminItemsMeta { margin: 12px 0; }
.admin-table-wrap { overflow: auto; max-height: 660px; min-height: 200px; }
.admin-table-wrap .probe-table td { font-size: 11px; padding: 13px 10px; }
.admin-table-wrap .probe-table th { padding-inline: 10px; }
.admin-table-wrap .probe-table td:first-child { width: 30px; }
.admin-note-cell { max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.admin-row-actions { display: flex; gap: 5px; }
.admin-favorite { min-height: 26px; width: 27px; padding: 3px; border: 0; border-radius: 5px; background: transparent; color: #b9c6c5; }
.admin-favorite .icon { width: 15px; height: 15px; }
.admin-favorite:hover { background: #f5f7ef; }
.admin-favorite.active { color: #bd9c5a; }
.admin-favorite.active .icon { fill: #e4c68942; }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 16px; border-top: 1px solid var(--line); margin-top: 15px; color: #92a5ad; font-size: 10px; }
.admin-proxy-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(265px, 1fr); gap: 19px; align-items: start; }
.proxy-form-card, .proxy-insight { padding: 25px; }
.proxy-fields { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 16px; }
.field-full { grid-column: 1 / -1; }
.admin-body .proxy-fields input { min-height: 39px; }
.proxy-form-card .section-head { margin-bottom: 23px; }
.proxy-actions { margin-top: 23px; }
.connection-detail { display: flex; flex-direction: column; gap: 5px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.connection-detail > span { color: #8da7a1; font-size: 10px; }
.connection-detail > strong { color: #678a7f; font: 11px var(--mono); overflow-wrap: anywhere; }
.proxy-insight .connection-note { margin-top: 21px; }
.admin-account-card { max-width: 630px; padding: 26px; }
.admin-account-card .section-head > .icon { color: #89b09f; }
.admin-account-card label { margin-top: 17px; font-size: 12px; }
.admin-account-card input { min-height: 41px; font-size: 12px; }
.admin-account-card .btn { margin-top: 23px; }
.admin-body .modal-actions { margin-top: 20px; }
.admin-body .prompt-modal label + label { margin-top: 14px; }
#adminItemNote { min-height: 90px; }
#adminItemForm > .check { margin-top: 14px; }
.admin-body .prompt-modal .proxy-fields { margin-bottom: 15px; }
.admin-body .prompt-modal .hint { overflow-wrap: anywhere; }
.history-filters { align-items: end; margin-bottom: 18px; flex-wrap: wrap; }
.history-maintenance { margin-top: 20px; }
.history-maintenance form, .history-maintenance .toolbar { margin-top: 16px; align-items: end; flex-wrap: wrap; }
.admin-records > label { margin: 14px 0; }
@media (max-width: 1100px) { .admin-library { grid-template-columns: 190px minmax(0, 1fr); gap: 14px; } .admin-groups, .admin-records { padding: 17px; } .admin-proxy-layout { grid-template-columns: 1fr; } }
@media (max-width: 780px) { .admin-library { grid-template-columns: 1fr; } .admin-groups .group-list { max-height: 220px; } .admin-body .nav-full { display: none; } .admin-body .nav-short { display: inline; } .admin-body .brand strong { font-size: 13px; } .admin-top-user { max-width: 100px; } .admin-records > .section-head { flex-wrap: wrap; } }
@media (max-width: 560px) { .login-card { padding: 27px; } .login-home { top: 21px; left: 21px; } .login-card h1 { font-size: 24px; } .admin-body .brand { gap: 6px; } .admin-body .tab-btn { padding: 7px 8px; } .admin-body .topbar-meta { gap: 8px; } .admin-top-user { max-width: 75px; } .admin-filters .search-bar { flex-basis: 100%; max-width: none; } .admin-filters select { flex: 1; max-width: 100%; } .admin-filters .check { flex-basis: 100%; } .admin-record-actions { gap: 7px; } .admin-record-actions .btn { font-size: 10px; padding-inline: 9px; } .proxy-form-card, .proxy-insight, .admin-account-card { padding: 20px; } .proxy-fields { grid-template-columns: minmax(0, 1fr) 92px; gap: 13px; } .admin-pagination { font-size: 9px; } }
