/* app */
#appView{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--border);padding:18px 13px;z-index:30;display:flex;flex-direction:column}
.sidebar .brand{display:flex;align-items:center;gap:9px;padding:5px 7px 17px;border-bottom:1px solid var(--hair)}.sidebar .brand img{width:112px;height:52px;object-fit:contain}.sidebar .brand small{display:block;color:var(--muted)}
.nav{display:grid;gap:7px;margin-top:18px}.nav button{border:1px solid transparent;background:transparent;color:#4f6279;text-align:left;border-radius:10px;padding:11px 12px;font-weight:700;display:flex;align-items:center;gap:10px}.nav button:hover{background:#f2f7fd}.nav button.active{background:#eaf4ff;border-color:#c9e1fb;color:var(--brand)}
.nav .ico{font-size:18px;width:22px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--hair);padding-top:13px}.user-chip{padding:9px 8px}.user-chip strong{font-size:13px}.user-chip span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.sidebar-bottom button{width:100%;margin-top:7px;padding:9px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#4d6077}
.main{grid-column:2;min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 22px}
.topbar h1{font-size:18px;margin:0}.topbar p{font-size:11px;color:var(--muted);margin:3px 0 0}.top-actions{display:flex;gap:8px;align-items:center}
.content{padding:16px 20px 26px}.page{display:none}.page.active{display:block}
.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 3px 14px rgba(27,83,138,.04)}.panel.pad{padding:13px}
.section-title{font-size:13px;font-weight:800;margin:0 0 10px}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar .spacer{flex:1}.btn{border:1px solid var(--border);background:#fff;color:#42566e;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:750}.btn:hover{background:#f4f9ff}.btn.brand{background:var(--brand);color:white;border-color:var(--brand)}.btn.green{background:var(--green);color:white;border-color:var(--green)}.btn.red{color:var(--red);border-color:#f2b9b9}.btn.orange{color:#c45205;border-color:#ffcfae}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef5fd;color:#41627f}
.compbar{display:flex;align-items:center;gap:7px}.compbar select{border:1px solid var(--border);border-radius:9px;padding:7px 9px;background:#fff;font-weight:700;color:#36506c}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px 10px}.span2{grid-column:span 2}.span3{grid-column:span 3}.span4{grid-column:span 4}.span5{grid-column:span 5}.span6{grid-column:span 6}.span8{grid-column:span 8}.span9{grid-column:span 9}.span12{grid-column:span 12}
.inline-check{display:flex;align-items:center;gap:7px;height:39px;margin-top:21px;padding:0 9px;border:1px solid var(--border);border-radius:9px;background:#fff;font-size:12px;font-weight:700}.inline-check input{accent-color:var(--orange)}
.cards{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px;margin:10px 0}.card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:11px 12px;min-width:0}.card .k{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.card .v{font-size:18px;font-weight:850;margin-top:4px;white-space:nowrap}.card .s{font-size:10px;color:var(--muted);margin-top:2px}.v.blue{color:var(--brand)}.v.red{color:var(--red)}.v.green{color:var(--green)}.v.orange{color:var(--orange)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--border);max-height:49vh;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:1100px}
thead th{position:sticky;top:0;z-index:2;background:var(--brand);color:#fff;padding:9px 8px;text-align:left;font-size:11px;white-space:nowrap}tbody td{padding:8px;border-bottom:1px solid #edf4fb;white-space:nowrap;max-width:310px;overflow:hidden;text-overflow:ellipsis}tbody tr:nth-child(even){background:#f7fbff}tbody tr:hover{background:#eaf4ff}tbody tr.selected{background:#dceeff}
.money{text-align:right;font-variant-numeric:tabular-nums}.center{text-align:center}.type-pill{padding:4px 7px;border-radius:999px;font-size:10px;font-weight:850}.type-pill.receita{background:#e8f7ed;color:#097134}.type-pill.despesa{background:#fff0f0;color:#b42318}
.pay-toggle{width:26px;height:26px;border-radius:7px;border:1px solid var(--border);background:#fff;color:#6f8298;font-weight:bold}.pay-toggle.on{background:#e5f7eb;color:#078437;border-color:#a9dfba}
.filters{display:grid;grid-template-columns:180px minmax(220px,1fr) auto;gap:8px;margin-bottom:9px}.filters input,.filters select{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}
.empty{text-align:center!important;color:#7a8a9d;padding:30px!important}
.two-col{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(500px,1.25fr);gap:11px}.form-actions{display:flex;justify-content:space-between;gap:8px;margin-top:11px}
.list-table{max-height:64vh}.list-table table{min-width:760px}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,31,51,.38);display:grid;place-items:center;z-index:100;padding:20px}.modal{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(10,38,70,.25);border:1px solid var(--border)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--hair)}.modal-head h3{margin:0;font-size:16px}.modal-body{padding:16px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--hair)}
.report-sheet{display:none}
.hint{font-size:11px;color:var(--muted);line-height:1.4}.warning{padding:10px 12px;background:#fff8e7;border:1px solid #ffe0a0;border-radius:10px;font-size:12px;color:#7a4b00}
@media(max-width:1100px){:root{--sidebar:190px}.cards{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(6,1fr)}.span2,.span3{grid-column:span 2}.span4,.span5,.span6{grid-column:span 3}.span8,.span12{grid-column:span 6}.span9{grid-column:span 4}.two-col{grid-template-columns:1fr}}
@media(max-width:760px){#appView{grid-template-columns:1fr}.sidebar{display:none}.main{grid-column:1}.content{padding:12px}.cards{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 12px}.filters{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1!important}}
@media print{
  body{background:white}.local-header,.topbar,.no-print,.toast-wrap{display:none!important}.main{grid-column:1}.content{padding:0}.page{display:none!important}#page-caixa.active{display:block!important}
  #caixaFormPanel,#caixaToolbar,.filters,.form-actions{display:none!important}.cards{grid-template-columns:repeat(3,1fr)}.table-wrap{max-height:none;overflow:visible;border:0}table{min-width:0;font-size:9px}thead th{position:static;background:#0B66D7!important;color:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}tbody td{white-space:normal;max-width:none}.panel{border:0;box-shadow:none}.content:before{content:"Juzé Guinchos • Relatório de Caixa";font-weight:800;font-size:18px;display:block;margin-bottom:10px}
}


/* ===== FOTO DE USUÁRIO — 15/09/2026 ===== */
.settings-user-cell{display:flex;align-items:center;gap:8px;min-width:0}
.settings-user-avatar{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e9f4ff,#d7eaff);border:1px solid #bdd9f5;color:#0b66d7;font-size:9px;font-weight:800;letter-spacing:.03em}
.settings-user-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.settings-user-avatar.large{width:64px;height:64px;flex-basis:64px;font-size:18px;box-shadow:0 8px 22px rgba(21,89,157,.12)}
.user-photo-editor{padding:10px!important;border:1px solid #e1edf8;border-radius:10px;background:#f9fcff}
.user-photo-editor-row{display:flex;align-items:center;gap:12px}
.user-photo-editor-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.user-photo-editor-actions small{flex-basis:100%;color:#76879b;font-size:9px}
