/* v20.6 styles */
:root{--blue:#0d6efd;--gray:#6c757d;--green:#198754;--red:#dc3545;--yellow:#ffda6a;--bg:#f8f9fa}
*{box-sizing:border-box}
body{font-family:system-ui,Segoe UI,Roboto,Arial;background:var(--bg);margin:24px;color:#222}
.section{background:#fff;padding:14px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.08);margin-bottom:16px}
.file-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
input,button,select{font:inherit;padding:6px 8px;border-radius:6px;border:1px solid #ccc}
button{cursor:pointer;background:var(--blue);color:#fff;border:none}
button:disabled,.btn:disabled{opacity:0.5;cursor:not-allowed;background:#ccc!important;color:#666!important}
.btn{padding:8px 12px;border-radius:6px}
.btn.small{padding:6px 10px;font-size:.9rem}
.btn.green{background:var(--green);color:#fff}
.btn.yellow{background:var(--yellow);color:#000;border:1px solid #c9a100}
.btn.secondary{background:#e9ecef;color:#000;border:1px solid #ced4da}
.btn.danger{background:var(--red);color:#fff}
#controls{max-width:1000px;margin:0 auto}  /* widened layout cap */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.adjust-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Search bar full width with inline filter */
.search-bar{position:relative;display:flex;align-items:center;width:100%;margin:16px 0}
.search-bar input[type="search"]{flex:1;padding-right:120px}
.search-bar select{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #ccc;border-radius:6px;padding:4px 6px}

/* Table */
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:6px;overflow:hidden}
th,td{padding:8px;border:1px solid #eee;text-align:left}
thead th{position:-webkit-sticky;position:sticky;top:0;background:#f4f4f4;z-index:5;cursor:pointer;user-select:none;transition:box-shadow .3s ease}
thead th.shadow-active{box-shadow:0 3px 6px rgba(0,0,0,0.15)}
tbody tr:nth-child(even){background:#fcfcfc}

/* Row highlights simplified to left border */
tr.nochange{}
tr.decreased{border-left:4px solid var(--red);}
tr.increased{border-left:4px solid var(--green);}
tr.capped{box-shadow:inset 4px 0 0 var(--red)} /* still red stripe for capped */

/* Cells */
.price-cell{display:flex;align-items:center;gap:4px}
.vendor-input{width:10ch}
.btn-undo-inline{min-width:24px;min-height:24px;padding:2px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:1rem;line-height:1;color:#444}
.btn-undo-inline:hover,.btn-undo-inline:focus{background:#f0f0f0;color:var(--red);outline:none}
.row-adjust{display:flex;align-items:center;gap:8px}
.input-group{position:relative;display:inline-flex;align-items:center;width:150px}
.adjust-input,.global-input{width:100%;padding-right:38px}
.toggle-type{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:var(--gray);color:#fff;padding:2px 8px;border-radius:4px;cursor:pointer;font-size:0.9rem;z-index:1}
.toggle-type.active{background:var(--blue)}

/* Shrink-wrap columns, allow wrapping only for ServiceName */
#priceTable th, #priceTable td { white-space: nowrap; }
#priceTable th:nth-child(3), #priceTable td:nth-child(3) {
  white-space: normal; word-break: break-word; max-width: 300px;
}

/* Change badges */
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:2px 8px;border-radius:999px;font-size:0.85rem;font-weight:600;line-height:1.2;text-align:center}
.badge-pos{ background: rgba(25,135,84,0.12); color:#198754; border:1px solid rgba(25,135,84,0.3) }
.badge-neg{ background: rgba(220,53,69,0.12); color:#dc3545; border:1px solid rgba(220,53,69,0.3) }
.badge-none{ background: #f1f3f5; color:#6c757d; border:1px solid #e9ecef }
.change-cell{text-align:left}

/* Toast */
#toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:1000}
.toast{background:#333;color:#fff;padding:10px 16px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,0.2);font-size:0.9rem;opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s}
.toast.show{opacity:1;transform:translateY(0)}
.toast button{margin-left:10px;padding:4px 8px;border:none;border-radius:4px;background:var(--red);color:#fff;cursor:pointer}

/* Split export buttons with distinctive caret */
.split-wrap{position:relative;display:inline-block}
.split-btn{display:inline-flex;border-radius:6px;overflow:hidden}
.split-btn-main{padding:8px 12px;border:none;color:#fff;cursor:pointer}
.split-btn-caret{padding:8px;border:none;border-left:1px solid rgba(255,255,255,0.3);cursor:pointer}
.split-btn.green .split-btn-main{background:var(--green)}
.split-btn.green .split-btn-caret{background:#146c43}
.split-btn.yellow .split-btn-main{background:var(--yellow);color:#000}
.split-btn.yellow .split-btn-caret{background:#d6b500;color:#000}
.dropdown-menu{display:none;position:absolute;right:0;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,0.15);z-index:2000;min-width:200px}
.dropdown-menu button{display:block;width:100%;padding:8px 12px;background:none;border:none;text-align:left;color:#000;cursor:pointer}
.dropdown-menu button:hover{background:#f0f0f0}
.split-wrap.open .dropdown-menu{display:block}
