:root{--ml-blue:#0a5bd8;--ml-blue-dark:#0748ad;--ml-ink:#172033;--ml-muted:#667085;--ml-bg:#f5f7fb;--ml-border:#e2e8f0}
body{background:var(--ml-bg);color:var(--ml-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.app-container{max-width:1540px}.app-header{z-index:1020}.navbar-brand{display:flex;align-items:center;gap:.65rem;color:var(--ml-ink)}.navbar-brand small{display:block;font-size:.67rem;color:var(--ml-muted);font-weight:400}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--ml-blue),#3b82f6);color:#fff;font-weight:800;box-shadow:0 8px 20px rgba(10,91,216,.22)}.nav-link{color:#344054;font-weight:600;border-radius:.55rem;padding:.55rem .75rem!important}.nav-link:hover{background:#edf4ff;color:var(--ml-blue)}.btn-primary{--bs-btn-bg:var(--ml-blue);--bs-btn-border-color:var(--ml-blue);--bs-btn-hover-bg:var(--ml-blue-dark);--bs-btn-hover-border-color:var(--ml-blue-dark)}.page-title{font-weight:750;letter-spacing:-.025em}.back-link{text-decoration:none;color:var(--ml-muted);font-size:.9rem}.card{border-radius:1rem}.table thead th{background:#f8fafc;color:#667085;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom-color:var(--ml-border);padding:.85rem}.table td{padding:.85rem;border-color:#edf0f4}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f4f8ff}.search-box{position:relative}.search-box .search-icon{position:absolute;left:1rem;top:.55rem;font-size:1.5rem;color:#98a2b3;z-index:2}.search-box .search-icon+input{padding-left:3rem}.empty-state{text-align:center!important;padding:3.5rem!important;color:var(--ml-muted)}.empty-state strong,.empty-state span{display:block}.status{display:inline-flex;padding:.32rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.status-draft{background:#f2f4f7;color:#475467}.status-calculated{background:#e8f1ff;color:#0a5bd8}.status-sent{background:#fff3dc;color:#a15c00}.status-approved{background:#e8f7ef;color:#067647}.status-rejected{background:#feecec;color:#b42318}.step-title{font-weight:750;margin:0 0 1rem;display:flex;align-items:center;gap:.65rem}.step-title span{display:inline-flex;width:28px;height:28px;border-radius:50%;background:#e8f1ff;color:var(--ml-blue);align-items:center;justify-content:center}.variant-tabs{padding:.2rem}.variant-tab{min-width:180px;border:1px solid var(--ml-border);background:#fff;border-radius:.85rem;padding:.75rem 1rem;text-decoration:none;color:var(--ml-ink);display:grid;gap:.15rem}.variant-tab small{color:var(--ml-blue);font-size:.68rem;text-transform:uppercase}.variant-tab strong{font-size:1.1rem}.variant-tab.active{border:2px solid var(--ml-blue);box-shadow:0 7px 18px rgba(10,91,216,.12)}.variant-add{align-content:center;text-align:center;color:var(--ml-blue);border-style:dashed}.metric{background:#fff;border:1px solid var(--ml-border);border-radius:.85rem;padding:1rem;height:100%}.metric span,.metric small{display:block;font-size:.74rem;color:var(--ml-muted)}.metric strong{display:block;font-size:1.25rem;margin-top:.25rem}.metric-primary{background:var(--ml-blue);border-color:var(--ml-blue);color:#fff}.metric-primary span{color:#dce9ff}.metric-income{border-color:#8fd6ae;background:#f0fbf5}.metric-income strong{color:#067647}.item-kind{display:block;color:var(--ml-blue);font-size:.67rem;text-transform:uppercase;font-weight:750}.item-table td:first-child strong,.item-table td:first-child small{display:block}.number-input{min-width:75px}.money-input{min-width:105px}.login-wrap{min-height:calc(100vh - 3rem);display:flex;align-items:center;justify-content:center}.login-card{width:min(460px,100%)}.errorlist{color:#b42318;font-size:.85rem;margin:.35rem 0 0;padding-left:1.2rem}
@media(max-width:767px){.app-container{padding-left:1rem;padding-right:1rem}.page-title{font-size:1.7rem}.variant-tab{min-width:145px}.metric strong{font-size:1.05rem}.item-table{font-size:.82rem}.navbar-brand small{display:none}.table-responsive{border-radius:.75rem}.btn-lg{font-size:1rem}.search-box .form-control-lg{font-size:1rem}}

