
:root{--brand:#0f3d5e;--brand2:#115e7a;--ink:#172033;--muted:#667085;--line:#e6eaf0;--soft:#f6f8fb;--accent:#cb4f36;--ok:#0f8a5f;--warn:#b7791f;--danger:#c2410c}
*{box-sizing:border-box} body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f7fb;color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#112f4a 0%,#0b2339 100%);box-shadow:12px 0 30px rgba(15,23,42,.12)}
.navlink{display:flex;align-items:center;gap:.75rem;padding:.72rem .85rem;border-radius:.75rem;color:#c9d7e7;font-weight:600;font-size:.875rem;transition:.18s}.navlink:hover,.navlink.active{background:rgba(255,255,255,.11);color:#fff}.navlink.active{box-shadow:inset 3px 0 0 #d86b4f;background:linear-gradient(90deg,rgba(216,107,79,.28),rgba(255,255,255,.08))}
.card{background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 10px 26px rgba(15,23,42,.055)}.card-pad{padding:1.15rem}.kpi{background:linear-gradient(180deg,#fff,#f9fbfe);border:1px solid var(--line);border-radius:1rem;padding:1rem;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:.72rem;padding:.62rem .9rem;font-weight:700;font-size:.82rem;border:1px solid transparent}.btn-primary{background:#154d73;color:#fff}.btn-soft{background:#eef4f8;color:#154d73;border-color:#d8e5ee}.btn-accent{background:#cb4f36;color:white}.btn-ghost{background:#fff;border-color:#dfe5ec;color:#334155}.input,.select,.textarea{width:100%;border:1px solid #d9e1ea;border-radius:.7rem;background:#fff;padding:.62rem .75rem;font-size:.875rem;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#2b6e94;box-shadow:0 0 0 3px rgba(43,110,148,.12)}.label{font-size:.76rem;font-weight:800;color:#475467;margin-bottom:.32rem;display:block}.table-wrap{overflow:auto}.erp-table{width:100%;border-collapse:separate;border-spacing:0}.erp-table th{background:#f0f5f9;color:#344054;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:.74rem;border-bottom:1px solid #dce4ec;white-space:nowrap}.erp-table td{padding:.78rem;border-bottom:1px solid #eef2f6;font-size:.84rem;white-space:nowrap}.erp-table tr:hover td{background:#fbfdff}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:.25rem .55rem;font-size:.72rem;font-weight:800}.b-ok{background:#e8f7ef;color:#067647}.b-warn{background:#fff4df;color:#b45309}.b-danger{background:#fdece7;color:#b42318}.b-info{background:#e8f2ff;color:#175cd3}.section-title{font-size:1.08rem;font-weight:850;color:#18344a}.subtle{color:#667085}.mini-stat{border:1px solid var(--line);border-radius:.9rem;padding:.75rem;background:#fbfcfe}.mobile-frame{max-width:390px;border-radius:2rem;border:10px solid #182536;background:#f7f9fc;box-shadow:0 30px 60px rgba(15,23,42,.22);overflow:hidden}.modal-back{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal{width:min(900px,96vw);max-height:90vh;overflow:auto;background:white;border-radius:1.25rem;box-shadow:0 30px 80px rgba(0,0,0,.28)}
@media(max-width:1024px){.desktop-sidebar{display:none}.main{margin-left:0!important}.mobile-top{display:flex!important}}

.icon-img{height:34px;width:34px;object-fit:contain}.icon-lg{height:46px;width:46px}.app-footer{margin:28px 24px 0;border-top:1px solid #e6eaf0;color:#667085;font-size:12px;padding:14px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.hero-panel{background:linear-gradient(135deg,#f8fbff 0%,#eef6f8 55%,#fff7ed 100%);border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 16px 42px rgba(15,23,42,.06)}.action-tile{border:1px solid #e4eaf1;background:linear-gradient(180deg,#fff,#f8fbfd);border-radius:16px;padding:14px;text-align:left;transition:.2s}.action-tile:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.10);border-color:#b7cce0}.progress{height:8px;border-radius:999px;background:#e9eef5;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#0f4c73,#0f8a5f)}.kanban-card{background:white;border:1px solid #e6eaf0;border-radius:14px;padding:12px;box-shadow:0 8px 18px rgba(15,23,42,.04)}.pulse-dot{height:10px;width:10px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.14)}
