@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-color:#f8fafc;--surface-color:#fff;--text-primary:#0f172a;--text-secondary:#64748b;--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--border-color:#e2e8f0;--danger-color:#ef4444;--danger-hover:#dc2626;--success-color:#10b981;--shadow-sm:0 1px 2px 0 #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;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app-container{min-height:100vh;display:flex}.sidebar{background-color:var(--surface-color);border-right:1px solid var(--border-color);width:260px;box-shadow:var(--shadow-sm);z-index:10;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sidebar.collapsed{width:80px}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:80px;padding:24px 20px;display:flex}.sidebar-brand{color:var(--primary-color);letter-spacing:-.5px;background:linear-gradient(90deg,#2563eb,#3b82f6);-webkit-text-fill-color:transparent;white-space:nowrap;opacity:1;-webkit-background-clip:text;font-size:1.5rem;font-weight:800;transition:opacity .2s;overflow:hidden}.sidebar.collapsed .sidebar-brand{opacity:0;width:0;display:none}.sidebar-toggle{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-md);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.sidebar-toggle:hover{background-color:var(--bg-color);color:var(--primary-color)}.sidebar-nav{flex-direction:column;gap:8px;padding:20px 16px;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-md);transition:var(--transition);white-space:nowrap;align-items:center;gap:14px;padding:12px 16px;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.sidebar.collapsed .nav-link{justify-content:center;padding:12px}.sidebar.collapsed .nav-text{display:none}.nav-link:hover{background-color:var(--primary-light);color:var(--primary-color);transform:translate(4px)}.sidebar.collapsed .nav-link:hover{transform:translateY(-2px)}.nav-link.active{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px #2563eb33}.nav-link.active:hover{transform:none}.main-content{background-image:radial-gradient(#e2e8f0 1px,#0000 1px);background-size:20px 20px;flex:1;padding:40px;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.5px;font-size:1.875rem;font-weight:700}.card{background-color:var(--surface-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:var(--transition);border:1px solid #fffc;margin-bottom:32px;padding:28px}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{text-align:left;border-bottom:2px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:16px 20px;font-size:.875rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-primary);padding:16px 20px;transition:background-color .2s}.data-table tbody tr:hover td{background-color:#f8fafc}.data-table tbody tr:last-child td{border-bottom:none}.form-group{margin-bottom:20px}.form-label{color:var(--text-primary);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.form-input{border:1.5px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background-color:var(--bg-color);transition:var(--transition);padding:12px 16px;font-family:inherit;font-size:.95rem}.form-input:focus{border-color:var(--primary-color);background-color:var(--surface-color);outline:none;box-shadow:0 0 0 4px #2563eb1a}textarea.form-input{resize:vertical;min-height:120px}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-color) 0%, #1d4ed8 100%);color:#fff;box-shadow:0 4px 6px #2563eb33}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 12px #2563eb4d}.btn-primary:active{transform:translateY(0)}.btn-danger{background:linear-gradient(135deg, var(--danger-color) 0%, #b91c1c 100%);color:#fff;box-shadow:0 4px 6px #ef444433}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 12px #ef44444d}.badge{letter-spacing:.3px;text-transform:uppercase;border-radius:9999px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-block}.badge-pending{color:#b45309;background-color:#fef3c7;border:1px solid #fde68a}.badge-paid{color:#15803d;background-color:#dcfce7;border:1px solid #bbf7d0}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.checkbox-input{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0f172a66;justify-content:center;align-items:center;animation:.2s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.modal{background-color:var(--surface-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.3s ease-out forwards slideUp;display:flex}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:700}.modal-close{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-md);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.modal-close:hover{background-color:var(--bg-color);color:var(--danger-color)}.modal-body{padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.btn-secondary{background-color:var(--bg-color);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color);color:var(--text-primary)}.pagination{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.pagination-controls{gap:8px;display:flex}.page-btn{border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);padding:8px 12px;font-weight:500}.page-btn:hover:not(:disabled){background-color:var(--primary-light);color:var(--primary-color);border-color:var(--primary-color)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--text-secondary);font-size:.875rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}
