.sol-archive { --sa-ink:#183344; --sa-muted:#596f7c; --sa-blue:#086b9e; --sa-line:#dce6eb; max-width:1060px; margin:32px auto; color:var(--sa-ink); font-family:inherit; line-height:1.55; }
.sol-archive *, .sol-archive *::before, .sol-archive *::after { box-sizing:border-box; }
.sol-archive .sol-archive__header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:32px; border:1px solid #d2e4ef; border-radius:20px; background:linear-gradient(120deg,#edf7fc,#f8fbfd); }
.sol-archive__eyebrow { display:block; color:#36657f; font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.12em; }
.sol-archive h2 { margin:8px 0 10px; color:var(--sa-ink); font-size:clamp(28px,4vw,38px); font-weight:750; line-height:1.15; letter-spacing:-.035em; }
.sol-archive__header p { margin:0; max-width:540px; color:var(--sa-muted); font-size:15px; }
.sol-archive__privacy { flex-shrink:0; padding:9px 14px; border:1px solid #d2e4ef; border-radius:30px; color:#36657f; background:#fff; font-size:12px; font-weight:650; }
.sol-archive__toolbar { display:flex; justify-content:space-between; gap:16px; margin:30px 2px 14px; font-size:15px; }
.sol-archive__toolbar span { color:var(--sa-muted); font-size:13px; }
.sol-archive__list { display:grid; gap:18px; }
.sol-archive__card { overflow:hidden; border:1px solid var(--sa-line); border-radius:16px; background:#fff; box-shadow:0 4px 16px #18334406; }
.sol-archive__card-top { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px 26px 18px; }
.sol-archive__label { display:block; margin:0 0 5px; color:var(--sa-muted); font-size:12px; font-weight:550; }
.sol-archive h3 { margin:0; color:var(--sa-ink); font-size:20px; font-weight:750; line-height:1.3; overflow-wrap:anywhere; }
.sol-archive__badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.sol-archive__badge { display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:30px; font-size:12px; font-weight:750; white-space:nowrap; }
.sol-archive__badge::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.sol-archive__badge--done { color:#176441; background:#e9f6ef; }
.sol-archive__badge--pending { color:#855513; background:#fff3da; }
.sol-archive__badge--test { color:#5d577c; background:#efedf8; }
.sol-archive__overview { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:20px; padding:0 26px 22px; }
.sol-archive__overview strong { display:block; font-size:14px; font-weight:650; overflow-wrap:anywhere; }
.sol-archive__amount { text-align:right; }
.sol-archive__amount strong { color:var(--sa-ink); font-size:23px; font-variant-numeric:tabular-nums; letter-spacing:-.03em; line-height:1.3; }
.sol-archive__details { border-top:1px solid var(--sa-line); }
.sol-archive__details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 26px; color:var(--sa-blue); font-size:13px; font-weight:700; cursor:pointer; list-style:none; }
.sol-archive__details summary::-webkit-details-marker { display:none; }
.sol-archive__details summary > span { font-size:22px; line-height:1; transition:transform .15s ease; }
.sol-archive__details[open] summary > span { transform:rotate(45deg); }
.sol-archive__details summary:hover { background:#f5fafd; }
.sol-archive__detail-body { padding:4px 26px 24px; }
.sol-archive h4 { margin:8px 0 12px; font-size:14px; color:var(--sa-ink); }
.sol-archive__table-wrap { overflow-x:auto; margin-bottom:20px; }
.sol-archive__table { width:100%; border-collapse:collapse; font-size:14px; }
.sol-archive__table th, .sol-archive__table td { padding:11px 10px; border-bottom:1px solid #edf1f4; text-align:left; }
.sol-archive__table th { color:var(--sa-muted); font-size:12px; font-weight:650; }
.sol-archive__table th:nth-child(n+2), .sol-archive__table td:nth-child(n+2) { text-align:right; white-space:nowrap; }
.sol-archive__totals { max-width:440px; margin:0 0 0 auto; }
.sol-archive__totals > div { display:flex; justify-content:space-between; gap:24px; padding:7px 0; font-size:14px; }
.sol-archive__totals dt { color:var(--sa-muted); }
.sol-archive__totals dd { margin:0; font-variant-numeric:tabular-nums; }
.sol-archive__totals .sol-archive__grand-total { margin-top:5px; padding-top:12px; border-top:1px solid var(--sa-line); color:var(--sa-ink); font-weight:750; }
.sol-archive__totals .sol-archive__grand-total dt { color:var(--sa-ink); }
.sol-archive__delivery, .sol-archive__notes { margin-top:14px; }
.sol-archive__detail-body p { margin:0; font-size:14px; overflow-wrap:anywhere; }
.sol-archive__documents { padding:17px 26px 20px; border-top:1px solid var(--sa-line); background:#f8fafc; }
.sol-archive__actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:10px; }
.sol-archive a.sol-archive__button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:9px 14px; border:1px solid var(--sa-blue); border-radius:8px; background:var(--sa-blue); color:#fff; font-size:13px; font-weight:700; line-height:1.4; text-decoration:none; box-shadow:none; }
.sol-archive a.sol-archive__button--outline { background:#fff; color:var(--sa-blue); border-color:#bed5e2; }
.sol-archive a.sol-archive__button:hover { background:#07557c; color:#fff; border-color:#07557c; }
.sol-archive a:focus-visible, .sol-archive summary:focus-visible { outline:3px solid #de8a19; outline-offset:3px; }
.sol-archive .sol-archive__waiting { margin:0; color:var(--sa-muted); font-size:13px; }
.sol-archive__pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; margin:28px 0 0; font-size:13px; }
.sol-archive__pagination a { padding:10px 14px; border:1px solid var(--sa-line); border-radius:8px; color:var(--sa-blue); background:#fff; text-decoration:none; }
.sol-archive__pagination span { color:var(--sa-muted); }
.sol-archive__empty, .sol-archive--empty { padding:42px 26px; border:1px dashed #bed2df; border-radius:16px; background:#f8fbfd; text-align:center; }
.sol-archive__empty p, .sol-archive--empty p { max-width:460px; margin:12px auto 0; color:var(--sa-muted); }
.sol-archive--empty .sol-archive__button { margin-top:22px; }
.sol-archive__empty-icon { display:inline-grid; place-items:center; width:48px; height:48px; margin-bottom:16px; border-radius:14px; background:#e8f3fa; color:var(--sa-blue); font-size:26px; }
.sol-archive__sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:640px) {
 .sol-archive { margin:20px auto; }
 .sol-archive .sol-archive__header { padding:24px 20px; align-items:flex-start; flex-direction:column; gap:18px; }
 .sol-archive__card-top { padding:20px 18px 16px; align-items:flex-start; }
 .sol-archive h3 { font-size:17px; }
 .sol-archive__badges { flex-direction:column; align-items:flex-end; }
 .sol-archive__overview { padding:0 18px 20px; grid-template-columns:1fr 1fr; gap:16px; }
 .sol-archive__overview > div:first-child { grid-column:1 / -1; }
 .sol-archive__table { min-width:540px; }
 .sol-archive__totals { max-width:none; }
 .sol-archive__amount strong { font-size:21px; }
 .sol-archive__details summary { padding:14px 18px; }
 .sol-archive__detail-body { padding:4px 18px 20px; }
 .sol-archive__documents { padding:16px 18px 18px; }
 .sol-archive__actions { flex-direction:column; align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) { .sol-archive__details summary > span { transition:none; } }

.sol-archive__account { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; }
@media(max-width:640px) { .sol-archive__account { justify-content:flex-start; } }
