.label-mobile { display: none; }

.brand { gap: 10px; }
.profile-identity { flex: 1; min-width: 0; }
.profile-identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-logout {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
  padding: 6px 7px;
  border: 1px solid #e2e8f2;
  border-radius: 8px;
  background: #fff;
  color: #607086;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.profile-logout .icon { width: 14px; height: 14px; }
.profile-logout:hover { background: #f5f7fb; color: #255ad5; }
.profile-logout:focus-visible { outline: 2px solid #8fb0f3; outline-offset: 2px; }
.mobile-account-panel { display: none; }
.nav { margin-top: 19px; }
.remember-row {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #526178;
  font-size: 12px;
  cursor: pointer;
}
.remember-row input { width: 15px; height: 15px; accent-color: #2563d9; }
.settings-divider { border: 0; border-top: 1px solid #e9edf3; margin: 24px 0; }
.user-name-button { padding: 0; border: 0; background: none; color: #26354e; font-size: 12px; font-weight: 700; text-align: left; }
.user-name-button:hover { color: #2563d9; text-decoration: underline; }
.user-name-button:focus-visible { outline: 2px solid #8fb0f3; outline-offset: 3px; border-radius: 2px; }
.history-summary { display: flex; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; margin-bottom: 14px; color: #607086; font-size: 12px; }
.history-summary strong { color: #283850; }
.history-list { max-height: min(48vh, 440px); overflow-y: auto; border: 1px solid #e7ebf2; border-radius: 12px; }
.history-item { padding: 14px 16px; border-bottom: 1px solid #edf0f5; color: #64748b; font-size: 12px; line-height: 1.7; }
.history-item:last-child { border-bottom: 0; }
.history-item-head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 5px; }
.history-item-head strong { color: #26354e; font-size: 13px; }
.history-item-head time { color: #9ba5b4; }
.history-item code { color: #315284; font-weight: 700; }
.history-pager { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.account-action-note { margin: 0 0 16px; color: #607086; font-size: 12px; line-height: 1.7; }
.account-action-list { display: flex; flex-wrap: wrap; gap: 9px; }
.reset-password { padding: 14px 16px; border: 1px solid #dbe7fa; border-radius: 10px; background: #f4f8ff; }
.reset-password code { color: #254c91; font-size: 16px; font-weight: 800; letter-spacing: .09em; overflow-wrap: anywhere; }
.modal-actions { flex-wrap: wrap; }
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.pagination .btn { min-height: 34px; padding: 7px 10px; border-radius: 8px; }
.pagination .pagination-page { min-width: 34px; padding-inline: 7px; }
.pagination .pagination-page.active { color: #fff; background: #2563d9; border-color: #2563d9; }
.pagination-gap { padding: 0 3px; color: #9ba5b4; }
.analytics-page .page-heading { margin-bottom: 18px; }
.analytics-stats { gap: 12px; margin-bottom: 14px; }
.analytics-stats .stat { min-height: 100px; padding: 14px 16px; }
.analytics-stats .stat-value { margin-top: 5px; font-size: 26px; }
.analytics-workspace { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); align-items: stretch; gap: 12px; min-height: 0; }
.analytics-panels { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); align-content: stretch; gap: 12px; min-height: 0; }
.analytics-panels .panel-head { padding: 12px 16px; }
.analytics-panels .panel-head h2, .analytics-detail-head h2 { margin: 0; color: #26354e; font-size: 14px; }
.analytics-panels .panel-head p, .analytics-detail-head p { margin: 3px 0 0; color: #98a3b4; font-size: 11px; }
.analytics-panel-meta { color: #a0aabd; font-size: 10px; white-space: nowrap; }
.analytics-panels .panel-body { padding: 11px 16px; }
.analytics-days { display: grid; gap: 7px; }
.analytics-day { display: grid; grid-template-columns: 45px minmax(0, 1fr) 27px 40px; align-items: center; gap: 8px; min-height: 17px; color: #7c899d; font-size: 11px; }
.analytics-day strong { color: #253958; text-align: right; }
.analytics-day small { color: #9ba5b4; text-align: right; }
.analytics-track { height: 7px; border-radius: 8px; background: #edf2fa; overflow: hidden; }
.analytics-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #779bed, #416fda); }
.analytics-cities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(5, 19px); grid-auto-flow: column; gap: 3px 11px; align-content: start; }
.analytics-cities > .empty { grid-column: 1 / -1; padding: 16px 8px; }
.analytics-city { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 6px; min-width: 0; min-height: 21px; color: #64748b; font-size: 11px; }
.analytics-city b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 6px; background: #f0f4fb; color: #7690bb; font-size: 10px; }
.analytics-city:nth-child(-n + 3) b { background: #e8f0ff; color: #3869d2; }
.analytics-city span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-city strong { color: #253958; font-size: 11px; white-space: nowrap; }
.analytics-city strong small { color: #9ca9bb; font-size: 10px; font-weight: 400; }
.analytics-detail-panel { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.analytics-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 10px 16px; flex-wrap: wrap; padding: 10px 16px; border-bottom: 1px solid #eef1f5; }
.analytics-detail-head h2 span { margin-left: 5px; color: #8d9aae; font-size: 11px; font-weight: 500; }
.analytics-detail-head .pagination .btn { min-height: 29px; padding: 5px 9px; }
.analytics-table { flex: 1; min-height: 0; overflow: auto; }
.analytics-table th { position: sticky; top: 0; z-index: 1; }
.analytics-table .data-table th { padding: 10px 16px; }
.analytics-table .data-table td { padding: 11px 16px; }
.analytics-page .footnote { margin: 8px 0 0; }
@media (min-width: 1180px) and (min-height: 620px) {
  .main:has(.analytics-page) { height: 100dvh; padding: 16px 24px 12px; }
  .analytics-page { display: flex; flex-direction: column; height: 100%; min-height: 0; }
  .analytics-page .page-heading { flex: none; align-items: center; margin: 0 0 12px; }
  .analytics-page .page-heading h1 { font-size: 24px; }
  .analytics-page .page-heading p { margin-top: 3px; }
  .analytics-page .eyebrow { font-size: 10px; }
  .analytics-page .page-heading .btn { min-height: 32px; padding: 6px 11px; }
  .analytics-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; flex: none; }
  .analytics-stats .stat { min-height: 82px; padding: 10px 13px; }
  .analytics-stats .stat-icon { width: 25px; height: 25px; }
  .analytics-stats .stat-icon .icon { width: 14px; height: 14px; }
  .analytics-stats .stat-value { font-size: 23px; margin: 2px 0 0; }
  .analytics-stats .stat-foot { font-size: 10px; }
  .analytics-workspace { flex: 1; min-height: 0; }
  .analytics-panels { grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .analytics-panels .panel { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
  .analytics-panels .panel-head { flex: none; }
  .analytics-panels .panel-body { flex: 1; min-height: 0; padding: 8px 16px; }
  .analytics-days { grid-template-rows: repeat(7, minmax(0, 1fr)); gap: 2px; }
  .analytics-cities { align-content: start; }
  .analytics-city { min-height: 19px; }
  .analytics-detail-head { flex: none; }
  .analytics-page .footnote { flex: none; }
}
@media (min-width: 1024px) and (max-width: 1179px) {
  .analytics-workspace { height: 480px; }
}
@media (max-width: 1023px) {
  .analytics-workspace { grid-template-columns: minmax(0, 1fr); }
  .analytics-detail-panel { max-height: 460px; }
}
@media (max-width: 760px) {
  .toolbar > .toolbar-right { justify-content: flex-end; }
}
@media (max-width: 420px) {
  .toolbar > .toolbar-right { justify-content: flex-start; }
  .pagination { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .sidebar { min-height: 61px; }
  .brand { padding-bottom: 0; }
  .mobile-account-panel { display: block; margin-bottom: 16px; }
  .mobile-account-panel .sidebar-profile { padding: 16px; }
  .label-desktop { display: none; }
  .label-mobile { display: inline; }
  .sidebar .nav {
    position: fixed;
    inset: auto 0 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    height: calc(72px + env(safe-area-inset-bottom, 0px));
    margin: 0;
    padding: 6px 7px calc(6px + env(safe-area-inset-bottom, 0px));
    overflow: visible;
    border-top: 1px solid #e4eaf3;
    background: rgb(255 255 255 / 97%);
    box-shadow: 0 -5px 20px rgb(30 50 90 / 6%);
  }
  .sidebar .nav button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 55px;
    padding: 6px 2px;
    gap: 4px;
    border-radius: 10px;
    font-size: 10px;
    line-height: 1;
    text-align: center;
  }
  .sidebar .nav button .icon { width: 19px; height: 19px; }
  .main { padding-bottom: calc(98px + env(safe-area-inset-bottom, 0px)); }
  .toast { bottom: calc(89px + env(safe-area-inset-bottom, 0px)); }
  .analytics-page .page-heading { margin-bottom: 15px; }
  .analytics-stats { gap: 9px; margin-bottom: 12px; }
  .analytics-stats .stat { min-height: 92px; padding: 11px 12px; }
  .analytics-stats .stat-value { font-size: 23px; }
  .analytics-panels { grid-template-columns: 1fr; gap: 12px; }
  .analytics-day { grid-template-columns: 45px minmax(0, 1fr) 25px 36px; gap: 7px; }
  .analytics-detail-panel { max-height: 480px; }
  .analytics-table { max-height: 390px; }
}
