
:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#183653;background:#f4f8fd;font-size:15px}*{box-sizing:border-box}body{margin:0}.wrap{max-width:1140px;margin:auto;padding:18px}.hero{background:linear-gradient(120deg,#10395d,#176ca8);color:white;padding:26px;border-radius:18px}.hero small{letter-spacing:1px;color:#c7e8fa;font-weight:700}.hero h1{margin:8px 0;font-size:clamp(23px,3vw,34px)}.hero p{margin:0;line-height:1.5;color:#e6f4ff}.panel{background:white;border:1px solid #d7e5f1;box-shadow:0 3px 12px #123b6210;border-radius:16px;padding:19px;margin-top:16px}h2{font-size:19px;margin:0 0 14px}.inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}label{font-size:13px;font-weight:700;color:#335a79;display:block;margin-bottom:6px}input,select{width:100%;padding:11px 10px;border:1px solid #b9ccdf;border-radius:9px;background:white;color:#102f48;font:inherit}input:focus,select:focus{outline:2px solid #8dcced;outline-offset:1px}button{border:0;background:#156aa9;color:white;border-radius:9px;padding:11px 15px;font-weight:700;cursor:pointer}button:hover{filter:brightness(.94)}button.secondary{background:#eaf4fb;color:#164e78;border:1px solid #b8d5eb}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat{background:#edf6fc;border-radius:10px;padding:13px}.stat span{display:block;font-size:12px;color:#57748b}.stat strong{font-size:21px;color:#145b94}.muted{font-size:13px;color:#58758a;line-height:1.5}.notice{padding:11px 13px;border-radius:10px;font-size:13px;background:#ecf7ff;color:#12517c;margin-top:12px}.warn{background:#fff4e4;color:#855000}.ok{background:#e9f8f1;color:#14664a}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{border-bottom:1px solid #e2ebf4;padding:9px 6px;text-align:left}th{font-size:12px;background:#eaf4fb;color:#275674}td input{padding:8px;font-size:13px;min-width:74px}td input.place{min-width:130px}td.center{text-align:center}td input[type=checkbox]{width:20px;height:20px;accent-color:#146aa6}tr.rest{background:#f3f8fc}tr.rest td{color:#6e8393}.remove{background:transparent;color:#a33232;border:1px solid #efc5c5;padding:6px 9px}.foot{font-size:12px;color:#607e93;margin-top:15px}.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.chip{display:inline-block;border-radius:100px;padding:3px 9px;background:#d8eaf7;font-size:12px;font-weight:700}.chart{display:flex;align-items:flex-end;gap:4px;min-height:125px;overflow-x:auto;padding:8px 0 0}.bar{flex:1;min-width:16px;max-width:44px;background:#2288c7;border-radius:5px 5px 0 0;position:relative}.bar.restbar{background:#c6dce9}.bar:hover:after{content:attr(data-title);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#183653;color:white;padding:5px 7px;border-radius:6px;font-size:11px;z-index:2}@media(max-width:760px){.inputs,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{padding:10px}.hero{padding:20px}.panel{padding:13px}}@media(max-width:370px){.inputs,.stats{grid-template-columns:1fr}}@media print{body{background:white}.wrap{max-width:none;padding:0}.panel,.hero{box-shadow:none;break-inside:avoid}.actions,.remove{display:none!important}input{border:0;padding:3px}table{min-width:0}th,td{padding:4px}.chart{display:none}}

:root{accent-color:#1976b9}input[type=range]{padding:0;border:0;accent-color:#1379bd;height:25px;cursor:pointer;background:transparent} .range-field{background:#f0f7fd;border:1px solid #d8eaf8;border-radius:12px;padding:12px;min-width:0}.range-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.range-head output{background:#fff;color:#075c99;border-radius:8px;min-width:48px;text-align:center;padding:6px 9px;font-weight:800}.range-field label{margin:0}.range-field input{margin-top:9px}.range-labels{display:flex;justify-content:space-between;color:#668198;font-size:11px}.hero{background:linear-gradient(125deg,#0b3154,#12689e 70%,#1683b9)}.hero small{font-size:11px}.hero h1{letter-spacing:-.6px}.stat{border:1px solid #d6eaf8;background:linear-gradient(180deg,#f0f8ff,#e8f4fd)}.panel h2{color:#113d60}.stat strong{font-variant-numeric:tabular-nums}.action-primary{background:#126ca9}.range-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0}.tip{font-size:12px;color:#55738b;line-height:1.5}.bar{transition:height .2s}tr.rest{background:#f1f7fb}.mobile-note{display:none}.mini{font-size:12px;color:#527088}.pill{display:inline-block;background:#dbedfc;border-radius:999px;color:#155f8e;font-size:11px;font-weight:800;padding:5px 9px}.progress{height:8px;background:#d7e9f5;border-radius:99px;overflow:hidden;margin-top:9px}.progress>div{height:100%;background:#1379ba;transition:width .2s}.warn{border-left:4px solid #df9b30}.ok{border-left:4px solid #24866a} .inline-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.calc-explain{background:#f3f8fc;padding:13px;border-radius:10px;line-height:1.55}.night{font-size:12px;color:#51718d}td input[type=checkbox]{accent-color:#1678b5}@media(max-width:760px){.range-pair{grid-template-columns:1fr}.mobile-note{display:block}.table-scroll table{min-width:940px}.hero{border-radius:14px}.stats{gap:7px}.stat{padding:10px}.stat strong{font-size:18px}} 

:root{background:white}.wrap{padding:5px}body{font-family:"Open Sans",Arial,sans-serif}h1,h2{font-family:Raleway,Arial,sans-serif}.panel{box-shadow:none}button:disabled{opacity:.5;cursor:not-allowed}textarea{width:100%;min-height:150px}button:focus-visible{outline:3px solid #8dcced;outline-offset:2px}.table-scroll{max-width:100%}.table-scroll:focus-visible{outline:2px solid #176ca8}

@media print{.table-scroll{overflow:visible}table{table-layout:fixed;width:100%;min-width:0!important}td input,td input.place{min-width:0;width:100%;font-size:9px}th,td{font-size:9px;overflow-wrap:anywhere}.panel{break-inside:auto}.inline-actions button,.mobile-note,#copyFallback{display:none!important}}

/* Keep graph details readable outside the horizontal scrolling area. */
.chart-detail{min-height:44px;margin:0;padding:10px 12px;background:#edf6fc;border-radius:8px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.chart{align-items:stretch;min-height:0;padding:8px 3px 12px;gap:5px}
.chart-day{flex:1 0 28px;max-width:44px;min-width:28px;padding:3px 1px;background:transparent;color:#183653;border-radius:4px;font:inherit}
.chart-day:hover{background:#edf6fc;filter:none}.chart-day:focus-visible{outline-offset:-2px}
.chart-track{height:116px;display:flex;align-items:flex-end;justify-content:center}
.chart .bar{display:block;flex:none;width:100%;min-width:0;max-width:none}
.chart .bar:hover:after{content:none}
.chart-day-label{display:block;margin-top:5px;font-size:11px;text-align:center}
.table-scroll{scrollbar-width:auto}.mobile-note{display:block}
td input[type=checkbox]{min-width:20px;padding:0}
@media screen and (max-width:1100px){
 .table-scroll{overflow:visible}.table-scroll table{display:block;min-width:0;width:100%}
 .table-scroll thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .table-scroll tbody{display:grid;gap:14px}
 .table-scroll tr{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;border:1px solid #d7e5f1;border-radius:10px;padding:12px}
 .table-scroll td{display:block;border:0;padding:0;min-width:0;text-align:left}
 .table-scroll td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:#335a79;margin-bottom:5px}
 .table-scroll td input,.table-scroll td input.place{min-width:0;width:100%;max-width:100%}
 .table-scroll td input[type=checkbox]{width:24px;height:24px;margin:7px 0}
 .table-scroll td:nth-child(3),.table-scroll td:nth-child(4),.table-scroll td:nth-child(9){grid-column:span 2}
}
@media screen and (max-width:760px){
 .table-scroll tr{grid-template-columns:repeat(4,minmax(0,1fr))}
 .table-scroll td:nth-child(1),.table-scroll td:nth-child(2){grid-column:span 2}
 .table-scroll td:nth-child(9){grid-column:1/-1}
}
@media screen and (max-width:520px){
 .table-scroll tr{grid-template-columns:repeat(2,minmax(0,1fr))}
 .table-scroll td:nth-child(n){grid-column:auto;order:initial}
 .table-scroll td:nth-child(3),.table-scroll td:nth-child(4),.table-scroll td:nth-child(9){grid-column:1/-1}
 .actions button{flex:1 1 100%}.inputs{grid-template-columns:1fr}
}
@media print{.chart-detail{display:none}}

/* Separate elevation totals, keeping each value and unit together. */
.stat-vertical{display:grid;align-content:center;gap:8px}
.vertical-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.stat .vertical-row span{display:inline;white-space:nowrap}
.stat .vertical-row strong{font-size:16px;white-space:nowrap}
@media(max-width:520px){.stat-vertical{grid-column:1/-1}}
