@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Special+Elite&display=swap";.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;font-family:Special Elite,cursive;color:#4a3520}.vintage-loader{width:50px;height:50px;border:3px solid #d4b895;border-top:3px solid #8b4513;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-text{font-family:Special Elite,cursive;color:#4a3520;margin-top:.5rem;font-size:1.1rem}.book-list-container{max-width:1400px;margin:2rem auto;padding:2rem;background-color:#f4e6d4;border:2px solid #8b4513;box-shadow:3px 3px 6px #8b451333}.book-list-title{font-family:Playfair Display,serif;color:#4a3520;text-align:center;margin-bottom:2rem;font-size:2.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;padding:1rem}.book-card{background-color:#fff5e6;border:1px solid #8b4513;padding:1.5rem;box-shadow:2px 2px 4px #8b45131a;display:flex;flex-direction:column;transition:transform .3s ease;height:100%}.book-card:hover{transform:translateY(-4px)}.book-image{height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:1rem;background-color:#f8f4e5;border:1px solid #d4b895}.book-image img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s ease}.book-card:hover .book-image img{transform:scale(1.05)}.book-title{font-family:Playfair Display,serif;color:#4a3520;margin:0 0 .75rem;font-size:1.25rem;font-weight:600;line-height:1.3;height:2.6rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-details{flex:1;font-family:Special Elite,cursive;display:flex;flex-direction:column;justify-content:space-between}.book-details p{margin:.5rem 0;color:#4a3520}.status-badge{display:inline-block;padding:.25rem .5rem;margin-left:.5rem;border-radius:4px;font-size:.9rem}.status-available{background-color:#dcfce7;color:#166534;border:1px solid #166534}.status-unavailable{background-color:#fee2e2;color:#991b1b;border:1px solid #991b1b}.delete-button{margin-top:auto;padding:.75rem;background-color:#991b1b;color:#f4e6d4;border:none;font-family:Special Elite,cursive;cursor:pointer;transition:all .3s ease}.delete-button:disabled{background-color:#6c757d;cursor:not-allowed}.loading-container,.error-container,.no-books{text-align:center;padding:2rem;font-family:Special Elite,cursive;color:#4a3520}.error-container{background-color:#fee2e2;color:#991b1b;border:1px solid #991b1b}.book-image.no-image{position:relative;background-color:#e2d5c3;display:flex;align-items:center;justify-content:center}.book-image.no-image:after{content:"No Image";color:#8b4513;font-style:italic;font-family:Special Elite,cursive}.archive-button{margin-top:auto;padding:.75rem;background-color:#805a3b;color:#f4e6d4;border:none;font-family:Special Elite,cursive;cursor:pointer;transition:all .3s ease}.archive-button:hover:not(:disabled){background-color:#6a4a30}.archive-button:disabled{background-color:#6c757d;cursor:not-allowed}.status-archived{background-color:#e2e2fe;color:#5a5a7a;border:1px solid #5a5a7a}.archived-book{opacity:.7}.book-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.show-archived-label{display:flex;align-items:center;gap:.5rem;font-family:Special Elite,cursive;color:#4a3520}.show-archived-checkbox{width:1.2rem;height:1.2rem}@media (max-width: 768px){.book-list-container{margin:1rem;padding:1rem}.book-list-title{font-size:2rem}.books-grid{gap:1rem}}@media (max-width: 480px){.book-list-container{margin:.5rem;padding:.75rem}.book-list-title{font-size:1.5rem}}.book-form-container{max-width:600px;margin:2rem auto;padding:2rem;background-color:#f4e6d4;border:2px solid #8b4513;box-shadow:3px 3px 6px #8b451333}.error-message{background-color:#fee2e2;color:#991b1b;padding:1rem;margin-bottom:1.5rem;border:1px solid #991b1b;font-family:Special Elite,cursive;text-align:center}.book-form{display:flex;flex-direction:column;gap:1.5rem}.form-input{padding:.75rem;border:1px solid #8b4513;background-color:#fff5e6;font-family:Special Elite,cursive;color:#4a3520;font-size:1rem;transition:all .3s ease}.submit-button{padding:.75rem;background-color:#8b4513;color:#f4e6d4;border:none;font-family:Special Elite,cursive;font-size:1rem;cursor:pointer;transition:all .3s ease;margin-top:1rem}.photo-upload-container{display:flex;flex-direction:column;gap:1rem}.photo-input{font-family:Special Elite,cursive;color:#4a3520}.photo-preview{margin-top:.5rem;max-width:100%;border:1px dashed #8b4513;padding:.5rem}.photo-preview img{max-width:100%;max-height:150px;object-fit:contain}@media (max-width: 768px){.book-form-container{margin:1rem;padding:1.5rem}.form-title{font-size:1.75rem}}@media (max-width: 480px){.book-form-container{margin:.5rem;padding:1rem}.form-title{font-size:1.5rem}}.form-input[type=number]{padding-right:.5rem;text-align:right}.book-value{font-weight:400;color:#4a3520}.expense-note{color:#c62828;font-style:italic;margin-left:5px}.issue-return-container{max-width:800px;margin:2rem auto;padding:2rem;background-color:#f4e6d4;border:2px solid #8b4513;box-shadow:3px 3px 6px #8b451333}.message{padding:1rem;margin-bottom:1.5rem;font-family:Special Elite,cursive;text-align:center}.error{background-color:#fee2e2;color:#991b1b;border:1px solid #991b1b}.success{background-color:#dcfce7;color:#166534;border:1px solid #166534}.operation-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-family:Special Elite,cursive;color:#4a3520}.radio-group{display:flex;gap:2rem}.radio-label{display:flex;align-items:center;gap:.5rem;font-family:Special Elite,cursive;color:#4a3520;cursor:pointer}.form-select,.form-input{padding:.75rem;border:1px solid #8b4513;background-color:#fff5e6;font-family:Special Elite,cursive;color:#4a3520;width:100%}.form-select:focus,.form-input:focus{outline:none;border-color:#4a3520;box-shadow:0 0 0 2px #4a352033}.submit-button{padding:.75rem;background-color:#8b4513;color:#f4e6d4;border:none;font-family:Special Elite,cursive;cursor:pointer;transition:all .3s ease}.book-info{margin-top:2rem;padding:1.5rem;background-color:#fff5e6;border:1px solid #8b4513}.book-info h3{font-family:Playfair Display,serif;color:#4a3520;margin-bottom:1rem}.book-info p{font-family:Special Elite,cursive;margin-bottom:.5rem;color:#4a3520}.reminder-section{margin-top:2rem;padding:1.5rem;background-color:#fff5e6;border:1px solid #8b4513}.reminder-toggle{padding:.5rem 1rem;background-color:#8b4513;color:#f4e6d4;border:none;font-family:Special Elite,cursive;cursor:pointer;margin:1rem 0;transition:all .3s ease}.reminder-form{margin-top:1rem}.form-hint{font-size:.875rem;color:#666;font-family:Special Elite,cursive}.operation-toggle{display:flex;justify-content:center;margin-bottom:2rem;gap:1rem}.toggle-button{padding:.75rem 2rem;font-family:Special Elite,cursive;border:2px solid #8b4513;background:none;cursor:pointer;transition:all .3s ease}.toggle-button.active{background-color:#8b4513;color:#f4e6d4}.borrowed-books-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #8b4513}.borrowed-books-list{list-style:none;padding:0;margin:1rem 0}.borrowed-book-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin:.5rem 0;background-color:#fff5e6;border:1px solid #8b4513}.book-title{font-weight:700;flex:2}.book-author{flex:1;text-align:center;font-style:italic;color:#666}.issue-date{flex:1;text-align:right}.success-message{background-color:#dcfce7;color:#166534;padding:1rem;margin-bottom:1.5rem;border:1px solid #166534;font-family:Special Elite,cursive;text-align:center}.no-books-message{text-align:center;font-style:italic;color:#666}@media (max-width: 768px){.issue-return-container{margin:1rem;padding:1rem}.page-title{font-size:1.5rem}.radio-group{flex-direction:column;gap:1rem}.book-info,.reminder-section{padding:1rem}}@media (max-width: 480px){.issue-return-container{margin:.5rem;padding:.75rem}}.users-container{padding:2rem;max-width:1200px;margin:0 auto;background-color:#f4e6d4;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23d4b895' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E")}.users-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;border-bottom:2px solid #8b4513;padding-bottom:1rem}.users-title{font-family:Playfair Display,serif;font-size:2.5rem;color:#4a3520;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.refresh-button{font-family:Special Elite,cursive;padding:.75rem 1.5rem;background-color:#8b4513;color:#f4e6d4;border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:2px 2px 4px #0003}.table-wrapper{background-color:#fff5e6;border:1px solid #8b4513;box-shadow:3px 3px 6px #0000001a;border-radius:0;overflow:hidden}.vintage-table th{background-color:#8b4513;color:#f4e6d4;padding:1rem;text-align:left;font-weight:400;border-bottom:1px solid #d4b895}.vintage-table tr:hover{background-color:#8b45130d}.balance-badge{font-family:Special Elite,cursive;padding:.25rem .75rem;border:1px solid;display:inline-block}.balance-badge.positive{background-color:#dcfce7;color:#166534;border-color:#166534}.balance-badge.negative{background-color:#fee2e2;color:#991b1b;border-color:#991b1b}.delete-button{font-family:Special Elite,cursive;padding:.75rem 1.5rem;background-color:#991b1b;color:#f4e6d4;border:none;cursor:pointer;transition:all .3s ease}.delete-button:hover:not(:disabled){background-color:#7c1515}.delete-button:disabled{opacity:.5;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-family:Special Elite,cursive;color:#4a3520}.error-container{max-width:400px;margin:4rem auto;padding:2rem;text-align:center;background-color:#fff5e6;border:1px solid #8b4513;font-family:Special Elite,cursive}.error-text{color:#991b1b;margin:1rem 0}.retry-button{font-family:Special Elite,cursive;padding:.75rem 1.5rem;background-color:#8b4513;color:#f4e6d4;border:none;cursor:pointer;transition:all .3s ease}.empty-message{text-align:center;padding:2rem!important;font-style:italic}@media (max-width: 768px){.users-container{padding:1rem}.users-header{flex-direction:column;gap:1rem;align-items:flex-start}.users-title{font-size:2rem;text-align:center;width:100%}.refresh-button{width:100%;justify-content:center}.vintage-table,.vintage-table tbody,.vintage-table tr{display:block;width:100%}.vintage-table thead{display:none}.vintage-table tr{margin-bottom:1rem;border:1px solid #d4b895;background-color:#fff5e6;box-shadow:2px 2px 4px #0000001a}.vintage-table td{display:flex;padding:.75rem;text-align:right;position:relative;border-bottom:1px solid rgba(212,184,149,.3)}.vintage-table td:last-child{border-bottom:none}.vintage-table td:before{content:attr(data-label);font-weight:700;text-align:left;width:40%;margin-right:auto}.delete-button{width:100%;justify-content:center;display:flex;align-items:center;gap:.5rem}.balance-badge{margin-left:auto}.table-wrapper{box-shadow:none;border:none;background-color:transparent}}@media (max-width: 480px){.users-container{padding:.5rem}.users-title{font-size:1.75rem}.vintage-table td{flex-direction:column;align-items:flex-start}.vintage-table td:before{width:100%;margin-bottom:.5rem}.balance-badge{margin-left:0;margin-top:.5rem}}.user-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-top:2rem}.user-detail-card{background-color:#fff5e6;border:1px solid #8b4513;border-radius:6px;overflow:hidden;font-family:Special Elite,cursive;box-shadow:2px 2px 4px #8b45131a}.user-card-header{display:flex;align-items:center;padding:1.5rem;background-color:#f4e6d4;border-bottom:1px solid #d4b895}.user-photo-container{width:80px;height:80px;border-radius:50%;overflow:hidden;margin-right:1.5rem;border:2px solid #8b4513}.user-photo{width:100%;height:100%;object-fit:cover}.user-photo-placeholder{width:100%;height:100%;background-color:#d4b895;color:#4a3520;display:flex;justify-content:center;align-items:center;font-size:2rem;font-weight:700}.user-header-info{flex-grow:1}.user-name{margin:0;font-family:Playfair Display,serif;font-size:1.5rem;color:#4a3520}.user-id{margin:.5rem 0 0;font-size:.9rem;color:#6b5742}.user-details{padding:1.5rem}.detail-row{display:flex;margin-bottom:.75rem;font-size:.95rem}.detail-label{width:40%;font-weight:700;color:#4a3520}.detail-value{width:60%;color:#6b5742}.detail-section{margin-top:1.5rem;border-top:1px solid #d4b895;padding-top:1.5rem}.detail-section h4{margin-top:0;margin-bottom:1rem;font-family:Playfair Display,serif;color:#4a3520}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700}.borrowed-books-list{list-style-type:none;padding:0;margin:0}.borrowed-book-item{background-color:#f8f4e5;padding:.75rem;margin-bottom:.75rem;border-left:3px solid #8b4513}.book-title{font-weight:700;color:#4a3520}.book-author{font-size:.85rem;color:#6b5742;margin:.25rem 0}.issue-date{font-size:.8rem;color:#8b4513;font-style:italic}.no-books-message{font-style:italic;color:#6b5742}.user-actions{display:flex;gap:.5rem;flex-wrap:wrap}.edit-button,.renew-button,.delete-button{font-family:Special Elite,cursive;padding:.5rem 1rem;border:none;cursor:pointer;transition:all .3s ease;font-size:.9rem}.edit-button{background-color:#2c5aa0;color:#f4e6d4}.edit-button:hover:not(:disabled){background-color:#1e3f73}.renew-button{background-color:#8b4513;color:#f4e6d4}.renew-button:hover:not(:disabled){background-color:#654321}.renew-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.delete-button{background-color:#d32f2f;color:#f4e6d4}.delete-button:hover:not(:disabled){background-color:#b71c1c}.delete-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}@media (max-width: 768px){.user-cards{grid-template-columns:1fr}.user-card-header{flex-direction:column;text-align:center}.user-photo-container{margin-right:0;margin-bottom:1rem}.detail-row{flex-direction:column}.detail-label,.detail-value{width:100%}.detail-value{margin-top:.25rem}}.user-form-container{max-width:500px;margin:2rem auto;padding:2rem;background-color:#f4e6d4;border:2px solid #8b4513;box-shadow:3px 3px 6px #8b451333}.form-title{font-family:Playfair Display,serif;color:#4a3520;text-align:center;margin-bottom:2rem;font-size:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.balance-info{background-color:#fff5e6;padding:1.5rem;border:1px solid #8b4513;margin-bottom:2rem;text-align:center;font-family:Special Elite,cursive}.initial-fee{font-size:1.1rem;color:#4a3520;margin-bottom:.5rem}.discount-amount{color:#2d5a27;margin-bottom:.5rem}.final-fee{font-size:1.2rem;font-weight:700;color:#2d5a27}.form-input{width:100%;padding:.75rem;border:1px solid #8b4513;background-color:#fff5e6;font-family:Special Elite,cursive;color:#4a3520;transition:all .3s ease}.form-hint{display:block;margin-top:.25rem;color:#6b5742;font-style:italic;font-size:.85rem}.coupon-input-group{display:flex;gap:1rem}.form-textarea{min-height:80px;resize:vertical}.validate-button{padding:.75rem 1.5rem;background-color:#8b4513;color:#f4e6d4;border:none;cursor:pointer;font-family:Special Elite,cursive;transition:all .3s ease}.validate-button:hover{background-color:#6b3410}.coupon-message{margin-top:.5rem;font-family:Special Elite,cursive}.coupon-message.success{color:#2d5a27}.coupon-message.error{color:#991b1b}.photo-preview{margin-top:.75rem;max-width:120px;border:1px solid #8b4513;padding:.25rem}.photo-preview img{width:100%;display:block}.submit-button{width:100%;padding:1rem;background-color:#8b4513;color:#f4e6d4;border:none;cursor:pointer;font-family:Special Elite,cursive;font-size:1.1rem;transition:all .3s ease;margin-top:1rem}.submit-button:hover{background-color:#6b3410;transform:translateY(-2px)}.error-message{color:#991b1b;background-color:#fee2e2;border:1px solid #991b1b;padding:1rem;margin-bottom:1rem;font-family:Special Elite,cursive;text-align:center}.file-input-container{margin-bottom:.5rem}.file-input{width:100%;padding:.5rem 0;font-family:Special Elite,cursive;color:#4a3520}input[type=file]::file-selector-button{border:1px solid #8b4513;padding:.5rem 1rem;margin-right:1rem;border-radius:0;background-color:#fff5e6;color:#4a3520;font-family:Special Elite,cursive;cursor:pointer;transition:all .3s ease}input[type=file]::file-selector-button:hover{background-color:#f4e6d4;border-color:#6b3410}.processing-indicator{color:#8b4513;font-style:italic;margin:8px 0;animation:pulse 1.5s infinite;font-family:Special Elite,cursive}.success-message{background-color:#d4edda;color:#155724;padding:12px 16px;border:1px solid #c3e6cb;border-radius:6px;margin-bottom:20px;font-weight:500;display:flex;align-items:center;animation:slideDown .3s ease-out}.success-message:before{content:"";margin-right:8px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submit-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.form-input:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@media (max-width: 768px){.user-form-container{margin:1rem;padding:1rem}.form-title{font-size:1.5rem}.coupon-input-group{flex-direction:column;gap:.5rem}.validate-button{width:100%}.form-input{padding:.5rem;font-size:.9rem}.balance-info{padding:1rem}}@media (max-width: 480px){.user-form-container{margin:.5rem;padding:.75rem}}.dashboard-container{padding:2rem;max-width:1200px;margin:0 auto;background-color:#f4e6d4;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23d4b895' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E")}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;border-bottom:2px solid #8b4513;padding-bottom:1rem;flex-wrap:wrap;gap:1rem}.dashboard-title{font-family:Playfair Display,serif;font-size:2.5rem;color:#4a3520;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.refresh-button{display:flex;align-items:center;gap:.5rem;font-family:Special Elite,cursive;padding:.75rem 1.5rem;background-color:#8b4513;color:#f4e6d4;border:none;border-radius:0;cursor:pointer;transition:all .3s ease;box-shadow:2px 2px 4px #0003}.refresh-button:hover{background-color:#6b3410;transform:translateY(-2px)}.refresh-button:disabled{background-color:#a67b5b;cursor:not-allowed}.refresh-icon-spinning{animation:spin 1s linear infinite;display:inline-block}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin-bottom:2rem}.stat-card{background-color:#fff5e6;padding:1.5rem;border:1px solid #8b4513;box-shadow:3px 3px 6px #0000001a;position:relative;overflow:hidden}.stat-card.clickable{cursor:pointer;transition:all .3s ease}.stat-card.clickable:hover{transform:translateY(-5px);box-shadow:0 10px 20px #8b451333}.stat-card.clickable:active{transform:translateY(0)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zM22.344 0L13.858 8.485 15.272 9.9l7.9-7.9h-.828zm5.656 0L17.515 10.485 18.93 11.9l7.9-7.9h-2.83zm5.656 0L23.172 12.485 24.586 13.9l7.9-7.9h-2.83zm5.656 0L28.828 14.485 30.242 15.9l7.9-7.9h-2.83zM32 0l-9.9 9.9 1.415 1.415 7.9-7.9h.585zm5.657 0L27.9 9.9l1.415 1.415L37 3.828V0h.657z' fill='%238b4513' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E")}.stat-header{display:flex;align-items:center;gap:.75rem;font-family:Playfair Display,serif;color:#4a3520;margin-bottom:1rem}.stat-icon{font-size:1.5rem}.stat-title{margin:0;font-size:1.25rem}.stat-amount{font-family:Special Elite,cursive;font-size:2rem;color:#8b4513;margin:.5rem 0}.stat-subtext{font-family:Special Elite,cursive;color:#6b5a4c;font-size:.9rem}.recent-activity{background-color:#fff5e6;padding:2rem;border:1px solid #8b4513;box-shadow:3px 3px 6px #0000001a}.activity-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.activity-title{font-family:Playfair Display,serif;color:#4a3520;font-size:1.75rem;margin-bottom:.5rem;margin-top:0}.table-container{border:1px solid #8b4513;margin-top:1.5rem}.table-wrapper{width:100%;overflow-x:auto}.vintage-table th{background-color:#8b4513;color:#f4e6d4;padding:1rem;text-align:left}.vintage-table td{padding:1rem;color:#4a3520;border-bottom:1px solid #d4b895}.balance-badge{display:inline-block;font-family:Special Elite,cursive;padding:.25rem .75rem;border-radius:0;font-size:.875rem;background-color:#f0e0c8}.balance-badge.positive{background-color:#4caf5033;color:#2e7d32}.balance-badge.negative{background-color:#f4433633;color:#c62828}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-family:Special Elite,cursive}.vintage-loader{width:50px;height:50px;border:4px solid #d4b895;border-top:4px solid #8b4513;border-radius:50%;animation:spin 1s linear infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;font-family:Special Elite,cursive;text-align:center;padding:2rem}.error-icon{font-size:3rem;margin-bottom:1rem}.error-text{font-size:1.25rem;color:#8b4513;margin-bottom:1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.dashboard-container{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.recent-activity{padding:1rem;margin-top:1rem}.activity-title{font-size:1.5rem}.stat-amount{font-size:1.75rem}.dashboard-title{font-size:2rem;margin-bottom:1rem}}@media (max-width: 480px){.dashboard-container{padding:.75rem}.dashboard-header{margin-bottom:1rem}.dashboard-title{font-size:1.5rem}.refresh-button{width:100%;justify-content:center}.stat-amount{font-size:1.5rem}.stat-card,.recent-activity{padding:1rem}.activity-title{font-size:1.25rem}.table-container{margin-top:1rem}.vintage-table th,.vintage-table td{padding:.75rem}.vintage-table thead{display:none}.vintage-table tbody tr{display:block;margin-bottom:1rem;border-bottom:2px solid #8b4513}.vintage-table tbody td{display:flex;justify-content:space-between;text-align:right;border-bottom:1px dotted #d4b895}.vintage-table tbody td:before{content:attr(data-label);font-weight:700;text-align:left}}.status-badge{font-family:Special Elite,cursive;padding:.25rem .75rem;border:1px solid;display:inline-block;border-radius:4px}.status-active{background-color:#dcfce7;color:#166534;border-color:#166534}.status-inactive{background-color:#fee2e2;color:#991b1b;border-color:#991b1b}.category-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.8rem;text-transform:capitalize;background-color:#f5e6d0}.category-badge.registration,.category-badge.renewal,.category-badge.fine,.category-badge.donation{background-color:#e8f5e9;color:#2e7d32}.category-badge.purchase,.category-badge.maintenance,.category-badge.utility,.category-badge.other{background-color:#ffebee;color:#c62828}.type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.type-badge.income{background-color:#e8f5e9;color:#2e7d32}.type-badge.expense{background-color:#ffebee;color:#c62828}.income-amount{color:#2e7d32;font-weight:600}.expense-amount{color:#c62828;font-weight:600}.view-all-btn{background-color:#4a3520;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:.8rem;align-self:flex-end;transition:background-color .2s}.view-all-btn:hover{background-color:#614631}.reminder-container{max-width:1200px;margin:0 auto;padding:2rem;background-color:#f4e6d4;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z' fill='%23d4b895' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E")}.reminder-title{font-family:Playfair Display,serif;color:#4a3520;text-align:center;margin-bottom:2rem;font-size:2.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.error-message{background-color:#ffebee;color:#c62828;padding:1rem;margin-bottom:1rem;border:1px solid #e57373;border-radius:4px;font-family:Special Elite,cursive;text-align:center}.no-books-message{text-align:center;padding:3rem;background-color:#fff5e6;border:1px solid #8b4513;box-shadow:3px 3px 6px #8b451333;font-family:Special Elite,cursive}.no-books-message .vintage-book-icon{font-size:3rem;margin-bottom:1rem}.no-books-message p{color:#4a3520;font-size:1.2rem;margin:0}.issued-books-list{display:grid;gap:1.5rem}.issued-book-card{background-color:#fff5e6;border:2px solid #8b4513;border-radius:8px;padding:1.5rem;box-shadow:3px 3px 8px #8b451333;display:grid;grid-template-columns:1fr 1fr auto;gap:1.5rem;align-items:center;font-family:Special Elite,cursive;transition:transform .2s ease}.issued-book-card:hover{transform:translateY(-2px);box-shadow:4px 4px 12px #8b45134d}.book-info{display:flex;gap:1rem;align-items:center}.book-image{width:60px;height:80px;border-radius:4px;overflow:hidden;border:1px solid #8b4513;flex-shrink:0}.book-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#d4b895;color:#4a3520;font-size:1.5rem}.book-details h3{margin:0 0 .5rem;color:#4a3520;font-size:1.2rem;line-height:1.3}.book-author{margin:0 0 .5rem;color:#6d4c29;font-style:italic}.book-amount{margin:0;color:#2c5aa0;font-weight:700}.user-info h4{margin:0 0 .5rem;color:#4a3520;font-size:1.1rem}.user-phone,.issue-date{margin:0 0 .5rem;color:#6d4c29}.due-date{margin:0 0 .5rem;color:#6d4c29;font-weight:500}.days-count{margin:0;font-weight:700;color:#2c5aa0;padding:.25rem .5rem;border-radius:4px;background-color:#2c5aa01a}.days-count.overdue{color:#fff;background-color:#d32f2f;animation:pulse 1.5s infinite}.days-count.due-soon{color:#fff;background-color:#ff9800;font-weight:700}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.actions{display:flex;flex-direction:column;gap:.5rem}.reminder-button{background-color:#8b4513;color:#f4e6d4;border:none;padding:.75rem 1.5rem;border-radius:4px;font-family:Special Elite,cursive;font-size:.9rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.reminder-button:hover:not(:disabled){background-color:#654321;transform:translateY(-1px)}.reminder-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;transform:none}@media (max-width: 768px){.reminder-container{padding:1rem}.reminder-title{font-size:2rem}.issued-book-card{grid-template-columns:1fr;gap:1rem;text-align:center}.book-info{justify-content:center}.actions{align-items:center}}@media (max-width: 480px){.reminder-title{font-size:1.8rem}.issued-book-card{padding:1rem}.book-info{flex-direction:column}.book-image{width:50px;height:65px}}.coupon-form{max-width:400px;margin:0 auto;padding:2rem;background-color:#fff5e6;border:2px solid #8b4513;box-shadow:3px 3px 6px #8b451333}.form-title{font-family:Playfair Display,serif;color:#4a3520;text-align:center;margin-bottom:2rem;font-size:1.75rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-family:Special Elite,cursive;color:#4a3520}.form-input{width:100%;padding:.75rem;border:1px solid #8b4513;background-color:#f4e6d4;font-family:Special Elite,cursive;color:#4a3520;transition:all .3s ease}.form-input:disabled{background-color:#e2d5c3;cursor:not-allowed}.submit-button{width:100%;padding:.75rem;background-color:#8b4513;color:#f4e6d4;border:none;font-family:Special Elite,cursive;cursor:pointer;transition:all .3s ease}.code-input-group{display:flex;gap:.5rem}.code-input-group .form-input{flex-grow:1}.generate-button{padding:.75rem 1rem;background-color:#8b4513;color:#f4e6d4;border:none;font-family:Special Elite,cursive;cursor:pointer;transition:all .3s ease;white-space:nowrap}.generate-button:hover{background-color:#6b3410}.form-note{margin:1rem 0;font-size:.9rem;color:#4a3520;font-style:italic}@media (max-width: 768px){.coupon-form{padding:1.5rem}.form-title{font-size:1.5rem}}@media (max-width: 480px){.coupon-form{padding:1rem}}.coupon-container{max-width:1200px;margin:2rem auto;padding:2rem;background-color:#f4e6d4;border:2px solid #8b4513;box-shadow:3px 3px 6px #8b451333}.error-message{background-color:#fee2e2;color:#991b1b;padding:1rem;margin-bottom:1rem;border:1px solid #991b1b;font-family:Special Elite,cursive}.table-wrapper{overflow-x:auto;background-color:#fff5e6;border:1px solid #8b4513;margin-top:1.5rem}.vintage-table{width:100%;border-collapse:collapse;font-family:Special Elite,cursive}.vintage-table th{background-color:#8b4513;color:#f4e6d4;padding:1rem;text-align:left;font-weight:400}.vintage-table td{padding:1rem;border-bottom:1px solid #d4b895;color:#4a3520}.vintage-table tr:hover{background-color:#f8f4e5}.status-badge{padding:.25rem .75rem;border-radius:4px;font-weight:700;display:inline-block}.status-active{background-color:#dcfce7;color:#166534;border:1px solid #166534}.status-inactive{background-color:#fee2e2;color:#991b1b;border:1px solid #991b1b}.status-used{background-color:#dbeafe;color:#1e40af;border:1px solid #1e40af}.status-expired{background-color:#f3e8ff;color:#6b21a8;border:1px solid #6b21a8}.status-pending{background-color:#fef3c7;color:#92400e;border:1px solid #92400e}.btn{padding:.5rem 1rem;border:none;font-family:Special Elite,cursive;cursor:pointer;transition:all .3s ease;color:#f4e6d4}.btn:hover{transform:translateY(-2px)}.btn-activate{background-color:#2d5a27}.btn-deactivate{background-color:#991b1b}.btn-delete{background-color:#991b1b;margin-left:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px;font-family:Special Elite,cursive;color:#4a3520}.mobile-view{display:none}.coupon-cards{margin-top:1.5rem}.coupon-card{background-color:#fff5e6;border:1px solid #8b4513;border-radius:6px;margin-bottom:1rem;overflow:hidden;font-family:Special Elite,cursive;cursor:pointer}.coupon-header{display:flex;justify-content:space-between;padding:1rem;background-color:#f8f4e5}.coupon-main-info{display:flex;align-items:center}.coupon-code{font-weight:700;margin-right:1rem;color:#4a3520}.coupon-discount{color:#2d5a27;font-weight:700}.coupon-status{display:flex;align-items:center}.expand-icon{margin-left:1rem;color:#8b4513;font-size:.8rem}.coupon-details{padding:1rem;border-top:1px solid #d4b895}.coupon-detail{margin-bottom:.5rem;display:flex;justify-content:space-between}.detail-label{font-weight:700;color:#4a3520}.coupon-actions{margin-top:1rem;display:flex;flex-wrap:wrap}.coupon-actions .btn{margin-right:.5rem;margin-bottom:.5rem}@media (max-width: 992px){.desktop-view{display:none}.mobile-view{display:block}}@media (max-width: 768px){.coupon-container{margin:1rem;padding:1rem}.page-title{font-size:1.5rem}.vintage-table th,.vintage-table td{padding:.75rem}.btn{padding:.4rem .8rem;font-size:.9rem}.action-buttons{display:flex;flex-direction:column}.action-buttons .btn{margin-bottom:.5rem;margin-left:0}}@media (max-width: 480px){.coupon-container{margin:.5rem;padding:.75rem}.coupon-header{flex-direction:column}.coupon-main-info{margin-bottom:.5rem}.coupon-status{justify-content:space-between}.coupon-detail{flex-direction:column}.detail-label{margin-bottom:.25rem}.coupon-actions{flex-direction:column}.coupon-actions .btn{width:100%;margin-right:0}}.coupon-actions{margin-top:1rem;display:flex;flex-direction:column;width:100%;gap:.5rem}.coupon-actions .btn{width:100%;margin:0;text-align:center;padding:.75rem 1rem;border-radius:4px;font-weight:700}.btn-activate,.btn-deactivate,.btn-delete{width:100%;display:block}.btn-delete{margin-left:0}@media (max-width: 480px){.coupon-detail{margin-bottom:.75rem}.coupon-status{margin-top:.5rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Special Elite,cursive;color:#4a3520}.login-container{min-height:100vh;width:100%;background-color:#f4e6d4;display:flex;align-items:center;justify-content:center;padding:1rem}.login-wrapper{display:flex;width:100%;max-width:1200px;height:600px;background-color:#fff5e6;box-shadow:0 10px 30px #8b451333;border-radius:8px;overflow:hidden}.login-image-section{flex:1;background-image:url(/api/placeholder/800/600);background-size:cover;background-position:center;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;background-color:#8b4513;background-image:linear-gradient(#8b4513e6,#8b4513b3),url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z' fill='%23fff' fill-opacity='0.2' fill-rule='evenodd'/%3E%3C/svg%3E")}.image-overlay{color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.image-tagline{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.image-subtitle{font-size:1.2rem;opacity:.9}.login-form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{width:100%;max-width:400px}.logo-container{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem}.logo-icon{font-size:2.5rem}.login-title{font-family:Playfair Display,serif;color:#4a3520;font-size:2rem;font-weight:700;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.login-form{display:flex;flex-direction:column;gap:1.5rem}.error-message{background-color:#fee2e2;color:#991b1b;padding:1rem;border:1px solid #991b1b;display:flex;align-items:center;gap:.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.form-label{color:#4a3520;font-size:.875rem}.form-input{padding:.75rem 1rem;border:1px solid #8b4513;background-color:#fff;color:#4a3520;border-radius:4px;transition:all .3s ease}.form-input:focus{outline:none;border-color:#4a3520;box-shadow:0 0 0 2px #4a352033}.form-input::placeholder{color:#8b4513;opacity:.6}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.remember-me{display:flex;align-items:center;gap:.5rem}.forgot-password,.signup-link{color:#8b4513;text-decoration:none;transition:all .3s ease}.forgot-password:hover,.signup-link:hover{color:#6b3410;text-decoration:underline}.submit-button{padding:.75rem;background-color:#8b4513;color:#f4e6d4;border:none;border-radius:4px;font-family:Special Elite,cursive;font-size:1rem;cursor:pointer;transition:all .3s ease}.submit-button:hover:not(:disabled){background-color:#6b3410;transform:translateY(-2px)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.loading-container{display:flex;gap:.5rem;justify-content:center}.loading-dot{width:8px;height:8px;background-color:#f4e6d4;border-radius:50%;animation:bounce .5s infinite alternate}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}.signup-option{text-align:center;font-size:.875rem;display:flex;gap:.5rem;justify-content:center}@keyframes bounce{to{transform:translateY(-4px)}}@media (max-width: 992px){.login-wrapper{height:auto;max-width:800px}.image-tagline{font-size:2rem}}@media (max-width: 768px){.login-wrapper{flex-direction:column}.login-image-section{height:200px;min-height:200px}.login-form-section{padding:2rem 1.5rem}.image-tagline{font-size:1.75rem}}@media (max-width: 480px){.login-container{padding:0}.login-wrapper{border-radius:0;box-shadow:none;min-height:100vh}.login-image-section{height:150px;min-height:150px;padding:1rem}.login-form-section{padding:1.5rem 1rem}.image-tagline{font-size:1.5rem}.image-subtitle{font-size:1rem}.login-title{font-size:1.5rem}.logo-icon{font-size:2rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (min-width: 1024px){.login-image-section{background-image:url(/libraryBg.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat}}.nav-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;z-index:999}.nav-overlay.open{display:block}.navbar{position:fixed;top:0;left:0;right:0;background-color:#f4e6d4;border-bottom:2px solid #8b4513;box-shadow:0 2px 4px #8b45131a;z-index:1000;overflow:visible}.nav-content{max-width:1200px;margin:0 auto;padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:64px;overflow:visible}.nav-content.authenticated{justify-content:space-between;gap:.3rem}.nav-content.non-authenticated{justify-content:space-between;gap:.5rem}.search-bar-container{flex:1;display:flex;justify-content:center;max-width:180px;margin:0 .2rem;min-width:100px}.logo{display:flex;align-items:center;text-decoration:none;gap:.75rem}.logo-icon{font-size:1.75rem}.logo-text{font-family:Playfair Display,serif;font-size:1.5rem;color:#4a3520;font-weight:700}.menu-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.menu-icon{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;cursor:pointer}.menu-bar{width:100%;height:2px;background-color:#333;transition:all .3s ease}.rotate-45{transform:rotate(45deg) translate(5px,5px)}.opacity-0{opacity:0}.rotate-neg-45{transform:rotate(-45deg) translate(5px,-5px)}.mobile-close{display:none}.close-button{background:none;border:none;color:#8b4513;font-size:1.5rem;cursor:pointer;padding:.5rem}.nav-links{display:flex;align-items:center;gap:.75rem;flex-shrink:1;min-width:0}.link-group{display:flex;align-items:center;gap:.4rem;flex-shrink:1}.nav-item-container{position:relative}.nav-link{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.4rem .6rem;text-decoration:none;color:#8b4513;font-family:Special Elite,cursive;font-size:.8rem;transition:all .2s ease;border:1px solid transparent;background:none;cursor:pointer;width:100%;white-space:nowrap}.nav-link-content{display:flex;align-items:center;gap:.5rem}.nav-link:hover{background-color:#8b45131a;border-color:#8b4513}.nav-icon{font-size:1.1rem;min-width:1.1rem;text-align:center}.dropdown-arrow{font-size:.75rem}.has-submenu{font-weight:500}.submenu{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background-color:#e8d7be;border-radius:0 0 4px 4px;width:100%}.submenu.expanded{max-height:500px;border:1px solid #8b4513;border-top:none}.submenu-link{display:block;padding:.5rem .75rem .5rem 2rem;text-decoration:none;color:#8b4513;font-family:Special Elite,cursive;font-size:.875rem;transition:all .2s ease}.submenu-link:hover{background-color:#8b45131a}.submenu-link.active{background-color:#8b4513;color:#f4e6d4}.logout-button{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background-color:#8b4513;color:#f4e6d4;border:1px solid #6b3410;font-family:Special Elite,cursive;font-size:.8rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.auth-buttons{display:flex;align-items:center;gap:.5rem;flex-shrink:0;min-width:fit-content;overflow:visible}.auth-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;text-decoration:none;color:#8b4513;font-family:Special Elite,cursive;font-size:.875rem;transition:all .2s ease;border:1px solid #8b4513;background:linear-gradient(135deg,#f8f4ec,#f0e6d2);border-radius:4px;cursor:pointer;white-space:nowrap;flex-shrink:0;min-width:fit-content}.auth-button:hover{background:linear-gradient(135deg,#8b4513,#6b3410);color:#f4e6d4;transform:translateY(-1px);box-shadow:0 2px 4px #8b451333}.auth-icon{font-size:1rem;min-width:1rem;text-align:center}.login-button{background:linear-gradient(135deg,#e8f5e8,#d4edda);border-color:#28a745;color:#155724}.login-button:hover{background:linear-gradient(135deg,#28a745,#218838);color:#fff}.signup-button{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffc107;color:#856404}.signup-button:hover{background:linear-gradient(135deg,#ffc107,#e0a800);color:#fff}.nav-spacer{height:64px}@media (min-width: 769px){.submenu{position:absolute;top:100%;left:0;width:180px;box-shadow:0 4px 8px #8b451326;z-index:100}.nav-link.active{background-color:#8b4513;color:#f4e6d4}}@media (max-width: 768px){.menu-button{display:block}.nav-content{padding:.4rem .75rem;gap:.25rem}.logo-text{font-size:1.2rem}.search-bar-container{margin:0 .25rem;max-width:120px}.mobile-close{display:flex;justify-content:flex-end;padding:.5rem 1rem;border-bottom:1px solid rgba(139,69,19,.2);background-color:#f4e6d4}.nav-links{position:fixed;top:0;left:0;width:75%;max-width:300px;bottom:0;background-color:#f4e6d4;flex-direction:column;padding:0;overflow-y:auto;transition:transform .3s ease-in-out;border-right:2px solid #8b4513;align-items:stretch;z-index:1100}.link-group{flex-direction:column;width:100%;gap:0}.nav-links.closed{transform:translate(-100%)}.nav-links.open{transform:translate(0)}.nav-item-container{width:100%;border-bottom:1px solid rgba(139,69,19,.2)}.active-container{background-color:#8b4513}.active-container .nav-link,.active-container .dropdown-arrow{color:#f4e6d4}.nav-link{padding:.75rem 1rem;border:none;border-radius:0;text-align:left}.nav-link:hover{background-color:#8b45131a;border:none}.nav-link.active{background-color:transparent;color:inherit}.nav-label{flex:1;text-align:left}.submenu{background-color:#eadcc7;border:none!important}.submenu.expanded{border:none!important;border-top:1px solid rgba(139,69,19,.2)!important}.submenu-link{padding:.75rem 1rem .75rem 3rem;border-bottom:1px solid rgba(139,69,19,.1);text-align:left}.submenu-link:last-child{border-bottom:none}.submenu-link.active{background-color:#8b451326;color:#8b4513;font-weight:700}.logout-button{margin:1rem;width:calc(100% - 2rem);justify-content:center;border-radius:4px}.auth-buttons{gap:.25rem}.auth-button{padding:.4rem .6rem;font-size:.8rem}.auth-icon{font-size:.9rem}.nav-content{gap:.5rem}}@media (max-width: 1400px){.nav-content{padding:.6rem;gap:.3rem}.search-bar-container{max-width:160px;margin:0 .15rem}.nav-links{gap:.6rem}.nav-link{padding:.35rem .5rem;font-size:.75rem}.logout-button{padding:.35rem .7rem;font-size:.75rem}}@media (max-width: 1200px){.nav-content{padding:.5rem;gap:.25rem}.search-bar-container{max-width:140px;margin:0 .1rem}.nav-links{gap:.5rem}.link-group{gap:.3rem}.nav-link{padding:.3rem .45rem;font-size:.7rem}.logout-button{padding:.3rem .6rem;font-size:.7rem;gap:.3rem}.auth-button{padding:.35rem .5rem;font-size:.75rem}}@media (max-width: 1024px){.nav-content{gap:.2rem;padding:.4rem .5rem}.search-bar-container{max-width:120px;margin:0 .08rem}.nav-links{gap:.4rem}.nav-link{padding:.25rem .4rem;font-size:.65rem}.logout-button{padding:.25rem .5rem;font-size:.65rem}.auth-buttons{gap:.2rem}.auth-button{padding:.3rem .45rem;font-size:.7rem}}@media (max-width: 900px){.nav-content{padding:.35rem .4rem;gap:.15rem}.logo-text{font-size:1.2rem}.search-bar-container{max-width:100px;margin:0 .05rem}.nav-links{gap:.3rem}.nav-link{padding:.2rem .35rem;font-size:.6rem}.logout-button{padding:.2rem .4rem;font-size:.6rem}.auth-button{padding:.25rem .4rem;font-size:.65rem}}@media (max-width: 768px){.menu-button{display:block}.nav-content{padding:.4rem .75rem;gap:.25rem}.logo-text{font-size:1.2rem}.search-bar-container{margin:0 .25rem;max-width:120px}.auth-buttons{gap:.2rem}.auth-button{padding:.35rem .5rem;font-size:.75rem}.auth-icon{font-size:.85rem}}@media (max-width: 640px){.nav-content{padding:.3rem .5rem;gap:.15rem}.logo-text{font-size:1rem}.search-bar-container{max-width:100px;margin:0 .1rem;min-width:80px}.auth-buttons{gap:.15rem}.auth-button{padding:.3rem .45rem;font-size:.7rem}.auth-icon{font-size:.75rem}}@media (max-width: 480px){.nav-content{padding:.25rem .5rem;gap:.1rem}.logo-text{font-size:.9rem}.search-bar-container{max-width:80px;margin:0 .05rem;min-width:60px}.auth-buttons{gap:.1rem}.auth-button{padding:.25rem .35rem;font-size:.65rem}.auth-icon{font-size:.7rem}}@media (max-width: 400px){.nav-content{padding:.25rem;gap:.05rem}.logo-text{font-size:.8rem}.search-bar-container{max-width:60px;margin:0;min-width:50px}.auth-button{padding:.2rem .3rem;font-size:.6rem;gap:.25rem}.auth-icon{font-size:.65rem}}.transaction-history-container{max-width:1200px;margin:0 auto;padding:2rem;background-color:#f4e6d4;border:2px solid #8b4513;box-shadow:3px 3px 6px #8b451333}.page-title{font-family:Playfair Display,serif;color:#4a3520;text-align:center;margin-bottom:2rem;font-size:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.balance-summary{margin-bottom:2rem}.balance-card{background-color:#fff5e6;padding:1.5rem;border:1px solid #8b4513;box-shadow:2px 2px 4px #0000001a;text-align:center}.balance-card h3{font-family:Playfair Display,serif;color:#4a3520;margin-bottom:.75rem;font-size:1.3rem;font-weight:500}.balance-amount{font-family:Special Elite,cursive;font-size:2rem;font-weight:700;color:#4a3520;margin:.75rem 0 1.25rem}.balance-details{display:flex;justify-content:space-around;padding-top:1rem;border-top:1px solid rgba(139,69,19,.2);font-family:Special Elite,cursive}.income-detail,.expense-detail{display:flex;flex-direction:column;gap:.5rem}.income-amount{color:#2d5a27;font-weight:600}.expense-amount{color:#991b1b;font-weight:600}.filter-options{display:flex;justify-content:center;gap:1rem;margin:1.5rem 0}.filter-btn{background-color:#fff5e6;border:1px solid #8b4513;padding:.5rem 1rem;cursor:pointer;color:#4a3520;font-weight:500;transition:all .2s ease-in-out;font-family:Special Elite,cursive}.filter-btn:hover{background-color:#e9d7bb}.filter-btn.active{background-color:#8b4513;color:#f4e6d4}.transactions-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.transaction-item{background-color:#fff5e6;padding:1rem;box-shadow:2px 2px 4px #00000014;display:flex;align-items:center;gap:1rem;transition:transform .2s ease;border-left:5px solid transparent;font-family:Special Elite,cursive}.transaction-item:hover{transform:translateY(-2px);box-shadow:2px 2px 6px #0000001f}.transaction-credit{border-left-color:#2d5a27}.transaction-debit{border-left-color:#991b1b}.transaction-icon{font-size:1.5rem;width:3rem;height:3rem;border-radius:50%;background-color:#f5e6d0;display:flex;justify-content:center;align-items:center;border:1px solid #d4b895}.transaction-details{flex:1}.transaction-primary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.transaction-description{margin:0;font-weight:600;font-size:1rem;color:#4a3520;font-family:Special Elite,cursive}.transaction-amount{font-weight:700;font-size:1.1rem;font-family:Special Elite,cursive}.transaction-amount.credit{color:#2d5a27}.transaction-amount.debit{color:#991b1b}.transaction-secondary{display:flex;justify-content:space-between;color:#6b5742;font-size:.85rem}.transaction-category{text-transform:capitalize;background-color:#f5e6d0;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;border:1px solid #d4b895}.transaction-datetime{display:flex;gap:1rem;font-style:italic}.no-transactions{text-align:center;padding:2.5rem 0;color:#6b5742;font-style:italic;font-family:Special Elite,cursive}.loading-container,.error-container{text-align:center;padding:2.5rem 0;color:#4a3520;font-family:Special Elite,cursive}.error-container{background-color:#fee2e2;border:1px solid #991b1b;margin:1rem 0;padding:1rem}.transaction-reference{margin-left:.5rem;font-size:.8em}.reference-link{color:#8b4513;text-decoration:none;padding:.15rem .4rem;background-color:#8b45131a;border-radius:4px;transition:all .2s ease}.reference-link:hover{background-color:#8b451333;text-decoration:underline}.actions-row{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0}.filter-options{display:flex;gap:1rem}.download-btn{background-color:#4a3520;color:#fff5e6;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-family:Special Elite,cursive;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.download-btn:hover{background-color:#614631}.download-btn:disabled{background-color:#a89e93;cursor:not-allowed}.download-btn:before{content:"📥";font-size:1.1rem}@media (max-width: 768px){.transaction-history-container{padding:1rem;margin:1rem}.page-title{font-size:1.75rem}.transaction-primary{flex-direction:column;align-items:flex-start;gap:.5rem}.transaction-secondary{flex-direction:column;gap:.5rem}.balance-details{flex-direction:column;gap:1rem}.transaction-amount{font-size:1rem}.transaction-icon{width:2.5rem;height:2.5rem;font-size:1.3rem}.actions-row{flex-direction:column;gap:1rem}.filter-options,.download-btn{width:100%;justify-content:center}}@media (max-width: 480px){.transaction-history-container{margin:.5rem;padding:.5rem}.page-title{font-size:1.5rem}.filter-options{flex-wrap:wrap}.filter-btn{flex-grow:1}}
