:root{font-family:Inter,Segoe UI,Helvetica Neue,Arial,sans-serif;color:#1f2937;background:#f3f5f8;font-size:14px;line-height:1.35}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(160deg,#f7f8fa,#edf2f7);color:#1f2937;font-size:.95rem}#root{min-height:100vh}.dashboard-root{min-height:100vh;display:grid;place-items:center;padding:2rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:#f4f6f9}.sidebar{background:#fff;border-right:1px solid #e5e7eb;padding:1rem .8rem}.brand-wrap{margin-bottom:1rem}.brand{font-weight:700;color:#0f172a}.mbe-logo{width:190px;max-width:100%;margin-bottom:.8rem}.mbe-logo.small{width:160px}.mbe-logo.sidebar-logo{width:150px;margin-bottom:.5rem}.nav-list{display:flex;flex-direction:column;gap:.4rem}.nav-link{text-decoration:none;color:#334155;padding:.52rem .7rem;border-radius:10px;transition:background .15s ease,color .15s ease;font-weight:500}.nav-link.active,.nav-link:hover{background:#fee2e2;color:#991b1b}.content-area{padding:1.4rem;min-width:0;width:100%}.dashboard-card{width:100%;max-width:100%;padding:2rem;border-radius:16px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 26px #0f172a14;text-align:left}.dashboard-card h1{margin:0 0 .75rem;font-size:clamp(1.7rem,3.5vw,2.3rem);letter-spacing:.2px;color:#0f172a}.dashboard-card p{margin:0;color:#475569;font-size:1rem}.dashboard-card .muted{margin-top:.8rem;font-size:.92rem;color:#64748b}.dashboard-home{display:grid;gap:.95rem}.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.kpi-card{padding:.9rem 1rem}.kpi-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.kpi-card strong{margin-top:.25rem;display:inline-block;font-size:1.5rem;color:#0f172a}.kpi-card .kpi-alert{color:#dc2626}.dashboard-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:.75rem}.status-card,.important-card{padding:1rem}.progress-wrap{width:100%;height:10px;border-radius:999px;overflow:hidden;background:#e5e7eb}.progress-bar{height:100%;background:linear-gradient(90deg,#ef4444,#b91c1c)}.important-list{margin:.4rem 0 0;padding:0;list-style:none;display:grid;gap:.45rem}.important-item{padding:.55rem .65rem;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.important-item p{margin:.18rem 0 0;font-size:.8rem;color:#64748b}.deadline-badge{display:inline-flex;align-items:center;justify-content:center;min-width:86px;border-radius:999px;border:1px solid #d1d5db;background:#fff;padding:.2rem .5rem;font-size:.74rem;color:#334155;white-space:nowrap}.deadline-badge.danger{border-color:#fecaca;background:#fee2e2;color:#b91c1c}.content-card{width:100%;max-width:100%}.content-card h1,.content-card h2,.content-card h3{margin:0 0 .65rem}.content-card.wide{max-width:100%;width:100%}.full-width-card{max-width:none;width:100%}.login-card{max-width:520px}.login-form{margin-top:1rem;display:flex;flex-direction:column;gap:.85rem;text-align:left}.login-form label{display:flex;flex-direction:column;gap:.35rem;color:#334155;font-size:.95rem}.login-form input{border:1px solid #cbd5e1;background:#fff;color:#111827;border-radius:10px;padding:.62rem .82rem}button{border:0;border-radius:10px;padding:.52rem .78rem;font-weight:600;font-size:.86rem;line-height:1.1;cursor:pointer;background:#dc2626;color:#fff}button:hover{filter:brightness(.96)}button.secondary{background:#e2e8f0;color:#1f2937}button.danger{background:#ef4444;color:#fff}.inline-btn{margin-left:.5rem;padding:.2rem .42rem;font-size:.74rem}.icon-btn{width:1.95rem;height:1.95rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.icon-btn svg{width:1rem;height:1rem;fill:currentColor}button:disabled{opacity:.75;cursor:not-allowed}.file-label{display:inline-flex;align-items:center;gap:.5rem;border-radius:10px;border:1px dashed #cbd5e1;background:#fff;padding:.5rem .8rem;font-weight:600;color:#334155}.file-label input{max-width:200px}.error{color:#b91c1c;font-size:.9rem}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.row.top-gap{margin-top:1rem}.row.tiny-gap{gap:.4rem}.row.no-wrap{flex-wrap:nowrap}.row.actions{margin-top:.5rem}.filters{margin:1rem 0}.filters input,.filters select,.supplier-form input,.supplier-form select,.supplier-form textarea{border:1px solid #cbd5e1;background:#fff;color:#111827;border-radius:10px;padding:.55rem .75rem}.supplier-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.supplier-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.86rem}.supplier-form textarea{min-height:84px}.supplier-form label:last-of-type{grid-column:1 / -1}.suppliers-table{width:100%;border-collapse:collapse;background:#fff}.suppliers-table th,.suppliers-table td{border-bottom:1px solid #e5e7eb;padding:.66rem;text-align:left;vertical-align:top}.suppliers-table.compact th,.suppliers-table.compact td{padding:.36rem .46rem;font-size:.82rem;line-height:1.2}.suppliers-table th{background:#f8fafc;color:#334155}.table-wrap{width:100%;overflow-x:auto}.credentials-table{min-width:1100px}.password-cell{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.todo-table input[type=checkbox]{width:1rem;height:1rem;accent-color:#dc2626;cursor:pointer}.todo-row.done td{color:#6b7280;text-decoration:line-through}.todo-row.done td:last-child,.todo-row.done td:first-child{text-decoration:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a3d;display:grid;place-items:center;padding:1rem}.modal{width:min(820px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1rem;box-shadow:0 16px 36px #0f172a24}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #e5e7eb}.supplier-form{grid-template-columns:1fr}.full-width-card{width:100%}.dashboard-hero{flex-direction:column}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
