.feedback-page,
.feedback-admin-page {
  color-scheme: dark;
  --feedback-control: #0b1112;
  --feedback-soft: #11191b;
  --feedback-panel: #101719;
  --feedback-danger: #ff715f;
}

.feedback-main { min-height: calc(100vh - 136px); padding-top: var(--header-h); }
.feedback-section { padding: 74px 0 96px; }
.feedback-layout { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 72px; align-items: start; }
.feedback-heading { position: sticky; top: calc(var(--header-h) + 40px); }
.feedback-heading h1 { margin: 16px 0 20px; font-size: 48px; line-height: 1.14; }
.feedback-heading h1 span { color: var(--cyan); }
.feedback-heading > p { max-width: 430px; margin: 0; color: var(--muted); font-size: 14px; }
.feedback-principles { display: grid; gap: 0; margin-top: 38px; border-block: 1px solid var(--line); }
.feedback-principles div { display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.feedback-principles div:last-child { border-bottom: 0; }
.feedback-principles svg { width: 18px; height: 18px; color: var(--green); }
.feedback-principles strong, .feedback-principles span { display: block; }
.feedback-principles strong { font-size: 12px; }
.feedback-principles span { color: #9db1ad; font-size: 12px; }
.feedback-panel { min-height: 540px; padding: 34px; border: 1px solid var(--line-bright); background: var(--feedback-panel); }
.feedback-form { display: grid; gap: 22px; }
.feedback-field { position: relative; display: grid; gap: 8px; min-width: 0; }
.feedback-field > span:first-child { color: #e5ebe9; font-size: 13px; font-weight: 700; }
.feedback-field small { margin-left: 6px; color: #9db1ad; font-size: 12px; font-weight: 500; }
.feedback-field input,
.feedback-field select,
.feedback-field textarea,
.admin-search-form input,
.admin-search-form select {
  width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 0; outline: 0;
  color: var(--text); background: var(--feedback-control); font: inherit; font-size: 14px;
}
.feedback-field input, .feedback-field select { height: 46px; padding: 0 40px 0 13px; }
.feedback-field textarea { min-height: 190px; resize: vertical; padding: 12px 13px 30px; line-height: 1.65; }
.feedback-field input:focus, .feedback-field select:focus, .feedback-field textarea:focus,
.admin-search-form input:focus, .admin-search-form select:focus { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(87, 223, 213, .12); }
.feedback-field input::placeholder, .feedback-field textarea::placeholder, .admin-search-form input::placeholder { color: #8a9d99; }
.feedback-field select, .admin-search-form select { color-scheme: dark; appearance: none; -webkit-appearance: none; }
.feedback-field option, .admin-search-form option { color: var(--text); background: var(--feedback-control); }
.select-control { position: relative; display: block; min-width: 0; }
.select-control select { display: block; background-color: var(--feedback-control); }
.select-control > svg { position: absolute; top: 50%; right: 12px; width: 16px; height: 16px; color: #9daeaa; pointer-events: none; transform: translateY(-50%); }
.js .select-control { min-height: 46px; border: 1px solid var(--line); background: var(--feedback-control); }
.js .admin-search-form .select-control { min-height: 42px; }
.js .select-control > select, .js .select-control > svg { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.custom-select-trigger { width: 100%; height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 11px 0 12px; color: var(--text); border: 0; background: var(--feedback-control); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.admin-search-form .custom-select-trigger { height: 40px; font-size: 14px; }
.custom-select-trigger svg { flex: 0 0 auto; width: 16px; height: 16px; color: #9daeaa; transition: transform .14s ease; }
.select-control.is-open { z-index: 40; border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(87, 223, 213, .12); }
.select-control.is-open .custom-select-trigger svg { transform: rotate(180deg); }
.custom-select-options { position: absolute; z-index: 50; top: calc(100% + 5px); left: -1px; right: -1px; max-height: 248px; overflow-y: auto; padding: 5px; border: 1px solid var(--line-bright); background: #0b1112; box-shadow: 0 14px 30px rgba(0, 0, 0, .42); scrollbar-color: #40504d #0b1112; }
.custom-select-options[hidden] { display: none; }
.custom-select-option { width: 100%; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 9px; color: #c8d3d0; border: 0; background: #0b1112; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.custom-select-option:hover, .custom-select-option.is-focused { color: var(--text); background: #172224; }
.custom-select-option[aria-selected="true"] { color: var(--cyan); background: #132022; }
.custom-select-option svg { width: 14px; height: 14px; }
.custom-select-check { visibility: hidden; }
.custom-select-option[aria-selected="true"] .custom-select-check { visibility: visible; }
.feedback-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.field-counter { position: absolute; right: 12px; bottom: 8px; margin: 0 !important; padding-left: 8px; background: var(--feedback-control); font-family: monospace; }
.feedback-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 4px; }
.feedback-actions > span { color: #9daeaa; font-size: 11px; }
.feedback-actions button:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.feedback-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.feedback-errors { margin-bottom: 24px; padding: 16px 18px; color: #ffd5cf; border-left: 3px solid var(--feedback-danger); background: rgba(255, 113, 95, .08); font-size: 13px; }
.feedback-errors strong { display: block; margin-bottom: 6px; }
.feedback-errors ul { margin: 0; padding-left: 18px; }
.feedback-success { display: flex; align-items: flex-start; gap: 18px; padding: 24px; color: #dfffb0; border-left: 3px solid var(--green); background: rgba(185, 238, 77, .08); }
.feedback-success > svg { flex: 0 0 auto; width: 25px; height: 25px; color: var(--green); }
.feedback-success strong { display: block; font-size: 20px; }
.feedback-success p { margin: 8px 0 0; color: var(--muted); }
.feedback-success code { color: var(--cyan); }
.feedback-again { margin-top: 24px; }

.feedback-admin-page { min-height: 100vh; background: #080c0d; }
.admin-main { min-height: 100vh; }
.admin-auth { width: min(calc(100% - 32px), 500px); margin: 0 auto; padding: 64px 0; }
.admin-auth > .brand { margin-bottom: 54px; }
.admin-auth h1 { margin: 14px 0 8px; font-size: 36px; line-height: 1.2; }
.admin-auth > p { margin: 0 0 28px; color: var(--muted); font-size: 13px; }
.admin-auth-form { display: grid; gap: 20px; margin-top: 28px; padding: 28px; border: 1px solid var(--line-bright); background: var(--feedback-panel); }
.admin-auth-form .button { margin-top: 4px; }
.password-control { position: relative; display: block; }
.password-control input { padding-right: 48px; }
.password-control button { position: absolute; inset: 1px 1px 1px auto; width: 44px; display: grid; place-items: center; padding: 0; color: #9daeaa; border: 0; border-left: 1px solid var(--line); background: var(--feedback-control); cursor: pointer; }
.password-control button:hover { color: var(--cyan); }
.password-control svg { width: 17px; height: 17px; }

.admin-header { min-height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 30px; border-bottom: 1px solid var(--line); background: #06090a; }
.admin-title { text-align: center; }
.admin-title strong, .admin-title span { display: block; }
.admin-title strong { font-size: 14px; }
.admin-title span { color: #9db1ad; font-size: 12px; }
.admin-header-actions { justify-self: end; display: flex; gap: 8px; }
.admin-header-actions form { display: contents; }
.admin-shell { width: min(calc(100% - 48px), 1380px); margin: 0 auto; padding: 32px 0 72px; }
.admin-notice { display: flex; align-items: center; gap: 9px; margin-bottom: 18px; padding: 13px 16px; color: #dfffb0; border-left: 3px solid var(--green); background: rgba(185, 238, 77, .08); font-size: 12px; }
.admin-notice svg { flex: 0 0 auto; }
.admin-kpis { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 18px; border: 1px solid var(--line); background: var(--line); gap: 1px; }
.admin-kpis > div { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; background: var(--feedback-panel); }
.admin-kpis span { color: #aab9b6; font-size: 11px; }
.admin-kpis strong { color: var(--cyan); font-family: monospace; font-size: 26px; }
.admin-toolbar { margin-bottom: 18px; padding: 16px; border: 1px solid var(--line); background: var(--feedback-soft); }
.admin-view-tabs { display: flex; gap: 1px; margin: -16px -16px 16px; padding: 10px 16px; border-bottom: 1px solid var(--line); background: #0a1011; }
.admin-view-tabs a { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; color: #9daeaa; border: 1px solid transparent; font-size: 11px; }
.admin-view-tabs a:hover { color: #d7e1df; }
.admin-view-tabs a[aria-current="page"] { color: var(--cyan); border-color: var(--line-bright); background: #111a1c; }
.admin-view-tabs svg { width: 15px; height: 15px; }
.admin-view-tabs span { min-width: 18px; padding: 1px 5px; color: #aab8b5; border: 1px solid var(--line); font-family: monospace; font-size: 11px; text-align: center; }
.admin-search-form { display: grid; grid-template-columns: minmax(220px, 1fr) 170px 170px auto auto; gap: 10px; align-items: end; }
.admin-search-form label { display: grid; gap: 6px; min-width: 0; color: #a3b3af; font-size: 12px; }
.admin-search-form input, .admin-search-form select { height: 42px; padding: 0 38px 0 12px; }
.search-control { position: relative; display: block; }
.search-control svg { position: absolute; z-index: 1; left: 12px; top: 12px; width: 17px; height: 17px; color: #8fa19d; }
.search-control input { padding-left: 38px; }
.admin-search-form .button { min-height: 42px; padding-inline: 15px; }

.admin-workspace { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); min-height: 680px; align-items: start; border: 1px solid var(--line); background: var(--feedback-panel); }
.admin-ticket-list { min-width: 0; height: 680px; display: flex; flex-direction: column; overflow: hidden; border-right: 1px solid var(--line); }
.admin-pane-heading { min-height: 62px; display: flex; align-items: center; padding: 0 20px; border-bottom: 1px solid var(--line); }
.admin-pane-heading strong, .admin-pane-heading span { display: block; }
.admin-pane-heading strong { font-size: 14px; }
.admin-pane-heading span { margin-top: 2px; color: #94a6a2; font-size: 12px; }
.ticket-rows { min-height: 0; display: block; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #40504d #0d1415; }
.ticket-row { min-width: 0; display: block; padding: 17px 20px; border-bottom: 1px solid var(--line); background: #0d1415; transition: background .16s ease, box-shadow .16s ease; }
.ticket-row:hover { background: #131d1f; }
.ticket-row.active { background: #162022; box-shadow: inset 3px 0 var(--cyan); }
.ticket-row-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ticket-row code { color: var(--cyan); font-size: 12px; }
.ticket-row > strong { display: block; margin-top: 12px; font-size: 13px; }
.ticket-row p { margin: 4px 0 10px; overflow: hidden; color: #aebbb8; font-size: 12px; line-height: 1.55; }
.ticket-row-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ticket-row time { color: #8fa19d; font-family: monospace; font-size: 11px; }
.status-badge { flex: 0 0 auto; padding: 3px 7px; border: 1px solid var(--line-bright); color: #aebbb8; font-size: 11px; }
.wecom-delivery { display: inline-flex; align-items: center; gap: 4px; color: #8fa19d; font-size: 12px; white-space: nowrap; }
.wecom-delivery svg { width: 12px; height: 12px; stroke-width: 2; }
.wecom-delivery.is-sent { color: #62d58b; }
.status-pending { color: var(--amber); border-color: rgba(255, 200, 90, .42); }
.status-processing { color: var(--cyan); border-color: rgba(87, 223, 213, .42); }
.status-resolved { color: var(--green); border-color: rgba(185, 238, 77, .42); }
.status-closed { color: #aab8b5; }
.admin-pagination { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 16px; color: #9daeaa; font-size: 11px; }
.admin-pagination a { display: grid; place-items: center; width: 32px; height: 32px; color: var(--cyan); border: 1px solid var(--line); }
.admin-pagination a:hover { border-color: var(--cyan); }
.admin-empty { min-height: 260px; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 32px; color: #93a5a1; text-align: center; }
.admin-empty svg { width: 28px; height: 28px; }
.admin-empty strong { color: #9aaba8; font-size: 13px; }
.admin-empty span { font-size: 12px; }
.detail-empty { min-height: 100%; }

.admin-ticket-detail { min-width: 0; padding: 28px; }
.ticket-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.ticket-detail-header span { color: var(--green); font-size: 11px; }
.ticket-detail-header h1 { margin: 5px 0 0; overflow-wrap: anywhere; font-family: monospace; font-size: 24px; letter-spacing: 0; }
.ticket-detail-content { padding: 28px 0; overflow-wrap: anywhere; color: #e2e8e6; font-size: 14px; line-height: 1.85; }
.ticket-detail-meta { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 26px; border: 1px solid var(--line); }
.ticket-detail-meta > div { min-width: 0; padding: 13px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ticket-detail-meta > div:nth-child(3n) { border-right: 0; }
.ticket-detail-meta > div:nth-last-child(-n+3) { border-bottom: 0; }
.ticket-detail-meta dt { color: #97aca8; font-size: 11px; }
.ticket-detail-meta dd { margin: 4px 0 0; overflow-wrap: anywhere; color: #c8d3d0; font-size: 11px; }
.ticket-process-form { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; align-items: start; padding-top: 26px; border-top: 1px solid var(--line); }
.ticket-process-form .feedback-field textarea { min-height: 130px; }
.ticket-process-form .button { grid-column: 2; justify-self: end; }
.ticket-danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 34px; padding: 18px; border: 1px solid rgba(255, 113, 95, .35); background: rgba(255, 113, 95, .04); }
.ticket-danger-zone strong, .ticket-danger-zone span { display: block; }
.ticket-danger-zone strong { color: #ffd5cf; font-size: 12px; }
.ticket-danger-zone span { margin-top: 2px; color: #b08f8a; font-size: 11px; }
.button-danger { min-height: 42px; color: #ffd5cf; border-color: rgba(255, 113, 95, .55); background: transparent; }
.button-danger:hover { color: #080c0d; background: var(--feedback-danger); }
.ticket-trash-meta { display: flex; align-items: center; gap: 10px; margin-top: 26px; padding: 14px 16px; color: #aab8b5; border: 1px solid var(--line); background: #0b1213; font-size: 11px; }
.ticket-trash-meta svg { flex: 0 0 auto; width: 16px; height: 16px; color: var(--amber); }
.ticket-trash-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.ticket-trash-actions .button { min-height: 42px; }
.monitor-dashboard { display: grid; gap: 18px; }
.monitor-current, .monitor-history, .monitor-schedules { border: 1px solid var(--line); background: var(--feedback-panel); }
.monitor-section-heading { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.monitor-section-heading span { color: #97aca8; font-size: 11px; }
.monitor-section-heading h1, .monitor-section-heading h2 { margin: 3px 0 0; font-size: 16px; letter-spacing: 0; }
.monitor-run-status { padding: 5px 8px; color: var(--cyan) !important; border: 1px solid var(--line-bright); font-family: monospace; }
.monitor-progress-row { display: grid; grid-template-columns: minmax(0, 1fr) 64px; align-items: center; gap: 18px; padding: 26px 20px 18px; }
.monitor-progress-row progress { width: 100%; height: 12px; border: 0; background: #080d0e; accent-color: var(--cyan); }
.monitor-progress-row progress::-webkit-progress-bar { background: #080d0e; }
.monitor-progress-row progress::-webkit-progress-value { background: var(--cyan); }
.monitor-progress-row progress::-moz-progress-bar { background: var(--cyan); }
.monitor-progress-row strong { color: var(--cyan); font-family: monospace; font-size: 20px; text-align: right; }
.monitor-counts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 20px; border: 1px solid var(--line); }
.monitor-counts > div { min-width: 0; padding: 14px; border-right: 1px solid var(--line); }
.monitor-counts > div:last-child { border-right: 0; }
.monitor-counts span, .monitor-counts strong { display: block; }
.monitor-counts span { color: #97aca8; font-size: 11px; }
.monitor-counts strong { margin-top: 5px; overflow-wrap: anywhere; color: #d7e1df; font-family: monospace; font-size: 16px; }
.monitor-active-targets { min-height: 70px; display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; align-items: start; padding: 18px 20px 22px; }
.monitor-active-targets > span { color: #97aca8; font-size: 12px; }
.monitor-active-targets > div { display: flex; flex-wrap: wrap; gap: 7px; }
.monitor-active-targets code { padding: 4px 7px; color: var(--cyan); border: 1px solid var(--line); font-size: 11px; }
.monitor-table-wrap { overflow-x: auto; }
.monitor-history table { width: 100%; border-collapse: collapse; font-size: 11px; }
.monitor-history th, .monitor-history td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
.monitor-history th { color: #97aca8; font-size: 11px; font-weight: 500; }
.monitor-history td { color: #b8c5c2; }
.monitor-history code { color: var(--cyan); font-size: 11px; }
.monitor-task-count { color: var(--cyan); font-family: monospace; font-size: 12px; font-weight: 500; }
.monitor-schedule-notice { margin: 0; padding: 15px 20px; color: #8fa09c; border-bottom: 1px solid var(--line); font-size: 11px; line-height: 1.7; }
.monitor-schedule-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.monitor-schedule-item { min-width: 0; padding: 20px; }
.monitor-schedule-item + .monitor-schedule-item { border-left: 1px solid var(--line); }
.monitor-schedule-item header span { color: #97aca8; font-size: 11px; }
.monitor-schedule-item header h3 { margin: 4px 0 0; color: #d7e1df; font-size: 15px; letter-spacing: 0; }
.monitor-schedule-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0; border: 1px solid var(--line); }
.monitor-schedule-fields > div { min-width: 0; padding: 12px; border-right: 1px solid var(--line); }
.monitor-schedule-fields > div:last-child { border-right: 0; }
.monitor-schedule-fields dt { color: #97aca8; font-size: 11px; }
.monitor-schedule-fields dd { margin: 5px 0 0; overflow-wrap: anywhere; color: #c9d5d2; font-size: 11px; }
.monitor-schedule-fields code { color: var(--cyan); font-size: 12px; }
.monitor-command-label { margin: 0 0 7px; color: #97aca8; font-size: 11px; }
.monitor-command { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: stretch; border: 1px solid var(--line-bright); background: #080d0e; }
.monitor-command > code { min-width: 0; padding: 12px; overflow-x: auto; color: var(--cyan); font-size: 12px; line-height: 1.5; white-space: nowrap; }
.monitor-command .icon-button { width: 38px; min-height: 38px; border: 0; border-left: 1px solid var(--line-bright); }
.monitor-copy-status { min-height: 16px; margin: 6px 0 0; color: var(--green); font-size: 11px; text-align: right; }
.report-dashboard { display: grid; gap: 18px; }
.report-dashboard .admin-kpis { margin-bottom: 0; }
.report-dashboard .report-scope { color: #d7e1df; font-size: 15px; }
.admin-security { margin-top: 18px; border: 1px solid var(--line); background: var(--feedback-soft); }
.admin-security summary { min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; cursor: pointer; list-style: none; }
.admin-security summary::-webkit-details-marker { display: none; }
.admin-security summary span { display: flex; align-items: center; gap: 9px; font-size: 12px; }
.admin-security summary .setting-summary-status { margin-left: auto; margin-right: 14px; color: var(--cyan); font-size: 12px; }
.admin-security summary > svg { transition: transform .18s ease; }
.admin-security[open] summary > svg { transform: rotate(180deg); }
.admin-password-form { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 12px; align-items: end; padding: 18px; border-top: 1px solid var(--line); }
.admin-password-form .button { min-height: 46px; }
.admin-notification-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 24px; align-items: end; padding: 18px; border-top: 1px solid var(--line); }
.notification-url { grid-column: 1 / -1; }
.notification-options { display: flex; flex-wrap: wrap; gap: 18px; }
.checkbox-control { display: inline-flex; align-items: center; gap: 9px; color: #cbd5d2; font-size: 11px; cursor: pointer; }
.checkbox-control input { width: 16px; height: 16px; margin: 0; accent-color: var(--green); }
.checkbox-control.danger { color: #ffafa4; }
.notification-actions { display: flex; gap: 8px; }
.notification-actions .button { min-height: 44px; white-space: nowrap; }

.admin-app { min-height: 100vh; display: grid; grid-template-columns: 238px minmax(0, 1fr); }
.admin-sidebar { position: sticky; z-index: 80; top: 0; height: 100vh; height: 100dvh; min-width: 0; display: flex; flex-direction: column; padding: 22px 16px 18px; border-right: 1px solid var(--line); background: #06090a; }
.admin-sidebar-head { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-sidebar-head .brand { font-size: 17px; }
.admin-menu-close, .admin-menu-toggle { display: none; }

.admin-navigation { display: grid; gap: 4px; }
.admin-nav-item { min-height: 44px; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 10px; padding: 0 11px; color: #9baba8; border-left: 2px solid transparent; font-size: 12px; }
.admin-nav-item:hover { color: #e5ebe9; background: #101719; }
.admin-nav-item[aria-current="page"] { color: var(--cyan); border-left-color: var(--cyan); background: #111b1d; }
.admin-nav-item svg { width: 17px; height: 17px; }
.admin-nav-item span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-nav-chevron { display: none; }
.admin-nav-group .admin-nav-item { grid-template-columns: 22px minmax(0, 1fr) 16px; }
.admin-nav-group .admin-nav-chevron { display: block; transition: transform .16s ease; }
.admin-nav-group.active .admin-nav-chevron { transform: rotate(180deg); }
.admin-nav-children { display: grid; gap: 2px; margin: 3px 0 8px 22px; padding-left: 20px; border-left: 1px solid var(--line); }
.admin-nav-children a { min-height: 34px; display: flex; align-items: center; padding: 0 8px; color: #96a8a4; font-size: 12px; }
.admin-nav-children a:hover, .admin-nav-children a.active { color: var(--cyan); background: #0e1617; }
.admin-sidebar-foot { display: grid; gap: 13px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.admin-session { border-top: 1px solid var(--line); padding-top: 12px; }
.admin-account { padding: 0 10px; }
.admin-account span, .admin-account strong { display: block; overflow-wrap: anywhere; }
.admin-account span { color: #8fa19d; font-size: 11px; }
.admin-account strong { margin-top: 3px; color: #c6d1ce; font-size: 11px; }
.admin-external-links { display: grid; gap: 2px; }
.admin-external-links a, .admin-logout-form button { min-height: 36px; display: flex; align-items: center; gap: 9px; padding: 0 10px; color: #a3b3af; border: 0; background: transparent; font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.admin-external-links a:hover, .admin-logout-form button:hover { color: var(--green); background: #0e1617; }
.admin-external-links svg, .admin-logout-form svg { width: 14px; height: 14px; }
.admin-menu-backdrop { display: none; }
.admin-stage { min-width: 0; }
.admin-topbar { position: sticky; z-index: 60; top: 0; min-height: 64px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 18px; padding: 0 24px; border-bottom: 1px solid var(--line); background: rgba(8, 12, 13, .96); backdrop-filter: blur(12px); }
.admin-page-heading span, .admin-page-heading strong { display: block; }
.admin-page-heading span { color: #8a9d99; font-family: monospace; font-size: 11px; }
.admin-page-heading strong { margin-top: 1px; font-size: 14px; }
.admin-content { min-width: 0; outline: 0; }
.admin-loading { position: fixed; z-index: 120; top: 0; left: 238px; right: 0; height: 2px; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .12s ease; }
.admin-loading::after { content: ""; display: block; width: 36%; height: 100%; background: var(--cyan); transform: translateX(-120%); }
.admin-app.is-navigating .admin-loading { opacity: 1; }
.admin-app.is-navigating .admin-loading::after { animation: admin-loading 1s ease-in-out infinite; }
@keyframes admin-loading { to { transform: translateX(390%); } }

.settings-dashboard { display: grid; gap: 18px; }
.settings-tabs { position: sticky; z-index: 20; top: 76px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); background: #0a1011; }
.settings-tabs a { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #8d9d9a; border-right: 1px solid var(--line); font-size: 11px; }
.settings-tabs a:last-child { border-right: 0; }
.settings-tabs a:hover, .settings-tabs a:focus-visible { color: var(--cyan); background: #111a1c; }
.settings-tabs svg { width: 15px; height: 15px; }
.settings-section { scroll-margin-top: 138px; border: 1px solid var(--line); background: var(--feedback-soft); }
.settings-section-heading { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.settings-section-heading span { color: #97aca8; font-size: 11px; }
.settings-section-heading h1, .settings-section-heading h2 { margin: 3px 0 0; font-size: 16px; letter-spacing: 0; }
.settings-section-heading p { margin: 0; color: #94a6a2; font-size: 12px; }
.setting-state { color: var(--cyan); font-family: monospace; font-size: 12px; font-weight: 500; }
.settings-section .admin-password-form, .settings-section .admin-notification-form { border-top: 0; }
.feedback-detail-back { display: none; }
.table-empty td { height: 92px; color: #71817e !important; text-align: center !important; }
.js .select-control { contain: layout; }

@media (min-width: 1024px) and (max-width: 1279px) {
  .admin-workspace { grid-template-columns: 1fr; }
  .admin-ticket-list { height: 460px; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 1100px) {
  .feedback-layout { grid-template-columns: 1fr; gap: 38px; }
  .feedback-heading { position: static; }
  .feedback-principles { grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
  .feedback-principles div { padding: 14px; border-right: 1px solid var(--line); border-bottom: 0; }
  .feedback-principles div:last-child { border-right: 0; }
  .admin-search-form { grid-template-columns: minmax(220px, 1fr) 150px 150px; }
  .admin-search-form .button { justify-self: stretch; }
  .admin-workspace { grid-template-columns: 360px minmax(0, 1fr); }
  .ticket-detail-meta { grid-template-columns: repeat(2, 1fr); }
  .ticket-detail-meta > div:nth-child(3n) { border-right: 1px solid var(--line); }
  .ticket-detail-meta > div:nth-child(2n) { border-right: 0; }
  .ticket-detail-meta > div:nth-last-child(-n+3) { border-bottom: 1px solid var(--line); }
  .ticket-detail-meta > div:nth-last-child(-n+2) { border-bottom: 0; }
  .ticket-process-form { grid-template-columns: 1fr; }
  .ticket-process-form .button { grid-column: 1; }
  .admin-password-form { grid-template-columns: repeat(2, 1fr); }
  .admin-password-form .button { grid-column: 2; }
}

@media (max-width: 1023px) {
  .admin-app { display: block; }
  .admin-sidebar { position: fixed; inset: 0 auto 0 0; width: min(286px, calc(100vw - 48px)); height: 100dvh; transform: translateX(-102%); transition: transform .2s ease; box-shadow: 18px 0 50px rgba(0, 0, 0, .42); }
  .admin-nav-open { overflow: hidden; }
  .admin-nav-open .admin-sidebar { transform: none; }
  .admin-menu-close, .admin-menu-toggle { display: inline-grid; }
  .admin-menu-backdrop { position: fixed; z-index: 70; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(0, 0, 0, .68); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  .admin-nav-open .admin-menu-backdrop { opacity: 1; pointer-events: auto; }
  .admin-topbar { grid-template-columns: 44px minmax(0, 1fr); padding: 0 18px; }
  .admin-loading { left: 0; }
}

@media (max-width: 820px) {
  .feedback-row { grid-template-columns: 1fr; }
  .admin-kpis { grid-template-columns: repeat(2, 1fr); }
  .admin-search-form { grid-template-columns: 1fr 1fr; }
  .admin-search-form label:first-child { grid-column: 1 / -1; }
  .admin-workspace { grid-template-columns: 1fr; }
  .admin-ticket-list { height: 480px; border-right: 0; border-bottom: 1px solid var(--line); }
  .admin-ticket-detail { scroll-margin-top: 16px; }
  .admin-password-form { grid-template-columns: 1fr 1fr; }
  .admin-password-form .button { grid-column: 2; }
  .admin-notification-form { grid-template-columns: 1fr; }
  .notification-url { grid-column: 1; }
  .notification-actions { justify-content: flex-end; }
  .monitor-schedule-list { grid-template-columns: 1fr; }
  .monitor-schedule-item + .monitor-schedule-item { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 720px) {
  .feedback-section { padding: 48px 0 68px; }
  .feedback-heading h1 { font-size: 38px; }
  .feedback-principles { grid-template-columns: 1fr; }
  .feedback-principles div { border-right: 0; border-bottom: 1px solid var(--line); }
  .feedback-principles div:last-child { border-bottom: 0; }
  .feedback-panel { min-height: 0; padding: 22px 18px; }
  .feedback-actions { align-items: stretch; flex-direction: column; }
  .admin-auth { padding-top: 42px; }
  .admin-auth > .brand { margin-bottom: 42px; }
  .admin-auth-form { padding: 22px 18px; }
  .admin-header { grid-template-columns: 1fr auto; padding: 0 16px; }
  .admin-title { display: none; }
  .admin-shell { width: min(calc(100% - 24px), 1380px); padding-top: 20px; }
  .admin-topbar { min-height: 60px; grid-template-columns: 40px minmax(0, 1fr); gap: 11px; padding: 0 12px; }
  .admin-menu-toggle { width: 40px; height: 40px; }
  .admin-page-heading span { display: none; }
  .admin-page-heading strong { margin: 0; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
  .admin-kpis > div { min-height: 74px; padding: 13px 14px; }
  .admin-kpis strong { font-size: 22px; }
  .admin-toolbar { padding: 12px; }
  .admin-view-tabs { margin: -12px -12px 12px; padding-inline: 12px; }
  .admin-search-form { grid-template-columns: 1fr; }
  .admin-search-form label:first-child { grid-column: 1; }
  .admin-ticket-detail { padding: 20px 16px; }
  .admin-workspace { min-height: 0; }
  .admin-ticket-list { height: auto; min-height: 360px; border-bottom: 0; }
  .ticket-rows { overflow: visible; }
  .admin-ticket-detail { display: none; }
  .admin-workspace.show-mobile-detail .admin-ticket-list { display: none; }
  .admin-workspace.show-mobile-detail .admin-ticket-detail { display: block; }
  .feedback-detail-back { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; margin: -6px 0 18px; color: var(--cyan); font-size: 11px; }
  .feedback-detail-back svg { width: 16px; height: 16px; }
  .ticket-detail-header h1 { font-size: 19px; }
  .ticket-detail-meta { grid-template-columns: 1fr; }
  .ticket-detail-meta > div, .ticket-detail-meta > div:nth-child(2n), .ticket-detail-meta > div:nth-child(3n), .ticket-detail-meta > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .ticket-detail-meta > div:last-child { border-bottom: 0; }
  .ticket-process-form .button { justify-self: stretch; }
  .ticket-danger-zone { align-items: stretch; flex-direction: column; }
  .ticket-danger-zone .button { width: 100%; }
  .ticket-trash-actions { align-items: stretch; flex-direction: column; }
  .ticket-trash-actions .button { width: 100%; }
  .monitor-counts { grid-template-columns: repeat(2, 1fr); }
  .monitor-counts > div:nth-child(2) { border-right: 0; }
  .monitor-counts > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .monitor-active-targets { grid-template-columns: 1fr; }
  .monitor-schedule-fields { grid-template-columns: 1fr; }
  .monitor-schedule-fields > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .monitor-schedule-fields > div:last-child { border-bottom: 0; }
  .admin-password-form { grid-template-columns: 1fr; }
  .admin-password-form .button { grid-column: 1; }
  .notification-options { display: grid; gap: 10px; }
  .notification-actions { display: grid; grid-template-columns: 1fr; }
  .settings-tabs { top: 70px; overflow-x: auto; grid-template-columns: repeat(3, minmax(108px, 1fr)); }
  .settings-tabs a { padding: 0 10px; white-space: nowrap; }
  .settings-section { scroll-margin-top: 130px; }
  .settings-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; padding: 16px; }
  .settings-section-heading p { line-height: 1.5; }
  .monitor-table-wrap { overflow: visible; }
  .monitor-history table, .monitor-history tbody, .monitor-history tr, .monitor-history td { display: block; width: 100%; }
  .monitor-history thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .monitor-history tbody { display: grid; gap: 10px; padding: 12px; }
  .monitor-history tr { border: 1px solid var(--line); background: #0d1415; }
  .monitor-history td { min-width: 0; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 10px 12px; overflow-wrap: anywhere; border-bottom: 1px solid var(--line); white-space: normal; }
  .monitor-history td:last-child { border-bottom: 0; }
  .monitor-history td::before { content: attr(data-label); color: #97aca8; font-size: 11px; }
  .monitor-history .table-empty td { height: auto; display: block; padding: 26px 14px; border: 0; }
  .monitor-history .table-empty td::before { display: none; }
}
