[x-cloak],[data-cloak]{display:none!important}.app-shell{min-height:100vh}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:rgba(24,20,16,.58);backdrop-filter:blur(8px)}.modal-backdrop.hidden{display:none!important}.modal-card{width:min(100%,720px);max-height:92vh;overflow:auto;border:1px solid var(--border);border-radius:1.5rem;background:var(--card);box-shadow:0 24px 80px rgba(25,18,11,.25);padding:1.5rem}.modal-card.wide{width:min(100%,980px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.icon-button{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:.8rem;color:var(--muted-foreground);background:var(--card)}.icon-button:hover{background:var(--muted);color:var(--foreground)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid transparent;border-radius:.85rem;padding:.72rem 1rem;font-size:.85rem;font-weight:800;transition:transform .14s ease,background .16s ease,border-color .16s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{filter:brightness(.95)}.btn-outline{border-color:var(--border);background:var(--card);color:var(--foreground)}.btn-outline:hover{background:var(--muted)}.btn-danger{border-color:#fecdd3;background:#fff1f2;color:#be123c}.btn-sm{padding:.5rem .7rem;font-size:.75rem}.form-control,.form-select{width:100%;border:1px solid var(--input);border-radius:.75rem;background:var(--card);padding:.7rem .8rem;color:var(--foreground);outline:none}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(236,82,28,.12)}.form-label{display:block;margin-bottom:.4rem;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}.form-hint{margin-top:.35rem;font-size:.72rem;color:var(--muted-foreground)}.toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:120;max-width:380px;border-radius:1rem;padding:1rem 1.15rem;background:#181817;color:#fff;box-shadow:0 15px 45px rgba(0,0,0,.25);font-size:.85rem;font-weight:700}.toast.error{background:#9f1239}.nav-section{margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);padding-top:1.25rem}.nav-section-title{margin:0 0 .7rem;padding:0 .75rem;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3)}.line-item{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px auto;gap:.65rem;align-items:end}.payment-row{display:grid;grid-template-columns:1fr 110px 90px auto;gap:.65rem;align-items:end}.detail-card{border-radius:1rem;background:var(--muted);padding:1rem}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .55rem;font-size:.7rem;font-weight:800}.chip-orange{background:rgba(236,82,28,.1);color:var(--primary)}.chip-green{background:#ecfdf5;color:#047857}.chip-amber{background:#fffbeb;color:#b45309}.chip-red{background:#fff1f2;color:#be123c}.mobile-only{display:none}@media(max-width:1023px){.mobile-only{display:grid}.desktop-sidebar{transform:translateX(-100%)}.desktop-sidebar.open{transform:translateX(0)}.content-offset{margin-left:0!important}.line-item,.payment-row{grid-template-columns:1fr 1fr}.line-item .remove-line,.payment-row .remove-line{grid-column:2}.modal-card{padding:1.1rem}}@media(max-width:640px){.modal-backdrop{padding:.5rem}.line-item,.payment-row{grid-template-columns:1fr}.line-item .remove-line,.payment-row .remove-line{grid-column:auto}.modal-card{border-radius:1rem}.stat-card{padding:1.15rem}.page-content{padding:1rem!important}}

/* Sidebar desktop: o conteúdo nunca fica coberto quando o menu é recolhido. */
.sidebar-toggle { flex-shrink: 0; }
.desktop-sidebar { transition: transform .22s cubic-bezier(.23,1,.32,1); }
.sidebar-toggle { position: fixed; top: 1rem; left: 18.5rem; z-index: 70; display: grid !important; background: var(--card); box-shadow: 0 8px 24px rgba(0,0,0,.14); }
.sidebar-close { display: grid; place-items: center; width: 2rem; height: 2rem; flex-shrink: 0; border: 1px solid rgba(255,255,255,.14); border-radius: .65rem; color: rgba(255,255,255,.62); background: rgba(255,255,255,.04); font-size: 1.25rem; line-height: 1; transition: background .16s ease, color .16s ease, transform .14s ease; }
.sidebar-close:hover { color: #fff; background: rgba(236,82,28,.85); }
.sidebar-close:active { transform: scale(.96); }
.system-header-actions { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.system-date { display: inline-flex; align-items: center; white-space: nowrap; border: 1px solid var(--border); border-radius: 999px; background: var(--card); padding: .375rem .75rem; color: var(--muted-foreground); font-size: .75rem; font-weight: 700; }
.date-short { display: none; }
.page-header-content { padding-left: 5.5rem !important; min-width: 0; }
.purchase-line { display: grid; grid-template-columns: minmax(0, 1fr) 140px auto; gap: .65rem; align-items: end; }
@media (min-width: 1024px) {
  body.sidebar-collapsed .desktop-sidebar { transform: translateX(-100%) !important; }
  body.sidebar-collapsed .content-offset { margin-left: 0 !important; }
  body.sidebar-collapsed .sidebar-toggle { left: 1rem; background: var(--primary); color: #fff; border-color: var(--primary); }
}
@media (max-width: 1023px) {
  .sidebar-toggle { display: grid; }
  .purchase-line { grid-template-columns: 1fr 1fr; }
  .purchase-line .remove-line { grid-column: 2; }
}
@media (max-width: 640px) {
  .system-header-actions { gap: .35rem; }
  .system-date { padding: .35rem .5rem; font-size: .65rem; }
  .date-full { display: none; }
  .date-short { display: inline; }
  .purchase-line { grid-template-columns: 1fr; }
  .purchase-line .remove-line { grid-column: auto; }
}
