:root { --amber: #9a5b00; }
.admin-header, .admin-main { max-width: 1180px; }
.brand { color: inherit; text-decoration: none; }
.admin-main { padding-bottom: 64px; }
.admin-main section { margin: 28px 0; }
.panel, .filter-panel, .data-card, .metric { border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.panel, .filter-panel { padding: 18px; }
.access-links { display: flex; gap: 10px; }
.access-links a { flex: 1; padding: 13px; border-radius: 9px; background: var(--orange); color: #fff; text-align: center; font-weight: 700; text-decoration: none; }
.filter-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.filter-grid label { min-width: 0; font-size: 13px; color: var(--muted); }
.filter-grid input, .filter-grid select { width: 100%; min-width: 0; min-height: 46px; margin-top: 5px; padding: 9px; border: 1px solid #b9c1b9; border-radius: 9px; background: #fff; color: var(--ink); }
.filter-panel details { margin-top: 14px; }
.filter-panel summary { color: var(--orange); cursor: pointer; font-list-style-position: inside; }
.more-filters { margin-top: 12px; }
.filter-button { width: 100%; min-height: 48px; margin-top: 16px; border-radius: 9px; font-weight: 700; }
.metric-grid, .card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.metric, .data-card { min-width: 0; padding: 15px; }
.metric span, .card-label { display: block; color: var(--muted); font-size: 12px; }
.metric strong { display: block; margin-top: 4px; font-size: 22px; overflow-wrap: anywhere; }
.data-card h3 { margin: 0 0 8px; font-size: 17px; }
.data-card p { margin: 5px 0; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.status-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #fff3df; color: var(--amber); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.status-open { background: #fff3df; color: var(--amber); }.status-counting { background:#fff3df;color:var(--amber) }.status-balanced,.status-reviewed { background:#eaf5ec;color:var(--green) }.status-discrepancy { background:#fff0ef;color:var(--red) }
.subtle-status { color: var(--muted); font-size: 12px; }
.timeline { border-left: 2px solid #f0cbaa; margin-left: 9px; }
.transaction-card { position: relative; margin: 0 0 13px 16px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; }
.transaction-card::before { position:absolute; content:""; width:10px; height:10px; left:-22px; top:19px; border-radius:50%; background:var(--orange); }
.transaction-head { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.transaction-head time { font-weight:750; }.payment-pill { font-size:11px; font-weight:800; color:var(--orange); }
.transaction-card p { margin: 5px 0 0; overflow-wrap:anywhere; }.transaction-amount { font-weight:800; }
.session-card { cursor:pointer; }.session-card.discrepancy { border-color:#e9aaa4; background:#fffafa; }
dialog { width:min(680px,calc(100% - 28px)); max-height:88vh; overflow:auto; padding:24px; border:0; border-radius:16px; box-shadow:0 16px 60px #0004; }
dialog::backdrop { background:#20252288; }.dialog-close { float:right; width:44px; height:44px; border:0; background:#f4f5f3; border-radius:50%; font-size:24px; }
.detail-list { clear:both; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 14px; margin-top:16px; }.detail-list dt { color:var(--muted); }.detail-list dd { margin:0; text-align:right; overflow-wrap:anywhere; max-width:360px; }
.attempt { margin-top:16px; padding:14px; background:#f7f8f6; border-radius:10px; }.review-form textarea { width:100%; min-height:80px; padding:10px; border:1px solid #b9c1b9; border-radius:9px; }
@media (min-width: 720px) { .metric-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.filter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.admin-main { padding-left:30px;padding-right:30px; } }
@media (min-width: 1000px) { .metric-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }.card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 360px) { .admin-main { padding-left:16px;padding-right:16px; }.metric-grid,.card-grid,.filter-grid { grid-template-columns:1fr; }.detail-list { grid-template-columns:1fr; }.detail-list dd { text-align:left; } }
