:root { font: 16px/1.5 system-ui, sans-serif; color: #182e37; background: #eef3f4; }
* { box-sizing: border-box; }
body { margin: 0; }
.wrap { width: min(95%, 86rem); margin-inline: auto; }
.top { background: #132f37; color: white; padding: .8rem 0; }
.top .wrap, .toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.top span { font-weight: 500; margin-left: .35rem; }
h1 { margin: 1.2rem 0 .3rem; line-height: 1.15; }
h2 { font-size: 1.15rem; margin: 0 0 .65rem; }
.banner { background: #fff2d5; color: #644208; border-radius: .5rem; padding: .65rem 1rem; }
.muted { color: #455d66; }
.panel, .totals > div, dialog { background: white; border: 1px solid #cddde0; border-radius: .7rem; padding: 1rem; }
.panel { margin-bottom: 1rem; }
.login { margin-top: 1rem; max-width: 28rem; }
.totals { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin-bottom: 1rem; }
.totals strong { display: block; font-size: 1.75rem; }
.primary, button { display: inline-block; padding: .4rem .7rem; border: 1px solid #8aa6aa; border-radius: .35rem; font: inherit; cursor: pointer; }
.primary { background: #17635d; color: white; text-decoration: none; }
button { background: #edf6f4; color: #154d46; }
input { font: inherit; padding: .4rem; width: min(20rem, 100%); }
.table-scroll { overflow-x: auto; margin-top: .65rem; }
table { width: 100%; border-collapse: collapse; min-width: 58rem; }
th, td { text-align: left; padding: .55rem; border-bottom: 1px solid #d9e4e7; }
thead { background: #eef5f5; }
#attention { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: .55rem 1rem; }
#attention span { margin-left: .4rem; }
dialog { width: min(92vw, 34rem); }
dialog::backdrop { background: #132f37a8; }
dialog form { float: right; }
dl { display: grid; grid-template-columns: 1fr 1.5fr; gap: .4rem; }
dt { font-weight: 600; }
dd { margin: 0; }
@media (max-width: 620px) {
  .totals { grid-template-columns: repeat(2, 1fr); }
  .toolbar { align-items: flex-start; flex-direction: column; gap: .25rem; }
}
