@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap";:root{--color-primary:#2d434c;--color-secondary:#3f7186;--color-accent:#70a1b2;--color-bg-light:#eceef1;--color-bg-sand:#eaded1;--color-text-dark:#1a252a;--color-text-light:#f8f9fa;--color-text-muted:#667085;--color-success:#12b76a;--color-danger:#f04438;--color-warning:#f79009;--gradient-primary:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);--gradient-accent:linear-gradient(135deg, var(--color-secondary) 0%, var(--color-accent) 100%);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glass:0 8px 32px 0 #2d434c26;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s ease-in-out;--transition-normal:.3s ease-in-out;--font-family:"Open Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100vh;font-family:var(--font-family);color:var(--color-text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:url(/fundo%20vr.png) 50%/cover no-repeat fixed;overflow-x:hidden}.app-container{background:0 0;flex-direction:column;width:100%;max-width:100%;min-height:100vh;display:flex}@media (width>=768px){.app-container{background:0 0;justify-content:center;align-items:center}}.mobile-view{-webkit-backdrop-filter:blur(10px);background-color:#fffffff2;flex-direction:column;width:100%;height:100vh;display:flex}@media (width>=768px){.mobile-view{border-radius:var(--radius-xl);width:400px;height:85vh;box-shadow:var(--shadow-glass);border:1px solid #fff6;position:relative;overflow:hidden}}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:1rem;font-weight:600;font-family:var(--font-family);border:none;outline:none;justify-content:center;align-items:center;padding:12px 24px;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);color:var(--color-text-light);box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:var(--color-accent);color:var(--color-text-light)}.btn-outline{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.btn-full{width:100%}.form-group{flex-direction:column;margin-bottom:0;display:flex}.form-label{color:var(--color-text-muted);margin-bottom:2px;font-size:.875rem;font-weight:600}.form-control{box-sizing:border-box;border-radius:var(--radius-md);width:100%;min-width:0;font-size:1rem;font-family:var(--font-family);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-color:#fff;border:1px solid #d0d5dd;padding:12px 16px}.form-control:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #70a1b233}.app-header{background:var(--color-primary);color:var(--color-text-light);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.app-header h1{letter-spacing:-.5px;margin:0;font-size:1.25rem;font-weight:800}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out forwards fadeIn}.grid-2-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-2-cols>div{min-width:0}.drop-area{border:1.5px dashed var(--color-accent);border-radius:var(--radius-md);text-align:center;transition:var(--transition-fast);color:var(--color-text-muted);background:#ffffff80;padding:12px;font-size:.8rem}.drop-area:hover{border-color:var(--color-primary);background:#ffffffe6}.drop-area input[type=file]{width:100%;font-size:.75rem}.card-group{background:var(--color-bg-light);border-radius:var(--radius-lg);border:1px solid #0000000d;margin-top:8px;padding:16px;box-shadow:inset 0 2px 4px #00000005}.card-group-title{color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.85rem;font-weight:700}.toggle-group{background:var(--color-bg-light);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.toggle-group label{text-align:center;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-md);transition:var(--transition-fast);flex:1;padding:8px;font-size:.9rem;font-weight:600}.toggle-group input[type=radio]{display:none}.toggle-group input[type=radio]:checked+label{color:var(--color-primary);box-shadow:var(--shadow-sm);background:#fff}.toggle-group input[value=Pago]:checked+label{color:var(--color-success)}.toggle-group input[value=A\ Pagar]:checked+label{color:var(--color-warning)}.switch-container{justify-content:flex-end;align-items:center;gap:8px;display:flex}.switch-label-text{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.switch{width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);background-color:#fff;border-radius:50%;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--color-secondary)}input:checked+.slider:before{transform:translate(20px)}.sticky-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#fffffff2;border-top:1px solid #0000000d;margin:16px -16px -16px;padding:16px;position:sticky;bottom:-16px}@media (width<=767px){.form-control{padding:6px 8px;font-size:.9rem}.form-label{margin-bottom:2px;font-size:.8rem}.grid-2-cols{gap:8px}.grid-uploads{grid-template-columns:1fr}}@media (width>=768px){.grid-uploads{grid-template-columns:1fr 1fr;gap:12px;display:grid}}.export-modal-overlay{z-index:1000;opacity:0;pointer-events:none;background:#00000080;flex-direction:column;justify-content:flex-end;transition:opacity .3s;display:flex;position:fixed;inset:0}.export-modal-overlay.active{opacity:1;pointer-events:auto}.export-modal-sheet{background:#fff;border-radius:20px 20px 0 0;padding:24px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform:translateY(100%)}.export-modal-overlay.active .export-modal-sheet{transform:translateY(0)}@media (width>=768px){.export-modal-overlay{justify-content:center;align-items:center}.export-modal-sheet{border-radius:16px;width:400px;transform:translateY(20px)scale(.95)}.export-modal-overlay.active .export-modal-sheet{transform:translateY(0)scale(1)}}.export-option-btn{cursor:pointer;background:#f8f9fa;border:1px solid #e4e7ec;border-radius:12px;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:16px;transition:all .2s;display:flex}.export-option-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);background:#fff}.export-option-icon{font-size:24px}.export-option-text{text-align:left}.export-option-text strong{color:var(--color-text-dark);font-size:1rem;display:block}.export-option-text span{color:var(--color-text-muted);font-size:.8rem;display:block}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:20px;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg);background:#fff;max-height:90vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{color:var(--color-text-dark);margin:0;font-size:1.25rem}.btn-icon{cursor:pointer;background:0 0;border:none;padding:6px;font-size:1.1rem}.btn-sm{padding:6px 12px;font-size:.85rem}.form-input{border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-family);background-color:#fff;border:1px solid #d0d5dd;padding:10px 14px}.form-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #70a1b233}.report-table th,.report-table td{text-align:left;border-bottom:1px solid #f2f4f7;padding:12px 16px;font-size:.9rem}.report-table th{color:var(--color-text-muted);background:#f8f9fa;font-weight:600}.status-badge{border-radius:var(--radius-full);padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.status-paid{color:#027a48;background:#ecfdf3}.status-unpaid{color:#b42318;background:#fef3f2}
