:root{--navy:#17365d;--navy-2:#244d77;--blue:#2a6fbb;--sky:#eaf3fb;--ink:#17212b;--muted:#6c7885;--line:#dfe5eb;--bg:#f4f6f8;--white:#fff;--green:#18764b;--green-bg:#e7f5ed;--amber:#9a6200;--amber-bg:#fff4d8;--red:#b43b3b;--red-bg:#fdeaea;--shadow:0 12px 32px rgba(23,54,93,.1)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:26px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.14)}.brand-mark{width:42px;height:42px;border-radius:12px;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:800}.brand strong,.brand span{display:block}.brand span{font-size:12px;opacity:.68;margin-top:3px}.sidebar nav{display:grid;gap:6px;margin-top:24px}.nav-item{border:0;background:transparent;color:rgba(255,255,255,.75);padding:13px 12px;border-radius:10px;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;cursor:pointer}.nav-item span{font-size:11px;opacity:.6}.nav-item b{margin-left:auto;min-width:22px;padding:2px 6px;text-align:center;background:#fff;color:var(--navy);border-radius:10px;font-size:11px}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.12);color:#fff}.sidebar-note{margin-top:auto;padding:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px}.sidebar-note small,.sidebar-note strong,.sidebar-note span{display:block}.sidebar-note small{opacity:.65;text-transform:uppercase;letter-spacing:.08em}.sidebar-note strong{margin:7px 0}.sidebar-note span{font-size:12px;opacity:.7;line-height:1.45}main{min-width:0}.topbar{height:92px;background:#fff;border-bottom:1px solid var(--line);padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:10}.topbar h1{font-size:23px;margin:3px 0 0}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--blue);margin:0}.top-actions{display:flex;gap:12px;align-items:end}.role-switch{font-size:11px;color:var(--muted);display:grid;gap:4px}.role-switch select{border:1px solid var(--line);border-radius:8px;padding:9px 30px 9px 10px;background:#fff;color:var(--ink)}button{font-family:inherit}.primary,.secondary,.danger{border:0;border-radius:9px;padding:11px 15px;font-weight:700;cursor:pointer}.primary{background:var(--blue);color:#fff}.primary:hover{background:#215d9d}.secondary{background:#edf1f5;color:var(--ink)}.danger{background:var(--red-bg);color:var(--red)}.menu-button{display:none;border:0;background:transparent;font-size:22px}.content{padding:28px 32px;max-width:1500px;margin:auto}.hero{background:linear-gradient(125deg,var(--navy),#285d89);border-radius:18px;color:#fff;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:22px;box-shadow:var(--shadow)}.hero h2{font-size:25px;margin:4px 0 7px}.hero p{margin:0;color:rgba(255,255,255,.75)}.hero .eyebrow{color:#9fc8ef}.hero-summary{display:flex;gap:25px}.hero-summary div{border-left:1px solid rgba(255,255,255,.25);padding-left:18px}.hero-summary strong,.hero-summary span{display:block}.hero-summary strong{font-size:22px}.hero-summary span{font-size:11px;opacity:.7;margin-top:4px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px rgba(23,54,93,.03)}.kpi header{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.kpi .kpi-icon{width:32px;height:32px;background:var(--sky);color:var(--blue);border-radius:9px;display:grid;place-items:center;font-weight:800}.kpi strong{display:block;font-size:25px;margin:10px 0 4px}.kpi small{color:var(--muted)}.grid-2{display:grid;grid-template-columns:1.55fr 1fr;gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.card-header{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.card-header h3{margin:0;font-size:15px}.card-body{padding:18px}.text-button{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid #edf0f3;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fafbfc}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbfd}.status{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:700}.status.pending,.status.quote{background:var(--amber-bg);color:var(--amber)}.status.approved,.status.received,.status.active{background:var(--green-bg);color:var(--green)}.status.rejected,.status.inactive{background:var(--red-bg);color:var(--red)}.status.ordered{background:var(--sky);color:var(--blue)}.priority{font-weight:700}.priority.Urgente{color:var(--red)}.priority.Alta{color:var(--amber)}.progress-list{display:grid;gap:15px}.progress-row{display:grid;grid-template-columns:115px 1fr 35px;gap:10px;align-items:center;font-size:12px}.bar{height:7px;background:#edf1f5;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue);border-radius:10px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:16px}.toolbar-group{display:flex;gap:9px;flex-wrap:wrap}.search,.filter{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 12px;min-width:230px}.filter{min-width:150px}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:6px}.approval-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;margin-bottom:13px;display:grid;grid-template-columns:1fr auto;gap:18px}.approval-card h3{margin:4px 0 7px}.approval-card p{margin:0;color:var(--muted);font-size:13px}.approval-card .amount{font-size:20px;font-weight:800;text-align:right}.approval-card .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:13px}.supplier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.supplier-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;cursor:pointer}.supplier-card:hover{box-shadow:var(--shadow)}.supplier-card header{display:flex;justify-content:space-between;gap:12px}.supplier-card h3{margin:0;font-size:15px}.supplier-card p{color:var(--muted);font-size:12px;line-height:1.5}.supplier-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:13px}.supplier-meta small,.supplier-meta strong{display:block}.supplier-meta small{color:var(--muted);font-size:10px;margin-bottom:4px}.rating{color:#d29213;font-weight:800}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;background:rgba(13,29,46,.48);z-index:50;display:grid;place-items:center;padding:20px}.hidden{display:none!important}.modal{background:#fff;width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:16px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.modal>header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal h2{margin:4px 0 0}.icon-button{border:0;background:#edf1f5;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.modal form{padding:22px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.setting-row label{display:grid;gap:6px;font-size:12px;font-weight:700}.span-2{grid-column:span 2}input,select,textarea{font:inherit;border:1px solid #cfd7df;border-radius:8px;padding:10px;background:#fff}textarea{resize:vertical}.approval-preview{background:var(--sky);color:var(--navy);border-radius:9px;padding:12px;margin-top:16px;font-size:12px}.modal footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.drawer-backdrop{place-items:stretch end;padding:0}.drawer{background:#fff;width:min(520px,100%);height:100%;overflow:auto;padding:26px;box-shadow:-20px 0 55px rgba(0,0,0,.18)}.drawer h2{margin:4px 0 5px}.drawer-section{padding:17px 0;border-top:1px solid var(--line)}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.drawer-grid small,.drawer-grid strong{display:block}.drawer-grid small{color:var(--muted);margin-bottom:4px}.timeline{display:grid;gap:14px}.timeline div{padding-left:17px;border-left:2px solid var(--line)}.timeline strong,.timeline span{display:block}.timeline span{font-size:11px;color:var(--muted);margin-top:3px}.drawer-actions{display:flex;gap:9px;flex-wrap:wrap}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setting-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.setting-card h3{margin-top:0}.setting-row{display:grid;grid-template-columns:1fr 190px;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.setting-row p{font-size:12px;color:var(--muted);margin:3px 0}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:13px 18px;border-radius:9px;z-index:100;box-shadow:var(--shadow);font-size:13px}.notice{background:var(--amber-bg);color:#704a00;padding:12px 15px;border-radius:9px;margin-bottom:16px;font-size:12px}
@media(max-width:1050px){.app-shell{grid-template-columns:215px 1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.supplier-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:left .2s}.sidebar.open{left:0}.menu-button{display:block}.topbar{height:auto;padding:14px 16px}.topbar h1{font-size:18px}.top-actions .role-switch{display:none}.content{padding:18px 14px}.hero{display:block}.hero-summary{margin-top:20px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px}.kpi strong{font-size:20px}.supplier-grid,.settings-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar-group{display:grid;grid-template-columns:1fr 1fr}.search{min-width:0;grid-column:span 2}.filter{min-width:0}.approval-card{grid-template-columns:1fr}.approval-card .amount{text-align:left}.approval-card .actions{justify-content:flex-start}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.modal-backdrop{padding:8px}.top-actions .primary{font-size:0;padding:10px 12px}.top-actions .primary:after{content:'+';font-size:20px}.setting-row{grid-template-columns:1fr}}
