/* approvals app styles (use the tokens from admin.css: --panel, --line, --ink, --muted, --brand, --accent, --ok, --warn, --danger, --info + their -soft variants; logical properties for RTL) */
.apr-page { --apr: #8e44ad; }
.apr-cico { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; flex: 0 0 auto; color: var(--c, var(--apr)); background: color-mix(in srgb, var(--c, var(--apr)) 15%, var(--panel)); }
.apr-sub { display: flex; align-items: center; gap: 10px; min-width: 0; }
.apr-sub .apr-cico { width: 30px; height: 30px; border-radius: 9px; }
.apr-stack { font-variant-numeric: tabular-nums; font-weight: 700; }

/* category tiles (one tap = new request) */
.apr-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-top: 10px; }
.apr-tile { display: grid; gap: 12px; align-content: start; padding: 16px; background: var(--panel); border: 1px solid var(--line); border-top: 4px solid var(--c, var(--apr)); border-radius: var(--r); box-shadow: var(--shadow); color: inherit; min-width: 0; transition: transform .15s, border-color .15s; }
.apr-tile:hover { transform: translateY(-2px); border-color: var(--c, var(--apr)); }
.apr-tile-txt { display: grid; gap: 4px; line-height: 1.35; }
.apr-tile-txt small { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.apr-tile-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.apr-tile-go { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 4px; font-weight: 700; font-size: 13px; color: color-mix(in srgb, var(--c, var(--apr)) 62%, var(--ink)); }
.apr-chip-warn { background: var(--warn-soft); color: var(--warn-ink); border-color: transparent; }
.apr-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

/* review / my lists */
.apr-list { list-style: none; margin: 0; padding: 0; display: grid; }
.apr-list > li { border-top: 1px solid var(--line-2); }
.apr-list > li:first-child { border-top: 0; }
.apr-rev { display: flex; align-items: center; gap: 12px; padding: 10px 0; flex-wrap: wrap; }
.apr-rev-main { display: flex; align-items: center; gap: 12px; flex: 1 1 220px; min-width: 0; color: inherit; padding: 8px 0; }
.apr-rev-main:hover b { color: var(--accent-d); }
.apr-rev-txt { display: grid; flex: 1; min-width: 0; line-height: 1.3; }
.apr-rev-txt b, .apr-rev-txt small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.apr-rev-act { display: flex; gap: 8px; }
.btn.btn-sm { min-height: 34px; }

/* request page */
.apr-intro { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.apr-form { margin-bottom: 14px; }
.apr-lines { display: grid; gap: 8px; }
.apr-line { display: grid; grid-template-columns: minmax(0, 1fr) 110px auto; gap: 8px; align-items: center; }
.apr-appr { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: ap; }
.apr-ap { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: start; }
.apr-ap-txt { display: grid; gap: 2px; min-width: 0; }
.apr-ap-comment { font-style: italic; overflow-wrap: anywhere; }
.apr-appr.plain { gap: 8px; }
.apr-user { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; min-width: 0; }
.apr-cfg-ap { display: grid; gap: 8px; }
.apr-cfg-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; }

@media (max-width: 900px) { .apr-two { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  .apr-tiles { grid-template-columns: 1fr; }
  .apr-line { grid-template-columns: minmax(0, 1fr) 84px auto; }
  .apr-rev-act .btn { min-height: 44px; }
  .apr-cfg-row { grid-template-columns: 1fr auto; }
  .apr-cfg-row .exp-check { grid-column: 1 / -1; }
}
