:root {
	--primaria: #63C2C3;
	--escura: #382E39;
	--texto: #4A404B;
	--texto-claro: #7C737E;
	--fundo: #FAF7FA;
	--borda: #EBE5ED;
	--erro: #C0392B;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, 'Segoe UI', sans-serif; background: var(--fundo); color: var(--texto); }

/* ---------- layout ---------- */
.painel { display: grid; grid-template-columns: 240px 1fr; min-height: 100vh; }
.lateral { background: var(--escura); color: #fff; padding: 20px 14px; display: flex; flex-direction: column; gap: 24px; }
.lateral-marca { display: flex; align-items: center; gap: 10px; font-weight: 700; line-height: 1.15; }
.lateral-marca small { color: #B9AFC0; font-weight: 400; }
.lateral-logo { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--primaria); color: #fff; font-weight: 800; }
.lateral-nav { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.lateral-nav a { color: #D9D0DD; text-decoration: none; padding: 10px 12px; border-radius: 10px; font-size: .95rem; }
.lateral-nav a.ativo, .lateral-nav a:hover { background: rgba(99,194,195,.18); color: #fff; }
.lateral-sair button { width: 100%; background: none; border: 1px solid rgba(255,255,255,.25); color: #D9D0DD; padding: 9px; border-radius: 10px; cursor: pointer; font-size: .85rem; }
.lateral-sair button:hover { border-color: var(--primaria); color: #fff; }
.principal { padding: 32px 36px; }
h1 { color: var(--escura); margin: 0 0 6px; }
.subpagina { margin: 0 0 26px; color: var(--texto-claro); }

/* ---------- dashboard ---------- */
.grade-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.card-modulo { background: #fff; border: 1px solid var(--borda); border-radius: 16px; padding: 20px; position: relative; }
.card-modulo h3 { margin: 0 0 8px; color: var(--escura); }
.card-modulo p { margin: 0; font-size: .88rem; color: var(--texto-claro); }
.badge-em-breve { position: absolute; top: 14px; right: 14px; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: var(--fundo); border: 1px solid var(--borda); color: var(--texto-claro); border-radius: 999px; padding: 3px 9px; }

/* ---------- login ---------- */
.tela-login { display: grid; place-items: center; min-height: 100vh; }
.caixa-login { background: #fff; border: 1px solid var(--borda); border-radius: 20px; padding: 34px 30px; width: min(380px, 92vw); display: flex; flex-direction: column; gap: 8px; }
.login-marca { font-size: 1.35rem; font-weight: 800; color: var(--escura); display: flex; align-items: center; gap: 10px; }
.login-sub { margin: 0 0 14px; color: var(--texto-claro); font-size: .88rem; }
.caixa-login label { font-size: .82rem; font-weight: 700; color: var(--escura); }
.caixa-login input { height: 44px; border: 1.5px solid var(--borda); border-radius: 12px; padding: 0 13px; font-size: .95rem; outline: none; }
.caixa-login input:focus { border-color: var(--primaria); box-shadow: 0 0 0 3px rgba(99,194,195,.25); }
.caixa-login button { margin-top: 12px; height: 46px; border: 0; border-radius: 12px; background: var(--primaria); color: #fff; font-weight: 700; font-size: .98rem; cursor: pointer; }
.caixa-login button:hover { filter: brightness(.96); }
.login-erro { background: #FDEDEB; border: 1px solid #F2C6C0; color: var(--erro); border-radius: 10px; padding: 9px 12px; font-size: .84rem; margin: 0 0 4px; }

@media (max-width: 720px) {
	.painel { grid-template-columns: 1fr; }
	.lateral { flex-direction: row; align-items: center; flex-wrap: wrap; }
	.lateral-nav { flex-direction: row; flex-wrap: wrap; }
	.principal { padding: 22px 18px; }
}

/* ---------- M1 · Pedidos ---------- */
.contador { display:inline-block; background:var(--primaria); color:#fff; border-radius:999px; font-size:.8rem; padding:2px 10px; vertical-align:middle; }
.voltar { display:inline-block; margin-bottom:14px; color:var(--texto-claro); text-decoration:none; font-size:.86rem; }
.grade-pedidos { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.card-pedido { background:#fff; border:1px solid var(--borda); border-radius:16px; padding:16px 18px; }
.card-pedido.tem-pendente { border-color:#F2C6C0; }
.card-pedido header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.card-pedido .numero { font-weight:800; color:var(--escura); text-decoration:none; font-size:1.05rem; }
.card-pedido .data, .card-pedido header .data { color:var(--texto-claro); font-size:.78rem; }
.card-pedido h3 { margin:0 0 4px; font-size:1.02rem; color:var(--escura); }
.linha-info { margin:6px 0 0; font-size:.85rem; color:var(--texto); }
.aviso-pendente { margin:6px 0 0; font-size:.8rem; color:var(--erro); }
.card-pedido footer { display:flex; gap:8px; margin-top:12px; }
.botao-mini { display:inline-block; padding:7px 13px; border-radius:999px; font-size:.8rem; font-weight:700; text-decoration:none; cursor:pointer; border:1.5px solid var(--borda); background:#fff; color:var(--escura); }
.botao-mini.zap { border-color:#25D366; color:#128C4A; }
.botao-mini.primario { background:var(--primaria); border-color:var(--primaria); color:#fff; }
.botao-mini:hover { filter:brightness(.96); }

/* detalhe */
.grade-detalhe { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin-bottom:16px; }
.etapas { display:flex; flex-wrap:wrap; gap:6px; }
.chip-etapa { border:1.5px solid var(--borda); background:#fff; border-radius:999px; padding:7px 13px; font-size:.8rem; font-weight:700; color:var(--texto-claro); cursor:pointer; }
.chip-etapa.atual { background:var(--primaria); border-color:var(--primaria); color:#fff; }
.chip-etapa:not(.atual):hover { border-color:var(--primaria); color:var(--escura); }
.tabela-itens { width:100%; border-collapse:collapse; font-size:.87rem; margin-top:8px; }
.tabela-itens th { text-align:left; color:var(--texto-claro); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; padding:6px 8px; border-bottom:1.5px solid var(--borda); }
.tabela-itens td { padding:8px; border-bottom:1px solid var(--fundo); }
.tabela-itens .faltando { color:var(--erro); font-weight:700; }
#mockup-area img { border-radius:12px; border:1px solid var(--borda); display:block; margin-bottom:8px; }
.form-nota textarea { width:100%; border:1.5px solid var(--borda); border-radius:12px; padding:10px 12px; font:inherit; resize:vertical; }
.form-nota button { margin-top:8px; }

/* ---------- Peças no padrão da Sacola Guiada ---------- */
.lista-pecas { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.peca { display: flex; align-items: center; gap: 14px; background: var(--fundo); border: 1px solid var(--borda); border-radius: 16px; padding: 12px 16px; }
.peca.feita { border-color: rgba(99,194,195,.45); }
.peca-img { width: 64px; height: 64px; flex-shrink: 0; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--borda); }
.peca-img img { width: 100%; height: 100%; object-fit: cover; }
.peca-info { flex: 1; min-width: 0; }
.peca-info h4 { margin: 0 0 2px; font-size: .95rem; color: var(--escura); }
.peca-qtd { font-size: .82rem; color: var(--texto-claro); }
.peca-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.peca-chips .chip { background: #fff; border: 1px solid var(--borda); color: var(--escura); font-size: .74rem; font-weight: 700; border-radius: 999px; padding: 3px 10px; }
.peca-status.ok { font-size: .78rem; font-weight: 700; color: #27AE60; white-space: nowrap; }
