:root{--brand: #13a77e;--brand-d: #0e8e68;--brand-soft: #e3f5ee;--accent: #f5a623;--blue: #4f8fe0;--pink: #ec4d8b;--bg: #f4f6fa;--surface: #ffffff;--ink: #1f2a37;--muted: #8a97a8;--line: #eef1f6;--danger: #e5484d;--ok: #16a34a;--shadow: 0 6px 22px rgba(31, 42, 55, .06);--sidebar-w: 248px;--topbar-h: 62px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}button{cursor:pointer;border:none;background:var(--brand);color:#fff;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600}button.ghost{background:#fff;color:var(--danger);border:1px solid #f1c6c7}button.link{background:none;color:var(--brand);padding:6px}input,select{padding:9px 12px;border:1px solid #d7deea;border-radius:8px;font-size:14px;background:#fff}label{display:block;font-size:13px;color:var(--muted);margin:6px 0 4px}.muted{color:var(--muted)}.small{font-size:12px}h2{font-weight:800;letter-spacing:-.3px;margin:4px 0 14px}h3{font-weight:700;font-size:15px;margin:0}.app{min-height:100vh}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:#fff;border-right:1px solid var(--line);padding:16px 12px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;font-weight:800;font-size:18px}.brand .logo{width:32px;height:32px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center}.nav-sec{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:16px 12px 6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none;color:#54627a;font-weight:600;font-size:14px;margin-bottom:2px}.sidebar nav a .ic{width:20px;text-align:center}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{background:var(--brand-soft);color:var(--brand-d)}.main{margin-left:var(--sidebar-w)}.topbar{height:var(--topbar-h);background:var(--brand);color:#fff;display:flex;align-items:center;gap:16px;padding:0 22px;position:sticky;top:0;z-index:10}.topbar .ttl{font-weight:700}.topbar .spacer{flex:1}.topbar .tsearch{background:#ffffff2e;border:none;color:#fff;border-radius:20px;padding:8px 14px;width:240px}.topbar .tsearch::placeholder{color:#fffc}.topbar .ticon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffffff24;position:relative}.topbar .ticon .dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.topbar .me{display:flex;align-items:center;gap:10px}.topbar .avatar{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--brand-d);display:grid;place-items:center;font-weight:800}.content{padding:22px 24px 40px}.breadcrumb{color:var(--muted);font-size:13px;margin-bottom:16px}.breadcrumb b{color:var(--ink)}.card{background:var(--surface);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.grid{display:grid;gap:18px}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:2fr 1fr}@media (max-width: 1100px){.cols-4{grid-template-columns:repeat(2,1fr)}.cols-2,.cols-3{grid-template-columns:1fr}}.stat{display:flex;align-items:center;gap:14px}.stat .si{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:22px;color:#fff;flex:none}.stat .sv{font-size:26px;font-weight:800;line-height:1}.stat .sl{color:var(--muted);font-size:13px;font-weight:600;margin-top:4px}.bg-teal{background:var(--brand)}.bg-orange{background:var(--accent)}.bg-blue{background:var(--blue)}.bg-pink{background:var(--pink)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.legend{display:flex;flex-direction:column;gap:8px}.legend .li{display:flex;align-items:center;gap:8px;font-size:13px;color:#54627a}.legend .sw{width:10px;height:10px;border-radius:3px}.feed{list-style:none;margin:0;padding:0}.feed li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.feed li:last-child{border-bottom:none}.feed .fcode{font-weight:700}.tag{background:var(--brand-soft);color:var(--brand-d);padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.tbl th,.tbl td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}.tbl th{background:#fbfcfe;color:#54627a;font-weight:700}.acoes{display:flex;gap:6px}.status-tag{background:#eef2ff;color:#3949ab;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.form-inline{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0c3b30,#13a77e)}.login-card{width:340px;display:flex;flex-direction:column;background:#fff;padding:28px;border-radius:16px;box-shadow:0 20px 50px #00000040}.login-card h1{margin:0;color:var(--brand-d)}.login-card button{margin-top:16px;padding:13px}.erro{color:var(--danger);font-size:13px;margin-top:8px}.mod-card{padding:16px;margin-bottom:14px}.mod-docs{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.mod-doc{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:8px;width:130px}.mod-doc img{width:114px;height:90px;object-fit:cover;border-radius:6px;display:block;margin-top:4px}.mod-veics{margin:8px 0;display:grid;gap:4px}.mod-card .acoes{margin-top:10px}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kanban-col{background:#fff;border-radius:12px;padding:14px;min-height:200px;box-shadow:var(--shadow)}.kanban-col h3{display:flex;justify-content:space-between;margin-bottom:10px}.badge{background:var(--bg);border-radius:999px;padding:1px 9px;font-size:12px}.chamado-card{border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:8px;padding:10px;margin-bottom:8px}.chamado-card.prio-alta{border-left-color:var(--accent)}.chamado-card.prio-urgente{border-left-color:var(--danger)}.chamado-card.prio-normal{border-left-color:var(--brand)}
