.ksef-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.ksef-form label,.invoice-line label{display:grid;gap:6px;color:#52665e;font-size:.76rem;font-weight:750}
.ksef-form input,.ksef-form select,.invoice-line select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#fff;color:inherit}
.ksef-form__token{grid-column:1/-1}.ksef-form__token small{font-weight:500;color:var(--muted)}.ksef-form .btn{justify-self:start}
.connection-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;border:1px solid #9dd3bd;border-radius:14px;padding:13px 15px;background:#eaf8f1}
.connection-bar.is-error{border-color:#e7aaa6;background:#fff0ef}.connection-bar>div:first-child{display:grid;gap:3px}.connection-bar span,.connection-bar small{color:#557068;font-size:.76rem}.connection-bar>div:last-child{display:flex;gap:8px}
.table-link{border:0;padding:0;background:transparent;color:#0571c9;font:inherit;font-weight:780;text-align:left;cursor:pointer}.table-link:hover{text-decoration:underline}
.cost-method{display:grid;gap:10px;margin:0;padding:0;list-style:none}.cost-method li{display:grid;grid-template-columns:22px 1fr;column-gap:8px;counter-increment:method}.cost-method li:before{content:counter(method);display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:900}.cost-method li span{grid-column:2;color:var(--muted);font-size:.78rem}
.cost-pools{display:grid;gap:12px}.cost-pools>div span{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:.78rem}.cost-pools>div i{display:block;height:7px;border-radius:99px;background:linear-gradient(90deg,var(--green),#56bd98)}
.price-change{display:inline-flex;min-width:54px;justify-content:flex-end;font-weight:800;color:var(--muted)}
.price-change.is-up{color:#b34724}.price-change.is-down{color:var(--green)}
.cost-trend{display:grid;gap:9px}.cost-trend>div{display:grid;grid-template-columns:72px minmax(80px,1fr) 100px;gap:10px;align-items:center;font-size:.75rem}.cost-trend i{display:block;height:8px;overflow:hidden;border-radius:99px;background:#edf2ef}.cost-trend i b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--green),#56bd98)}.cost-trend strong{text-align:right}
.formula{border:1px dashed #9fc7b7;border-radius:12px;padding:18px;background:#f1f8f4;color:#145d48;font-family:ui-monospace,monospace;font-weight:750}
.modal--wide{width:min(1180px,calc(100vw - 32px));max-width:none}.invoice-head{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.invoice-head>div{display:grid;gap:4px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8faf9}.invoice-head span,.invoice-head small{color:var(--muted);font-size:.72rem}
.invoice-lines{display:grid;gap:8px}.invoice-line{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.9fr) minmax(160px,1fr) minmax(140px,.8fr) auto auto;align-items:end;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px}.invoice-line.is-approved{border-left:4px solid var(--green)}.invoice-line__source{display:grid;gap:3px}.invoice-line__source span{color:var(--muted);font-size:.75rem}.invoice-line__source strong{font-size:.85rem}.remember-rule{display:flex!important;align-items:center;gap:6px!important;padding-bottom:12px;white-space:nowrap}.remember-rule input{accent-color:var(--green)}
@media(max-width:980px){.ksef-form{grid-template-columns:1fr 1fr}.invoice-head{grid-template-columns:1fr 1fr}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line__source{grid-column:1/-1}.remember-rule{padding-bottom:0}.connection-bar{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.ksef-form,.invoice-head,.invoice-line{grid-template-columns:1fr}.connection-bar>div:last-child{width:100%}.connection-bar .btn{flex:1}.modal--wide{width:100vw;height:100vh;max-height:none;margin:0;border-radius:0}.invoice-line__source{grid-column:auto}.cost-trend>div{grid-template-columns:58px minmax(60px,1fr) 88px}}
