/* Scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:#f5f5f4}
::-webkit-scrollbar-thumb{background:#d3d1c7;border-radius:3px}
/* Input base */
input[type=text],input[type=number],select{
  width:100%;padding:6px 8px;font-size:12px;
  border:1px solid #d3d1c7;border-radius:6px;
  background:#fff;color:#1a1a18;transition:border-color .15s;
}
input:focus,select:focus{outline:none;border-color:#378ADD;box-shadow:0 0 0 3px rgba(55,138,221,.12)}
input:hover,select:hover{border-color:#888780}
/* Table inside card */
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{text-align:left;padding:8px 10px;font-weight:600;color:#5F5E5A;border-bottom:2px solid #e5e4df;font-size:11px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#fafaf8}
.tbl td{padding:7px 10px;border-bottom:1px solid #f0efe9;color:#1a1a18;vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:#fafaf8}
.tbl tfoot td{border-top:2px solid #e5e4df;font-weight:600;background:#fafaf8;padding:8px 10px}
.tbl-sm td{padding:4px 6px}
.tbl-sm input,.tbl-sm select{padding:4px 6px;font-size:11px}
/* Score bar */
.sbar{height:8px;border-radius:4px;min-width:2px;transition:width .4s ease}
/* Weight bar */
.wbar{height:6px;border-radius:3px;background:#378ADD}
/* Page transitions */
.page{display:none}.page.active{display:block}
/* Sidebar overlay */
#sidebar-overlay{display:none}
#sidebar-overlay.show{display:block}
/* Mobile menu open */
body.menu-open #sidebar{transform:translateX(0)}

/* Tailwind component styles */
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;font-size:12px;font-weight:500;border-radius:7px;cursor:pointer;transition:all .15s;border:1px solid #d3d1c7;background:#fff;color:#1a1a18}
.btn:hover{background:#f5f5f4;border-color:#888780}
.btn:active{transform:scale(.98)}
.btn-primary{background:#378ADD;border-color:#378ADD;color:#fff}
.btn-primary:hover{background:#185FA5;border-color:#185FA5}
.btn-success{background:#3B6D11;border-color:#3B6D11;color:#fff}
.btn-success:hover{background:#27500A}
.btn-danger{background:#fff;border-color:#E24B4A;color:#E24B4A}
.btn-danger:hover{background:#FCEBEB}
.btn-sm{padding:4px 10px;font-size:11px}
.badge-benefit{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;background:#EAF3DE;color:#27500A}
.badge-cost{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;background:#FCEBEB;color:#791F1F}
.rank-1{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:11px;font-weight:700;background:#B5D4F4;color:#0C447C}
.rank-2{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:11px;font-weight:700;background:#C0DD97;color:#27500A}
.rank-3{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:11px;font-weight:700;background:#FAC775;color:#633806}
.rank-n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:11px;font-weight:700;background:#F1EFE8;color:#5F5E5A}
.alert-box{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:8px;font-size:12px}
.alert-info{background:#EBF4FD;color:#0C447C;border:1px solid #B5D4F4}
.alert-warning{background:#FAEEDA;color:#633806;border:1px solid #FAC775}
.empty-state{text-align:center;padding:3rem 1rem}
/* Nav item */
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;color:#5F5E5A;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left}
.nav-item:hover{background:#f5f5f4;color:#1a1a18}
.nav-item.active{background:#EBF4FD;color:#185FA5;font-weight:600}
/* Step indicators */
.step-ind{display:flex;align-items:center;gap:6px;color:#B4B2A9;font-size:12px;flex-shrink:0}
.step-ind.active{color:#185FA5;font-weight:600}
.step-ind.done{color:#3B6D11}
.step-num-el{width:24px;height:24px;border-radius:50%;border:2px solid #d3d1c7;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.step-ind.active .step-num-el{background:#378ADD;border-color:#378ADD;color:#fff}
.step-ind.done .step-num-el{background:#3B6D11;border-color:#3B6D11;color:#fff}
.step-line-el{flex:1;height:1px;background:#e5e4df;min-width:16px}
/* Priority */
.pri-vh{color:#0F6E56;font-weight:600;font-size:12px}
.pri-h{color:#3B6D11;font-weight:500;font-size:12px}
.pri-m{color:#854F0B;font-size:12px}
.pri-l{color:#A32D2D;font-size:12px}
