/* Vitrine SPA — MINHA CONTA (/conta/*): menu lateral, pedidos (timeline), financeiro, ordens. */
.ct { display: grid; grid-template-columns: 230px 1fr; gap: 1.1rem; align-items: start; }
@media (max-width: 820px) { .ct { grid-template-columns: 1fr; } }
.ct-menu { background: #fff; border: 1px solid #eceef4; border-radius: 14px; overflow: hidden; }
.ct-menu button { display: flex; align-items: center; gap: .6rem; width: 100%; text-align: left; border: none; background: none; padding: .75rem 1rem; font-size: .84rem; font-weight: 700; color: #475569; border-left: 3px solid transparent; cursor: pointer; }
.ct-menu button:hover { background: #f6f7fb; }
.ct-menu button.active { background: #eef2ff; color: var(--indigo); border-left-color: var(--indigo); }
.ct-menu i { width: 18px; }
.ct-menu .sep { border-top: 1px solid #f1f3f8; }

/* totalizadores do financeiro */
.fin-tot { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin-bottom: .8rem; }
.fin-tot .t { background: #fff; border: 1px solid #eceef4; border-radius: 12px; padding: .7rem; text-align: center; }
.fin-tot .l { font-size: .64rem; color: #98a1b3; font-weight: 800; text-transform: uppercase; }
.fin-tot .v { font-weight: 800; font-size: .95rem; color: var(--indigo); font-variant-numeric: tabular-nums; }
.fin-tot .v.neg { color: #b91c1c; }

/* timeline do pedido */
.tl { display: flex; align-items: flex-start; margin: .8rem 0 .4rem; }
.tl .st { flex: 1; text-align: center; position: relative; }
.tl .dot { width: 24px; height: 24px; border-radius: 50%; margin: 0 auto .3rem; display: flex; align-items: center; justify-content: center; font-size: .62rem; color: #fff; background: #cbd5e1; position: relative; z-index: 1; }
.tl .st.done .dot { background: var(--indigo); } .tl .st.cur .dot { background: #a855f7; box-shadow: 0 0 0 4px rgba(168,85,247,.18); }
.tl .lbl { font-size: .6rem; font-weight: 800; color: #98a1b3; } .tl .st.done .lbl, .tl .st.cur .lbl { color: var(--indigo); }
.tl .st::before { content: ""; position: absolute; top: 12px; left: -50%; width: 100%; height: 2px; background: #e2e8f0; }
.tl .st:first-child::before { display: none; } .tl .st.done::before, .tl .st.cur::before { background: var(--indigo); }

/* formulário de perfil / trocar senha */
.cp-form { max-width: 420px; }
.cp-lbl { display: block; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; color: var(--sub); margin: .6rem 0 .25rem; }
.cp-inp { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: .6rem .8rem; font-size: .92rem; outline: none; }
.cp-inp:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,.12); }
