* { box-sizing: border-box; }
body { margin: 0; background: #f2f5f4; color: #182925; font: 16px/1.5 Inter, system-ui, sans-serif; }
main { max-width: 76rem; margin: auto; padding: 1.25rem; }
header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
h1, h2 { line-height: 1.15; } h2 { margin-top: 0; }
section { background: white; border: 1px solid #d3e0dc; border-radius: .75rem; padding: 1.25rem; margin-bottom: 1rem; min-width: 0; }
.grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,26rem),1fr)); gap: 1rem; }
.login { max-width: 30rem; margin: 2rem auto; }
.login label { margin-bottom: 1rem; }
label { display: grid; gap: .25rem; font-weight: 600; min-width: 0; }
input, select, button { font: inherit; padding: .4rem .65rem; border: 1px solid #809590; border-radius: .35rem; max-width: 100%; }
button { background: #115246; color: white; cursor: pointer; }
button:hover { background: #0c3b33; }
.row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin: .75rem 0; }
.table { overflow-x: auto; margin: .75rem 0; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; border-bottom: 1px solid #d3e0dc; padding: .45rem .65rem; overflow-wrap: anywhere; }
th { background: #e4eeeb; } tr:nth-child(even) { background: #f6f9f8; }
.amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.error { color: #982b20; } details { margin-top: .75rem; } summary { cursor: pointer; }

.operation-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap: .75rem; }
.operation-fields div { border-bottom: 1px solid #d3e0dc; padding-bottom: .4rem; overflow-wrap: anywhere; }
.operation-fields dt { font-weight: 600; }
.operation-fields dd { margin: 0; }
textarea { font: inherit; padding: .5rem; max-width: 100%; }

.operation-card { max-width: 65rem; margin-inline: auto; padding: clamp(1rem, 4vw, 2rem); }
.operation-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; border-bottom: 2px solid #b9d7cb; margin-top: 1rem; padding-bottom: .75rem; }
.operation-heading h2 { margin: 0; }
.operation-heading strong { color: #115246; font-size: 1.45rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.operation-card h3 { margin: 1.5rem 0 .75rem; }
.operation-card .operation-fields { gap: .5rem; margin-bottom: 1rem; }
.operation-card .operation-fields div { background: #f2f7f5; border: 0; padding: .6rem .8rem; border-radius: .35rem; }
.operation-fields dt { color: #405a52; font-size: .875rem; }
.operation-card details { padding: .65rem .8rem; border: 1px solid #d3e0dc; border-radius: .35rem; }
.operation-form label { margin-bottom: .75rem; }
.app-version { text-align: right; color: #405a52; font: .8rem ui-monospace, monospace; padding: .5rem 0; }

.app-nav a { padding: .45rem .75rem; background: white; color: #115246; border-radius: .4rem; }
.account-card { background: #f2f7f5; padding: 1rem; border-radius: .6rem; }
.account-card h3 { margin: .25rem 0; }
