/* Padrão visual do sistema de orçamentos MULTTECH. */
html{font-size:13px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f3f4f6;color:#1f2937;font: .9rem/1.3 Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:214px;padding:12px 10px;display:flex;flex-direction:column;background:linear-gradient(180deg,#151d2b,#111827);color:#fff;overflow:auto}.brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:linear-gradient(135deg,#b91c1c,#dc2626);font-weight:800;box-shadow:0 12px 22px #b91c1c38}.brand strong{font-size:1.08rem;font-weight:800}.brand small{display:block;font-size:.68rem;color:#ffffffbf;margin-top:4px}nav{display:flex;flex-direction:column;gap:8px}nav a{display:flex;align-items:center;gap:8px;padding:11px 12px;color:#f8fafc;text-decoration:none;border-radius:10px;font-size:.92rem;font-weight:600}nav a:hover,nav a.active{background:#273244}nav a.active{box-shadow:inset 3px 0 #dc2626}nav svg{width:14px;height:14px;flex:0 0 14px;color:#dbe5f2}.sidebar-footer{margin-top:auto;padding-top:24px}.sidebar-footer small{color:#94a3b8;display:block;padding:10px}.sidebar-footer .logout{width:100%;background:#273244;box-shadow:none}#menu-toggle{display:none}main{margin-left:214px;padding:20px;min-width:0}h1{font-size:1.8rem;letter-spacing:-.025em;margin:0 0 8px}h2{font-size:1.35rem;margin:0 0 12px}.subtitle,.muted{color:#64748b}.subtitle{margin-bottom:20px}.card{margin:16px 0;overflow:auto;min-width:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid .card{margin:0}.stat{font-size:2rem;font-weight:700;color:#111827;margin-top:10px;letter-spacing:-.025em}.four .stat{font-size:1.8rem}.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.wide{grid-column:1/-1}label{display:block;font-size:.88rem;font-weight:600;color:#374151}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}a{color:#b91c1c;text-underline-offset:3px}.page-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.card small{display:block;color:#64748b;margin-top:5px;font-weight:400}.empty{padding:24px;color:#64748b}.notice{padding:12px 16px;border:1px solid #cbd5e1;border-radius:8px;background:#f1f5f9;margin:16px 0}.notice.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.notice.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#fef3c7;color:#92400e;font-size:.8rem}.badge.late{color:#991b1b;background:#fee2e2}.badge.paid{color:#166534;background:#dcfce7}.danger{color:#b91c1c}.manual-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-bottom:14px}summary{cursor:pointer;font-weight:600}.delete-vendor{margin-top:8px}
.card {
  background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
  padding: 16px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.card h2,
.card h3 {
  margin-top: 0;
}

.card h2 {
  font-size: 1.35rem;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}

.card h3 {
  font-size: 1rem;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}

.texto-ajuda {
  margin: -4px 0 12px;
  color: #64748b;
  font-size: 0.88rem;
  line-height: 1.45;
}

.card-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.card-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.card label {
  display: block;
  margin-bottom: 4px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #374151;
}

input,
select,
textarea {
  display: block;
  width: 100%;
  padding: 8px 9px;
  margin: 0 0 8px;
  border: 1px solid #cfd6df;
  border-radius: 8px;
  box-sizing: border-box;
  background: #fff;
  font: inherit;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

input:not([type="number"]):not([type="file"]),
textarea {
  text-transform: uppercase;
}

.sem-caixa-alta {
  text-transform: none !important;
}

textarea {
  resize: vertical;
  min-height: 78px;
  line-height: 1.4;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #b91c1c;
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.12);
}

button {
  background: linear-gradient(180deg, #c91c1c 0%, #b91c1c 100%);
  color: white;
  border: none;
  padding: 7px 12px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  margin: 2px;
  font-size: 0.82rem;
  box-shadow: 0 6px 14px rgba(185, 28, 28, 0.14);
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

button:hover {
  background: linear-gradient(180deg, #b91c1c 0%, #991b1b 100%);
  box-shadow: 0 8px 18px rgba(153, 27, 27, 0.2);
  transform: translateY(-1px);
}

button:disabled {
  opacity: 0.7;
  cursor: wait;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-size: 0.88rem;
}

.table-responsive {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

th {
  background: #f8fafc;
  text-align: left;
  color: #334155;
}

th,
td {
  padding: 8px 9px;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
  min-width: 0;
}

input,select,textarea{margin:6px 0 4px;min-height:34px}input:not([type=number]):not([type=file]),textarea{text-transform:none}input[type=hidden]{display:none}.button{display:inline-block;background:linear-gradient(180deg,#c91c1c,#b91c1c);color:#fff;padding:9px 13px;border-radius:8px;font-weight:700;font-size:.85rem;text-decoration:none;box-shadow:0 6px 14px #b91c1c24}button{min-height:34px;padding:9px 13px;margin:0}.secondary{background:linear-gradient(180deg,#475569,#334155);color:#fff;box-shadow:0 6px 14px #0f172a24}.secondary:hover{background:#273244}.form button{align-self:end}td,th{white-space:nowrap}tbody tr:nth-child(even){background:#fcfcfd}.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 10% 20%,#b91c1c2e,transparent 28%),linear-gradient(135deg,#0f172a 0%,#172033 48%,#f3f4f6 48%,#f8fafc 100%)}.auth-shell{width:min(960px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.auth-brand,.auth-form{border-radius:20px;padding:36px;box-shadow:0 20px 60px #0f172a26}.auth-brand{background:linear-gradient(145deg,#151d2b,#273244);color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:460px}.auth-brand h1{font-size:2.8rem;line-height:1.1;max-width:380px}.auth-brand p{color:#cbd5e1;font-size:1rem;line-height:1.6}.auth-form{background:white;display:flex;flex-direction:column;justify-content:center}.auth-form form{display:grid;gap:14px}.auth-form h2{font-size:1.8rem}.auth-form p{margin:0 0 24px;color:#64748b}@media(max-width:1100px){.four,.form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){aside{position:static;width:100%;padding:12px 16px}.brand{margin:0}.brand>div{flex:1}#menu-toggle{display:block;background:#273244;box-shadow:none}aside nav,aside .sidebar-footer{display:none}aside.menu-open nav{display:flex;margin-top:16px}aside.menu-open .sidebar-footer{display:block}main{margin:0;padding:18px}.form,.grid,.four{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.manual-row{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:220px;padding:26px}.auth-brand h1{font-size:2rem;margin-top:24px}.auth-form{padding:26px}.auth-page{padding:18px}}
