/* Appeals index only. Shared page header and individual appeal pages stay unchanged. */
.ap-page { --ap-panel:#20232c; --ap-line:rgba(187,200,218,.12); --ap-text:#edf1f7; --ap-muted:#a0aabc; --ap-accent:#62cba5; display:flex; flex-direction:column; gap:24px; min-width:0; margin-bottom:36px; }
.ap-page *, .ap-page *::before, .ap-page *::after { box-sizing:border-box; }
.ap-page h2 { color:var(--ap-text); font-size:20px; font-weight:600; line-height:1.4; letter-spacing:-.025em; margin:0; }
.ap-page h3 { margin:0; font-weight:600; }
.ap-page p { font-weight:400; }
.ap-page a { text-decoration:none; }
.ap-kicker { display:block; color:var(--ap-accent); font-size:10px; line-height:1.5; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:5px; }
.ap-status-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ap-filter { --ap-filter-color:#bac5d7; display:flex; align-items:center; gap:16px; min-width:0; padding:22px; border:1px solid var(--ap-line); border-radius:18px; background:var(--ap-panel); transition:background-color .2s ease,border-color .2s ease; }
.ap-filter--pending { --ap-filter-color:#d7b785; }
.ap-filter--success { --ap-filter-color:#81c5ab; }
.ap-filter--danger { --ap-filter-color:#d79898; }
.ap-filter.is-active { border-color:rgba(98,203,165,.5); background-color:#24312f; }
.ap-filter__icon { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border:1px solid var(--ap-line); border-radius:12px; color:var(--ap-filter-color); background:rgba(255,255,255,.025); font-size:23px; }
.ap-filter__body { display:flex; flex-direction:column; min-width:0; gap:4px; }
.ap-filter__body strong { font-size:25px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.025em; color:var(--ap-text); line-height:1.2; overflow-wrap:anywhere; }
.ap-filter__body > span { font-size:12px; color:var(--ap-muted); line-height:1.5; }
.ap-filter__arrow { color:var(--ap-accent); margin-left:auto; font-size:20px; opacity:0; }
.ap-filter.is-active .ap-filter__arrow { opacity:1; }
.ap-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:24px; align-items:start; }
.ap-register { min-width:0; border:1px solid var(--ap-line); border-radius:22px; background:var(--ap-panel); overflow:hidden; }
.ap-register__head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:26px 28px; }
.ap-register__head p { color:var(--ap-muted); font-size:13px; line-height:1.7; margin:6px 0 0; }
.ap-found { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:6px; padding:7px 10px; border:1px solid var(--ap-line); border-radius:8px; color:var(--ap-muted); font-size:11px; flex:0 0 auto; }
.ap-found b { color:var(--ap-text); font-weight:500; }
.ap-server-bar { padding:0 28px 24px; }
.ap-server-label { display:flex; align-items:center; gap:8px; color:var(--ap-muted); font-size:12px; margin-bottom:12px; }
.ap-server-label i { color:var(--ap-accent); font-size:17px; }
.ap-server-filters { display:flex; flex-wrap:wrap; gap:8px; }
.ap-server-filter { display:inline-flex; align-items:center; min-height:38px; padding:9px 12px; border:1px solid var(--ap-line); border-radius:9px; background:rgba(0,0,0,.08); color:var(--ap-muted); font-size:11px; line-height:1.5; font-weight:500; transition:background-color .2s ease,border-color .2s ease; overflow-wrap:anywhere; max-width:100%; }
.ap-server-filter.is-active { background:rgba(98,203,165,.08); border-color:rgba(98,203,165,.4); color:#a1e7cc; }
.ap-list-caption { display:flex; align-items:center; justify-content:space-between; padding:12px 28px; border-top:1px solid var(--ap-line); border-bottom:1px solid var(--ap-line); background:rgba(0,0,0,.12); color:#949fb1; font-size:11px; }
.ap-list { padding:8px 14px; }
.ap-application { display:flex; align-items:center; min-width:0; gap:16px; padding:22px 14px; border-bottom:1px solid var(--ap-line); background:transparent; transition:background-color .2s ease; }
.ap-application:last-child { border-bottom:0; }
.ap-application__avatar { display:block; flex:0 0 48px; width:48px; height:48px; overflow:hidden; border-radius:13px; border:1px solid var(--ap-line); background:#2c323b; }
.ap-application__avatar img { width:100%; height:100%; display:block; object-fit:cover; }
.ap-application__main { flex:1; min-width:0; }
.ap-application__identity { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:6px; font-size:11px; color:var(--ap-muted); line-height:1.5; }
.ap-application__number { color:#aab8cb; }
.ap-application__author { display:inline-flex; align-items:center; gap:5px; min-width:0; overflow-wrap:anywhere; }
.ap-application__author i { color:#748095; }
.ap-application h3 { color:var(--ap-text); font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.ap-application__meta { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:9px; }
.ap-application__meta > span { display:flex; align-items:center; gap:6px; min-width:0; font-size:11px; line-height:1.6; color:var(--ap-muted); overflow-wrap:anywhere; }
.ap-application__meta i { flex:0 0 auto; font-size:14px; color:#75889c; }
.ap-application__end { flex:0 0 138px; min-width:0; display:flex; flex-direction:column; align-items:flex-end; gap:17px; }
.ap-badge { display:inline-flex; align-items:center; gap:5px; max-width:100%; border:1px solid var(--ap-line); border-radius:7px; padding:5px 8px; font-size:10px; line-height:1.5; font-weight:500; color:var(--ap-muted); }
.ap-badge i { font-size:14px; flex:0 0 auto; }
.ap-badge--warning { color:#d7b785; background:rgba(215,183,133,.05); border-color:rgba(215,183,133,.2); }
.ap-badge--success { color:#90c9b4; background:rgba(98,203,165,.05); border-color:rgba(98,203,165,.2); }
.ap-badge--danger { color:#d79898; background:rgba(215,152,152,.05); border-color:rgba(215,152,152,.2); }
.ap-application__open { display:flex; align-items:center; gap:7px; font-size:11px; color:#a1cabb; line-height:1.5; }
.ap-application__open i { font-size:18px; }
.ap-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; padding:20px 24px; border-top:1px solid var(--ap-line); }
.ap-pagination:empty { display:none; }
.ap-pagination .pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin:0; }
.ap-pagination a, .ap-pagination .page-link { display:inline-flex; align-items:center; justify-content:center; min-width:38px; min-height:38px; padding:8px 12px; margin:0; border:1px solid var(--ap-line); border-radius:9px; background:rgba(0,0,0,.08); color:var(--ap-muted); font-size:12px; box-shadow:none; }
.ap-pagination .active a, .ap-pagination .active .page-link { background:rgba(98,203,165,.1); border-color:rgba(98,203,165,.4); color:#a1e7cc; }
.ap-sidebar { display:flex; flex-direction:column; gap:18px; min-width:0; }
.ap-guide { padding:24px; border:1px solid rgba(98,203,165,.2); border-radius:22px; background:#242832; }
.ap-guide__head { display:flex; align-items:center; gap:12px; }
.ap-guide__head h2 { font-size:17px; }
.ap-guide__icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; background:rgba(98,203,165,.07); color:var(--ap-accent); border-radius:12px; font-size:22px; }
.ap-checklist { display:flex; flex-direction:column; gap:24px; list-style:none; margin:26px 0; padding:0; }
.ap-checklist li { display:flex; gap:12px; align-items:flex-start; }
.ap-checklist li > span { flex:0 0 25px; padding-top:1px; color:var(--ap-accent); font-size:11px; line-height:1.7; font-weight:500; }
.ap-checklist h3 { color:var(--ap-text); font-size:13px; font-weight:500; line-height:1.6; }
.ap-checklist p { color:var(--ap-muted); font-size:12px; line-height:1.8; margin:5px 0 0; }
.ap-guide__action { display:flex; justify-content:center; align-items:center; gap:9px; min-height:48px; padding:12px; border:1px solid rgba(98,203,165,.4); border-radius:999px; color:var(--ap-text); background:rgba(98,203,165,.05); font-size:13px; font-weight:500; line-height:1.5; transition:background-color .2s ease,border-color .2s ease; }
.ap-guide__action i { color:var(--ap-accent); font-size:18px; }
.ap-guide__hint { color:var(--ap-muted); font-size:11px; line-height:1.8; text-align:center; margin:12px 0 0; }
.ap-info { padding:24px; background:var(--ap-panel); border:1px solid var(--ap-line); border-radius:18px; }
.ap-info > i { display:block; font-size:23px; color:var(--ap-accent); margin-bottom:12px; }
.ap-info h3 { color:var(--ap-text); font-size:14px; line-height:1.6; font-weight:500; }
.ap-info p { color:var(--ap-muted); font-size:12px; line-height:1.8; margin:8px 0 0; }
.ap-faq { padding:8px 4px; }
.ap-faq h2 { font-size:16px; margin-bottom:8px; }
.ap-faq details { border-bottom:1px solid var(--ap-line); }
.ap-faq summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 0; color:#d8dfea; font-size:12px; line-height:1.7; font-weight:500; cursor:pointer; list-style:none; }
.ap-faq summary::-webkit-details-marker { display:none; }
.ap-faq summary i { font-size:18px; flex:0 0 auto; color:var(--ap-muted); transition:transform .2s ease; }
.ap-faq details[open] summary i { transform:rotate(45deg); }
.ap-faq p { font-size:12px; line-height:1.8; color:var(--ap-muted); margin:0 0 18px; }
.ap-empty { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; padding:44px 24px; }
.ap-empty > span { display:grid; place-items:center; width:60px; height:60px; background:rgba(98,203,165,.06); color:var(--ap-accent); border-radius:18px; font-size:29px; margin-bottom:4px; }
.ap-empty h3 { color:var(--ap-text); font-size:18px; font-weight:500; }
.ap-empty p { max-width:380px; color:var(--ap-muted); font-size:13px; line-height:1.8; margin:0; }
.ap-empty a { display:flex; align-items:center; gap:8px; color:var(--ap-accent); font-size:13px; margin-top:6px; }
.ap-page a:focus-visible, .ap-page summary:focus-visible { outline:2px solid var(--ap-accent); outline-offset:3px; }
@media (hover:hover) {
    .ap-filter:hover, .ap-server-filter:hover { border-color:rgba(98,203,165,.4); background-color:#25312f; color:var(--ap-text); }
    .ap-application:hover { background-color:rgba(255,255,255,.025); }
    .ap-guide__action:hover { border-color:var(--ap-accent); color:var(--ap-text); background-color:rgba(98,203,165,.12); }
    .ap-pagination a:hover { border-color:rgba(98,203,165,.4); color:var(--ap-text); }
}
@media (max-width:1199.98px) {
    .ap-layout { grid-template-columns:minmax(0,1fr) 290px; gap:18px; }
    .ap-filter { padding:18px; gap:12px; }
    .ap-filter__arrow { display:none; }
    .ap-guide { padding:22px 18px; }
    .ap-application__end { flex-basis:118px; }
    .ap-application { gap:12px; }
    .ap-application__avatar { flex-basis:40px; width:40px; height:40px; }
    .ap-register__head { padding:24px; }
    .ap-server-bar { padding:0 24px 22px; }
}
/* The site's fixed social rail must not cover the full-width register on laptops. */
@media (max-width:1450px) { body:has(.ap-page) .center_sub { display:none; } }
@media (max-width:991.98px) {
    .ap-layout { grid-template-columns:minmax(0,1fr); }
    .ap-status-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .ap-filter__arrow { display:block; }
    .ap-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
    .ap-guide { grid-row:span 2; }
}
@media (max-width:575.98px) {
    .ap-page { gap:18px; }
    .ap-filter { padding:16px 12px; gap:10px; border-radius:14px; }
    .ap-filter__icon { flex-basis:32px; width:32px; height:32px; border-radius:10px; font-size:19px; }
    .ap-filter__body strong { font-size:22px; }
    .ap-filter__body > span { font-size:11px; }
    .ap-filter__arrow { display:none; }
    .ap-register__head { align-items:flex-start; flex-direction:column; padding:22px 18px; gap:12px; }
    .ap-register__head h2 { font-size:18px; }
    .ap-register__head p { font-size:12px; }
    .ap-server-bar { padding:0 18px 20px; }
    .ap-list-caption { display:none; }
    .ap-list { padding:0 18px; }
    .ap-application { display:grid; grid-template-columns:36px minmax(0,1fr); padding:20px 0; gap:12px; align-items:start; border-top:1px solid var(--ap-line); border-bottom:0; }
    .ap-application__avatar { width:36px; height:36px; border-radius:10px; }
    .ap-application__identity { gap:3px 10px; font-size:10px; }
    .ap-application h3 { font-size:15px; }
    .ap-application__meta { flex-direction:column; gap:4px; }
    .ap-application__end { grid-column:1 / -1; flex-direction:row; justify-content:space-between; align-items:center; gap:10px; }
    .ap-application__open { font-size:10px; }
    .ap-sidebar { display:flex; }
    .ap-guide, .ap-info { padding:22px; }
    .ap-pagination { padding:18px 12px; }
}
@media (prefers-reduced-motion:reduce) { .ap-page a, .ap-page summary i { transition:none !important; } }
