:root{--primary-color: #4361ee;--secondary-color: #3f37c9;--accent-color: #4cc9f0;--success-color: #4caf50;--warning-color: #ff9800;--danger-color: #f44336;--light-color: #f8f9fa;--dark-color: #212529;--gray-color: #6c757d;--border-radius: 0.5rem;--box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--transition: all 0.3s ease}body{font-family:'Karla', sans-serif;color:var(--dark-color);background-color:#f9fafb}.header{background-color:white;padding:0.75rem 0}.navbar-brand{font-weight:700;color:var(--primary-color)}.spendalyze-brand span{font-size:3.5rem;font-weight:900;letter-spacing:-0.03em}.nav-link{font-weight:500;color:var(--dark-color);transition:var(--transition);padding:0.5rem 1rem;border-radius:var(--border-radius);margin:0 0.25rem}.nav-link:hover,.nav-link.active{color:var(--primary-color);background-color:rgba(67,97,238,0.05)}.password-row{display:flex;align-items:center;gap:0.5em}.password-row .form-control{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}.btn-outline-secondary span[data-password-target="toggle"]{font-size:2em;line-height:1;vertical-align:middle}.btn{font-weight:400;border-radius:var(--border-radius);padding:0.5rem 1.25rem;transition:var(--transition)}.btn-primary{background-color:#1e90ff;border-color:#1e90ff}.btn-primary:hover{background-color:#187bcd;border-color:#187bcd}.btn-outline-primary{color:#1e90ff;border-color:#1e90ff}.btn-outline-primary:hover{background-color:var(--primary-color);border-color:var(--primary-color)}.admin-dashboard-btn:hover,.admin-dashboard-btn:focus{background-color:#1e90ff !important;color:#fff !important;border-color:#1e90ff !important}.card{border:none;border-radius:var(--border-radius);box-shadow:var(--box-shadow);transition:var(--transition);overflow:hidden;font-weight:700}.receipts-table tbody tr{font-weight:400;font-size:1.2em}.receipts-table .table-sm,.receipts-table .table-sm tbody tr,.receipts-table .table-sm td,.receipts-table .table-sm th{font-size:1em !important}.receipts-table .comment-text,.receipts-table .add-comment{font-size:1em !important}.comment-text{font-size:1.25em}.receipts-table tbody tr .comment-text,.receipts-table tbody tr .add-comment{font-size:1em !important}.admin-dashboard .card:hover{background-color:#1e90ff !important;color:#fff}.card:hover{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.1);transform:translateY(-2px)}.card-header{background-color:white;border-bottom:1px solid rgba(0,0,0,0.05);font-weight:600}.card-header.bg-primary{background-color:var(--primary-color) !important}.form-control,.form-select{border-radius:var(--border-radius);padding:0.75rem 1rem;border:1px solid rgba(0,0,0,0.1)}.floating-label-group{position:relative;margin-bottom:0;flex:1 1 0;min-width:0}.floating-label-group .form-control{padding:1.15rem 1rem 0.5rem 1rem;height:48px;box-sizing:border-box}.floating-label{position:absolute;top:50%;left:1rem;color:#6c757d;font-size:1rem;font-weight:400;pointer-events:none;background:#fff;padding:0 0.2em;transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);line-height:1.2;z-index:2;transform:translateY(-50%)}.floating-label-group .form-control:not(:-moz-placeholder-shown)+.floating-label{top:-0.4rem;left:0.8rem;font-size:0.85rem;color:#2563eb;font-weight:600;background:#fff;padding:0 0.35em;z-index:3;transform:none;pointer-events:none}.floating-label-group .form-control:focus+.floating-label,.floating-label-group .form-control:not(:placeholder-shown)+.floating-label{top:-0.4rem;left:0.8rem;font-size:0.85rem;color:#2563eb;font-weight:600;background:#fff;padding:0 0.35em;z-index:3;transform:none;pointer-events:none}.floating-label-group .form-control{border-radius:var(--border-radius)}.floating-label-group .form-control:focus{border-color:#2563eb;box-shadow:0 0 0 0.08rem #2563eb33}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 0.25rem rgba(67,97,238,0.25)}.form-label{font-weight:500;margin-bottom:0.5rem}.table{border-radius:var(--border-radius);overflow:hidden}.table thead th{background-color:rgba(67,97,238,0.05);border-bottom:none;font-weight:600}.alert{border-radius:var(--border-radius);border:none}.footer{background-color:white !important;border-top:1px solid rgba(0,0,0,0.05)}.footer h5{font-weight:700;color:var(--primary-color)}.footer a{color:var(--dark-color);transition:var(--transition)}.footer a:hover{color:var(--primary-color)}.receipt-card{height:100%}.receipt-card .card-img-top{height:200px;-o-object-fit:cover;object-fit:cover}.pdf-preview{padding:2rem;background-color:#f8f9fa;border-radius:var(--border-radius);text-align:center}.bg-light-blue{background-color:#f0f8ff !important}.bg-light-gray{background-color:#f8f9fa !important}.sort-icon{font-size:1rem !important;margin-left:0.3rem;color:#0d6efd}.sort-icon.fw-bold{font-size:1.25rem !important;font-weight:900 !important}.sort-icon.bi-arrow-down-up{opacity:0.8;font-size:1rem !important}.table-hover tbody tr.bg-light-blue:hover{background-color:#e6f2ff !important}.table-hover tbody tr.bg-light-gray:hover{background-color:#eef0f2 !important}.pagination{gap:0.25rem}.pagination .page-item{margin:0 0.125rem}.square-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0 !important}.form-select.form-select-sm{padding-right:calc(0.75rem + 20px) !important}th[style*="cursor: pointer"]{position:relative}th[style*="cursor: pointer"]:hover{background-color:#f0f7ff}th[style*="cursor: pointer"] a:hover{color:#0d6efd !important}@media (max-width: 768px){.navbar-nav{margin-top:1rem}.nav-link{margin:0.25rem 0}}.dropdown-menu.show{display:block;position:absolute;z-index:1000}.dropdown-menu{margin-top:0.125rem}.dropdown-item:active,.dropdown-item:focus{background-color:rgba(var(--bs-primary-rgb), 0.1)}.dropdown-item.border-0{text-align:left;background:none;cursor:pointer;width:100%}@media (max-width: 767.98px){.navbar .user-info{margin-bottom:10px;display:block;width:100%;text-align:center}.navbar .btn-group{display:flex;justify-content:center;margin-bottom:10px}}.comment-display{transition:color 0.2s ease;font-weight:400}.comment-display:hover{color:#0d6efd !important}.comment-edit .input-group{min-width:200px}.comment-edit .btn{padding:0.25rem 0.5rem}.comment-edit .bi{font-size:0.875rem}.comment-bubble{position:relative;background:#f8f9fa;border-radius:1rem;padding:1rem;margin:0.5rem 0;box-shadow:0 2px 4px rgba(0,0,0,0.1);max-width:100%}.comment-bubble:after{content:'';position:absolute;top:0;left:1rem;width:0;height:0;border:10px solid transparent;border-bottom-color:#f8f9fa;border-top:0;margin-top:-10px}.comment-bubble .input-group{margin-bottom:0.5rem}.comment-bubble input{border-radius:0.5rem;border:1px solid #dee2e6;padding:0.5rem;font-size:0.9rem}.comment-bubble .btn-group{display:flex;gap:0.5rem;justify-content:flex-end}.comment-bubble .btn{padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.9rem;min-width:60px;font-weight:400}.comment-bubble .btn-success{background-color:#198754;border-color:#198754}.comment-bubble .btn-danger{background-color:#dc3545;border-color:#dc3545}.comment-text{color:#6c757d;font-size:0.9rem;line-height:1.4;cursor:pointer;transition:color 0.2s ease;padding:0.25rem 0;font-weight:400}.receipts-show .table tbody tr td{font-weight:400 !important}.receipts-show .table tbody tr td span{font-weight:400 !important}.receipts-show .comment-display{font-weight:400 !important}.receipts-show .table tbody tr td.fw-bold{font-weight:400 !important}.card .table tbody tr td{font-weight:400 !important}.card .table tbody tr td span{font-weight:400 !important}.card .comment-display{font-weight:400 !important}.table tbody tr td{font-weight:400 !important}.table tbody tr td span{font-weight:400 !important}.comment-text:hover{color:#0d6efd}.add-comment{color:#0d6efd;font-size:0.9rem;cursor:pointer;transition:opacity 0.2s ease;padding:0.25rem 0}.add-comment:hover{opacity:0.8}@media (max-width: 767.98px){.comment-bubble{padding:0.75rem}.comment-bubble .btn{padding:0.4rem 0.8rem;font-size:0.85rem}.comment-bubble input{padding:0.4rem;font-size:0.85rem}}.comment-flash-success{background-color:#d1e7dd !important;transition:background-color 0.5s}.smaller-heading{font-size:1.35rem;font-weight:700;line-height:1.2}.card-flash-success{background-color:#e9fbe5 !important;transition:background-color 1.5s}
