/* Reservas — mesma linguagem visual do Planejamento e da Conciliação. */
body.desktop-shell #main.reserve-screen{max-width:1040px;display:grid;gap:12px;padding:12px 24px 32px}
.reserve-screen>*{min-width:0}
.reserve-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.reserve-top h2{font-size:22px;font-weight:600;letter-spacing:-.4px;display:block}.reserve-top p{margin:2px 0 0;font-size:12px;max-width:640px}
.reserve-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.reserve-stats>div{padding:10px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}.reserve-stats>div+div{border-left:1px solid var(--line)}
.reserve-stats span{font-size:13px;font-weight:500;color:var(--muted)}.reserve-stats strong{font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:-.4px}.reserve-stats small{font-size:12px;color:var(--muted)}
.reserve-list{display:grid;gap:10px}
.reserve-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:grid;gap:8px}
.reserve-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}.reserve-head h3{display:inline;font-size:15px;font-weight:600;margin-right:8px}
.reserve-balance{font-size:21px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.reserve-bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.reserve-bar i{display:block;height:100%;background:var(--brand);border-radius:99px}
.reserve-meta{display:flex;justify-content:space-between;align-items:center;gap:6px 16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.reserve-meta b{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}.reserve-meta button{min-height:28px;font-size:12px}
.reserve-chip{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.reserve-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.reserve-actions button{min-height:34px;font-size:13px;padding:5px 12px}.reserve-spacer{flex:1}
.reserve-history{border-top:1px solid var(--line);padding-top:6px;display:grid;font-size:13px}
.reserve-line{display:grid;grid-template-columns:52px 1fr auto;gap:8px;padding:4px 0;border-bottom:1px solid var(--line)}.reserve-line:last-child{border-bottom:0}.reserve-line.clickable{cursor:pointer}.reserve-line.clickable:hover{background:var(--bg)}
.reserve-line .pos{color:var(--income);font-variant-numeric:tabular-nums}.reserve-line .neg{color:var(--danger);font-variant-numeric:tabular-nums}
.reserve-empty{background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:18px;text-align:center;font-size:13px;color:var(--muted)}.reserve-foot{font-size:12px}
#reserve-dialog form,#reserve-adjust-dialog form,#reserve-confirm-dialog form{display:grid;gap:10px}
@media(max-width:900px){.reserve-stats{grid-template-columns:1fr 1fr}.reserve-stats>div:nth-child(3){border-left:0}.reserve-stats>div:nth-child(n+3){border-top:1px solid var(--line)}}
/* Uma reserva por linha */
body.desktop-shell #main.reserve-screen{max-width:1320px}
.reserve-card{padding:6px 12px;gap:0}
.reserve-row{display:grid;grid-template-columns:minmax(130px,1fr) 120px 104px 112px 74px 170px 454px;gap:10px;align-items:center;min-height:36px}
.rr-name{display:flex;align-items:baseline;gap:8px;min-width:0}.rr-name strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-name small{font-size:11px;white-space:nowrap}
.reserve-row .reserve-balance{font-size:15px;text-align:right;white-space:nowrap}
.rr-prog{display:flex;align-items:center;gap:6px}.rr-prog .reserve-bar{flex:1;height:6px}.rr-prog b{font-size:11px;font-variant-numeric:tabular-nums;min-width:30px;text-align:right}
.rr-cell{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.rr-cell b{font-weight:600}.rr-cell small{font-size:11px}
.rr-wide{grid-column:3/7}
.reserve-row .reserve-actions{display:grid;grid-template-columns:124px 76px 84px 96px 50px;gap:6px;justify-content:end}.reserve-row .reserve-actions button{width:100%;justify-content:center;text-align:center}.reserve-row .reserve-actions button{min-height:28px;height:28px;font-size:12px;padding:0 10px;white-space:nowrap}.reserve-row .reserve-actions .text-button{padding:0 4px}
.reserve-pending{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:2px 0 4px}.reserve-pending button{min-height:24px;font-size:12px}
@media(max-width:1260px){.reserve-row{grid-template-columns:1fr auto;row-gap:6px}.rr-prog,.rr-cell,.rr-wide{grid-column:1/-1}.reserve-row .reserve-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start}.reserve-row .reserve-actions button{width:auto}}
.reserve-list{gap:5px}.reserve-card{padding:4px 12px;border-radius:10px}.reserve-row{min-height:30px}
.reserve-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reserve-sort{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:0}.reserve-sort select{min-height:32px;height:32px;font-size:13px;padding:0 8px;width:auto}
@media(max-width:1260px){.reserve-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.rr-name{flex:1 1 auto}.rr-prog{flex:1 1 100%;order:5}.rr-cell,.rr-wide{flex:0 0 auto;order:6}.reserve-row .reserve-actions{flex:1 1 100%;order:7;display:flex;flex-wrap:wrap}.reserve-row .reserve-actions button{width:auto}}
