.modal-content{border-radius:20px;background:var(--bg-card);color:var(--bg-ink);border:1px solid var(--bg-border)}
.modal-header,.modal-footer{border-color:var(--bg-border)}
.modal.fade .modal-dialog{transform:translateY(24px) scale(.98);transition:transform .25s ease,opacity .2s}
.modal.show .modal-dialog{transform:none}
.tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}
.tool-grid.wide{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.res-box{background:var(--bg-soft);border-radius:16px;padding:1.2rem}
.res-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--bg-border);font-size:.95rem}
.res-row:last-child{border-bottom:0}
.res-row span:first-child{color:var(--bg-muted)}
.res-row.big{font-size:1.35rem;font-weight:800;color:var(--bg-primary);padding-bottom:.8rem}
.res-row.big span:first-child{color:var(--bg-ink);font-size:.95rem;font-weight:600}
.err{color:#DC2626;font-size:.85rem;font-weight:600}
.is-invalid{border-color:#DC2626!important}
.note{font-size:.78rem;color:var(--bg-muted)}
.soon-state{text-align:center;padding:3rem 1rem}
.soon-state .ico{margin:0 auto 1rem;width:68px;height:68px;font-size:1.9rem}
.dropzone{border:2px dashed var(--bg-border);border-radius:16px;padding:2rem;text-align:center;color:var(--bg-muted)}
.dropzone.over{border-color:var(--bg-primary);background:var(--bg-soft)}
.sched{max-height:260px;overflow:auto;font-size:.85rem}
.sched table{margin:0}.sched th{position:sticky;top:0;background:var(--bg-card)}
.chart-box{position:relative;height:230px}
.items-table input{min-width:0}
.inv-preview{background:#fff;color:#111827;border:1px solid var(--bg-border);border-radius:12px;padding:1.5rem;font-size:.82rem}
.inv-preview table{width:100%;border-collapse:collapse}
.inv-preview th{background:#F1F5F9;text-align:left;padding:.4rem;font-size:.75rem}
.inv-preview td{padding:.4rem;border-bottom:1px solid #E5E7EB}
.inv-preview .r{text-align:right}
.related a{display:inline-flex;gap:.4rem;align-items:center}
