.google-auth{width:100%;margin:1rem 0}.google-login-btn{width:100%;padding:.75rem 1rem;background:#1f2937;color:#fff;border:1px solid #1f2937;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.google-login-btn:hover:not(:disabled){background-color:#111827;border-color:#111827}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#ef4444;font-size:.875rem;margin-top:.5rem;text-align:center}.report-review-btn{background:#f9fafb;border:1px solid #e5e7eb;color:#111827;cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1rem;border-radius:4px;transition:all .15s ease;display:inline-flex;align-items:center;gap:.35rem}.report-review-btn:hover{background:#f3f4f6;border-color:#d1d5db}.report-success-message{color:#27ae60;font-weight:500;font-size:.9rem;padding:.5rem 1rem;background:#d5f4e6;border-radius:4px;display:inline-block}.report-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.report-modal-content{background:#fff;border-radius:0;box-shadow:none;max-width:520px;width:90%;overflow:hidden;animation:slideUp .3s ease;border:1px solid #e5e7eb}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.report-modal-header h3{margin:0;color:#111827;font-size:1.15rem}.report-modal-close{background:#f9fafb;border:1px solid #e5e7eb;font-size:.9rem;cursor:pointer;color:#6b7280;padding:.35rem .6rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.report-modal-close:hover{background:#f3f4f6;color:#111827}.report-modal-body{padding:1.5rem}.report-modal-description{color:#6b7280;margin:0 0 1.5rem;font-size:.95rem}.report-reasons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.report-reason{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.85rem 1rem;border-radius:10px;border:1px solid #e5e7eb;transition:all .2s ease;background:#fff}.report-reason:hover{background:#f9fafb;border-color:#cbd5f5}.report-reason input[type=radio]{cursor:pointer;width:18px;height:18px}.report-reason span{color:#111827;font-weight:600}.report-error{background:#fee;color:#c33;padding:.75rem;border-radius:4px;font-size:.9rem;margin-top:1rem}.report-modal-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end}.report-btn-cancel,.report-btn-submit{padding:.65rem 1.4rem;border:1px solid transparent;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.report-btn-cancel{background:#f3f4f6;color:#111827;border-color:#e5e7eb}.report-btn-cancel:hover:not(:disabled){background:#e5e7eb}.report-btn-submit{background:#111827;color:#fff}.report-btn-submit:hover:not(:disabled){background:#0f172a}.report-btn-cancel:disabled,.report-btn-submit:disabled{opacity:.6;cursor:not-allowed}.loader{--background: linear-gradient(135deg, #23c4f8, #275efe);--shadow: rgba(39, 94, 254, .28);--text: #111111;--page: rgba(255, 255, 255, .36);--page-fold: rgba(255, 255, 255, .52);--duration: 3s;width:200px;height:140px;position:relative}.loader--sm{width:140px;height:98px}.loader:before,.loader:after{--r: -6deg;content:"";position:absolute;bottom:8px;width:120px;top:80%;box-shadow:0 16px 12px var(--shadow);transform:rotate(var(--r))}.loader:before{left:4px}.loader:after{--r: 6deg;right:4px}.loader div{width:100%;height:100%;border-radius:13px;position:relative;z-index:1;perspective:600px;box-shadow:0 4px 6px var(--shadow);background-image:var(--background)}.loader div ul{margin:0;padding:0;list-style:none;position:relative}.loader div ul li{--r: 180deg;--o: 0;--c: var(--page);position:absolute;top:10px;left:10px;transform-origin:100% 50%;color:var(--c);opacity:var(--o);transform:rotateY(var(--r));animation:var(--duration) ease infinite}.loader div ul li:nth-child(2){--c: var(--page-fold);animation-name:page-2}.loader div ul li:nth-child(3){--c: var(--page-fold);animation-name:page-3}.loader div ul li:nth-child(4){--c: var(--page-fold);animation-name:page-4}.loader div ul li:nth-child(5){--c: var(--page-fold);animation-name:page-5}.loader div ul li svg{width:90px;height:120px;display:block}.loader--sm div ul li svg{width:64px;height:86px}.loader div ul li:first-child{--r: 0deg;--o: 1}.loader div ul li:last-child{--o: 1}.loader span{display:block;left:0;right:0;top:100%;margin-top:20px;text-align:center;color:var(--text);font-size:1.05rem;font-weight:600;letter-spacing:.6px}.loader--sm span{margin-top:12px;font-size:.9rem;letter-spacing:.4px}.page-loader{width:100%;display:flex;justify-content:center;align-items:center;padding:4rem 1.5rem}.section-loader{width:100%;display:flex;justify-content:center;align-items:center;padding:2rem 0}@keyframes page-2{0%{transform:rotateY(180deg);opacity:0}20%{opacity:1}35%,to{opacity:0}50%,to{transform:rotateY(0)}}@keyframes page-3{15%{transform:rotateY(180deg);opacity:0}35%{opacity:1}50%,to{opacity:0}65%,to{transform:rotateY(0)}}@keyframes page-4{30%{transform:rotateY(180deg);opacity:0}50%{opacity:1}65%,to{opacity:0}80%,to{transform:rotateY(0)}}@keyframes page-5{45%{transform:rotateY(180deg);opacity:0}65%{opacity:1}80%,to{opacity:0}95%,to{transform:rotateY(0)}}.book-container{max-width:920px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#fafafa;min-height:100vh;color:#1f2937}.book-container h1{color:#111827;margin-bottom:.75rem;font-size:2rem;font-weight:700;line-height:1.2}.book-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.book-title-row h1{margin-bottom:0}.book-back-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #e5e7eb;background-color:#f9fafb;color:#111827;padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .15s ease;white-space:nowrap}.book-back-btn:hover{background-color:#e5e7eb;border-color:#1f2937;color:#111827}.book-container h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1rem;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.5px}.book-header-wrapper{display:flex;gap:2rem;margin-bottom:1.5rem}.book-image-section{flex-shrink:0}.book-image{max-width:180px;border-radius:2px;box-shadow:none;transition:all .15s ease}.book-rating{margin-top:1rem;text-align:center}.book-rating-stars{display:flex;gap:.25rem;justify-content:center;margin-bottom:.375rem}.book-rating-stars span{font-size:1.25rem}.book-rating-value{font-size:.8125rem;font-weight:600;color:#374151}.book-info{flex:1}.book-info-group{margin-bottom:1.5rem;line-height:1.6}.book-info-item{margin:.375rem 0;font-size:.9375rem;color:#374151}.book-info-item strong{color:#111827;font-weight:600}.book-description{clear:both;color:#555;line-height:1.8;margin-bottom:1.75rem;font-size:.9375rem;padding:1rem;background-color:#f9fafb;border-radius:0;border-left:3px solid #e5e7eb}.book-description:empty:before{content:"Aucune description disponible";font-style:italic;color:#9ca3af}.book-lists-section{margin-bottom:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:0;padding:1rem}.book-lists-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.book-lists-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.book-list-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;padding:.625rem .75rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:0;transition:all .15s ease;font-size:.875rem}.book-list-label:hover{background-color:#fff;border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.book-list-label input[type=radio],.book-list-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#111827}.book-list-label span{font-weight:500;color:#111827;-webkit-user-select:none;user-select:none}.book-remove-button{background-color:#ef4444;color:#fff;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s ease;flex-shrink:0}.book-remove-button:hover{background-color:#dc2626;transform:scale(1.05)}.book-remove-button:disabled{background-color:#d1d5db;cursor:not-allowed}.book-progress-bar{background-color:#fff;padding:1rem;border:1px solid #d1d5db;border-radius:0;margin-bottom:.75rem}.book-progress-container{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.book-progress-track{flex:1;background-color:#e5e7eb;height:6px;border-radius:0;overflow:hidden}.book-progress-fill{background-color:#1f2937;height:100%;transition:width .3s ease;border-radius:0}.book-progress-text{font-size:.8125rem;color:#666;white-space:nowrap;min-width:60px;text-align:right}.book-progress-form{background-color:#fff;padding:1rem;border:1px solid #d1d5db;border-radius:0;margin-bottom:1.25rem}.book-mode-tabs{display:flex;gap:.5rem;margin-bottom:.75rem;border-bottom:1px solid #d1d5db;padding-bottom:.75rem}.book-mode-tab{padding:.5rem 1rem;background-color:#fff;color:#111827;border:1px solid #d1d5db;cursor:pointer;font-size:.8125rem;font-weight:500;border-radius:4px 4px 0 0;transition:all .2s ease}.book-mode-tab.active{background-color:#111827;color:#fff}.book-mode-tab:hover:not(.active){background-color:#e5e7eb}.book-input-group{display:flex;gap:.5rem;align-items:center}.book-input-group input{flex:1;padding:.5rem;border:1px solid #999;border-radius:4px;font-size:.8125rem}.book-input-group input:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px #1118271a}.book-input-unit{font-size:.8125rem;color:#666;white-space:nowrap}.book-btn{padding:.625rem 1rem;background-color:#111827;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.8125rem;transition:all .2s ease}.book-btn:hover:not(:disabled){background-color:#1f2937;box-shadow:0 4px 6px #0000001a}.book-btn:disabled{opacity:.6;cursor:not-allowed}.book-btn-secondary{background-color:#f0f0f0;color:#333;border:1px solid #d1d5db}.book-btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.book-btn-danger{background-color:transparent;color:#dc3545;border:1px solid #dc3545;padding:.25rem .625rem;font-size:.7rem}.book-btn-danger:hover:not(:disabled){background-color:#dc3545;color:#fff}.book-review-form{background-color:#fff;padding:1rem;border:1px solid #d1d5db;border-radius:6px;margin-bottom:1.25rem}.book-review-group{margin-bottom:1rem}.book-review-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.8125rem;color:#111827}.book-rating-selector{display:flex;gap:.5rem}.book-star-btn{padding:0;background:none;border:none;cursor:pointer;font-size:1.5rem;transition:opacity .2s ease}.book-star-btn.selected{opacity:1}.book-star-btn:not(.selected){opacity:.3}.book-star-btn:hover{opacity:.8}.book-textarea{width:100%;min-height:100px;padding:.5rem;border:1px solid #999;border-radius:4px;font-size:.8125rem;font-family:inherit;resize:vertical;transition:border-color .2s ease}.book-textarea:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px #1118271a}.book-button-group{display:flex;gap:.5rem}.book-reviews-section{margin-bottom:2rem}.book-reviews-list{display:flex;flex-direction:column;gap:1rem}.book-review-card{padding:1rem;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;transition:all .2s ease}.book-review-card:hover{box-shadow:0 4px 6px #0000000d;border-color:#bfdbfe}.book-review-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.book-review-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background-color:#e5e7eb}.book-review-user-info{flex:1}.book-review-username{font-weight:600;color:#111827;font-size:.9375rem}.book-review-rating{display:flex;gap:.125rem;margin-top:.25rem}.book-review-rating span{font-size:.875rem;line-height:1}.book-review-text{margin:0;color:#374151;line-height:1.5;margin-bottom:.5rem;font-size:.9375rem}.book-review-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#9ca3af;gap:1rem}.book-review-actions{display:flex;gap:.5rem;align-items:center}.book-review-empty{color:#9ca3af;font-style:italic;text-align:center;padding:1rem;background-color:#f9fafb;border-radius:6px}.book-identifiers{color:#666;font-size:.8125rem}.book-identifiers ul{list-style:none;padding:0;margin:0}.book-identifiers li{margin-bottom:.25rem}.book-identifiers strong{color:#111827;font-weight:600}.book-link{color:#06c;text-decoration:underline;transition:color .2s ease;font-size:.8125rem}.book-link:hover{color:#0052a3}.book-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.book-modal-content{background-color:#fff;border-radius:12px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease-out}.book-modal-header{text-align:center;margin-bottom:1.25rem}.book-modal-icon{width:56px;height:56px;border-radius:50%;background-color:#fee2e2;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.75rem}.book-modal-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#111827}.book-modal-description{margin:0;font-size:.875rem;color:#666;line-height:1.5}.book-modal-buttons{display:flex;gap:.75rem}.book-modal-buttons button{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.book-modal-cancel{background-color:#f3f4f6;color:#374151}.book-modal-cancel:hover:not(:disabled){background-color:#e5e7eb}.book-modal-confirm{background-color:#dc2626;color:#fff}.book-modal-confirm:hover:not(:disabled){background-color:#b91c1c}.book-modal-confirm:disabled{opacity:.7}.book-error-message{padding:1rem;color:#dc2626;font-size:.875rem}.book-loading-message{padding:1rem;font-size:.875rem;color:#666}.book-unavailable-message{padding:2rem;font-size:.875rem;color:#666}@media(max-width:768px){.book-container{padding:1rem}.book-header-wrapper{flex-direction:column;gap:1rem}.book-image{margin:0 auto;display:block}.book-lists-container{flex-direction:column}.book-modal-content{width:95%}.book-info-item{font-size:.875rem}.book-input-group{flex-direction:column}.book-input-unit{text-align:left}}@media(max-width:480px){.book-container{padding:.75rem}.book-container h1{font-size:1.5rem}.book-container h3{font-size:.9rem}.book-image{max-width:150px}.book-btn{padding:.5rem .75rem;font-size:.75rem}}.profile-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#fafafa;min-height:100vh;color:#1f2937}.profile-error,.profile-not-authenticated{padding:2rem;font-size:.9375rem;text-align:center}.profile-error{color:#dc2626;background-color:#fee2e2;border-radius:0;padding:1rem;margin-bottom:1rem}.profile-not-authenticated{background-color:#f9fafb;border-radius:0;padding:2rem;border:1px solid #e5e7eb;color:#666}.profile-banner-section{position:relative;margin:-2rem -2rem 2rem;height:280px;background:#1f2937;border-radius:0;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-start}.profile-banner{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.profile-banner-placeholder{width:100%;height:100%;background:#1f2937;position:absolute;top:0;left:0}.profile-banner-edit{position:absolute;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;background-color:#1f2937;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .15s ease;z-index:5}.profile-banner-edit:hover{background-color:#000c}.profile-hero{background:#fff;border-radius:0;padding:6rem 2rem 2rem;margin-bottom:2rem;border:1px solid #e5e7eb;position:relative;margin-top:-60px;box-shadow:none}.profile-hero-content{display:flex;gap:2rem;align-items:flex-start}.profile-avatar-section{position:absolute;top:-50px;left:2rem;flex-shrink:0;text-align:center;z-index:10}.profile-avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;border:5px solid #ffffff;box-shadow:0 4px 12px #00000026;background-color:#e5e7eb}.profile-avatar-placeholder{width:140px;height:140px;border-radius:50%;background:#1f2937;display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:#fff;box-shadow:none;border:5px solid #ffffff}.profile-avatar-edit-btn{margin-top:.75rem;padding:.5rem 1rem;background-color:#1f2937;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .15s ease}.profile-avatar-edit-btn:hover{box-shadow:none}.profile-image-upload{display:none}.profile-upload-zone{display:inline-block;cursor:pointer}.profile-upload-zone:hover{opacity:.8}.profile-info{flex:1}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:2rem}.profile-header-title{display:flex;align-items:flex-start;gap:1rem}.profile-header h1{margin:0;font-size:1.875rem;font-weight:700;color:#111827;flex-shrink:0}.profile-badges-inline{display:flex;gap:.75rem;margin-bottom:.75rem;margin-top:.25rem;flex-wrap:nowrap;align-items:flex-start}.profile-badge-inline-item{display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .15s ease;flex-shrink:0}.profile-badge-inline-item:hover{transform:scale(1.15)}.profile-badge-inline-icon{font-size:1.75rem;display:block;flex-shrink:0;width:1.75rem;height:1.75rem;line-height:1.75rem}.profile-badge-inline-icon img{width:100%;height:100%;object-fit:contain}.profile-badge-tooltip{position:absolute;left:calc(100% + .5rem);top:50%;transform:translateY(-50%);background:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:.5rem;white-space:nowrap;z-index:50;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 4px 12px #0003;animation:badgeTooltipIn .15s ease}.profile-badge-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1f2937}.profile-badge-tooltip strong{font-size:.8125rem;font-weight:600}.profile-badge-tooltip span{font-size:.6875rem;color:#d1d5db}@keyframes badgeTooltipIn{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.profile-header-actions{display:flex;gap:.75rem;align-items:center}.profile-reviews-btn{padding:.625rem 1.1rem;background-color:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease}.profile-reviews-btn:hover{border-color:#3b82f6;background-color:#fff;color:#1f2937}.profile-edit-btn{padding:.625rem 1.25rem;background-color:#111827;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease}.profile-edit-btn:hover{box-shadow:0 4px 6px #0000001a}.profile-stats{display:flex;gap:2rem;margin-bottom:1rem}.profile-stat{text-align:center}.profile-stat-value{font-size:1.5rem;font-weight:700;color:#111827}.profile-stat-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.profile-bio{color:#555;line-height:1.6;margin-bottom:0;font-size:.9375rem}.profile-bio-empty{color:#9ca3af;font-style:italic}.profile-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.profile-modal{background-color:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease-out}.profile-modal-header{margin-bottom:1.5rem}.report-modal{max-width:640px;padding:0;overflow-y:auto;max-height:90vh;border:1px solid #e5e7eb;background:#fff}.report-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.75rem 2rem 1.25rem;background:#fff;border-bottom:1px solid #e5e7eb}.report-modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#0f172a}.report-modal-subtitle{margin:.35rem 0 0;color:#64748b;font-size:.95rem}.report-modal-close{border:1px solid #e5e7eb;background:#f9fafb;color:#6b7280;width:36px;height:36px;border-radius:4px;cursor:pointer;font-weight:700;transition:all .15s ease}.report-modal-close:hover{background:#e5e7eb;border-color:#9ca3af}.report-modal-error{margin:1rem 2rem 0;background:#fee2e2;color:#b91c1c;padding:.75rem 1rem;border-radius:0;font-size:.9rem}.report-modal-body{padding:1.5rem 2rem 0}.report-reason-section{margin-bottom:1.5rem}.report-section-title{margin:0 0 .75rem;font-weight:600;color:#111827}.report-reason-grid{display:grid;gap:.75rem}.report-reason-card{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid #e5e7eb;border-radius:0;background:#fff;cursor:pointer;transition:all .15s ease}.report-reason-card input{margin-top:.2rem}.report-reason-card:hover{border-color:#3b82f6;background:#fff}.report-reason-card.active{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.report-reason-title{font-weight:600;color:#0f172a}.report-reason-desc{font-size:.85rem;color:#64748b;margin-top:.15rem}.report-details{margin-top:1.5rem}.report-details-label{display:block;margin-bottom:.5rem;font-weight:600;color:#111827}.report-details-textarea{width:100%;min-height:120px;padding:.85rem 1rem;border:1px solid #e5e7eb;border-radius:12px;font-family:inherit;font-size:.95rem;resize:vertical;transition:all .2s ease;background:#fff}.report-details-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.report-details-hint{margin-top:.5rem;font-size:.75rem;color:#94a3b8}.report-modal-footer{padding:1.5rem 2rem 2rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid #e5e7eb;margin-top:1.5rem;background:#fff}.report-submit-btn{padding:.7rem 1.6rem;border-radius:10px;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.report-submit-btn:hover:not(:disabled){box-shadow:0 12px 20px #ef444440}.report-submit-btn:disabled{opacity:.6;cursor:not-allowed}.profile-modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#111827}.profile-form-group{margin-bottom:1.25rem}.profile-form-label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.875rem;color:#111827}.profile-form-input,.profile-form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.9375rem;transition:all .2s ease;box-sizing:border-box}.profile-form-input:focus,.profile-form-textarea:focus{outline:none;box-shadow:0 0 0 3px #1118271a}.profile-form-textarea{resize:vertical;min-height:120px}.profile-avatar-upload{display:none}.profile-avatar-upload-label{display:block;padding:.75rem;background-color:#f3f4f6;border:2px dashed #d1d5db;border-radius:6px;text-align:center;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:#666}.profile-avatar-upload-label:hover{background-color:#e5e7eb;border-color:#9ca3af}.profile-modal-buttons{display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.profile-btn{padding:.625rem 1.25rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease}.profile-btn-primary{background-color:#111827;color:#fff}.profile-btn-primary:hover:not(:disabled){box-shadow:0 4px 6px #0000001a}.profile-btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.profile-btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.profile-btn:disabled{opacity:.6;cursor:not-allowed}.profile-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .875rem;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.profile-toggle{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.profile-toggle-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.profile-toggle-track{width:44px;height:24px;border-radius:2px;background:#d1d5db;position:relative;transition:background-color .15s ease;box-shadow:none}.profile-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:0;background:#fff;transition:transform .15s ease;box-shadow:none}.profile-toggle-text{font-size:.875rem;color:#111827;font-weight:600}.profile-toggle-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:2px;border:1px solid transparent}.profile-toggle-badge.is-private{background:#fee2e2;color:#991b1b;border-color:#fecaca}.profile-toggle-badge.is-public{background:#ecfeff;color:#155e75;border-color:#cffafe}.profile-toggle-help{margin:.5rem 0 0;font-size:.75rem;color:#6b7280}.profile-toggle-input:checked+.profile-toggle-track{background:#111827}.profile-toggle-input:checked+.profile-toggle-track .profile-toggle-thumb{transform:translate(20px)}.profile-toggle-input:focus-visible+.profile-toggle-track{outline:2px solid #111827;outline-offset:2px}.profile-toggle-input:disabled+.profile-toggle-track{opacity:.6}.profile-toggle-input:disabled~.profile-toggle-text{opacity:.6;cursor:not-allowed}.profile-section{margin-bottom:2rem}.profile-section-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.profile-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.profile-book-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column}.profile-book-card:hover{box-shadow:0 8px 16px #0000001a;border-color:#d1d5db}.profile-book-image{width:100%;height:220px;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-book-image img{width:100%;height:100%;object-fit:cover}.profile-book-info{padding:1rem;flex:1;display:flex;flex-direction:column}.profile-book-title{font-weight:600;color:#111827;margin:0 0 .5rem;font-size:.9375rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.profile-book-author{font-size:.75rem;color:#666;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.profile-book-progress{margin-top:auto}.profile-progress-track{width:100%;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.profile-progress-bar{height:100%;background:#1f2937;border-radius:0;transition:width .3s ease}.profile-progress-text{font-size:.75rem;color:#666;display:flex;justify-content:space-between}.profile-empty-list{padding:2rem;text-align:center;color:#9ca3af;background-color:#f9fafb;border-radius:8px;font-style:italic}.profile-reviews-list{display:flex;flex-direction:column;gap:1rem}.profile-review-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;transition:all .2s ease}.profile-review-card:hover{box-shadow:0 4px 12px #0000000d;border-color:#d1d5db}.profile-review-header{display:flex;gap:1rem;margin-bottom:1rem;align-items:flex-start}.profile-review-book-img{width:60px;height:90px;background-color:#f3f4f6;border-radius:4px;overflow:hidden;flex-shrink:0;cursor:pointer;transition:transform .2s ease}.profile-review-book-img:hover{transform:scale(1.05)}.profile-review-book-img img{width:100%;height:100%;object-fit:cover}.profile-review-book-info{flex:1}.profile-review-title{margin:0 0 .25rem;font-weight:600;color:#111827;cursor:pointer;transition:color .2s ease;font-size:.9375rem}.profile-review-title:hover{color:#3b82f6}.profile-review-author{font-size:.8125rem;color:#666;margin-bottom:.5rem}.profile-review-rating{display:flex;gap:.25rem;align-items:center;font-size:.75rem}.profile-review-rating span{font-size:.9rem}.profile-review-content{background-color:#f9fafb;padding:1rem;border-radius:6px;margin:1rem 0;line-height:1.6;color:#374151;font-size:.9375rem}.profile-review-date{font-size:.75rem;color:#9ca3af}@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)}}@media(max-width:768px){.profile-container{padding:1rem}.profile-banner-section{margin:-1rem -1rem 0;height:200px}.profile-hero{margin-top:-50px;padding:2.5rem 1.5rem 1.5rem}.profile-avatar-section{position:static;margin-top:-72px;margin-bottom:.75rem;align-self:center;text-align:center}.profile-avatar,.profile-avatar-placeholder{width:120px;height:120px;font-size:2.8rem;border:4px solid #ffffff}.profile-hero-content{flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.profile-header{flex-direction:column;gap:1rem;width:100%}.profile-header h1{font-size:1.5rem}.profile-stats{justify-content:space-around;gap:1rem;width:100%}.profile-books-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.profile-modal{width:95%;padding:1.5rem}.profile-review-header{flex-direction:column;text-align:center}.profile-review-book-img{margin:0 auto}.profile-stats-dashboard{padding:1.5rem}.profile-stats-header{flex-direction:column;align-items:flex-start}.profile-stats-grid{grid-template-columns:1fr}.profile-stats-card-wide{grid-column:span 1}.profile-chart-container{height:220px}}@media(max-width:480px){.profile-container{padding:.75rem}.profile-banner-section{margin:-.75rem -.75rem 0;height:140px}.profile-hero{padding:1.25rem;margin-top:-45px}.profile-avatar-section{position:static;margin-top:-64px;margin-bottom:.5rem;align-self:center;text-align:center}.profile-avatar,.profile-avatar-placeholder{width:100px;height:100px;font-size:2.5rem;border:4px solid #ffffff}.profile-hero-content{flex-direction:column;align-items:center;text-align:center}.profile-header h1{font-size:1.5rem}.profile-books-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.profile-book-image{height:180px}.profile-modal-buttons{flex-direction:column}.profile-btn{width:100%}.profile-banner-edit{padding:.4rem .6rem;font-size:.7rem}.profile-stats-dashboard{padding:1.2rem}.profile-stats-total{width:100%;text-align:left}.profile-stats-hero{grid-template-columns:1fr}.profile-chart-container{height:200px}}.profile-section-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e5e7eb}.profile-tab{padding:.75rem 1rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#6b7280;transition:all .2s ease;margin-bottom:-2px}.profile-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.profile-stats-dashboard{background:linear-gradient(135deg,#f8fafc,#ecfeff 45%,#fff7ed);border:1px solid #e5e7eb;border-radius:18px;padding:2rem;position:relative;overflow:hidden;font-family:Libre Franklin,Trebuchet MS,sans-serif}.profile-stats-dashboard:before{content:"";position:absolute;inset:-30% 0 0 -10%;background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.18),transparent 45%),radial-gradient(circle at 80% 10%,rgba(234,88,12,.12),transparent 55%),radial-gradient(circle at 30% 80%,rgba(15,118,110,.12),transparent 50%);pointer-events:none}.profile-stats-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;position:relative;z-index:1;margin-bottom:2rem}.profile-stats-title{margin:0 0 .5rem;font-size:1.6rem;font-weight:700;color:#0f172a;font-family:Playfair Display,Georgia,serif}.profile-stats-subtitle{margin:0;color:#475569;font-size:.95rem;max-width:520px}.profile-stats-total{background:#0f172a;color:#f8fafc;padding:1rem 1.5rem;border-radius:14px;text-align:right;min-width:160px;box-shadow:0 12px 30px #0f172a2e}.profile-stats-total-value{font-size:1.75rem;font-weight:700}.profile-stats-total-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#f8fafcb3;margin-top:.25rem}.profile-stats-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;position:relative;z-index:1;margin-bottom:2rem}.profile-stats-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:1.25rem;box-shadow:0 12px 24px #0f172a14;position:relative;animation:statsReveal .6s ease both;transition:transform .2s ease,box-shadow .2s ease}.profile-stats-hero .profile-stats-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0f172a24}.profile-stats-card:nth-child(2){animation-delay:.05s}.profile-stats-card:nth-child(3){animation-delay:.1s}.profile-stats-card:nth-child(4){animation-delay:.15s}.profile-stats-card:nth-child(5){animation-delay:.2s}.profile-stats-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:.5rem}.profile-stats-card-value{font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:.25rem}.profile-stats-card-meta{font-size:.85rem;color:#64748b}.profile-stats-stars{display:flex;gap:.2rem;margin-top:.5rem}.profile-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;position:relative;z-index:1}.profile-stats-card-chart{min-height:280px}.profile-stats-card-wide{grid-column:span 2}.profile-stats-card-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.profile-stats-card-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#0f172a;font-family:Playfair Display,Georgia,serif}.profile-stats-card-header span{font-size:.85rem;color:#64748b}.profile-chart-container{position:relative;width:100%;height:260px}.profile-chart-tall{height:280px}.profile-genre-cloud{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;align-items:center;justify-content:center;padding:1.5rem .5rem;min-height:180px}.profile-genre-cloud-tag{font-weight:700;cursor:default;transition:transform .2s ease,opacity .2s ease;line-height:1.3;white-space:nowrap}.profile-genre-cloud-tag:hover{transform:scale(1.12);opacity:1!important}.profile-stats-empty{position:relative;z-index:1}.profile-stats-empty-card{background:#fffc;border:1px dashed #cbd5e1;padding:1.25rem;border-radius:12px;text-align:center;color:#64748b;font-size:.9rem}@keyframes statsReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-personal-lists{display:flex;flex-direction:column;gap:2rem}.profile-personal-list-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-bottom:1rem}.profile-personal-list-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.profile-personal-list-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0;margin-bottom:.5rem}.profile-personal-list-description{font-size:.9rem;color:#6b7280;margin:0;margin-bottom:.5rem}.profile-personal-list-count{font-size:.875rem;color:#9ca3af;margin:0}.profile-personal-list-actions{display:flex;gap:.5rem}.profile-list-action-btn{padding:.5rem .875rem;background-color:#111827;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.profile-list-action-btn:hover{box-shadow:0 2px 4px #0000001a}.profile-list-delete-btn{background-color:#dc2626}.profile-list-delete-btn:hover{background-color:#b91c1c;box-shadow:0 2px 4px #0000001a}.profile-btn-danger{background-color:#dc2626;color:#fff}.profile-btn-danger:hover:not(:disabled){background-color:#b91c1c;box-shadow:0 4px 6px #0000001a}.profile-modal-compact{max-width:400px}.profile-modal-badges{max-width:1000px;width:95%;max-height:70vh;padding:1.5rem}.profile-badges-container{padding:1rem;background-color:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.profile-badges-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.profile-badge-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background-color:#fff;border:2px solid #f59e0b;border-radius:8px;position:relative;transition:all .2s ease}.profile-badge-item:hover{box-shadow:0 4px 6px #0000001a;border-color:#f59e0b;transform:translateY(-2px)}.profile-badge-icon{font-size:2rem;line-height:1;width:2rem;height:2rem;object-fit:contain}.profile-badge-name{font-size:.875rem;font-weight:600;text-align:center;color:#1f2937;word-break:break-word}.profile-badge-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;padding:0;background-color:#ef4444;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:0}.profile-badge-item:hover .profile-badge-remove{opacity:1}.profile-badge-remove:hover{background-color:#dc2626;transform:scale(1.1)}.profile-badge-remove:disabled{cursor:not-allowed;opacity:.5}.profile-badges-empty{text-align:center;color:#9ca3af;font-size:.9rem;padding:1rem;margin:0;font-style:italic}.profile-badges-empty-wrapper{display:flex;align-items:center;gap:1rem;padding:1rem}.profile-badges-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.profile-badges-section:last-child{border-bottom:none}.profile-badges-section-title{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.profile-badges-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.profile-badge-modal-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background-color:#fff;border:2px solid #64748b;border-radius:10px;position:relative;transition:all .2s ease}.profile-badge-modal-item.unlocked{background-color:#f1f5f9;border-color:#64748b}.profile-badge-modal-item.unlocked:hover{box-shadow:0 4px 12px #64748b40;transform:translateY(-2px)}.profile-badge-modal-item.locked{background-color:#f9fafb;border-color:#d1d5db;opacity:.7}.profile-badge-modal-header{position:relative;width:100%;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#94a3b8,#64748b)}.profile-badge-modal-header.locked-badge{background:#f3f4f6;border:1px solid #e5e7eb}.profile-badge-modal-image{width:100%;height:100%;object-fit:contain;padding:.5rem}.profile-badge-modal-image.locked-image{opacity:.4;filter:grayscale(100%)}.profile-badge-modal-icon{font-size:3rem;line-height:1}.profile-badge-modal-icon.locked-icon{font-size:2.5rem;opacity:.4}.profile-badge-locked-overlay{position:absolute;inset:0;background:#0003;display:flex;align-items:center;justify-content:center;font-size:2rem}.profile-badge-modal-name{font-size:.95rem;font-weight:700;text-align:center;color:#1f2937;margin:0}.profile-badge-modal-condition{font-size:.8rem;text-align:center;color:#6b7280;margin:0;min-height:2.4rem;display:flex;align-items:center;justify-content:center;word-break:break-word}.profile-badge-progress{width:100%;margin-top:.5rem}.profile-badge-progress-track{width:100%;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.profile-badge-progress-bar{height:100%;background:linear-gradient(90deg,#94a3b8,#64748b);border-radius:3px;transition:width .3s ease}.profile-badge-progress-text{font-size:.75rem;color:#6b7280;text-align:center;margin:0;font-weight:600}.profile-badge-toggle-btn{width:100%;padding:.5rem .75rem;margin-top:.5rem;background-color:#64748b;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.profile-badge-toggle-btn:hover:not(:disabled){transform:scale(1.02)}.profile-badge-toggle-btn.added{background-color:#10b981}.profile-badge-toggle-btn.added:hover:not(:disabled){background-color:#059669}.profile-badge-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.profile-badges-empty{text-align:center;color:#9ca3af;font-size:.95rem;padding:2rem 1rem;margin:0;font-style:italic}.search-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:#fff;min-height:100vh;color:#1f2937}.search-header{margin-bottom:3rem;animation:fadeInDown .6s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.search-title{font-size:2.5rem;font-weight:800;color:#111827;margin-bottom:1.5rem;letter-spacing:-.5px}.search-lists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.search-list-card{background:#fff;border:1px solid #e5e7eb;border-radius:0;padding:1.25rem;box-shadow:none;cursor:pointer;transition:all .15s ease}.search-list-card:hover{border-color:#3b82f6;background:#fff}.search-list-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.search-list-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-list-avatar img{width:100%;height:100%;object-fit:cover}.search-list-avatar-placeholder{color:#9ca3af;font-size:1.25rem}.search-list-info{flex:1;min-width:0}.search-list-name{font-size:1.05rem;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-list-owner{font-size:.875rem;color:#6b7280}.search-list-count{font-size:.85rem;font-weight:600;color:#4f46e5;background:#eef2ff;padding:.25rem .5rem;border-radius:999px}.search-list-description{font-size:.9rem;color:#6b7280;line-height:1.5;min-height:2.7em}.search-list-card-content{display:flex;align-items:stretch;gap:1rem}.search-list-text{flex:1;min-width:0;display:flex;flex-direction:column}.search-list-preview{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;min-width:120px}.search-list-preview img{width:48px;height:72px;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb;box-shadow:0 4px 12px #1118271f;background:#f3f4f6}.search-list-preview-placeholder{width:48px;height:72px;border-radius:6px;border:1px dashed #d1d5db;background:linear-gradient(135deg,#f9fafb,#eef2ff);box-shadow:inset 0 1px 2px #0f172a0d}.search-list-preview-empty{font-size:.8rem;color:#9ca3af;text-align:right}.search-input-section{display:flex;gap:1rem;margin-bottom:2rem;animation:fadeInUp .6s ease .1s both;align-items:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.search-input-wrapper{flex:1;position:relative}.search-input{width:100%;padding:1.125rem 3.25rem 1.125rem 1.5rem;font-size:1.0625rem;border:1px solid #e5e7eb;border-radius:4px;background-color:#fff;color:#111827;font-family:inherit;transition:all .15s ease;box-shadow:none;min-height:48px}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#9ca3af}.search-clear-button{position:absolute;top:50%;right:1rem;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:4px;background:#f9fafb;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.search-clear-button:hover{background:#e5e7eb;color:#111827}.search-clear-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.search-button{padding:.875rem 1.75rem;background:#1f2937;color:#fff;border:1px solid #1f2937;border-radius:4px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:none;min-height:48px;white-space:nowrap;flex-shrink:0}.search-button:hover{background:#111827}.search-button:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none}.search-type-select{padding:.875rem 1rem;background:#1f2937;color:#fff;border:1px solid #3b82f6;border-radius:4px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;box-shadow:none;min-height:48px;flex-shrink:0;width:auto}.search-type-select option{background-color:#fff;color:#111827;font-weight:500;padding:.5rem}.search-type-select:hover{border-color:#60a5fa}.search-type-select:focus{outline:2px solid #3b82f6;outline-offset:2px}.search-browse{margin-bottom:3rem;animation:fadeInUp .6s ease .2s both}.search-browse-title{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1.5rem;position:relative;padding-bottom:.75rem}.search-browse-title:after{content:"";position:absolute;bottom:0;left:0;height:3px;width:60px;background:#1f2937;border-radius:0}.search-categories{display:flex;gap:1rem;overflow-x:auto;scroll-behavior:smooth;padding-bottom:.5rem;margin-bottom:.5rem;scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.search-categories::-webkit-scrollbar{height:6px}.search-categories::-webkit-scrollbar-track{background:#f3f4f6;border-radius:0}.search-categories::-webkit-scrollbar-thumb{background:#1f2937;border-radius:0}.search-categories::-webkit-scrollbar-thumb:hover{background:#111827}.search-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:0;padding:1.5rem;cursor:pointer;transition:all .15s ease;box-shadow:none;flex-shrink:0;min-width:200px;width:200px}.search-category-card:hover{border-color:#3b82f6;background:#fff}.search-category-label{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.75rem;display:block}.search-category-count{font-size:.875rem;color:#9ca3af;font-weight:500}.search-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,180px));gap:1.5rem;margin-bottom:1.5rem;width:100%;justify-content:center}.search-book-card{background:#fff;border-radius:0;overflow:hidden;cursor:pointer;transition:all .15s ease;box-shadow:none;border:1px solid #e5e7eb;display:flex;flex-direction:column}.search-book-card:hover{border-color:#3b82f6;background:#fff}.search-book-image{width:100%;height:220px;background:#f3f4f6;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.search-book-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.search-book-card:hover .search-book-image img{transform:scale(1.05)}.search-book-info{padding:1.25rem;flex:1;display:flex;flex-direction:column}.search-book-title{font-size:.9375rem;font-weight:600;color:#111827;margin-bottom:.5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-book-author{font-size:.8125rem;color:#9ca3af;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.search-book-rating{font-size:.8125rem;color:#999;margin-top:auto;display:flex;align-items:center;gap:.5rem}.search-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:0;border:1px solid #e5e7eb;animation:fadeInUp .6s ease}.search-empty-icon{font-size:3.5rem;margin-bottom:1.5rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.search-empty-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:.75rem}.search-empty-text{color:#9ca3af;font-size:1rem}.search-error{background:#fee2e2;color:#dc2626;padding:1.25rem 1.5rem;border-radius:0;margin-bottom:1.5rem;border:1px solid #fca5a5;font-size:.9375rem;font-weight:500;box-shadow:none;animation:slideInDown .3s ease}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.search-container{padding:1.5rem;background:#fff}.search-title{font-size:1.875rem;margin-bottom:1rem}.search-input-section{flex-direction:column;gap:.75rem}.search-category-card{min-width:180px;width:180px}.search-books-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.search-book-card{width:auto}.search-book-image{height:220px}.search-book-info{padding:1rem}.search-browse-title:after{width:50px}.search-empty{padding:3rem 1.5rem}.search-empty-icon{font-size:2.75rem}.search-empty-title{font-size:1.125rem}.search-list-card-content{flex-direction:column}.search-list-preview{justify-content:flex-start}}@media(max-width:480px){.search-container{padding:1rem}.search-title{font-size:1.5rem;margin-bottom:.75rem}.search-button{padding:.75rem 1.25rem;font-size:.875rem}.search-type-select{padding:.75rem .875rem;font-size:.875rem}.search-category-card{min-width:160px;width:160px;padding:1.25rem 1rem}.search-books-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.search-book-image{height:180px}.search-book-info{padding:.75rem}.search-book-title{font-size:.875rem}.search-book-author{font-size:.75rem}.search-empty{padding:2rem 1rem}.search-empty-icon{font-size:2.5rem}.search-empty-title{font-size:1rem}.search-empty-text{font-size:.875rem}.search-users-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.search-user-card{padding:.75rem}.search-user-avatar,.search-user-avatar-placeholder{width:60px;height:60px}.search-user-avatar-placeholder{font-size:1.5rem}.search-user-name{font-size:.875rem}.search-user-status-text{font-size:.75rem}}.search-users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin:2rem 0}.search-user-card{text-decoration:none;color:inherit;display:block}.search-user-card{background:linear-gradient(135deg,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:16px;padding:2rem 1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.search-user-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#1f2937;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.search-user-card:hover{box-shadow:0 20px 40px #3b82f626,0 12px 24px #0000001f;border-color:#3b82f6}.search-user-card:hover:before{transform:scaleX(1)}.search-user-card:hover .search-user-action{transform:translate(4px);opacity:1}.search-user-avatar-wrapper{position:relative;margin-bottom:1.5rem}.search-user-avatar,.search-user-avatar-placeholder{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #e5e7eb;display:block;transition:all .3s ease}.search-user-card:hover .search-user-avatar,.search-user-card:hover .search-user-avatar-placeholder{border-color:#3b82f6;transform:scale(1.05)}.search-user-avatar-placeholder{background:#1f2937;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff}.search-user-status{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #e5e7eb;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.search-user-card:hover .search-user-status{transform:scale(1.1);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633}.search-user-info{flex:1;margin-bottom:1rem}.search-user-name{font-size:1.125rem;font-weight:700;color:#111827;margin:0 0 .5rem;line-height:1.4;word-break:break-word}.search-user-status-text{font-size:.875rem;color:#9ca3af;margin:0;font-weight:500}.search-user-action{font-size:1.5rem;color:#3b82f6;transition:all .3s ease;opacity:.6;font-weight:300;letter-spacing:2px}@media(max-width:768px){.search-users-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.search-user-card{padding:1.5rem 1rem}.search-user-avatar,.search-user-avatar-placeholder{width:80px;height:80px}.search-user-avatar-placeholder{font-size:2rem}.search-user-name{font-size:1rem}}@media(max-width:480px){.search-users-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.search-user-card{padding:1rem .75rem}.search-user-avatar,.search-user-avatar-placeholder{width:70px;height:70px}.search-user-avatar-placeholder{font-size:1.75rem}.search-user-name{font-size:.9375rem}.search-user-status-text{font-size:.8125rem}}.list-detail-container{max-width:1200px;margin:0 auto;padding:2.5rem 2rem 4rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:#111827}.list-detail-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:0;box-shadow:none}.list-detail-user{display:flex;align-items:center;gap:1rem;cursor:pointer}.list-detail-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-detail-avatar img{width:100%;height:100%;object-fit:cover}.list-detail-avatar-placeholder{font-size:1.5rem;color:#9ca3af}.list-detail-meta{display:flex;flex-direction:column;gap:.35rem}.list-detail-title{font-size:1.6rem;font-weight:700;color:#111827}.list-detail-subtitle{font-size:.95rem;color:#6b7280;display:flex;align-items:center;gap:.5rem}.list-detail-separator{font-size:.8rem}.list-detail-visibility{background:#f3f4f6;color:#1f2937;padding:.2rem .6rem;border-radius:2px;font-weight:600;font-size:.8rem}.list-detail-count{font-size:.95rem;font-weight:600;color:#111827;background:#f9fafb;padding:.4rem .9rem;border-radius:2px}.list-detail-description{margin-top:2rem;background:#fff;border:1px solid #e5e7eb;border-radius:0;padding:1.5rem;box-shadow:none}.list-detail-description h3{margin:0 0 .75rem;font-size:1.1rem;color:#111827}.list-detail-description p{margin:0;color:#6b7280;line-height:1.6}.list-detail-books{margin-top:2.5rem}.list-detail-books h3{margin-bottom:1.25rem;font-size:1.2rem;color:#111827}.list-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.5rem}.list-detail-book-card{background:#fff;border:1px solid #e5e7eb;border-radius:0;overflow:hidden;cursor:pointer;transition:all .15s ease}.list-detail-book-card:hover{border-color:#3b82f6;background:#fff}.list-detail-book-image{width:100%;height:230px;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.list-detail-book-image img{width:100%;height:100%;object-fit:cover}.list-detail-book-placeholder{width:100%;height:100%;background:#e5e7eb}.list-detail-book-info{padding:.75rem}.list-detail-book-title{font-size:.95rem;font-weight:600;color:#111827;margin-bottom:.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-detail-book-author{font-size:.8rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-detail-empty{padding:1.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;color:#6b7280}.list-detail-error{max-width:960px;margin:3rem auto;text-align:center;color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.list-detail-error-title{font-size:1.3rem;font-weight:700;color:#111827;margin-bottom:.5rem}.reported-reviews-container{max-width:1200px;margin:2rem auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.reported-reviews-container h1{color:#2c3e50;margin-bottom:2rem;font-size:2rem}.filter-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;border-bottom:2px solid #ecf0f1;padding-bottom:1rem}.filter-btn{padding:.75rem 1.5rem;border:none;background:#ecf0f1;color:#2c3e50;border-radius:4px;cursor:pointer;font-weight:500;transition:all .3s ease}.filter-btn:hover{background:#bdc3c7}.filter-btn.active{background:#3498db;color:#fff}.loading{text-align:center;padding:2rem;color:#7f8c8d;font-size:1.1rem}.error-message{background:#fee;color:#c33;padding:1rem;border-radius:4px;margin-bottom:1rem}.no-reports{text-align:center;padding:3rem 1rem;color:#7f8c8d;font-size:1.1rem}.reports-list{display:grid;gap:1.5rem}.report-card{background:#fff;border:1px solid #e5e7eb;border-radius:0;padding:1.5rem;box-shadow:none;transition:all .15s ease}.report-card:hover{border-color:#3b82f6;background:#f9fafb}.report-card.processing{opacity:.6;pointer-events:none}.report-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.reason-badge{background:#fef3c7;color:#92400e;padding:.5rem 1rem;border-radius:2px;font-weight:600;font-size:.9rem}.type-badge{padding:.35rem .85rem;border-radius:2px;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:#f3f4f6;color:#1f2937}.type-badge[data-type=review]{background:#e0f2fe;color:#075985}.type-badge[data-type=user]{background:#fee2e2;color:#b91c1c}.report-date{color:#7f8c8d;font-size:.9rem}.status-badge{padding:.5rem 1rem;border-radius:2px;font-weight:600;font-size:.9rem;margin-left:auto}.status-badge[data-status=pending]{background:#fff3cd;color:#856404}.status-badge[data-status=approved]{background:#d4edda;color:#155724}.status-badge[data-status=rejected]{background:#d1ecf1;color:#0c5460}.status-badge[data-status=resolved]{background:#d4edda;color:#155724}.report-content{margin-bottom:1.5rem}.book-info{background:#f8f9fa;padding:1rem;border-radius:4px;margin-bottom:1rem}.book-info strong{display:block;margin-bottom:.5rem;color:#2c3e50}.book-info p{margin:0;color:#7f8c8d;font-size:.9rem}.review-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #ecf0f1}.review-section strong{display:block;margin-bottom:.5rem;color:#2c3e50}.user-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.user-info img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #ecf0f1}.user-info span{color:#2c3e50;font-weight:500}.btn-profile{margin-left:auto;border:1px solid #e5e7eb;background:#fff;color:#0f172a;padding:.35rem .75rem;border-radius:999px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease}.btn-profile:hover:not(:disabled){background:#f8fafc;border-color:#cbd5f5}.btn-profile:disabled{opacity:.6;cursor:not-allowed}.rating{color:#f39c12;font-weight:600}.review-text{background:#f8f9fa;padding:1rem;border-radius:4px;margin-top:.75rem;color:#2c3e50;line-height:1.6;border-left:4px solid #3498db}.account-report-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #ecf0f1}.account-report-section strong{display:block;margin-bottom:.5rem;color:#2c3e50}.report-details{background:#f8f9fa;padding:1rem;border-radius:4px;margin-top:.75rem;color:#2c3e50;line-height:1.6;border-left:4px solid #ef4444}.reporter-section{background:#f0f4f8;padding:1rem;border-radius:4px}.reporter-section strong{display:block;margin-bottom:.5rem;color:#2c3e50}.report-actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-confirm-overlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-confirm-modal{background:#fff;border-radius:12px;max-width:520px;width:92%;box-shadow:0 20px 40px #0f172a33;overflow:hidden;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.admin-confirm-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.admin-confirm-header h3{margin:0;font-size:1.1rem;color:#111827}.admin-confirm-close{border:1px solid #e5e7eb;background:#fff;color:#6b7280;width:32px;height:32px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.admin-confirm-close:hover{background:#f3f4f6;color:#111827}.admin-confirm-body{padding:1.5rem;color:#374151;font-size:.95rem}.admin-confirm-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem}.admin-confirm-cancel,.admin-confirm-submit{border:1px solid transparent;padding:.65rem 1.4rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.admin-confirm-cancel{background:#f3f4f6;color:#111827;border-color:#e5e7eb}.admin-confirm-cancel:hover{background:#e5e7eb}.admin-confirm-submit{background:#111827;color:#fff}.admin-confirm-submit:hover{background:#0f172a}button[class^=btn-]{padding:.75rem 1.25rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease;flex:1;min-width:150px}.btn-approve{background:#27ae60;color:#fff}.btn-approve:hover:not(:disabled){background:#229954}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover:not(:disabled){background:#c0392b}.btn-reject{background:#95a5a6;color:#fff}.btn-reject:hover:not(:disabled){background:#7f8c8d}button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.report-card{padding:1rem}.report-header{flex-direction:column;align-items:flex-start}.status-badge{margin-left:0}.filter-tabs{flex-direction:column}.filter-btn{width:100%}.report-actions{flex-direction:column}button[class^=btn-]{width:100%;min-width:unset}}.admin-badges-container{max-width:1200px;margin:2rem auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.admin-badges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-badges-header h1{color:#2c3e50;font-size:2rem;margin:0}.admin-badges-btn-create{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s}.admin-badges-btn-create:hover{background:#2563eb}.admin-badges-success{background:#d1fae5;color:#065f46;padding:1rem 1.25rem;border-radius:6px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;font-weight:500}.admin-badges-dismiss{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#065f46;padding:0 .25rem}.admin-badges-error{background:#fee2e2;color:#991b1b;padding:1rem 1.25rem;border-radius:6px;margin-bottom:1.5rem;font-weight:500}.admin-badges-empty{text-align:center;padding:4rem 2rem;color:#6b7280}.admin-badges-empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.admin-badges-empty p{font-size:1.1rem;margin:.5rem 0}.admin-badges-empty-hint{font-size:.95rem!important;color:#9ca3af!important}.admin-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.admin-badges-card{background:#fff;border:1px solid #e5e7eb;padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:border-color .15s,background .15s}.admin-badges-card:hover{border-color:#3b82f6;background:#f9fafb}.admin-badges-card-icon{font-size:2.5rem;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#f0f4ff;border-radius:12px}.admin-badges-card-content{flex:1;min-width:0}.admin-badges-card-content h3{margin:0 0 .25rem;font-size:1.1rem;color:#1f2937}.admin-badges-card-condition{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}.admin-badges-card-pages{color:#3b82f6;font-weight:600;font-size:.85rem;margin:0 0 .5rem}.admin-badges-card-id{display:inline-block;background:#f3f4f6;color:#6b7280;padding:.15rem .5rem;border-radius:3px;font-size:.75rem;font-family:monospace}.admin-badges-card-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.admin-badges-btn-edit,.admin-badges-btn-delete{background:none;border:1px solid #e5e7eb;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .15s}.admin-badges-btn-edit:hover{background:#eff6ff;border-color:#3b82f6}.admin-badges-btn-delete:hover{background:#fef2f2;border-color:#ef4444}.admin-badges-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-badges-modal{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000026}.admin-badges-modal-compact{max-width:440px}.admin-badges-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.admin-badges-modal-header h2{margin:0;font-size:1.25rem;color:#1f2937}.admin-badges-modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;padding:.25rem}.admin-badges-modal-close:hover{color:#1f2937}.admin-badges-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.admin-badges-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb}.admin-badges-form-group{margin-bottom:1.25rem}.admin-badges-form-label{display:block;font-weight:600;font-size:.875rem;color:#374151;margin-bottom:.5rem}.admin-badges-form-input{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;color:#1f2937;background:#fff;transition:border-color .15s;box-sizing:border-box}.admin-badges-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-badges-form-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.admin-badges-form-hint{display:block;font-size:.75rem;color:#9ca3af;margin-top:.35rem}.admin-badges-icon-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.admin-badges-icon-option{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s}.admin-badges-icon-option:hover{border-color:#93c5fd;background:#eff6ff}.admin-badges-icon-option.selected{border-color:#3b82f6;background:#dbeafe}.admin-badges-custom-icon{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.admin-badges-condition-types{display:flex;gap:.75rem;flex-wrap:wrap}.admin-badges-condition-type-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;background:#fff;cursor:pointer;font-size:.875rem;font-weight:500;color:#374151;transition:all .2s}.admin-badges-condition-type-btn:hover{border-color:#6366f1;background:#f5f3ff}.admin-badges-condition-type-btn.selected{border-color:#6366f1;background:#eef2ff;color:#4338ca}.admin-badges-condition-type-icon{font-size:1.25rem}.admin-badges-subject-search-wrapper{position:relative}.admin-badges-selected-subject{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#eef2ff;border:1px solid #6366f1;border-radius:6px;color:#4338ca;font-weight:500;font-size:.9rem}.admin-badges-subject-remove{background:none;border:none;color:#6366f1;font-size:1rem;font-weight:700;cursor:pointer;padding:0 .25rem;line-height:1;transition:color .15s}.admin-badges-subject-remove:hover{color:#ef4444}.admin-badges-subject-dropdown{position:absolute;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001a;z-index:50}.admin-badges-subject-option{display:block;width:100%;padding:.5rem .75rem;background:none;border:none;text-align:left;font-size:.875rem;color:#374151;cursor:pointer;transition:background .12s}.admin-badges-subject-option:hover{background:#eef2ff;color:#4338ca}.admin-badges-subject-more{padding:.5rem .75rem;font-size:.8rem;color:#9ca3af;text-align:center;font-style:italic}.admin-badges-subject-empty{padding:.75rem;font-size:.875rem;color:#9ca3af;text-align:center}.admin-badges-card-category{color:#6366f1;font-weight:500}.admin-badges-card-icon-img{width:36px;height:36px;object-fit:contain;border-radius:4px}.admin-badges-preview-icon-img{width:36px;height:36px;object-fit:contain;border-radius:6px}.admin-badges-preview{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e5e7eb}.admin-badges-preview-card{display:flex;align-items:center;gap:1rem;background:#f9fafb;padding:1rem;border-radius:8px;border:1px solid #e5e7eb;margin-top:.5rem}.admin-badges-preview-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f0f4ff;border-radius:10px;flex-shrink:0}.admin-badges-preview-card strong{color:#1f2937;display:block;margin-bottom:.15rem}.admin-badges-preview-card p{color:#6b7280;font-size:.85rem;margin:0 0 .15rem}.admin-badges-preview-card small{color:#3b82f6;font-weight:600;font-size:.8rem}.admin-badges-btn-cancel{padding:.625rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-weight:500;cursor:pointer;transition:background .15s}.admin-badges-btn-cancel:hover{background:#f3f4f6}.admin-badges-btn-save{padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .15s}.admin-badges-btn-save:hover{background:#2563eb}.admin-badges-btn-save:disabled,.admin-badges-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.admin-badges-btn-danger{padding:.625rem 1.25rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .15s}.admin-badges-btn-danger:hover{background:#dc2626}.admin-badges-btn-danger:disabled{opacity:.6;cursor:not-allowed}.admin-badges-delete-preview{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border-radius:8px;margin-bottom:1rem}.admin-badges-delete-icon{font-size:2rem}.admin-badges-delete-warning{color:#6b7280;font-size:.9375rem;line-height:1.5}@media(max-width:768px){.admin-badges-header{flex-direction:column;align-items:flex-start}.admin-badges-grid{grid-template-columns:1fr}.admin-badges-modal{max-width:100%;margin:.5rem}}.notifications-page{max-width:900px;margin:0 auto;padding:20px;min-height:calc(100vh - 80px);background-color:#fff}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.notifications-header h1{font-size:28px;font-weight:600;color:#1f2937;margin:0}.mark-all-read-btn-full{background-color:#1f2937;color:#fff;border:none;padding:10px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .15s ease}.mark-all-read-btn-full:hover{background-color:#111827}.notifications-empty{text-align:center;padding:60px 20px;color:#6b7280;font-size:16px}.notifications-list-full{display:flex;flex-direction:column;gap:12px}.notification-card-full{display:flex;align-items:center;gap:16px;padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:0;transition:all .15s ease}.notification-card-full:hover{background-color:#fff;border-color:#3b82f6}.notification-card-full.unread{background-color:#eff6ff;border-color:#bfdbfe}.notification-card-full.clickable{cursor:pointer}.notification-card-full.clickable:hover{background-color:#fff;border-color:#3b82f6}.notification-card-avatar{flex-shrink:0;width:50px;height:50px;border-radius:50%;overflow:hidden;background-color:#e5e7eb;display:flex;align-items:center;justify-content:center}.notification-avatar-fallback{font-size:24px}.notification-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.notification-card-main{display:flex;flex-direction:column;gap:4px}.notification-card-text{font-size:15px;color:#1f2937;margin:0;line-height:1.4;word-break:break-word}.notification-card-time{font-size:13px;color:#9ca3af}.notification-card-actions{display:flex;gap:8px}.action-btn-full{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .2s ease}.action-btn-full.accept-btn{background-color:#d1fae5;color:#065f46;border-color:#a7f3d0}.action-btn-full.accept-btn:hover{background-color:#a7f3d0}.action-btn-full.reject-btn{background-color:#fee2e2;color:#7f1d1d;border-color:#fecaca}.action-btn-full.reject-btn:hover{background-color:#fecaca}.notification-card-book{flex-shrink:0;width:80px;height:120px;border-radius:4px;overflow:hidden;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb}.notification-book-placeholder{font-size:36px;opacity:.5}.notification-book-img{width:100%;height:100%;object-fit:cover;display:block}.notification-card-controls{flex-shrink:0;display:flex;gap:8px}.mark-read-btn-full,.delete-btn-full{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.mark-read-btn-full:hover,.delete-btn-full:hover{background-color:#0000000d;color:#1f2937}@media(max-width:768px){.notifications-page{padding:12px}.notifications-header{flex-direction:column;gap:12px;align-items:flex-start}.notification-card-full{flex-direction:column;align-items:stretch}.notification-card-content{order:2}.notification-card-avatar{order:1}.notification-card-controls{order:3;width:100%;justify-content:flex-end;margin-left:0}.notification-card-book{display:none}}.home-container{max-width:1400px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.home-hero{text-align:center;padding:4rem 2rem;background:#1f2937;border-radius:0;color:#fff;margin-bottom:2rem}.home-hero h1{font-size:2.5rem;margin-bottom:1rem}.home-hero p{font-size:1.2rem;opacity:.9}.feed-error,.feed-empty{text-align:center;padding:3rem 2rem;color:#666;font-size:1.1rem}.feed-error{color:#e74c3c}.feed-empty p{margin:.5rem 0}.feed-list{display:flex;flex-direction:column;gap:1.5rem}.feed-card{background:#fff;border:1px solid #e5e7eb;border-radius:0;padding:1.5rem;box-shadow:none;transition:all .15s ease;border-bottom:1px solid #e5e7eb}.feed-card:hover{border-color:#d1d5db;background:#fff}.feed-liked-banner{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;color:#6b7280;display:flex;align-items:center;gap:.5rem}.feed-liked-icon{font-size:1rem;color:#9ca3af}.feed-liked-username{color:#1f2937;font-weight:600;cursor:pointer;text-decoration:none}.feed-liked-username:hover{text-decoration:underline}.feed-card-header{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.feed-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #3b82f6;cursor:pointer}.feed-user-info{display:flex;flex-direction:column;gap:2px}.feed-username{font-weight:600;font-size:1rem;color:#1a1a1a;cursor:pointer}.feed-timestamp{font-size:.875rem;color:#657786}.feed-activity-content{padding-left:60px}.feed-review-activity{display:flex;flex-direction:column;gap:1rem}.feed-review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.feed-review-title{font-size:1rem;color:#14171a;line-height:1.5}.feed-review-title strong,.feed-review-title em{color:#1a1a1a;font-weight:600;cursor:pointer}.feed-review-meta{display:flex;align-items:center;gap:.5rem}.feed-stars{display:inline-flex;gap:2px}.feed-star{font-size:.9rem;color:#d1d5db;line-height:1}.feed-star.filled{color:#f59e0b}.feed-review-rating-text{font-size:.85rem;color:#9ca3af;font-weight:500}.feed-review-body{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem}.feed-review-text{margin:0;color:#1f2937;line-height:1.6;font-size:.95rem;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.feed-review-text.expanded{-webkit-line-clamp:unset}.feed-review-more{background:none;border:none;padding:0;margin-top:.5rem;color:#2563eb;font-weight:500;font-size:.9rem;cursor:pointer}.feed-review-book-card{display:flex;gap:1rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;align-items:center}.feed-review-book-details{display:flex;flex-direction:column;gap:.25rem}.feed-review-book-title{font-weight:600;color:#1a1a1a;cursor:pointer}.feed-review-book-author{color:#6b7280;font-size:.9rem}.feed-review-book-status{display:inline-flex;align-items:center;gap:.25rem;background:#f0fdf4;color:#16a34a;border-radius:2px;font-size:.75rem;padding:.2rem .6rem;width:max-content}.feed-review-book-status-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.feed-review-book-select{border:1px solid #1f2937;border-radius:4px;padding:.3rem .85rem;font-size:.75rem;background:#1f2937;color:#fff;font-weight:600;cursor:pointer;transition:all .15s ease}.feed-review-book-select:hover:not(:disabled){background:#111827}.feed-review-book-select:disabled{opacity:.6;cursor:not-allowed}} .feed-review-book-select option{background:#fff;color:#111827;font-weight:400}.feed-review-book-select option:checked{background:#3b82f6;color:#fff;background-image:linear-gradient(#3b82f6,#3b82f6)}.feed-review-book-error{font-size:.75rem;color:#ef4444}.feed-activity-header{font-size:1rem;color:#14171a;margin-bottom:1rem;line-height:1.5}.feed-activity-header strong{color:#3b82f6;font-weight:600}.feed-activity-header em{color:#1a1a1a;font-weight:500}.feed-rating{color:#f39c12;font-weight:500}.feed-book-info{display:flex;gap:1rem;padding:1rem;background:#f7f9fa;border-radius:8px;align-items:flex-start}.feed-book-thumbnail{width:80px;height:120px;object-fit:cover;border-radius:4px;box-shadow:0 2px 8px #00000026;flex-shrink:0}.feed-review-text{flex:1;color:#14171a;line-height:1.6;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.feed-activity-comment-preview{margin:.5rem 0 .75rem;padding:.6rem .8rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;color:#374151}.feed-progress-info{flex:1;display:flex;flex-direction:column;gap:.75rem}.feed-progress-text{font-size:1rem;color:#14171a;font-weight:500}.feed-progress-bar{width:100%;height:10px;background:#e1e8ed;border-radius:0;overflow:hidden}.feed-progress-fill{height:100%;background:#1f2937;border-radius:0;transition:width .3s ease}@media(max-width:768px){.home-container{padding:1rem}.home-hero h1{font-size:2rem}.home-hero p{font-size:1rem}.feed-card{padding:1rem}.feed-activity-content{padding-left:0;margin-top:.5rem}.feed-review-header{flex-direction:column;align-items:flex-start}.feed-book-info{flex-direction:column;align-items:center;text-align:center}.feed-review-book-card{flex-direction:column;text-align:center}.feed-book-thumbnail{width:100px;height:150px}}.feed-card-actions{display:flex;gap:1.5rem;padding:1rem 0;border-top:1px solid #f0f0f0;margin-top:1rem}.feed-like-container{display:flex;align-items:center;gap:.5rem}.feed-like-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;color:#6b7280;font-size:.95rem;transition:all .15s ease}.feed-like-btn:hover:not(:disabled){border-color:#1f2937;color:#1f2937;background-color:#fff}.feed-like-btn.liked{border-color:#ef4444;color:#ef4444;background-color:#fef2f2}.feed-like-btn.liked:hover{border-color:#dc2626;color:#dc2626}.feed-like-btn:disabled{opacity:.5;cursor:not-allowed}.feed-like-icon{width:16px;height:16px}.feed-like-count{font-size:.875rem;color:#6b7280;font-weight:500}.feed-comment-container{display:flex;align-items:center;gap:.5rem}.feed-comment-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .15s ease}.feed-comment-btn:hover{border-color:#1f2937;color:#1f2937;background-color:#fff}.feed-comment-icon{width:16px;height:16px}.feed-comment-count{font-size:.875rem;color:#6b7280;font-weight:500}.feed-comments-section{margin-top:1rem;padding-top:1rem}.feed-comment-form{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:4px;border:1px solid #e5e7eb}.feed-comment-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.feed-comment-input{flex:1;border:none;background:transparent;padding:.5rem 0;font-size:.9rem;color:#1f2937;outline:none}.feed-comment-input::placeholder{color:#9ca3af}.feed-comment-submit{padding:.5rem 1rem;background:#1f2937;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.feed-comment-submit:hover{background:#111827}.feed-comment-submit:disabled{opacity:.5;cursor:not-allowed}.feed-comments-list{display:flex;flex-direction:column;gap:.75rem}.feed-comment{display:flex;gap:.75rem;padding:.75rem;border-radius:12px;transition:background-color .2s}.feed-comment:hover{background-color:#f9fafb}.feed-comment-content{flex:1;min-width:0}.feed-comment-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.feed-comment-username{font-size:.875rem;font-weight:600;color:#1f2937}.feed-comment-date{font-size:.75rem;color:#9ca3af}.feed-comment-text{margin:0;font-size:.9rem;color:#374151;line-height:1.5;word-break:break-word}.feed-comment-delete{width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:#9ca3af;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s;flex-shrink:0}.feed-comment-delete:hover{background-color:#fee2e2;color:#ef4444}.feed-comments-show-more{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-top:.5rem;background:transparent;border:none;border-radius:8px;color:#6b7280;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.feed-comments-show-more:hover{background-color:#f3f4f6;color:#374151}.feed-comments-show-more svg{flex-shrink:0}.home-layout{display:flex;gap:2rem;align-items:flex-start}.home-feed{flex:1;min-width:0;max-width:800px}.currently-reading-sidebar{width:320px;flex-shrink:0;position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:0}.sidebar-title{font-size:.8rem;font-weight:700;color:#1f2937;letter-spacing:.05em;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #1f2937}.sidebar-empty{font-size:.875rem;color:#9ca3af;padding:1rem 0;text-align:center}.sidebar-books{display:flex;flex-direction:column;gap:1.25rem}.sidebar-book-card{padding-bottom:1.25rem;border-bottom:1px solid #f3f4f6}.sidebar-book-card:last-child{border-bottom:none;padding-bottom:0}.sidebar-book-row{display:flex;gap:.75rem}.sidebar-book-cover{width:60px;height:90px;object-fit:cover;border-radius:2px;box-shadow:0 1px 4px #00000026;flex-shrink:0;cursor:pointer}.sidebar-book-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.sidebar-book-title{font-size:.875rem;font-weight:600;color:#1f2937;cursor:pointer;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.sidebar-book-title:hover{text-decoration:underline}.sidebar-book-author{font-size:.75rem;color:#6b7280;line-height:1.3}.sidebar-book-progress{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.sidebar-progress-bar{flex:1;height:5px;background:#e5e7eb;border-radius:3px;overflow:hidden}.sidebar-progress-fill{height:100%;background:#1f2937;border-radius:3px;transition:width .3s ease}.sidebar-progress-text{font-size:.7rem;color:#6b7280;font-weight:500;white-space:nowrap}.sidebar-update-btn{margin-top:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500;color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;transition:all .15s ease;width:fit-content}.sidebar-update-btn:hover{background:#f3f4f6;border-color:#1f2937}.sidebar-links{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid #e5e7eb;font-size:.8rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.sidebar-links a{color:#2563eb;cursor:pointer;text-decoration:none}.sidebar-links a:hover{text-decoration:underline}.sidebar-link-sep{color:#9ca3af}.progress-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeInOverlay .15s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.progress-modal{background:#fff;border-radius:8px;padding:1.75rem;width:420px;max-width:90vw;position:relative;box-shadow:0 20px 60px #0003;animation:slideUpModal .2s ease}@keyframes slideUpModal{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.progress-modal-close{position:absolute;top:.75rem;right:.75rem;width:30px;height:30px;background:transparent;border:none;font-size:1.4rem;color:#9ca3af;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.progress-modal-close:hover{background:#f3f4f6;color:#1f2937}.progress-modal-header h3{margin:0 0 1.25rem;font-size:1.1rem;font-weight:600;color:#1f2937}.progress-modal-book{display:flex;gap:1rem;margin-bottom:1.5rem;padding:.75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.progress-modal-cover{width:50px;height:75px;object-fit:cover;border-radius:3px;box-shadow:0 1px 4px #00000026}.progress-modal-book-info{display:flex;flex-direction:column;justify-content:center;gap:.25rem}.progress-modal-title{font-weight:600;font-size:.95rem;color:#1f2937;line-height:1.3}.progress-modal-author{font-size:.825rem;color:#6b7280}.progress-modal-input-group{margin-bottom:1.25rem}.progress-modal-input-group label{display:block;font-size:.825rem;font-weight:600;color:#374151;margin-bottom:.5rem}.progress-modal-input-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.progress-modal-input{width:80px;padding:.5rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:1rem;font-weight:500;color:#1f2937;text-align:center}.progress-modal-input:focus{outline:none;border-color:#1f2937;box-shadow:0 0 0 2px #1f29371a}.progress-modal-total{font-size:.9rem;color:#6b7280}.progress-modal-bar-container{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.progress-modal-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-modal-bar-fill{height:100%;background:#1f2937;border-radius:4px;transition:width .2s ease}.progress-modal-percentage{font-size:.875rem;font-weight:600;color:#1f2937;min-width:35px;text-align:right}.progress-modal-error{color:#ef4444;font-size:.825rem;margin-bottom:.75rem}.progress-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.progress-modal-cancel{padding:.5rem 1.25rem;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.875rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease}.progress-modal-cancel:hover{background:#f3f4f6}.progress-modal-save{padding:.5rem 1.25rem;border:none;background:#1f2937;color:#fff;font-size:.875rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s ease}.progress-modal-save:hover:not(:disabled){background:#111827}.progress-modal-save:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.currently-reading-sidebar{width:280px}}@media(max-width:768px){.home-layout{flex-direction:column}.currently-reading-sidebar{width:100%;position:static;max-height:none;order:-1;margin-bottom:1rem}}.mybooks-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.mybooks-layout{display:flex;gap:2rem;align-items:flex-start}.mybooks-sidebar{width:220px;flex-shrink:0;position:sticky;top:5rem}.mybooks-sidebar-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 .75rem}.mybooks-sidebar-subtitle{font-size:.85rem;font-weight:600;color:#6b7280;margin:1rem 0 .5rem}.mybooks-shelf-list{list-style:none;padding:0;margin:0}.mybooks-shelf-item{padding:.4rem .6rem;font-size:.9rem;color:#2563eb;cursor:pointer;border-radius:4px;transition:background .15s}.mybooks-shelf-item:hover{background:#f3f4f6}.mybooks-shelf-item.active{font-weight:700;color:#1f2937;background:#f3f4f6}.mybooks-main{flex:1;min-width:0}.mybooks-header h1{font-size:1.4rem;font-weight:400;color:#1f2937;margin:0;display:flex;align-items:center;gap:.5rem}.mybooks-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;padding-bottom:.75rem;margin-bottom:1.25rem}.mybooks-active-filter{font-weight:700}.mybooks-count{color:#6b7280;font-size:1.1rem;margin-left:.25rem}.mybooks-clear-filter{color:#9ca3af;font-size:1.2rem;cursor:pointer;margin-left:.25rem;font-weight:300}.mybooks-clear-filter:hover{color:#ef4444}.mybooks-view-toggle{display:flex;align-items:center;gap:2px;border:1px solid #d1d5db;border-radius:4px;overflow:hidden;flex-shrink:0}.mybooks-view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#fff;border:none;color:#9ca3af;font-size:.9rem;cursor:pointer;transition:all .15s}.mybooks-view-btn:first-child{border-right:1px solid #d1d5db}.mybooks-view-btn:hover{color:#1f2937;background:#f9fafb}.mybooks-view-btn.active{color:#1f2937;background:#f3f4f6}.mybooks-empty{text-align:center;padding:3rem;color:#9ca3af;font-size:1rem}.mybooks-table-wrapper{overflow-x:auto}.mybooks-table{width:100%;border-collapse:collapse;font-size:.9rem}.mybooks-table thead{border-bottom:2px solid #e5e7eb}.mybooks-table th{text-align:left;padding:.5rem .75rem;font-weight:400;color:#6b7280;font-size:.8rem;white-space:nowrap}.mybooks-table td{padding:.75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.mybooks-row:hover{background:#fafbfc}.mybooks-th-cover{width:60px}.mybooks-th-title{min-width:200px}.mybooks-th-author{min-width:120px}.mybooks-th-rating{width:80px}.mybooks-th-shelves{width:130px}.mybooks-th-date{width:100px}.mybooks-th-actions{width:80px}.mybooks-cover{width:50px;height:70px;object-fit:cover;border-radius:2px;box-shadow:0 1px 3px #0000001f;cursor:pointer}.mybooks-cover-placeholder{width:50px;height:70px;background:#f3f4f6;border-radius:2px;display:flex;align-items:center;justify-content:center;color:#d1d5db;font-size:1.25rem;cursor:pointer}.mybooks-title-link{color:#2563eb;cursor:pointer;font-weight:500;line-height:1.4}.mybooks-title-link:hover{text-decoration:underline}.mybooks-td-author{color:#374151}.mybooks-td-rating{color:#374151;font-size:.85rem}.mybooks-stars{display:inline-flex;gap:1px}.mybooks-star{font-size:.85rem;color:#d1d5db}.mybooks-star.filled{color:#f59e0b}.mybooks-no-rating{color:#d1d5db}.mybooks-shelf-badge{display:inline-block;padding:.2rem .5rem;font-size:.8rem;color:#2563eb;cursor:pointer;position:relative}.mybooks-shelf-badge:hover{text-decoration:underline}.mybooks-shelf-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:4px;box-shadow:0 4px 12px #0000001a;z-index:50;min-width:150px;margin-top:2px}.mybooks-shelf-option{padding:.5rem .75rem;font-size:.85rem;color:#374151;cursor:pointer;transition:background .1s}.mybooks-shelf-option:hover{background:#f3f4f6}.mybooks-td-shelves{position:relative}.mybooks-td-date{color:#6b7280;font-size:.8rem;white-space:nowrap}.mybooks-td-actions{white-space:nowrap}.mybooks-action-link{color:#2563eb;font-size:.8rem;cursor:pointer;margin-right:.5rem}.mybooks-action-link:hover{text-decoration:underline}.mybooks-remove-btn{color:#9ca3af;font-size:1.2rem;cursor:pointer;font-weight:300;transition:color .15s}.mybooks-remove-btn:hover{color:#ef4444}.mybooks-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb;flex-wrap:wrap}.mybooks-footer-left{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6b7280}.mybooks-select{padding:.3rem .5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem;color:#374151;background:#fff;cursor:pointer}.mybooks-radio-label{display:flex;align-items:center;gap:.2rem;font-size:.85rem;color:#6b7280;cursor:pointer}.mybooks-radio-label input[type=radio]{margin:0;accent-color:#1f2937}.mybooks-pagination{display:flex;gap:.25rem}.mybooks-page-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.85rem;border-radius:4px;cursor:pointer;transition:all .15s}.mybooks-page-btn:hover{background:#f3f4f6;border-color:#1f2937}.mybooks-page-btn.active{background:#1f2937;color:#fff;border-color:#1f2937}.mybooks-grid{display:flex;flex-wrap:wrap;gap:1.25rem}.mybooks-grid-card{cursor:pointer;transition:transform .15s,box-shadow .15s}.mybooks-grid-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.mybooks-grid-cover{width:130px;height:200px;object-fit:cover;border-radius:3px;box-shadow:0 2px 8px #00000026;display:block}.mybooks-grid-cover-placeholder{width:130px;height:200px;background:#f3f4f6;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#9ca3af;font-size:.75rem;text-align:center;padding:.5rem;box-shadow:0 2px 8px #0000001a}.mybooks-grid-cover-placeholder i{font-size:2rem}@media(max-width:768px){.mybooks-layout{flex-direction:column}.mybooks-sidebar{width:100%;position:static}.mybooks-shelf-list{display:flex;flex-wrap:wrap;gap:.25rem}.mybooks-shelf-item{font-size:.8rem}.mybooks-table th:nth-child(4),.mybooks-table td:nth-child(4){display:none}.mybooks-footer{flex-direction:column;align-items:flex-start}}.review-page{max-width:1100px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.review-error{text-align:center;padding:3rem 2rem;color:#6b7280}.review-layout{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start;margin-bottom:1.5rem}.review-cover-col{display:flex;justify-content:center}.review-breadcrumb{font-size:.9rem;color:#6b7280;margin-bottom:.35rem}.review-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.review-back-btn{display:inline-flex;align-items:center;gap:.5rem;background:#f9fafb;border:1px solid #e5e7eb;color:#111827;padding:.4rem .85rem;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s ease}.review-back-btn:hover{background:#e5e7eb;border-color:#1f2937;color:#111827}.review-title{font-size:1.9rem;margin:0 0 .15rem;color:#111827;font-weight:600}.review-author{margin:0 0 1rem;color:#6b7280;font-size:.95rem}.review-cover{width:170px;height:250px;object-fit:cover;border-radius:2px;box-shadow:0 8px 24px #00000026;cursor:pointer}.review-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem 1.5rem}.review-card-header{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem}.review-avatar{width:56px;height:56px;border-radius:8px;object-fit:cover;cursor:pointer}.review-user{flex:1}.review-user-line{display:flex;align-items:center;justify-content:space-between;gap:1rem}.review-user-label{font-weight:600;color:#111827}.review-date{font-size:.85rem;color:#9ca3af;white-space:nowrap}.review-rating{display:flex;align-items:center;gap:.35rem;margin-top:.25rem}.review-rating-text{font-size:.85rem;color:#9ca3af;font-weight:500}.review-body{color:#1f2937;line-height:1.75;font-size:1.02rem;white-space:pre-wrap;margin-top:.5rem}.review-actions{display:flex;align-items:center;gap:.75rem;justify-content:flex-end;margin-top:1rem}.review-like-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:4px;border:1px solid #d1d5db;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s ease}.review-like-btn:hover:not(:disabled){border-color:#6b7280;color:#111827;background:#f3f4f6}.review-like-btn.liked{border-color:#ef4444;color:#ef4444;background:#fef2f2}.review-like-btn:disabled{opacity:.5;cursor:not-allowed}.review-like-icon{width:18px;height:18px}.review-like-count,.review-comment-count{font-size:.9rem;color:#6b7280;font-weight:500}.review-comments{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.review-comments-title{margin:0 0 1rem;font-size:1.1rem;color:#111827}.review-comment-form{display:flex;align-items:center;gap:.75rem;background:#f9fafb;border-radius:20px;padding:.75rem;margin-bottom:1rem}.review-comment-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.review-comment-input{flex:1;border:none;background:transparent;font-size:.9rem;outline:none}.review-comment-submit{padding:.45rem .9rem;background:#1f2937;color:#fff;border:1px solid #1f2937;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.review-comment-submit:hover{background:#111827}.review-comment-list{display:flex;flex-direction:column;gap:.75rem}.review-comment{display:flex;gap:.75rem;padding:.75rem;border-radius:0}.review-comment:hover{background:#fff;border-radius:4px}.review-comment-content{flex:1}.review-comment-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6b7280;margin-bottom:.25rem}.review-empty{text-align:center;color:#9ca3af;padding:1rem 0}.my-reviews-page{max-width:1000px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.my-reviews-header h1{margin:0 0 .25rem;color:#111827}.my-reviews-header p{color:#6b7280;margin:0 0 1.5rem}.my-reviews-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-reviews-back-btn{display:inline-flex;align-items:center;gap:.5rem;background:#f9fafb;border:1px solid #e5e7eb;color:#111827;padding:.5rem .9rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .15s ease;height:fit-content}.my-reviews-back-btn:hover{background:#e5e7eb;border-color:#d1d5db}.my-reviews-error,.my-reviews-empty{text-align:center;padding:2.5rem 2rem;color:#6b7280}.my-reviews-error{color:#ef4444}.my-reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.my-review-card{display:flex;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:0;padding:1rem;cursor:pointer;transition:all .15s ease}.my-review-card:hover{border-color:#3b82f6;background:#fff}.my-review-cover img,.my-review-cover-fallback{width:70px;height:100px;border-radius:8px;object-fit:cover;background:#f3f4f6}.my-review-content h3{margin:0 0 .2rem;font-size:1rem;color:#111827}.my-review-author{margin:0 0 .5rem;color:#6b7280;font-size:.85rem}.my-review-snippet{margin:0 0 .5rem;color:#374151;font-size:.9rem;line-height:1.4}.my-review-rating{font-size:.85rem;color:#f59e0b;font-weight:600}.messages-container{display:flex;height:calc(100vh - 70px);height:calc(100dvh - 70px);background:#fff}.messages-sidebar{width:360px;background:#fff;border-right:1px solid #e1e8ed;display:flex;flex-direction:column}.messages-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e1e8ed}.messages-sidebar-header h2{margin:0;font-size:1.5rem;font-weight:700}.messages-new-btn{width:40px;height:40px;border-radius:4px;border:none;background:#1f2937;color:#fff;font-size:1rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.messages-new-btn:hover{background:#111827}.messages-conversations-list{flex:1;overflow-y:auto}.messages-conversation-item{display:flex;gap:12px;padding:1rem 1.5rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f0f0f0}.messages-conversation-item:hover{background-color:#fff;border-color:#d1d5db}.messages-conversation-item.active{background-color:#eff6ff;border-color:#bfdbfe}.messages-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}.messages-conversation-info{flex:1;min-width:0}.messages-conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.messages-username{font-weight:600;font-size:.95rem;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-time{font-size:.75rem;color:#9ca3af;white-space:nowrap}.messages-last-message{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#657786;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-last-message .unread{font-weight:600;color:#1a1a1a}.messages-unread-badge{background:#3b82f6;color:#fff;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:600;min-width:18px;text-align:center}.messages-main{flex:1;display:flex;flex-direction:column;background:#fff}.messages-header{display:flex;align-items:center;gap:12px;padding:1rem 1.5rem;border-bottom:1px solid #e1e8ed;background:#fff}.messages-back-btn{display:none;width:36px;height:36px;border-radius:8px;border:1px solid #e1e8ed;background:#fff;color:#1f2937;align-items:center;justify-content:center}.messages-header-info{flex:1}.messages-header-username{margin:0;font-size:1.1rem;font-weight:600;cursor:pointer;color:#1a1a1a}.messages-header-username:hover{color:#3b82f6}.messages-list{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:#f9fafb}.messages-message{display:flex;flex-direction:column;max-width:70%;animation:messageSlide .2s ease-out}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.messages-message.sent{align-self:flex-end;align-items:flex-end}.messages-message.received{align-self:flex-start;align-items:flex-start}.messages-message-content{padding:.75rem 1rem;border-radius:4px;word-wrap:break-word;line-height:1.4}.messages-message.sent .messages-message-content{background:#1f2937;color:#fff;border-bottom-right-radius:4px}.messages-message.received .messages-message-content{background:#f3f4f6;color:#1f2937;border-bottom-left-radius:4px}.messages-message-time{font-size:.7rem;color:#9ca3af;margin-top:4px;padding:0 8px}.messages-input-form{display:flex;gap:12px;padding:1rem 1.5rem;border-top:1px solid #e1e8ed;background:#fff;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.messages-input{flex:1;padding:.75rem 1rem;border:1px solid #e1e8ed;border-radius:24px;font-size:.95rem;outline:none;transition:border-color .2s}.messages-input:focus{border-color:#3b82f6}.messages-send-btn{width:48px;height:48px;border-radius:4px;border:none;background:#1f2937;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .15s ease}.messages-send-btn:hover:not(:disabled){background:#111827}.messages-send-btn:disabled{opacity:.5;cursor:not-allowed}.messages-empty{padding:3rem 2rem;text-align:center;color:#9ca3af}.messages-empty p{margin-bottom:1rem}.messages-no-selection{display:flex;justify-content:center;align-items:center;height:100%}.messages-no-selection-content{text-align:center;color:#9ca3af}.messages-no-selection-content h2{font-size:2rem;margin-bottom:.5rem;color:#1a1a1a}.messages-no-selection-content p{margin-bottom:1.5rem}.messages-empty-conversation{flex:1;display:flex;justify-content:center;align-items:center;color:#9ca3af;font-size:1.1rem}.messages-start-btn{padding:.75rem 1.5rem;border:1px solid #1f2937;border-radius:4px;background:#1f2937;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .15s ease}.messages-start-btn:hover{background:#111827}.messages-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.messages-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.messages-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e1e8ed}.messages-modal-header h3{margin:0;font-size:1.3rem;font-weight:700}.messages-modal-close{width:32px;height:32px;border:none;background:transparent;font-size:1.3rem;color:#9ca3af;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s}.messages-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.messages-modal-subtitle{font-weight:600;color:#6b7280;font-size:.85rem;text-transform:uppercase;margin-bottom:1rem}@media(max-width:768px){.messages-container{flex-direction:column;height:calc(100dvh - 64px)}.messages-sidebar{width:100%;border-right:none;border-bottom:1px solid #e1e8ed;display:flex;flex:1}.messages-main{width:100%;display:flex;flex:1}.messages-container.conversation-open .messages-sidebar,.messages-container.conversation-closed .messages-main{display:none}.messages-back-btn{display:inline-flex}.messages-list{padding:1rem}.messages-message{max-width:85%}.messages-input-form{padding:.75rem 1rem}.messages-conversation-item{padding:.85rem 1rem}.messages-avatar{width:48px;height:48px}}.messages-modal-empty{text-align:center;color:#9ca3af;padding:2rem}.messages-following-list{display:flex;flex-direction:column;gap:.5rem}.messages-following-item{display:flex;align-items:center;gap:12px;padding:.75rem;border-radius:8px;cursor:pointer;transition:background-color .2s}.messages-following-item:hover{background-color:#fff}.header{position:sticky;top:0;left:0;right:0;width:100%;padding:1rem 2rem;background-color:#fff;border-bottom:1px solid #e5e7eb;color:#111827;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;z-index:1001;box-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.header-title{margin:0;cursor:pointer;font-weight:700;color:#111827;transition:all .2s ease;letter-spacing:-.5px}.header-title:hover{color:#3b82f6}.header-nav{display:flex;gap:1rem;margin-left:auto;align-items:center;flex-wrap:wrap}.header-menu-toggle{display:none;margin-left:auto;width:40px;height:40px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:1.1rem;cursor:pointer;align-items:center;justify-content:center}.header-menu-toggle:hover{background-color:#e5e7eb;border-radius:4px}.header-menu-overlay{display:none}.header-username{color:#666;font-size:.875rem;font-weight:500;padding:0 1rem;border-right:1px solid #e5e7eb}.header-btn{padding:.625rem 1.25rem;font-size:.875rem;border-radius:4px;cursor:pointer;border:none;font-family:inherit;font-weight:500;transition:all .15s ease}.header-btn-outline{background-color:transparent;color:#111827;border:1px solid #d1d5db}.header-btn-outline:hover{background-color:#e5e7eb;border-color:#1f2937;color:#111827}.header-btn-primary{background-color:#1f2937;color:#fff;border:1px solid #1f2937}.header-btn-primary:hover{background-color:#111827;border-color:#111827}.header-btn-danger{background-color:#ef4444;color:#fff;border:1px solid #ef4444}.header-btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.header-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;border:1px solid transparent;color:#111827;font-size:1.25rem;cursor:pointer;transition:all .15s ease}.header-icon-btn:hover{background-color:#e5e7eb;border-radius:4px;border-color:transparent}.header-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;cursor:pointer;border:none;transition:all .2s ease}.header-avatar:hover{opacity:.8}@media(max-width:768px){.header{padding:1rem;gap:1rem}.header-menu-toggle{display:inline-flex}.header .header-nav{display:none;width:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.75rem;padding:.75rem 0;background:#fff;position:relative;z-index:1002}.header-nav.is-open{display:flex}.header-btn,.header-icon-btn,.header-avatar,.header-nav .notification-bell-container{width:100%}.header-nav .notification-bell-btn{width:100%;height:44px;border:1px solid #d1d5db;border-radius:10px}.header-icon-btn,.header-avatar{height:44px;border-radius:10px}.header-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;align-self:center}.header-menu-overlay{display:block;position:fixed;inset:0;background:#0006;border:none;z-index:1000}.header-username{display:none}.header-btn{padding:.5rem 1rem;font-size:.8125rem}}.notification-bell-container{position:relative;display:inline-block}.notification-bell-btn{position:relative;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:inherit;transition:color .2s ease;border-radius:4px}.notification-bell-btn:hover{background-color:#0000000d;color:#3b82f6}.notification-badge{position:absolute;top:0;right:0;background-color:#ef4444;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.notification-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:0;box-shadow:none;width:380px;max-height:500px;display:flex;flex-direction:column;z-index:1000;margin-top:8px}@media(max-width:480px){.notification-dropdown{position:fixed;top:72px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 96px)}}.notification-header{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.notification-header h3{margin:0;font-size:16px;font-weight:600}.notification-header-buttons{display:flex;gap:8px;align-items:center}.mark-all-read-btn,.view-all-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;text-decoration:none}.mark-all-read-btn:hover,.view-all-btn:hover{background-color:#3b82f61a}.notification-list{flex:1;overflow-y:auto;min-height:0}.notification-item{padding:12px 16px;border-bottom:1px solid #f3f4f6;display:flex;flex-direction:column;gap:8px;transition:background-color .2s ease}.notification-item:hover{background-color:#f9fafb}.notification-item.clickable{cursor:pointer}.notification-item.clickable:hover{background-color:#f0f9ff}.notification-item.unread{background-color:#eff6ff}.notification-content{display:flex;gap:12px;align-items:flex-start}.notification-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background-color:#e5e7eb;display:flex;align-items:center;justify-content:center}.notification-avatar-img{width:100%;height:100%;object-fit:cover}.notification-avatar-fallback{font-size:20px}.notification-text{flex:1;min-width:0}.notification-text p{margin:0;font-size:14px;line-height:1.4;color:#1f2937;word-break:break-word}.notification-text small{display:block;font-size:12px;color:#6b7280;margin-top:4px}.notification-time{font-size:12px;color:#9ca3af}.mark-read-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:20px;padding:0;flex-shrink:0;transition:color .2s ease}.mark-read-btn:hover{color:#dc2626}.delete-notification-btn{background:none;border:none;color:#d1d5db;cursor:pointer;padding:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease;border-radius:4px}.delete-notification-btn:hover{color:#6b7280;background-color:#0000000d}.notification-actions{display:flex;gap:8px;padding:8px 0 0 52px}.action-btn{flex:1;padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .2s ease}.action-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.accept-btn{color:#10b981;border-color:#10b981}.accept-btn:hover{background-color:#10b98122}.reject-btn{color:#ef4444;border-color:#ef4444}.reject-btn:hover{background-color:#ef444422}.empty-state{padding:32px 16px;text-align:center;color:#9ca3af;font-size:14px}.notification-overlay{position:fixed;inset:0;z-index:999}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.notification-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.loading-screen{position:fixed;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;z-index:9999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #1f2937;--color-primary-dark: #111827;--color-secondary: #3b82f6;--color-secondary-hover: #2563eb;--color-text: #1f2937;--color-text-light: rgba(255, 255, 255, .87);--color-background: #ffffff;--color-background-dark: #f9fafb;--color-border: #e5e7eb;--color-error: #ef4444;--color-success: #10b981;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{width:100%;min-height:100vh;margin:0;padding:0;background-color:#fff;color:var(--color-text)}body{overflow-x:hidden}#root{min-height:100vh;width:100%}h1{font-size:2.5rem;line-height:1.2;margin-bottom:var(--spacing-lg);font-weight:700}h2{font-size:2rem;line-height:1.3;margin-bottom:var(--spacing-md);font-weight:600}h3{font-size:1.5rem;line-height:1.4;margin-bottom:var(--spacing-md);font-weight:600}p{margin-bottom:var(--spacing-md)}a{color:var(--color-secondary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-secondary-hover);text-decoration:underline}button{font-family:inherit;font-size:1rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);border-radius:4px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;background-color:var(--color-primary);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:4px;width:100%;transition:all .15s ease;background-color:#fff}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #3b82f61a}input::placeholder,textarea::placeholder{color:#999}table{width:100%;border-collapse:collapse;margin:var(--spacing-lg) 0}th,td{text-align:left;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}th{font-weight:600;background-color:#f5f5f5}tr:hover{background-color:#fafafa}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-md)}.mt-2{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-md)}.mb-2{margin-bottom:var(--spacing-lg)}@media(max-width:768px){:root{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}
