*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#111;color:#eee;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body{min-height:100vh}
button,input,textarea,select{font:inherit}
button{color:#eee;background:#292929;border:1px solid #444;border-radius:6px;padding:8px 12px;cursor:pointer}
button:hover:not(:disabled){background:#383838}
button:disabled{opacity:.45;cursor:not-allowed}
.page{padding:12px;min-height:100vh}
.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:15px;min-height:calc(100vh - 24px)}
.card{background:#141414;border:1px solid #2f2f2f;border-radius:14px;padding:14px;min-width:0}
.calculator-card{display:flex;flex-direction:column;min-height:0}
.history-card{background:#121212;display:flex;flex-direction:column;min-height:0}
.title-block h1{font-size:18px;margin:0;font-weight:800}.title-block p{margin:4px 0 0;color:#9a9a9a}
h2{font-size:14px;margin:0;font-weight:700}.group h2{border:1px solid #3a3a3a;border-bottom:0;border-radius:6px 6px 0 0;padding:9px 10px 7px;margin:0}.group h2 span{font-weight:400;color:#aaa}
.scroll-area{overflow:auto;min-height:250px;margin-top:12px;display:flex;flex-direction:column;gap:15px}
.group{border:1px solid #3a3a3a;border-radius:6px;overflow:hidden}.group>*:not(h2){margin-left:10px;margin-right:10px}.group{padding-bottom:10px}
.form-grid{display:grid;gap:10px;padding-top:10px}.form-grid.two{grid-template-columns:1fr 1fr}
label{display:flex;flex-direction:column;gap:5px;color:#ddd;font-size:13px}
input,textarea,select{background:#161616;color:#eee;border:1px solid #3a3a3a;border-radius:6px;padding:7px 8px;outline:none}input:focus,textarea:focus,select:focus{border-color:#666}
.element-head,.element-row{display:grid;grid-template-columns:3fr 2fr 1fr 2fr 90px 30px;gap:8px;align-items:center}.element-head{color:#888;font-size:11px;padding:8px 0 4px}.element-row{padding:4px 0}.element-row input,.element-row select{width:100%;min-width:0}.element-row .qty-wrap{position:relative}.element-row .qty{padding-right:34px}.qty-suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#888;font-size:11px;pointer-events:none}.weekly{text-align:right;font-weight:bold;white-space:nowrap}.remove{width:28px;height:28px;padding:0;background:#3a1c1c;border-color:#5a2c2c;color:#ffb3b3}.remove:hover{background:#5a2c2c}
.add{margin-top:6px;border-style:dashed;color:#5aaaff}.secondary{background:#2b2b2b}
.check-row{display:flex;flex-direction:row;align-items:center;margin-top:10px;color:#aaa}.check-row input{width:auto}.finance-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:10px}.hidden{display:none!important}
.results{margin-top:12px;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:8px;padding:10px}.result-main{display:flex;align-items:center;gap:10px}.result-main strong{font-size:16px;color:#7fdc7f}.hours{font-size:14px;font-weight:bold;color:#a1c9f2;margin-top:6px}.finance-result{margin-top:6px}.capital-ok{color:#7fdc7f;font-weight:bold}.capital-mid{color:#ffcc00;font-weight:bold}.capital-high{color:#ffb3b3;font-weight:bold}.contribution{color:#ffb3b3}.net{font-weight:bold;color:#ddd}.copy{margin-top:8px;color:#5aaaff;font-weight:bold}.auto-trail{margin-top:8px;color:#5aaaff;font-family:monospace;font-size:12px;white-space:pre-wrap}.manual-note{width:100%;margin-top:8px;resize:vertical;max-height:80px}.audit-toggle{margin-top:6px;background:transparent;border:0;color:#8a8a8a;text-align:left;padding-left:0;font-weight:bold}.audit-log{width:100%;margin-top:5px;min-height:120px;max-height:150px;resize:none;color:#bbb;font-family:monospace;font-size:11px}
.button-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:10px}.primary{background:#2d4f7a;font-weight:bold}.history-card h2{font-size:14px;margin-bottom:10px}.history-card>input{margin-bottom:10px}.history-list{flex:1;overflow:auto;background:#0f0f0f;border:1px solid #2a2a2a;border-radius:10px;min-height:250px}.history-item{padding:9px;border-bottom:1px solid #1e1e1e;cursor:pointer;white-space:pre-line;font-size:13px}.history-item:hover{background:#171717}.history-item.selected{background:#1e1e1e}.delete-selected{margin-top:10px}.danger{margin-top:10px;background:#3a1c1c;border-color:#5a2c2c;color:#ffb3b3}.danger:hover:not(:disabled){background:#5a2c2c}
.variance-up{color:#7fdc7f;font-weight:bold}.variance-down{color:#ffb3b3;font-weight:bold}
.empty-history{color:#777;text-align:center;padding:20px;font-size:13px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.history-card{min-height:400px}.scroll-area{max-height:none}.element-head{display:none}.element-row{grid-template-columns:2fr 1.4fr 1fr 1.4fr 80px 30px}.form-grid.two,.finance-fields{grid-template-columns:1fr}}
@media(max-width:600px){.page{padding:8px}.layout{gap:8px}.element-row{grid-template-columns:1fr 1fr}.weekly{text-align:left}.remove{grid-column:auto}.button-row{grid-template-columns:1fr 1fr}.button-row span{display:none}.button-row button{width:100%}}
