:root {
  color-scheme: dark;
  --bg: #070910;
  --panel: rgba(13, 17, 30, .94);
  --panel-2: rgba(18, 23, 39, .9);
  --ink: #eef4ff;
  --muted: #96a3bd;
  --line: rgba(127, 221, 255, .18);
  --cyan: #35d8ff;
  --violet: #a66cff;
  --gold: #ffd36a;
  --red: #ff526f;
  --pink: #ff77d9;
  --green: #73f59f;
  --orange: #ff9d43;
  --shadow: 0 24px 70px rgba(0, 0, 0, .45);
  --section: rgba(7, 11, 22, .62);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: #070910;
  font-family: Inter, Segoe UI, Arial, sans-serif;
}

body::before {
  display: none;
}

button,
input,
select {
  font: inherit;
}

button {
  appearance: none;
  -webkit-appearance: none;
}

button:disabled {
  cursor: progress;
  opacity: .72;
  filter: saturate(.85);
  background: linear-gradient(135deg, rgba(53, 216, 255, .45), rgba(166, 108, 255, .45)) !important;
  color: rgba(238, 244, 255, .72) !important;
}

button:not(.tab):not(.info-button):not(.profile-choice-button):not(.clear-daily-extra):not(.modal-close) {
  border: 1px solid rgba(53,216,255,.34);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(53, 216, 255, .95), rgba(166, 108, 255, .95));
  color: #06101a;
  cursor: pointer;
  font-weight: 900;
}

button:not(.tab):not(.info-button):not(.profile-choice-button):not(.clear-daily-extra):not(.modal-close):hover {
  border-color: rgba(53,216,255,.58);
  filter: brightness(1.05);
}

.app {
  width: 100%;
  min-height: 100vh;
  padding: 24px;
  overflow-x: hidden;
}

.info-button {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 10;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(53, 216, 255, .45);
  border-radius: 8px;
  background: rgba(15, 18, 32, .9);
  color: var(--cyan);
  cursor: pointer;
  font-weight: 900;
}

.workspace {
  display: grid;
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  gap: 20px;
  max-width: 1560px;
  margin: 0 auto;
}

.panel {
  min-width: 0;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.input-panel {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 28px;
  align-self: start;
  padding: 20px;
  min-width: 0;
  overflow: hidden;
}

.input-panel * {
  min-width: 0;
}

.brand {
  display: grid;
  gap: 6px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(127, 221, 255, .14);
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  font-size: 25px;
  line-height: 1.1;
}

h2 {
  font-size: 36px;
  line-height: 1.08;
}

h3 {
  font-size: 22px;
}

.brand p,
.hero p,
.notice p,
.system-note {
  color: var(--muted);
  line-height: 1.5;
}

.auth-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(115, 245, 159, .18);
  border-radius: 8px;
  background: rgba(5, 8, 16, .56);
}

.auth-card > div:first-child {
  display: grid;
  gap: 5px;
}

.auth-card span {
  width: max-content;
  max-width: 100%;
  padding: 3px 7px;
  border: 1px solid rgba(115, 245, 159, .28);
  border-radius: 999px;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.auth-card b {
  color: var(--ink);
  line-height: 1.25;
}

.auth-card small {
  color: var(--muted);
  line-height: 1.35;
}

.auth-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.auth-actions button[hidden] {
  display: none;
}

.auth-actions:has(#adminOpenButton:not([hidden])) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-dialog {
  width: min(1060px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  overflow: hidden;
}

.admin-dialog .profile-dialog-panel {
  max-height: calc(100vh - 32px);
  overflow: auto;
}

.admin-grid {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: 16px;
  min-width: 0;
}

.admin-section {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(127, 221, 255, .16);
  border-radius: 8px;
  background: rgba(5, 8, 16, .42);
}

.admin-section h4 {
  margin: 0;
  font-size: 15px;
}

.admin-create-user,
.admin-permission-target {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.admin-users-list,
.admin-permissions-matrix {
  display: grid;
  gap: 8px;
  max-height: 420px;
  overflow-y: auto;
  overflow-x: hidden;
}

.admin-user-row,
.admin-permission-row {
  display: grid;
  gap: 8px;
  padding: 9px;
  border: 1px solid rgba(127, 221, 255, .12);
  border-radius: 8px;
  background: rgba(13, 17, 30, .72);
}

.admin-user-row {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}

.admin-user-row select {
  min-width: 0;
}

.admin-user-row b {
  overflow-wrap: anywhere;
}

.admin-user-row small,
.admin-permission-row small {
  color: var(--muted);
}

.admin-permission-category {
  margin-top: 6px;
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-permission-row {
  grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, auto));
  align-items: center;
}

.admin-permission-row label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(127, 221, 255, .12);
  border-radius: 8px;
  background: rgba(5, 8, 16, .38);
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.admin-permission-row input[type="checkbox"] {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
}

.feature-locked {
  display: none !important;
}

.feature-disabled {
  cursor: not-allowed !important;
  opacity: .42 !important;
}

.legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  grid-column: 1 / -1;
  font-size: 12px;
}

.legal-links a {
  color: var(--muted);
}

.auth-plan-status {
  color: var(--cyan);
}

.account-access-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(127, 221, 255, .14);
  border-radius: 8px;
  background: rgba(13, 17, 30, .66);
}

.account-access-panel[hidden] {
  display: none;
}

.account-access-panel div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.account-access-panel span {
  width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--muted);
  font-size: 10px;
}

.account-access-panel b {
  overflow-wrap: anywhere;
  font-size: 14px;
}

.guest-access-intro {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(127, 221, 255, .16);
  border-radius: 8px;
  background: rgba(13, 17, 30, .68);
}

.guest-access-intro[hidden] {
  display: none;
}

.guest-access-intro h3 {
  font-size: 18px;
}

.guest-access-intro p {
  color: var(--muted);
  line-height: 1.45;
}

.tariff-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.tariff-preview-grid article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(127, 221, 255, .12);
  border-radius: 8px;
  background: rgba(5, 8, 16, .46);
}

.tariff-preview-grid span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.tariffs-dialog .profile-dialog-panel {
  width: min(980px, calc(100vw - 28px));
}

.tariffs-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tariffs-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(127, 221, 255, .16);
  border-radius: 8px;
  background: rgba(13, 17, 30, .72);
}

.tariffs-grid p {
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.tariffs-grid h4 {
  margin: 0;
  font-size: 18px;
}

.tariffs-grid b {
  color: var(--green);
}

.tariffs-grid ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.tariffs-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tariffs-actions a {
  color: var(--cyan);
  font-weight: 800;
}

@media (max-width: 980px) {
  .tariffs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .tariff-preview-grid,
  .tariffs-grid {
    grid-template-columns: 1fr;
  }

  .profile-vault-stats,
  .cabinet-actions {
    grid-template-columns: 1fr;
  }

  .tariffs-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

.legal-page {
  display: grid;
  gap: 14px;
  width: min(760px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 42px 0;
  color: var(--ink);
}

.legal-page p {
  color: var(--muted);
  line-height: 1.65;
}

.legal-page a {
  color: var(--cyan);
  font-weight: 800;
}

.form {
  display: grid;
  gap: 14px;
  margin-top: 0;
}

.profile-vault {
  display: grid;
  gap: 14px;
  margin-top: 0;
  padding: 16px;
  border: 1px solid rgba(53, 216, 255, .18);
  border-radius: 8px;
  background: rgba(5, 8, 16, .56);
}

.profile-vault-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.profile-vault-stats[hidden] {
  display: none;
}

.profile-vault-stats div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(127, 221, 255, .12);
  border-radius: 8px;
  background: rgba(5, 8, 16, .46);
}

.profile-vault-stats span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.numerologist-cabinet {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(53, 216, 255, .18);
  border-radius: 8px;
  background: rgba(13, 17, 30, .68);
}

.numerologist-cabinet[hidden] {
  display: none;
}

.cabinet-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.cabinet-stats div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(127, 221, 255, .12);
  border-radius: 8px;
  background: rgba(5, 8, 16, .46);
}

.cabinet-stats span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.cabinet-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.cabinet-actions button {
  min-height: 38px;
}

.profile-quality {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid rgba(127, 221, 255, .16);
  border-radius: 8px;
  background: rgba(5, 8, 16, .48);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.profile-quality b {
  color: var(--cyan);
}

.mini-section-head,
.profile-actions,
.priority-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.mini-section-head b {
  color: var(--ink);
}

.mini-section-head span {
  display: grid;
  min-width: 28px;
  min-height: 28px;
  place-items: center;
  border: 1px solid rgba(53,216,255,.28);
  border-radius: 999px;
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
}

.profile-actions {
  display: grid;
  gap: 9px;
}

.profile-main-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-main-actions button:first-child {
  grid-column: 1 / -1;
}

.profile-picker,
.profile-manager-button {
  display: grid;
  gap: 10px;
}

.profile-picker summary,
.profile-manager-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  min-height: 58px;
  padding: 9px 13px;
  border: 1px solid rgba(53, 216, 255, .24);
  border-radius: 8px;
  background: rgba(5, 8, 16, .84);
  color: #c8d4ef;
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  list-style: none;
}

.profile-manager-button {
  width: 100%;
  text-align: left;
}

.profile-picker summary::-webkit-details-marker {
  display: none;
}

.profile-picker summary b,
.profile-manager-button b {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-picker summary span,
.profile-manager-button span {
  color: var(--cyan);
  font-size: 11px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.profile-picker-menu {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(53, 216, 255, .16);
  border-radius: 8px;
  background: rgba(7, 13, 29, .72);
}

.profile-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.profile-actions.import-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 10px;
  border-top: 1px solid rgba(127, 221, 255, .12);
}

.profile-dialog {
  width: min(720px, calc(100vw - 32px));
  border: 1px solid rgba(53,216,255,.28);
  border-radius: 10px;
  background: #0a0f1e;
  color: var(--ink);
}

.profile-dialog::backdrop {
  background: rgba(0,0,0,.7);
}

.profile-dialog-panel {
  position: relative;
  display: grid;
  gap: 16px;
  padding: 22px;
}

.dialog-head {
  display: grid;
  gap: 6px;
  padding-right: 44px;
}

.dialog-head p:not(.kicker) {
  color: var(--muted);
  line-height: 1.45;
}

.profile-dialog .profile-picker-menu {
  background: rgba(5, 8, 16, .58);
}

.profile-dialog select[size] {
  min-height: 260px;
  padding: 8px;
}

.profile-dialog option {
  padding: 8px 10px;
}

.profile-dialog-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.profile-choice-actions {
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto) minmax(110px, auto);
}

.profile-create-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.profile-create-grid .switch-row {
  align-self: end;
}

.profile-create-actions {
  grid-template-columns: 1fr;
}

.profile-actions button,
.file-import,
.daily-controls > button,
.daily-action-group button {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 44px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 8px;
  background: rgba(15, 18, 32, .86);
  color: var(--ink);
  cursor: pointer;
  padding: 0 10px;
  font-weight: 900;
  line-height: 1.12;
  text-align: center;
  white-space: normal;
}

.profile-actions button:first-child,
.file-import,
.daily-controls > button,
.daily-action-group button {
  border: 0;
  background: var(--cyan);
  color: #06101a;
}

.profile-actions button {
  word-break: normal;
}

.file-import {
  position: relative;
  padding: 0 10px;
  text-align: center;
}

.file-import input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.hidden-file-input {
  display: none !important;
}

label {
  display: grid;
  gap: 8px;
  color: #c8d4ef;
  font-size: 14px;
  font-weight: 800;
}

input,
select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(53, 216, 255, .24);
  border-radius: 8px;
  background: rgba(5, 8, 16, .84);
  color: var(--ink);
  padding: 0 13px;
  outline: none;
}

.native-profile-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.profile-choice-button {
  display: grid;
  width: 100%;
  min-height: 46px;
  padding: 8px 13px;
  border: 1px solid rgba(53, 216, 255, .24);
  border-radius: 8px;
  background: rgba(5, 8, 16, .84);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.profile-choice-button span {
  color: var(--cyan);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.profile-choice-button b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

input:focus,
select:focus {
  border-color: var(--cyan);
}

.switch-row {
  display: grid;
  gap: 9px;
  color: #c8d4ef;
  font-size: 14px;
  font-weight: 800;
}

.segmented {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid rgba(53, 216, 255, .24);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(5, 8, 16, .84);
}

.segmented input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.segmented label {
  min-height: 42px;
  place-items: center;
  border-radius: 0;
  cursor: pointer;
  font-weight: 800;
}

.segmented input:checked + label {
  background: var(--cyan);
  color: #06101a;
}

button[type="submit"],
.tab {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 900;
}

button[type="submit"] {
  background: var(--cyan);
  color: #07101a;
}

.notice,
.system-note,
.compact-status {
  margin-top: 0;
  padding: 14px;
  border: 1px solid rgba(53, 216, 255, .18);
  border-radius: 8px;
  background: rgba(5, 8, 16, .48);
}

.compact-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.compact-status strong {
  color: var(--cyan);
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notice strong {
  display: block;
  margin-bottom: 6px;
  color: var(--gold);
}

.results {
  display: block;
  min-width: 0;
  overflow: hidden;
}

.result-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 218px;
  align-items: start;
  gap: 14px;
  min-width: 0;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 20px;
  background: var(--panel);
}

.quick-actions {
  display: grid;
  gap: 10px;
  padding: 0;
}

.report-mode-control {
  display: grid;
  gap: 6px;
}

.report-mode-control span {
  color: var(--cyan);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-mode-control select {
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 8px;
  background: rgba(5, 8, 16, .82);
  color: var(--ink);
  font-weight: 800;
}

.quick-actions button {
  min-height: 42px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 8px;
  background: rgba(15, 18, 32, .86);
  color: var(--ink);
  cursor: pointer;
  font-weight: 900;
}

.quick-actions button {
  border: 1px solid rgba(53,216,255,.34);
  background: rgba(18, 23, 39, .9);
  color: var(--ink);
}

.today-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.today-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.today-card {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(53,216,255,.2);
  border-radius: 8px;
  background: rgba(7, 13, 29, .72);
}

.today-card span {
  color: var(--cyan);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.today-card b {
  line-height: 1.25;
}

.today-card p {
  color: var(--muted);
  line-height: 1.4;
}

.kicker {
  margin-bottom: 6px;
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.confidence-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-top: 12px;
  padding: 0 12px;
  border: 1px solid rgba(115,245,159,.35);
  border-radius: 999px;
  color: var(--green);
  background: rgba(115,245,159,.08);
  font-size: 13px;
  font-weight: 900;
}

.profile-status {
  display: grid;
  gap: 4px;
  min-width: 190px;
  padding: 12px 14px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 8px;
  background: rgba(5, 8, 16, .62);
}

.profile-status span {
  color: var(--cyan);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.profile-status b {
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
}

.profile-status small {
  color: var(--muted);
  line-height: 1.35;
}

.tabs {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  position: sticky;
  top: 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(127, 221, 255, .12);
  border-radius: 8px;
  background: rgba(5, 8, 16, .42);
}

.tabs-categorized {
  grid-template-columns: 1fr;
  align-items: start;
  gap: 8px;
}

.tab-category {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 6px;
  border: 1px solid rgba(53,216,255,.12);
  border-radius: 8px;
  background: rgba(7, 11, 22, .5);
}

.tab-category > span {
  overflow: hidden;
  color: var(--cyan);
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.tab-category > div {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
}

.tab-category:first-child > div {
  grid-template-columns: 1fr;
}

.tab {
  position: relative;
  min-width: 0;
  min-height: 34px;
  padding: 0 8px;
  border: 1px solid rgba(53,216,255,.34);
  background: rgba(18, 23, 39, .9);
  color: var(--ink);
  font-weight: 900;
  font-size: 10px;
}

.tab.active {
  border-color: rgba(53,216,255,.62);
  background: rgba(22, 35, 55, .96);
  color: var(--ink);
}

.tab.active::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 5px;
  height: 2px;
  border-radius: 999px;
  background: rgba(53,216,255,.72);
  box-shadow: none;
}

.tab-panel {
  display: none;
  min-width: 0;
}

.tab-panel.active {
  grid-column: 1;
  grid-row: 1;
  display: block;
}

.base-profile-control {
  display: none !important;
}

.panel.empty-locked {
  position: relative;
  min-height: 360px;
  overflow: hidden;
}

.panel.empty-locked > [data-empty-blur="1"] {
  filter: blur(7px);
  opacity: .28;
  pointer-events: none;
  user-select: none;
}

.panel.empty-locked .empty-state {
  position: absolute;
  z-index: 5;
  left: 20px;
  right: 20px;
  top: 82px;
  min-height: 220px;
  backdrop-filter: blur(18px);
  box-shadow: 0 22px 80px rgba(0, 0, 0, .42);
}

.empty-state {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 260px;
  padding: 22px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 8px;
  background: rgba(5, 8, 16, .52);
}

.empty-state h3 {
  margin: 0 0 10px;
  font-size: 24px;
}

.empty-state p {
  max-width: 680px;
  color: var(--muted);
  line-height: 1.5;
}

.empty-state small {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  line-height: 1.4;
}

.empty-actions {
  display: grid;
  gap: 10px;
  min-width: 190px;
}

.empty-actions button {
  min-height: 42px;
  border: 1px solid rgba(53,216,255,.34);
  border-radius: 8px;
  background: rgba(18, 23, 39, .92);
  color: var(--ink);
  cursor: pointer;
  font-weight: 900;
}

.empty-actions button:first-child {
  background: var(--cyan);
  color: #06101a;
}

.matrix-panel,
.tab-panel > .panel {
  display: grid;
  gap: 18px;
  padding: 22px;
  min-width: 0;
  overflow: hidden;
}

.tab-panel > .panel * {
  min-width: 0;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 0;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(127, 221, 255, .14);
}

.badge {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 999px;
  padding: 0 12px;
  color: var(--cyan);
  background: rgba(53,216,255,.08);
  font-weight: 900;
}

.matrix-board {
  position: relative;
  width: min(620px, 100%);
  aspect-ratio: 1;
  margin: 0 auto;
  border: 1px solid rgba(53,216,255,.18);
  border-radius: 8px;
  background: rgba(7, 12, 24, .76);
  overflow: hidden;
}

.matrix-line {
  position: absolute;
  left: 12%;
  right: 12%;
  top: 50%;
  height: 1px;
  background: rgba(53, 216, 255, .38);
  transform-origin: center;
}

.matrix-line.vertical { transform: rotate(90deg); }
.matrix-line.diag-a { transform: rotate(45deg); }
.matrix-line.diag-b { transform: rotate(-45deg); }

.node {
  position: absolute;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #0a1020;
  border: 2px solid var(--gold);
  color: var(--gold);
  font-weight: 900;
  transform: translate(-50%, -50%);
}

.node.main {
  width: 68px;
  height: 68px;
  background: #111528;
}

.node.center {
  left: 50%;
  top: 50%;
  width: 78px;
  height: 78px;
  border-color: var(--cyan);
  color: var(--cyan);
  font-size: 22px;
}

.left { left: 12%; top: 50%; }
.top { left: 50%; top: 12%; }
.right { left: 88%; top: 50%; }
.bottom { left: 50%; top: 88%; }
.nw { left: 23%; top: 23%; }
.ne { left: 77%; top: 23%; }
.se { left: 77%; top: 77%; }
.sw { left: 23%; top: 77%; }
.l1 { left: 27%; top: 50%; }
.l2 { left: 38%; top: 50%; }
.t1 { left: 50%; top: 27%; }
.t2 { left: 50%; top: 38%; }
.r1 { left: 73%; top: 50%; }
.r2 { left: 62%; top: 50%; }
.b1 { left: 50%; top: 73%; }
.b2 { left: 50%; top: 62%; }

.node.support,
.node.small {
  width: 46px;
  height: 46px;
  border-width: 1px;
}

.card-grid,
.metric-grid,
.hvd-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.mini-card,
.metric-card,
.hvd-card,
.py-cell,
.summary-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
}

.mini-card,
.metric-card,
.hvd-card {
  min-height: 128px;
  padding: 14px;
}

.mini-card b,
.metric-card b,
.hvd-card b {
  display: block;
  margin-bottom: 8px;
}

.mini-card p,
.metric-card p,
.hvd-card p {
  color: var(--muted);
  line-height: 1.45;
}

.compatibility-metric {
  display: grid;
  align-content: start;
  gap: 10px;
}

.compatibility-metric b {
  margin-bottom: 0;
}

.metric-band {
  width: fit-content;
  padding: 4px 9px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 999px;
  color: var(--cyan);
  background: rgba(53,216,255,.08);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.metric-lines {
  display: grid;
  gap: 8px;
}

.metric-lines p {
  margin: 0;
}

.metric-lines strong {
  color: var(--ink);
}

.matrix-overview {
  margin-top: 0;
}

.matrix-section-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.matrix-line-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(53,216,255,.22);
  border-radius: 8px;
  background: var(--panel-2);
}

.matrix-line-card span {
  color: var(--cyan);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.matrix-line-card b {
  font-size: 18px;
}

.matrix-line-card p {
  color: var(--muted);
  line-height: 1.45;
}

.matrix-card-group {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
}

.hvd-group {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(53,216,255,.3);
  border-radius: 8px;
  background: rgba(5, 8, 16, .5);
}

.hvd-group-2 {
  border-color: rgba(53,216,255,.24);
  background: rgba(5, 8, 16, .5);
}

.hvd-group-3 {
  border-color: rgba(53,216,255,.24);
  background: rgba(5, 8, 16, .5);
}

.hvd-group-4 {
  border-color: rgba(53,216,255,.24);
  background: rgba(5, 8, 16, .5);
}

.hvd-group-5 {
  border-color: rgba(53,216,255,.24);
  background: rgba(5, 8, 16, .5);
}

.hvd-group-6 {
  border-color: rgba(53,216,255,.24);
  background: rgba(5, 8, 16, .5);
}

.hvd-group-7 {
  border-color: rgba(53,216,255,.24);
  background: rgba(5, 8, 16, .5);
}

.hvd-group + .hvd-group {
  margin-top: 0;
}

.hvd-group-head h4 {
  margin: 0 0 6px;
  color: var(--cyan);
  font-size: 15px;
  text-transform: uppercase;
}

.hvd-group-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.hvd-group-grid,
.hvd-profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.pythagoras-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 0;
}

.py-cell {
  min-height: 126px;
  padding: 14px;
}

.py-digits {
  min-height: 29px;
  margin-bottom: 10px;
  color: var(--gold);
  font-size: 24px;
  font-weight: 900;
}

.py-cell span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.py-conclusion {
  margin: 0;
}

.py-conclusion-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 8px;
  background: rgba(5, 8, 16, .5);
}

.py-conclusion-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(127,221,255,.14);
}

.py-conclusion-head h4 {
  margin: 0 0 7px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}

.py-conclusion-head p:not(.kicker) {
  margin: 0;
  color: var(--soft);
  line-height: 1.5;
}

.py-conclusion-head strong {
  display: grid;
  place-items: center;
  min-width: 98px;
  min-height: 76px;
  border: 1px solid rgba(53,216,255,.32);
  border-radius: 8px;
  background: rgba(5,10,22,.46);
  color: var(--cyan);
  font-size: 28px;
  line-height: 1;
}

.py-conclusion-head strong span {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.py-conclusion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.py-conclusion-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(127,221,255,.14);
  border-radius: 8px;
  background: rgba(9,15,29,.54);
}

.py-conclusion-grid b {
  display: block;
  margin-bottom: 6px;
  color: var(--cyan);
  font-size: 12px;
  text-transform: uppercase;
}

.py-conclusion-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.py-conclusion-story {
  display: grid;
  gap: 9px;
  padding: 13px;
  border: 1px solid rgba(127,221,255,.14);
  border-radius: 8px;
  background: rgba(7,13,26,.48);
}

.py-conclusion-story p,
.py-digits-reading p {
  margin: 0;
  color: var(--soft);
  line-height: 1.55;
}

.py-lines-reading {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.py-lines-reading article {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(127,221,255,.14);
  border-radius: 8px;
  background: rgba(8,13,25,.42);
}

.py-lines-reading span {
  display: block;
  color: var(--cyan);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.py-lines-reading b {
  display: block;
  margin: 5px 0 7px;
  color: var(--ink);
  font-size: 14px;
}

.py-lines-reading p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.py-digits-reading {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid rgba(255,211,106,.2);
  border-radius: 8px;
  background: rgba(255,211,106,.06);
}

.bar {
  height: 9px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(150, 163, 189, .18);
}

.bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--cyan);
}

.chakra-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.chakra-row {
  display: grid;
  grid-template-columns: minmax(140px, 190px) 1fr 64px;
  align-items: center;
  gap: 12px;
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
}

.chakra-name {
  font-weight: 900;
}

.chakra-name span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.chakra-row small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.35;
}

.summary-list {
  display: grid;
  gap: 14px;
}

.summary-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border: 1px solid rgba(53, 216, 255, .32);
  border-radius: 10px;
  background: rgba(7, 13, 29, .82);
}

.summary-hero h3 {
  margin: 4px 0 8px;
}

.summary-hero p:not(.kicker) {
  color: var(--muted);
  line-height: 1.5;
}

.summary-hero strong {
  display: grid;
  align-content: center;
  place-items: center;
  min-width: 98px;
  min-height: 74px;
  padding: 10px 14px;
  border: 1px solid rgba(53, 216, 255, .28);
  border-radius: 8px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.05;
  background: rgba(5, 8, 16, .52);
}

.summary-hero strong span {
  color: var(--cyan);
  font-size: 10px;
  text-transform: uppercase;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}

.summary-item {
  display: grid;
  gap: 9px;
  padding: 16px;
  border-left: 4px solid var(--cyan);
  line-height: 1.5;
}

.summary-item b {
  display: block;
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.summary-item p {
  margin: 0;
  color: var(--muted);
}

.compat-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  margin-bottom: 0;
  border: 1px solid rgba(59, 213, 255, 0.22);
  border-radius: 12px;
  background: rgba(7, 13, 29, 0.72);
}

.compat-control-group {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.compat-control-group-main {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compat-person-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(59, 213, 255, 0.18);
  border-radius: 10px;
  background: rgba(5, 8, 16, 0.52);
}

.compat-partner-card {
  border-color: rgba(166, 108, 255, 0.22);
}

.compat-person-head {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(127, 221, 255, 0.12);
}

.compat-person-head h3 {
  margin: 0;
  font-size: 18px;
}

.compat-footer-group {
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  align-items: end;
  padding-top: 12px;
  border-top: 1px solid rgba(59, 213, 255, 0.18);
}

.compat-action-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, auto));
  justify-content: end;
  gap: 12px;
}

.compat-form button {
  align-self: end;
  width: 100%;
  min-height: 46px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  background: var(--gold);
  color: #160e05;
  cursor: pointer;
  font-weight: 900;
}

.compat-form .profile-choice-button {
  align-self: auto;
  max-width: 100%;
  border: 1px solid rgba(53, 216, 255, .24);
  background: rgba(5, 8, 16, .84);
  color: var(--ink);
}

.compat-form .profile-choice-button span {
  color: var(--cyan);
}

.compat-form label,
.compat-form input,
.compat-form select,
.compat-form .profile-choice-button {
  min-width: 0;
}

#downloadDatesButton {
  background: var(--cyan);
  color: #06101a;
}

.daily-workbench {
  display: grid;
  gap: 16px;
}

.daily-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(59, 213, 255, 0.18);
  border-radius: 8px;
  background: rgba(7, 13, 29, 0.72);
}

.daily-card-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(59, 213, 255, 0.14);
}

.daily-card-head h3 {
  margin: 0;
  font-size: 18px;
}

.daily-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 220px) minmax(170px, auto);
  gap: 12px;
}

.daily-controls button {
  align-self: end;
  min-height: 46px;
}

.daily-action-group {
  display: grid;
  grid-template-columns: 1fr 110px;
  gap: 10px;
  align-self: end;
}

.mind-workbench {
  align-items: start;
}

.mind-controls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mind-controls > button {
  grid-column: 1 / -1;
}

.mind-grid article strong {
  display: block;
  margin: 6px 0 8px;
  color: var(--ink);
  font-size: 15px;
}

.mind-grid .bar {
  margin-top: 12px;
}

.mind-advice article {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid rgba(53,216,255,.24);
  border-radius: 8px;
  background: rgba(10, 14, 28, .86);
}

.mind-advice b {
  color: var(--cyan);
}

.mind-advice p {
  color: var(--ink);
  font-weight: 800;
  line-height: 1.5;
}

.mind-advice small {
  color: var(--muted);
  line-height: 1.45;
}

.archetype-workbench {
  align-items: start;
}

.archetype-setup-card {
  gap: 16px;
}

.archetype-mode-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.archetype-mode-grid label {
  min-width: 0;
}

.archetype-actions {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(86px, 110px);
  gap: 10px;
  align-self: end;
}

.archetype-actions button {
  min-height: 46px;
  padding: 0 12px;
  white-space: normal;
  line-height: 1.15;
}

.archetype-quality-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  max-width: 100%;
  max-height: 430px;
  overflow: auto;
  padding-right: 4px;
}

.archetype-quality {
  position: relative;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 6px 10px;
  min-height: 104px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(10, 14, 28, .78);
  padding: 12px;
  cursor: pointer;
}

.archetype-quality input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.archetype-quality span {
  grid-row: 1 / 3;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(53,216,255,.38);
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: var(--cyan);
  font-weight: 900;
}

.archetype-quality b {
  color: var(--ink);
  line-height: 1.15;
}

.archetype-quality small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.archetype-quality:has(input:checked) {
  border-color: rgba(53,216,255,.72);
  background: linear-gradient(135deg, rgba(53,216,255,.14), rgba(166,108,255,.10));
  box-shadow: inset 0 0 0 1px rgba(53,216,255,.18);
}

.archetype-quality:has(input:checked) span {
  background: var(--cyan);
  color: #06101f;
}

.archetype-list .priority-card {
  grid-template-columns: 58px 1fr;
}

.archetype-match-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.archetype-match-grid .channel-card.best {
  border-color: rgba(255, 211, 106, .56);
  background: rgba(255, 211, 106, .07);
}

.reserve-workbench {
  align-items: start;
}

.reserve-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.reserve-controls label,
.reserve-controls select,
.reserve-controls input {
  min-width: 0;
}

.reserve-preset-label {
  grid-column: 1 / -1;
}

.reserve-primary-layer {
  display: none !important;
}

.reserve-controls > button {
  grid-column: 1 / -1;
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--cyan), var(--violet));
  color: #06101f;
  font-weight: 900;
  cursor: pointer;
}

.reserve-controls input[type="range"] {
  accent-color: var(--cyan);
  min-height: 28px;
}

.field-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.reserve-layer-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(53,216,255,.18);
  border-radius: 8px;
  background: rgba(5, 12, 24, .62);
}

.reserve-layer-panel h4 {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
}

.reserve-layer-panel span {
  color: var(--muted);
  line-height: 1.4;
}

.reserve-layer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.reserve-layer-grid label {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(53,216,255,.16);
  border-radius: 8px;
  background: rgba(12, 18, 34, .78);
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
}

.reserve-layer-grid input {
  width: 16px;
  min-width: 16px;
  height: 16px;
  min-height: 16px;
  accent-color: var(--cyan);
}

.reserve-warning {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid rgba(53, 216, 255, .22);
  border-radius: 8px;
  background: rgba(5, 12, 24, .74);
}

.reserve-warning b {
  color: var(--cyan);
  text-transform: uppercase;
  font-size: 12px;
}

.reserve-warning p {
  color: var(--muted);
  line-height: 1.45;
}

.reserve-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.reserve-main-card strong {
  display: block;
  margin: 8px 0;
  color: var(--gold);
  font-size: 34px;
  line-height: 1;
}

.reserve-anamnesis-card {
  border-color: rgba(255, 211, 106, .26) !important;
  background: linear-gradient(135deg, rgba(255, 211, 106, .08), rgba(12, 18, 34, .86)) !important;
}

.reserve-anamnesis-card b {
  color: var(--gold);
}

.reserve-block {
  display: grid;
  gap: 14px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(53, 216, 255, .2);
  border-radius: 8px;
  background: rgba(6, 12, 25, .72);
}

.reserve-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(53, 216, 255, .16);
}

.reserve-block-head h3 {
  margin: 0;
  color: var(--ink);
}

.reserve-table {
  display: grid;
  gap: 8px;
  max-width: 100%;
  overflow: hidden;
}

.reserve-scale-guide {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.reserve-scale-guide span {
  padding: 10px;
  border: 1px solid rgba(53, 216, 255, .14);
  border-radius: 8px;
  background: rgba(4, 9, 19, .52);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.reserve-scale-guide b {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.reserve-table-row {
  display: grid;
  grid-template-columns: minmax(132px, .95fr) minmax(96px, .62fr) minmax(104px, .68fr) minmax(76px, .44fr) minmax(80px, .42fr) minmax(260px, 1.45fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(53, 216, 255, .16);
  border-radius: 8px;
  background: rgba(12, 18, 34, .86);
}

.reserve-table-head {
  min-height: 0;
  background: rgba(53, 216, 255, .09);
  color: var(--cyan);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.reserve-table-row.overload {
  border-color: rgba(255, 82, 111, .48);
  background: rgba(255, 82, 111, .06);
}

.reserve-table-row.deficit {
  border-color: rgba(255, 211, 106, .5);
  background: rgba(255, 211, 106, .055);
}

.reserve-table-row.false-active {
  border-color: rgba(166, 108, 255, .55);
  background: rgba(166, 108, 255, .07);
}

.reserve-integrated-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.reserve-integrated-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(53, 216, 255, .18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(12, 18, 34, .9), rgba(7, 12, 25, .86));
}

.reserve-integrated-card.overload {
  border-color: rgba(255, 82, 111, .48);
  background: linear-gradient(135deg, rgba(255, 82, 111, .08), rgba(8, 12, 24, .9));
}

.reserve-integrated-card.deficit {
  border-color: rgba(255, 211, 106, .48);
  background: linear-gradient(135deg, rgba(255, 211, 106, .07), rgba(8, 12, 24, .9));
}

.reserve-integrated-card.false-active,
.reserve-integrated-card.shift {
  border-color: rgba(166, 108, 255, .46);
}

.reserve-integrated-card.boost {
  border-color: rgba(115, 245, 159, .38);
}

.reserve-integrated-card.drop {
  border-color: rgba(255, 211, 106, .42);
}

.reserve-integrated-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.reserve-integrated-head b {
  display: block;
  color: var(--ink);
  font-size: 17px;
}

.reserve-integrated-head small,
.reserve-integrated-card p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.reserve-integrated-body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.reserve-rhythm-meter {
  padding-left: 10px;
  border-left: 1px solid rgba(53, 216, 255, .16);
}

.reserve-chakra-name b {
  display: block;
  color: var(--ink);
}

.reserve-chakra-name small,
.reserve-delta small,
.reserve-meter small,
.reserve-table-row p,
.reserve-rhythm-card p,
.reserve-rhythm-card span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.reserve-meter {
  display: grid;
  gap: 6px;
}

.reserve-meter strong,
.reserve-delta b {
  color: var(--ink);
  font-size: 15px;
}

.reserve-meter i,
.reserve-bars i {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(150, 163, 189, .18);
}

.reserve-meter em,
.reserve-bars em {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.reserve-status {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  padding: 5px 8px;
  border: 1px solid rgba(53, 216, 255, .28);
  border-radius: 999px;
  color: var(--cyan);
  background: rgba(53, 216, 255, .08);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.reserve-rhythm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.reserve-rhythm-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(53, 216, 255, .16);
  border-radius: 8px;
  background: rgba(12, 18, 34, .86);
}

.reserve-rhythm-card.boost {
  border-color: rgba(115, 245, 159, .42);
}

.reserve-rhythm-card.drop {
  border-color: rgba(255, 211, 106, .46);
}

.reserve-rhythm-card.shift {
  border-color: rgba(166, 108, 255, .45);
}

.reserve-rhythm-card b {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
}

.reserve-rhythm-card b i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.reserve-rhythm-card strong {
  color: var(--cyan);
  font-size: 20px;
}

.reserve-factor-block {
  border-color: rgba(166, 108, 255, .22);
}

.reserve-row {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(53, 216, 255, .18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(12, 20, 38, .94), rgba(8, 11, 25, .94));
}

.reserve-row.overload {
  border-color: rgba(255, 82, 111, .48);
}

.reserve-row.deficit {
  border-color: rgba(255, 211, 106, .48);
}

.reserve-row.false-active {
  border-color: rgba(166, 108, 255, .54);
}

.reserve-row-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.reserve-row-head h4 {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
}

.reserve-row-head p,
.reserve-row p {
  color: var(--muted);
  line-height: 1.45;
}

.reserve-row-head strong {
  color: var(--cyan);
  font-size: 18px;
}

.reserve-bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.reserve-bars > div {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(53, 216, 255, .14);
  border-radius: 8px;
  background: rgba(4, 9, 19, .58);
}

.reserve-bars span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.reserve-bars b {
  color: var(--ink);
}

.daily-group-panel {
  border: 1px solid rgba(166, 108, 255, 0.28);
  background: rgba(7, 13, 29, 0.76);
}

.daily-output-card {
  border-color: rgba(59, 213, 255, 0.2);
}

.daily-extra-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

.daily-extra-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 8px;
}

.daily-extra-control select {
  min-width: 0;
}

.clear-daily-extra {
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 82, 111, 0.08);
  color: var(--pink);
  cursor: pointer;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.daily-group-result {
  display: grid;
  gap: 10px;
}

.daily-group-card {
  border: 1px solid rgba(255, 211, 106, 0.24);
  border-radius: 8px;
  background: rgba(255, 211, 106, 0.06);
  padding: 16px;
}

.daily-group-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.daily-group-top b {
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
}

.daily-group-top span,
.daily-group-card p {
  color: var(--muted);
  line-height: 1.45;
}

.daily-group-score {
  color: var(--gold);
  font-size: 26px;
  font-weight: 900;
  white-space: nowrap;
}

.daily-group-members {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.daily-group-members span {
  border: 1px solid rgba(59, 213, 255, 0.22);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(59, 213, 255, 0.06);
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.context-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.context-strip article,
.priority-card,
.channel-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
}

.context-strip article {
  padding: 14px;
}

.context-strip b,
.priority-top b {
  display: block;
  margin-bottom: 6px;
}

.context-strip p,
.priority-card p,
.channel-card small,
.priority-top span {
  color: var(--muted);
  line-height: 1.45;
}

.finance-conclusion {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.finance-conclusion article {
  border-color: rgba(255, 211, 106, .22);
  background: rgba(10, 14, 28, .82);
}

.finance-conclusion b {
  color: var(--gold);
}

.city-workbench {
  align-items: start;
}

.city-controls {
  grid-template-columns: minmax(260px, 1fr) minmax(190px, auto);
}

.city-conclusion {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.city-conclusion article {
  border-color: rgba(53, 216, 255, .22);
  background: rgba(8, 14, 28, .84);
}

.city-conclusion article:first-child {
  grid-column: 1 / -1;
  border-color: rgba(255, 211, 106, .26);
  background: rgba(10, 14, 28, .88);
}

.city-conclusion b {
  color: var(--cyan);
}

.city-conclusion article:first-child b {
  color: var(--gold);
}

.city-period-section {
  border-color: rgba(166, 108, 255, .22);
}

.city-period-overview {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.city-period-list {
  display: grid;
  gap: 12px;
}

.city-period-card {
  border-color: rgba(127, 221, 255, .16);
}

.city-period-card.current {
  border-color: rgba(255, 211, 106, .42);
}

.city-period-card .period-card-head strong {
  min-width: 84px;
}

.city-period-good {
  color: #83ffba;
  border: 1px solid rgba(131, 255, 186, .34);
  background: rgba(58, 255, 145, .08);
}

.city-period-mid {
  color: var(--cyan);
  border: 1px solid rgba(53, 216, 255, .34);
  background: rgba(53, 216, 255, .08);
}

.city-period-watch {
  color: var(--gold);
  border: 1px solid rgba(255, 211, 106, .34);
  background: rgba(255, 179, 72, .08);
}

.city-period-hard {
  color: #ff7b9d;
  border: 1px solid rgba(255, 91, 129, .36);
  background: rgba(255, 91, 129, .08);
}

.priority-list {
  display: grid;
  gap: 14px;
}

.priority-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  overflow: hidden;
}

.priority-rank {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--line);
  color: var(--cyan);
  background: rgba(53,216,255,.08);
  font-size: 20px;
  font-weight: 900;
}

.priority-body {
  min-width: 0;
  padding: 16px;
}

.priority-top {
  margin-bottom: 10px;
}

.priority-top strong {
  color: var(--cyan);
  font-size: 24px;
}

.channel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.channel-card {
  padding: 12px;
}

.daily-channel-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.bestmatch-channel-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.channel-card.best {
  border-color: rgba(53,216,255,.45);
}

.priority-conclusion {
  grid-column: 2 / -1;
  min-height: 100%;
  padding: 14px;
  border: 1px solid rgba(53,216,255,.28);
  border-radius: 8px;
  background: rgba(7, 13, 29, .78);
}

.priority-conclusion span {
  display: block;
  margin-bottom: 8px;
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.priority-conclusion p {
  margin: 0;
  color: var(--ink);
  line-height: 1.5;
}

.conclusion-lines {
  display: grid;
  gap: 8px;
}

.conclusion-lines p {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(127, 221, 255, .1);
}

.conclusion-lines p:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.conclusion-lines strong {
  color: var(--cyan);
}

.bestmatch-conclusion {
  grid-column: 2 / -1;
}

.channel-card span,
.channel-card b {
  display: block;
}

.channel-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.channel-card b {
  margin-top: 4px;
  color: var(--ink);
  font-size: 22px;
}

.channel-card small {
  display: block;
  margin-top: 8px;
  font-size: 12px;
}

.compat-summary {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  gap: 12px;
  margin-bottom: 0;
}

.compat-score-card,
.compat-text-card {
  min-height: 140px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
}

.compat-score-card strong {
  display: block;
  color: var(--cyan);
  font-size: 44px;
  line-height: 1;
}

.compat-score-card span,
.compat-text-card span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.45;
}

.match-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin-bottom: 0;
}

.match-card {
  padding: 14px;
  border: 1px solid rgba(53,216,255,.18);
  border-radius: 8px;
  background: var(--panel-2);
}

.match-card b {
  display: block;
  color: var(--ink);
  margin-bottom: 8px;
}

.match-card span {
  color: var(--cyan);
  font-weight: 900;
}

.match-card p {
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.42;
}

.chart-panel {
  margin: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(5, 8, 16, .45);
}

.chart-head {
  margin-bottom: 12px;
}

#biorhythmCanvas,
#personalBiorhythmCanvas {
  display: block;
  width: 100%;
  height: 720px;
  border: 1px solid rgba(53,216,255,.14);
  border-radius: 8px;
  background: rgba(3, 6, 13, .86);
}

#personalBiorhythmCanvas {
  height: 680px;
}

.biorhythm-controls {
  grid-template-columns: minmax(220px, 320px) minmax(180px, 230px);
}

.personal-biorhythm-chart {
  margin-top: 0;
}

.personal-rhythm-card {
  display: grid;
  align-content: start;
  gap: 8px;
}

.personal-rhythm-card strong {
  color: var(--cyan);
  font-size: 13px;
  text-transform: uppercase;
}

.personal-rhythm-card.critical strong {
  color: var(--gold);
}

.personal-rhythm-card span {
  color: var(--ink);
  font-weight: 900;
}

.biorhythm-days-section {
  margin-top: 0;
}

.biorhythm-days-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.biorhythm-day-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(127, 221, 255, .16);
  border-radius: 8px;
  background: var(--panel-2);
}

.biorhythm-day-card.current {
  border-color: rgba(53,216,255,.45);
  background: rgba(53,216,255,.08);
}

.biorhythm-day-card.critical {
  border-color: rgba(255, 211, 106, .48);
  background: linear-gradient(135deg, rgba(255, 211, 106, .12), rgba(15, 18, 32, .76));
}

.biorhythm-day-card span {
  color: var(--cyan);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.biorhythm-day-card b {
  font-size: 18px;
}

.biorhythm-day-card p,
.biorhythm-day-card small {
  color: var(--muted);
  line-height: 1.45;
}

.biorhythm-day-card strong {
  color: var(--ink);
}

.legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(15, 18, 32, .7);
  font-size: 12px;
  font-weight: 800;
}

.legend i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.rhythm-description-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.rhythm-description-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(15, 18, 32, .72);
}

.rhythm-description-card.critical {
  border-color: rgba(255, 211, 106, .5);
  background: linear-gradient(135deg, rgba(255, 211, 106, .11), rgba(15, 18, 32, .78));
}

.rhythm-description-card b {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.rhythm-description-card i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.rhythm-description-card p {
  color: var(--muted);
  line-height: 1.48;
}

.period-section {
  display: grid;
  gap: 14px;
}

.period-energy-grid,
.period-month-grid {
  display: grid;
  gap: 12px;
}

.period-energy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.period-month-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.period-energy-card,
.period-month-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
}

.period-energy-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.period-energy-card b,
.period-month-card b {
  display: block;
  margin-bottom: 8px;
}

.period-energy-card p,
.period-month-card p,
.period-month-card small {
  color: var(--muted);
  line-height: 1.45;
}

.period-month-card small {
  display: block;
  margin-top: 10px;
}

.period-table {
  display: grid;
  gap: 12px;
  overflow-x: visible;
}

.period-table-card {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(127, 221, 255, .14);
  border-radius: 8px;
  background: rgba(18, 23, 39, .72);
  padding: 14px;
  overflow: hidden;
}

.period-table-row {
  display: grid;
  grid-template-columns: minmax(74px, .85fr) minmax(34px, .35fr) repeat(6, minmax(0, 1fr));
  gap: 4px;
  min-width: 0;
  padding: 8px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
}

.period-table-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.period-table-head {
  border: 1px solid rgba(127, 221, 255, .14);
  border-radius: 8px;
  color: var(--ink);
  background: rgba(53,216,255,.1);
  font-weight: 900;
}

.period-table-card.current {
  border-color: rgba(255,211,106,.38);
  background: rgba(255,211,106,.08);
}

.period-table-card.current .period-table-row {
  color: var(--ink);
}

.period-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(127,221,255,.14);
}

.period-card-head b {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}

.period-card-head p {
  margin: 5px 0 0;
  color: var(--soft);
  line-height: 1.35;
}

.period-kicker {
  color: var(--cyan);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.period-card-head strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 142px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  text-align: center;
}

.period-card-head .risk-low {
  color: #83ffba;
  border: 1px solid rgba(131,255,186,.34);
  background: rgba(58,255,145,.08);
}

.period-card-head .risk-mid {
  color: #ffd36a;
  border: 1px solid rgba(255,211,106,.34);
  background: rgba(255,179,72,.08);
}

.period-card-head .risk-high {
  color: #ff7b9d;
  border: 1px solid rgba(255,91,129,.36);
  background: rgba(255,91,129,.08);
}

.period-pill-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.period-pill {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(127,221,255,.16);
  border-radius: 8px;
  background: rgba(8,13,25,.42);
}

.period-pill small {
  color: var(--cyan);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.period-pill b {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.period-row-interpretation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.period-row-interpretation article {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(127,221,255,.14);
  border-radius: 8px;
  background: rgba(10,15,28,.48);
}

.period-row-interpretation .period-reading-main {
  grid-column: 1 / -1;
  border-color: rgba(53,216,255,.24);
  background: rgba(10,15,28,.6);
}

.period-row-interpretation h5 {
  margin: 0 0 7px;
  color: var(--cyan);
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
}

.period-row-interpretation p {
  margin: 0;
}

.period-row-interpretation strong {
  color: var(--cyan);
}

@media (max-width: 980px) {
  .period-pill-row,
  .period-row-interpretation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .period-row-interpretation .period-reading-main {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .period-card-head {
    grid-template-columns: 1fr;
  }

  .period-card-head strong {
    justify-self: start;
  }

  .period-pill-row,
  .period-row-interpretation {
    grid-template-columns: 1fr;
  }
}

.info-dialog {
  max-width: 680px;
  border: 1px solid rgba(53,216,255,.3);
  border-radius: 8px;
  background: #0c1020;
  color: var(--ink);
}

.info-dialog::backdrop {
  background: rgba(0,0,0,.68);
}

.info-dialog form {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 24px;
}

.info-dialog p {
  color: var(--muted);
  line-height: 1.55;
}

.dialog-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

@media (max-width: 1280px) {
  .workspace {
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  }

  .result-body {
    grid-template-columns: minmax(0, 1fr) 204px;
  }

  .quick-actions {
    align-self: end;
  }

  .card-grid,
  .metric-grid,
  .hvd-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .daily-controls {
    grid-template-columns: 1fr 190px;
  }

  .daily-controls button {
    grid-column: 1 / -1;
  }

  .reserve-controls {
    grid-template-columns: 1fr;
  }

  .reserve-preset-label,
  .reserve-controls > button {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .app {
    padding: 14px;
  }

  .workspace {
    grid-template-columns: 1fr;
  }

  .input-panel {
    position: static;
  }

  .result-body {
    grid-template-columns: 1fr;
  }

  .tabs {
    grid-column: 1;
    grid-row: 1;
    position: static;
  }

  .tab-panel.active {
    grid-column: 1;
    grid-row: 2;
  }

  .hero {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: 1fr auto;
  }

  .card-grid,
  .metric-grid,
  .hvd-grid,
  .match-grid,
  .compat-summary,
  .daily-controls,
  .context-strip,
  .channel-grid,
  .period-energy-grid,
  .hvd-group-grid,
  .hvd-profile-grid,
  .py-conclusion-grid,
  .py-lines-reading,
  .rhythm-description-grid {
    grid-template-columns: 1fr;
  }

  .py-conclusion-head {
    grid-template-columns: 1fr;
  }

  .py-conclusion-head strong {
    justify-self: start;
  }

  .compat-form,
  .compat-control-group-main,
  .compat-footer-group,
  .compat-action-group,
  .daily-action-group,
  .archetype-mode-grid,
  .archetype-actions,
  .reserve-controls,
  .reserve-bars,
  .reserve-scale-guide,
  .reserve-table-row,
  .reserve-integrated-grid,
  .reserve-integrated-body,
  .daily-extra-grid,
  .profile-create-grid {
    grid-template-columns: 1fr;
  }

  .reserve-table-head {
    display: none;
  }

  .profile-dialog-actions,
  .import-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-dialog {
    width: min(760px, calc(100vw - 20px));
  }

  .admin-grid {
    grid-template-columns: 1fr;
  }

  .admin-permissions-matrix {
    max-height: 360px;
  }

  .admin-permission-row {
    grid-template-columns: minmax(0, 1fr) repeat(2, minmax(100px, auto));
  }

  .compat-footer-group {
    padding-top: 12px;
    border-top: 1px solid rgba(59, 213, 255, 0.18);
  }

  .priority-conclusion {
    grid-column: 1 / -1;
  }

  .compat-action-group {
    justify-content: stretch;
  }

  .priority-card {
    grid-template-columns: 1fr;
  }

  .priority-rank {
    min-height: 42px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .tabs-categorized {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tab-category > div {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  }

  .today-grid,
  .profile-filter-grid {
    grid-template-columns: 1fr;
  }

  .summary-hero {
    grid-template-columns: 1fr;
  }

  .summary-hero strong {
    min-width: 96px;
    min-height: 68px;
  }

  .empty-state {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .empty-actions {
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tabs-categorized {
    grid-template-columns: 1fr;
  }

  .quick-actions {
    grid-template-columns: 1fr;
  }

  .empty-actions {
    grid-template-columns: 1fr;
  }

  .matrix-board {
    min-height: 360px;
  }

  .node {
    width: 44px;
    height: 44px;
  }

  .node.main {
    width: 54px;
    height: 54px;
  }

  .node.center {
    width: 62px;
    height: 62px;
  }

  .chakra-row {
    grid-template-columns: 1fr;
  }

  #biorhythmCanvas,
  #personalBiorhythmCanvas {
    height: 760px;
  }

  .profile-dialog-actions,
  .import-actions,
  .profile-choice-actions {
    grid-template-columns: 1fr;
  }

  .admin-dialog .profile-dialog-panel {
    padding: 16px;
  }

  .admin-permission-row {
    grid-template-columns: 1fr 1fr;
  }

  .admin-permission-row > div {
    grid-column: 1 / -1;
  }
}
