:root {
      --divider: var(--div, #e5e0d8);
      --background: var(--bg, #f7f3ec);
      --navy-mid: var(--navymid, #1a3a5c);
    }
    .page-heading {
      max-width: 100%;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
    }
    .heading-actions { max-width: 100%; display: flex; gap: 8px; flex-wrap: wrap; }
    .eyebrow {
      margin: 0 0 5px;
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: var(--dim);
    }
    .subtitle { margin: 0; color: var(--dim); }
    .notice {
      margin-bottom: 14px;
      padding: 12px 14px;
      border: 1px solid var(--divider);
      border-radius: 10px;
      background: #fff;
      color: var(--dim);
      font-size: 13px;
    }
    .button {
      min-height: 40px;
      border: 0;
      border-radius: 9px;
      padding: 9px 14px;
      font-weight: 800;
      cursor: pointer;
    }
    .button.primary { background: var(--navy); color: #fff; }
    .button.primary:hover { background: var(--navy-mid); }
    .button.secondary { border: 1px solid var(--divider); background: #fff; color: var(--navy); }
    .button.compact { min-height: 35px; padding: 7px 10px; font-size: 11px; }
    .panel {
      max-width: 100%;
      margin-bottom: 18px;
      border: 1px solid var(--divider);
      border-radius: 14px;
      background: #fff;
      overflow: hidden;
      box-shadow: 0 2px 8px rgba(0,0,0,.04);
    }
    .panel-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px;
      border-bottom: 1px solid var(--divider);
    }
    .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    table { width: 100%; border-collapse: collapse; }
    th, td { padding: 10px 12px; border-bottom: 1px solid var(--divider); text-align: left; font-size: 13px; }
    th { color: var(--dim); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; background: #fafafa; }
    .sk-modal-bg {
      position: fixed; inset: 0;
      background: rgba(15,37,64,.55);
      display: flex; align-items: center; justify-content: center;
      z-index: 200;
    }
    .sk-modal {
      background: #fff; border-radius: 16px; padding: 28px;
      width: min(520px, calc(100% - 32px));
      max-height: 90vh; overflow-y: auto;
      box-shadow: 0 24px 60px rgba(0,0,0,.22);
    }
    .sk-modal h3 { margin: 0 0 18px; font-family: Georgia, serif; font-size: 18px; color: var(--navy); }
    .sk-field { margin-bottom: 14px; }
    .sk-field label { display: block; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--dim); margin-bottom: 5px; }
    .sk-field input, .sk-field select, .sk-field textarea {
      width: 100%; padding: 9px 11px; border: 1px solid var(--divider); border-radius: 8px;
      font: inherit; font-size: 13px; color: var(--text); background: #fff;
    }
    .sk-field input[type="checkbox"] { width: auto; }
    .sk-field input:focus, .sk-field select:focus { outline: 2px solid var(--navy); outline-offset: 1px; }
    .sk-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .sk-row3 { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: end; }
    .sk-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--divider); }
    .sk-err { color: var(--red); font-size: 12px; margin-top: 8px; padding: 8px 10px; background: rgba(216,77,77,.07); border-radius: 8px; }
    .sk-badge-low  { background: rgba(216,77,77,.12); color: #a53131; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
    .sk-badge-ok   { background: rgba(42,157,99,.12); color: #1f7047; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
    .sk-badge-warn { background: rgba(253,198,58,.2); color: #7a5800; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
    .sk-badge-ded  { background: rgba(216,77,77,.12); color: #a53131; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
    .sk-badge-add  { background: rgba(42,157,99,.12); color: #1f7047; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
    .sk-badge-adj  { background: rgba(253,198,58,.2); color: #7a5800; padding: 3px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
    .sk-tab-bar { display: flex; gap: 6px; margin-bottom: 18px; }
    .sk-tab-bar button { padding: 8px 14px; border: 1px solid var(--divider); border-radius: 8px; background: #fff; color: var(--dim); cursor: pointer; font-size: 11px; font-weight: 800; }
    .sk-tab-bar button.active { border-color: var(--navy); background: var(--navy); color: #fff; }
    .sk-kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); gap: 12px; margin-bottom: 18px; }
    .sk-rule-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 12px; padding: 6px 8px; background: var(--background); border-radius: 6px; }
    .sk-section-label { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--dim); margin: 16px 0 8px; }
    td.right { text-align: right; }
    @media (max-height: 500px) and (orientation: landscape) {
      .page-heading { gap: 10px; margin-bottom: 12px; }
      .heading-actions .button { min-width: 0; white-space: normal; }
      .sk-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
      .sk-tab-bar { max-width: 100%; flex-wrap: wrap; }
      .sk-tab-bar button { min-width: 0; white-space: normal; }
      .panel { max-width: 100%; overflow-x: auto; }
      .table-scroll { max-width: 100%; overflow-x: auto; }
    }
