/* Cabinet-only typography. Table content and the login page keep their sizes. */
.shell .sidebar {
  /* Reuse the optimized login artwork; fade it into the existing menu color. */
  background-image:
    linear-gradient(180deg, var(--nav) 0%, #202b38b8 24%, #202b3899 62%, var(--nav) 100%),
    url('./assets/auth-disc-v2.webp');
  background-repeat: no-repeat;
  background-size: 100% 480px, 480px 480px;
  background-position: right bottom 110px, right -70px bottom 110px;
}
:is(.shell, #modal) :is(.btn, .nav-item, .organization-switcher select,
  .field, .hint, .notice, .form-error, .section-intro, .fact,
  .filter, .view-switch button, .check-label):not(table *) {
  font-size: 13px;
}
:is(.shell, #modal) :is(.field input, .field select, .field textarea):not(table *) {
  font-size: 14px;
}
.shell :is(.breadcrumb, .top-actions, .connection, .top-date,
  .scope-caption, .stat-label, .processing-card p, .processing-facts,
  .panel-head p, .draft-banner, .below-table, .org-add):not(table *) {
  font-size: 12px;
}
.shell :is(.page-heading p, .search input, .processing-card h3,
  .notification p, .billing-summary p, .employee-heading p):not(table *) {
  font-size: 13px;
}
.shell :is(.stat-caption, .nav-caption, .profile-copy span):not(table *) {
  font-size: 11px;
}
.shell .profile-copy strong { font-size: 12px; }
.shell .organization-switcher > label { font-size: 12px; }
.shell .topbar { min-height: 56px; height: auto; padding-top: 8px; padding-bottom: 8px; }
.shell .logout-button { flex-shrink: 0; white-space: nowrap; }
#modal :is(.detail-grid label, .detail-grid strong):not(table *) { font-size: 13px; }
@media (max-width: 599px) {
  .shell .top-actions { gap: 6px; }
  .shell .topbar { gap: 8px; }
  .shell .logout-button { padding: 6px 8px; }
  #modal :is(.field input, .field select, .field textarea):not(table *) { font-size: 16px; }
}

/* Sync details occupy two stable lines; logout belongs to the account area. */
.shell .sync-status { display: grid; gap: 4px; line-height: 1.35; }
.shell .sync-status .connection { display: flex; color: #40576b; }
.shell .sync-status .connection::before { width: 7px; height: 7px; flex-shrink: 0; background: #35a56c; }
.shell .sync-next { font-size: 11px; color: #728295; }
.shell .side-bottom .logout-button {
  width: 100%; justify-content: flex-start; gap: 10px; margin-top: 3px;
  padding: 10px; color: #c7d2df; background: transparent; border-color: transparent;
}
.shell .side-bottom .logout-button:hover { color: #fff; background: #ffffff0c; }
.shell .side-bottom .logout-button .icon { width: 17px; height: 17px; }
@media (max-width: 1279px) {
  .shell .sync-status { display: none; }
}

/* Fleet actions and sidebar items share the same responsive height. */
.shell { --cabinet-control-height: 38px; }
.shell .nav-item { min-height: var(--cabinet-control-height); }
.shell .fleet-heading-actions { align-items: stretch; gap: 8px; max-width: 100%; }
.shell .fleet-heading-actions .btn {
  height: var(--cabinet-control-height); min-height: var(--cabinet-control-height); padding: 6px 15px; border-radius: 7px;
  font-size: 13px; font-weight: 550; white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease;
}
.shell .fleet-heading-actions .icon { width: 17px; height: 17px; }
.shell .sync-request-slot { display: flex; }
.shell .sync-request {
  min-width: 185px; background: #e9f0f8; border-color: #d0dfed; color: #365b7c;
}
.shell .sync-request:hover:not(:disabled) { background: #dce8f4; border-color: #b6cde1; }
.shell .sync-request:disabled { opacity: 1; color: #697f93; background: #edf2f7; border-color: #dce5ed; cursor: default; }
.shell .sync-label { line-height: 16px; }
.shell .fleet-import-button { background: #e8f3ed; border-color: #cfe3d8; color: #346752; }
.shell .fleet-import-button:hover:not(:disabled) { background: #dcece2; border-color: #b6d3c4; }
.shell .fleet-add-button { background: #3d607f; border-color: #3d607f; color: #fff; }
.shell .fleet-add-button:hover:not(:disabled) { background: #304e69; border-color: #304e69; }
@media (max-width: 699px) {
  .shell { --cabinet-control-height: 42px; }
  .shell .fleet-heading-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .shell .fleet-heading-actions .sync-request-slot { grid-column: 1 / -1; }
  .shell .fleet-heading-actions .sync-request { width: 100%; }
  .shell .fleet-heading-actions .btn { min-width: 0; padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .shell .fleet-heading-actions .btn { transition: none; }
}

/* Sorting controls inherit the table typography. */
.fleet-table .column-sort {
  display: flex; align-items: center; justify-content: space-between; gap: 6px;
  width: 100%; padding: 0; border: 0; background: none; color: inherit;
  font: inherit; text-align: left; cursor: pointer;
}
.fleet-table .column-sort:hover { color: #244c70; }
.fleet-table .column-sort:focus-visible, .fleet-table .table-columns-button:focus-visible {
  outline: 2px solid #7a9bb5; outline-offset: 4px; border-radius: 3px;
}
.fleet-table .sort-indicator { width: 12px; height: 16px; flex-shrink: 0; color: #a7b6c3; }
.fleet-table th[aria-sort="ascending"] .sort-up,
.fleet-table th[aria-sort="descending"] .sort-down { color: #28577c; stroke-width: 2; }
.fleet-table th[aria-sort="ascending"] .sort-down,
.fleet-table th[aria-sort="descending"] .sort-up { opacity: .2; }
.fleet-table .table-actions {
  position: sticky; right: 0; z-index: 2; width: 44px; min-width: 44px;
  padding: 5px 7px; text-align: center; background: #fff;
  box-shadow: -1px 0 0 #e1e7ee;
}
.fleet-table th.table-actions { z-index: 3; background: #f3f6f9; }
.fleet-table tbody tr:nth-child(even) .table-actions { background: #fafbfd; }
.fleet-table tbody tr:hover .table-actions { background: #edf3fa; }
.fleet-table .table-columns-button { color: #526b82; }
.fleet-table .table-columns-button:hover { color: #244c70; background: #e3ebf2; }

/* The page capacity follows the available viewport, including the footer. */
.fleet-table tbody tr { height: var(--fleet-row-height, auto); }
#fleet-content .table-foot { flex-shrink: 0; min-height: 48px; }
#fleet-content .pagination { flex-shrink: 0; white-space: nowrap; }

.mcd-gap-notice{margin:0 0 18px;background:#fbf5e9;border-color:#ecdabb;color:#775b2e;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mcd-gap-notice>span{flex:1;min-width:190px}.mcd-gap-notice strong{font-weight:500}.mcd-gap-notice small{display:block;color:#93806a;font-size:11px;margin-top:4px}.mcd-gap-notice .btn{color:#785b2c;background:#fffaf0;border-color:#e7d4b1}.mcd-gap-detail{background:#fbf5e9;border-color:#ecdabb;color:#775b2e;margin-bottom:22px;align-items:flex-start}.mcd-gap-detail strong{font-weight:500}.mcd-gap-detail p{margin:7px 0;font-size:13px}.mcd-gap-detail span{font-size:12px;line-height:1.6}.mcd-gap-label{color:#9a6b31!important;font-size:11px!important;line-height:1.5}.mcd-gap-icon{display:inline-flex;vertical-align:middle;margin-left:6px;color:#b58036}.mcd-gap-icon .icon{width:13px;height:13px}.calendar-event .mcd-gap-label{white-space:normal}@media(max-width:599px){.mcd-gap-notice .btn{width:100%}}

.access-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;background:#edf4fa;border-color:#d7e4ef}.access-notice>div{flex:1}.access-notice strong{font-weight:500}.access-notice p{font-size:12px;color:#657d90;margin-top:5px;line-height:1.6}.access-notice.warm{background:#fbf5e9;border-color:#ecdabb}.access-expired{text-align:center;padding:60px 24px;max-width:760px;margin:50px auto}.access-lock-symbol{color:#728ea6;margin-bottom:24px}.access-lock-symbol .icon{width:40px;height:40px}.access-expired h1{font-size:25px;font-weight:500;margin-bottom:18px}.access-expired p{color:#657d90;line-height:1.8;margin-bottom:22px}.access-summary{display:block}.access-summary h2{font-size:22px;font-weight:500}.access-summary .hint{max-width:850px;margin-top:16px;line-height:1.7}.access-quota{display:flex;align-items:center;gap:15px;margin-top:22px;color:#426581}.access-quota strong{font-size:28px;font-weight:500}.sync-expired{color:#a56d36}@media(max-width:599px){.access-notice{flex-direction:column;align-items:stretch}.access-expired{margin:15px auto;padding:35px 18px}.access-expired h1{font-size:22px}}

.sync-notice{padding-top:22px;color:#253e55}.sync-notice-intro{display:flex;align-items:center;gap:16px}.sync-notice-intro p{margin:0;font-size:15px;line-height:1.65}.sync-notice-intro strong{font-weight:600}.sync-notice-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;color:#426b89;background:#edf4f9}.sync-notice-icon .icon{width:24px;height:24px}.sync-notice-time{display:flex;flex-direction:column;gap:8px;margin:24px 0 18px;padding:22px 24px;border:1px solid #dce7ef;border-radius:12px;background:linear-gradient(120deg,#edf4fa,#f7fafc)}.sync-notice-time>span{font-size:13px;color:#617b90}.sync-notice-time>strong{font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-.7px;font-variant-numeric:tabular-nums;color:#2f536f}.sync-notice-time time{font-size:13px;color:#617b90}.sync-notice-note{font-size:13px;line-height:1.65;color:#728497;margin:0}.sync-notice .modal-actions{margin-top:24px}@media(max-width:599px){.sync-notice-intro{gap:12px;align-items:flex-start}.sync-notice-time{padding:20px}.sync-notice-time>strong{font-size:30px}}
