.planner-main { width: min(1550px, calc(100% - 2rem)); }
.planner-main .page-intro { max-width: none; }
.planner-main .site-panel { margin-block: 1rem; }
.prototype { background: #fff0c9; color: #694400; border: 1px solid #c99a37; }
.planner-controls { display: flex; flex-wrap: wrap; align-items: end; gap: .8rem; margin-block: 1rem; }
.planner-controls label { flex: 1 1 155px; max-width: 300px; }
.planner-controls button { flex: 0 0 auto; }
.planner-main .hint { color: var(--site-muted); font-size: .85rem; }
.planner-main textarea { width: 100%; min-height: 120px; padding: .7rem; font: inherit; border: 1px solid #aab8c1; }
.planner-main details summary { cursor: pointer; font-weight: 650; padding-block: .7rem; }
.planner-table-wrap { overflow-x: auto; margin-block: 1rem; }
.planner-main table { width: 100%; border-collapse: collapse; }
.planner-main th { text-align: left; background: #edf3f6; font-size: .8rem; padding: .65rem .4rem; }
.planner-main td { border-bottom: 1px solid #d8e0e5; padding: .3rem; vertical-align: top; }
.planner-main td input,.planner-main td select { min-width: 115px; font-size: .83rem; }
.planner-main td input[type=number] { min-width: 70px; width: 80px; }
.planner-main input[type=checkbox] { width: 20px; min-width: 20px; min-height: 20px; margin: .7rem .25rem; }
.point-table td:nth-child(3) input { min-width: 205px; }
.planner-main td:last-child input { min-width: 190px; }
.planner-totals { display: flex; flex-wrap: wrap; gap: .7rem; }
.planner-totals div { padding: .8rem 1rem; background: #edf3f6; border-radius: 4px; }
.planner-results { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1.5rem; margin-top: 1rem; }
.capacity-card { padding: .8rem; border: 1px solid #d8e0e5; margin-bottom: .7rem; }
.capacity-card p { font-size: .85rem; margin-block: .4rem; }
#planner-error { color: #9e291e; background: #fff1ee; border-left: 4px solid #b73826; padding: .8rem; }
#issues { max-height: 350px; overflow-y: auto; }
#planner-status { color: var(--site-muted); }
@media(max-width:750px) { .planner-results { grid-template-columns: 1fr; } .planner-main .site-panel { padding: 1rem; } }
