@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";.theme-toggle{background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;border-radius:22px;align-items:center;gap:4px;padding:4px;font-family:Poppins,system-ui,sans-serif;transition:all .3s;display:flex}.theme-toggle:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px var(--accent-shadow);transform:translateY(-1px)}.theme-toggle-option{background:0 0;border-radius:18px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s;display:flex}.theme-toggle-option.active{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);box-shadow:0 2px 6px var(--accent-shadow)}.theme-toggle-option svg{width:20px;height:20px;stroke:var(--text-secondary);opacity:.5;transition:all .3s}.theme-toggle-option.active svg{stroke:var(--text-primary);opacity:1;filter:drop-shadow(0 1px 2px #0000004d)}.theme-toggle:hover .theme-toggle-option.active{transform:scale(1.05)}.navigation{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--card-border);z-index:100;background:#ffffff08;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.5rem;display:grid;position:sticky;top:0}.nav-links{justify-content:center;gap:.75rem;display:flex}.nav-user{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.9rem;font-weight:500;overflow:hidden}.logout-btn,.login-btn{min-height:44px;color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:.5rem 1rem;font-weight:500;transition:all .3s}.logout-btn:hover,.login-btn:hover{background:#fff3;transform:translateY(-2px)}.login-btn{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 15px var(--accent-glow);border:none}.login-btn:hover{box-shadow:0 6px 20px var(--accent-glow)}.navigation a{min-height:44px;color:var(--text-primary);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:.75rem 1.75rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.navigation a:before{content:"";background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 20%, transparent) 0%, color-mix(in srgb, var(--accent-secondary) 20%, transparent) 100%);opacity:0;z-index:-1;transition:opacity .3s;position:absolute;inset:0}.navigation a:hover:before{opacity:1}.navigation a:hover{color:#fff;transform:translateY(-2px)}.navigation a.active{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.navigation a.active:hover{box-shadow:0 6px 20px var(--accent-glow)}@media (width<=768px){.navigation{flex-direction:column;gap:1rem;padding:1rem;display:flex}.nav-links{flex-wrap:wrap;gap:.5rem;width:100%}.navigation a{flex:1;min-width:calc(50% - .25rem);padding:.75rem 1rem;font-size:.9rem}.nav-user{justify-content:space-between;gap:.75rem;width:100%}.user-email{max-width:150px;font-size:.85rem}.logout-btn,.login-btn{flex-shrink:0}}.home{max-width:1400px;margin:0 auto}.demo-banner{text-align:center;background:linear-gradient(135deg,#dc262626 0%,#b91c1c26 100%);border:1px solid #dc262666;border-radius:8px;width:fit-content;max-width:calc(100% - 2rem);margin:0 auto 2rem;padding:.65rem 1rem}.demo-banner p{color:var(--text-primary);margin:0;font-size:1rem}.demo-login-link{color:#ef4444;font-weight:600;text-decoration:none;transition:color .2s}.demo-login-link:hover{color:#dc2626;text-decoration:underline}.hero{text-align:center;padding:4rem 1rem 5rem}.hero h2{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:3.5rem;font-weight:700;line-height:1.2}.hero p{opacity:.8;letter-spacing:.5px;font-size:1.3rem;font-weight:300}.features{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;margin-top:3rem;display:grid}.feature-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);color:inherit;border-radius:20px;padding:2.5rem;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);height:4px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover{border-color:var(--card-hover-border);box-shadow:0 20px 40px var(--card-shadow), 0 0 30px var(--accent-shadow);transform:translateY(-10px)}.feature-card h3{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.8rem;font-weight:600;display:flex}.feature-card h3 svg{stroke:var(--accent-primary);filter:drop-shadow(0 2px 4px var(--accent-shadow));flex-shrink:0}.feature-card p{opacity:.8;font-size:1.05rem;font-weight:300;line-height:1.6}@media (width<=768px){.hero{padding:3rem 1rem 4rem}.hero h2{letter-spacing:-.5px;font-size:2.2rem}.hero p{font-size:1.1rem}.features{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.feature-card{padding:2rem}.feature-card h3{gap:.5rem;font-size:1.5rem}.feature-card h3 svg{width:24px;height:24px}.feature-card p{font-size:1rem}}@media (width<=480px){.hero h2{font-size:1.8rem}.hero p{font-size:1rem}.feature-card{padding:1.5rem}}.star-rating{-webkit-user-select:none;user-select:none;align-items:center;gap:.25rem;display:inline-flex}.star-container{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;transition:transform .2s;display:flex;position:relative}.star-rating.readonly .star-container{cursor:default}.star-container:hover{z-index:1;transform:scale(1.15)}.star-rating.readonly .star-container:hover{transform:none}.star{filter:drop-shadow(0 2px 4px #0000004d);width:100%;height:100%;transition:all .2s}.star-filled{color:gold}.star-empty{color:#fff3}.star-container.full .star,.star-container.half .star{animation:.3s starPop}@keyframes starPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.rating-value{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;flex-shrink:0;width:3.5ch;min-width:3.5ch;margin-left:.75rem;font-size:.6em;font-weight:600;display:inline-block}.star-container.half:hover .star,.star-container.full:hover .star{filter:drop-shadow(0 0 8px #ffd70099)}@media (width<=768px){.star-rating{flex-wrap:nowrap;max-width:calc(100% - 1rem)}.star-rating[style*="3.5rem"]{font-size:2.5rem!important}.rating-value{width:3.5ch;min-width:3.5ch;margin-left:.5rem;font-size:.55em}.star-container:hover{transform:scale(1.05)}}@media (width<=480px){.star-rating[style*="3.5rem"]{font-size:2rem!important}.star-rating[style*="2.5rem"]{font-size:1.8rem!important}.star-rating{gap:.15rem;max-width:calc(100% - .5rem)}.rating-value{min-width:3.5ch;margin-left:.4rem;font-size:.5em}}.library{max-width:1400px;margin:0 auto}.library .demo-banner{text-align:center;background:linear-gradient(135deg,#dc262626 0%,#b91c1c26 100%);border:1px solid #dc262666;border-radius:8px;width:fit-content;max-width:100%;margin:0 auto 2rem;padding:.65rem 1rem}.library .demo-banner p{color:var(--text-primary);margin:0;font-size:1rem}.library .demo-login-link{color:#ef4444;font-weight:600;text-decoration:none;transition:color .2s}.library .demo-login-link:hover{color:#dc2626;text-decoration:underline}.library-header{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.library h2{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700}.library-filters{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:16px;margin-bottom:2rem;padding:1.5rem}.search-input{width:100%;color:var(--text-primary);background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;margin-bottom:1rem;padding:.75rem 1.25rem;font-family:Poppins,sans-serif;font-size:1rem;transition:all .3s}.search-input::placeholder{color:#ffffff80}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-primary) 20%, transparent);background:#ffffff1a;outline:none}.filter-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.rating-filter{background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:.75rem;padding:.65rem 1rem;transition:all .3s;display:flex}.rating-filter:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-primary) 20%, transparent);background:#ffffff1a}.rating-filter label{opacity:.8;white-space:nowrap;font-size:.9rem}.rating-filter-clear{cursor:pointer;opacity:.6;padding:0 .25rem;font-size:1.2rem;transition:opacity .2s}.rating-filter-clear:hover{opacity:1}.filter-select{min-width:150px;color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;background:#ffffff14;border:1px solid #ffffff26;border-radius:10px;flex:1;padding:.65rem 1rem;font-family:Poppins,sans-serif;font-size:.95rem;transition:all .3s;overflow:hidden}.filter-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-primary) 20%, transparent);background:#ffffff1a;outline:none}.filter-select option{background:var(--bg-gradient-start);color:var(--text-primary)}.clear-filters{white-space:nowrap;padding:.65rem 1.25rem}.results-count{opacity:.7;color:#b8bac5;text-align:right;margin-top:1rem;font-size:.95rem}.book-status-row{display:flex}.status-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:16px;padding:.35rem .85rem;font-size:.8rem;font-weight:600;display:inline-block;box-shadow:0 2px 8px #0000004d}.empty-state p{opacity:.7;margin-bottom:2rem;font-size:1.2rem;font-weight:300}.book-grid{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}.book-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:16px;padding:2rem 2rem 1rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.book-card:before{content:"";background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.book-card:hover{border-color:var(--card-hover-border);box-shadow:0 20px 40px var(--card-shadow), 0 0 20px var(--accent-shadow);transform:translateY(-8px)}.book-card:hover:before{opacity:1}.favorite-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffb3;cursor:pointer;opacity:0;z-index:10;filter:drop-shadow(0 2px 4px #0000004d);background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;transition:all .3s;display:flex;position:absolute;bottom:1rem;right:1rem;transform:scale(.8)}.book-card:hover .favorite-btn{opacity:1;transform:scale(1)}.favorite-btn:hover{filter:drop-shadow(0 4px 8px #0006);transform:scale(1.15)}.favorite-btn.is-favorite{color:#ff4757;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:1;filter:drop-shadow(0 4px 12px #dc354580);background:#dc354533}.favorite-btn.is-favorite:hover{filter:drop-shadow(0 6px 16px #dc3545b3);transform:scale(1.15)}.delete-btn{color:#fff;cursor:pointer;opacity:0;z-index:10;background:#dc3545e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;transition:all .3s;display:flex;position:absolute;top:1rem;right:1rem;transform:scale(.8);box-shadow:0 4px 12px #dc35454d}.book-card:hover .delete-btn{opacity:1;transform:scale(1)}.delete-btn:hover{background:#c82333;transform:scale(1.1)rotate(90deg);box-shadow:0 6px 20px #dc354580}.book-info{color:inherit;cursor:pointer;flex-direction:column;height:100%;text-decoration:none;display:flex}.book-cover{border-radius:10px;width:100%;height:250px;margin-bottom:1.5rem;transition:all .3s;overflow:hidden;box-shadow:0 8px 24px #0000004d}.book-cover img{object-fit:cover;width:100%;height:100%;display:block}.book-card:hover .book-cover{transform:translateY(-4px);box-shadow:0 12px 32px #0006}.book-cover-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 20%, transparent) 0%, color-mix(in srgb, var(--accent-secondary) 20%, transparent) 100%);border-radius:10px;justify-content:center;align-items:center;width:100%;height:250px;margin-bottom:1.5rem;transition:all .3s;display:flex;box-shadow:0 8px 24px #0000004d}.book-cover-placeholder .book-icon{opacity:.6}.book-cover-placeholder .book-icon svg{stroke:var(--accent-primary);filter:drop-shadow(0 2px 8px var(--accent-glow))}.book-card:hover .book-cover-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 30%, transparent) 0%, color-mix(in srgb, var(--accent-secondary) 30%, transparent) 100%);transform:translateY(-4px);box-shadow:0 12px 32px #0006}.book-info h3{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;margin-bottom:.5rem;padding-right:2rem;font-size:1.5rem;font-weight:600;line-height:1.3;transition:color .3s}.book-info:hover h3{color:var(--accent-primary)}.author{opacity:.7;color:#b8bac5;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:.5rem;font-size:1.1rem;font-weight:300}.book-bottom-info{flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:auto;display:flex}.rating{filter:drop-shadow(0 2px 4px #ffc8004d);font-size:1.3rem}@media (width<=1400px){.book-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=1100px){.book-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.book-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (width<=500px){.book-grid{grid-template-columns:1fr}.library h2{font-size:2rem}.library-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:2rem}.library-header .btn{text-align:center;width:100%}.favorite-btn,.delete-btn{opacity:1;transform:scale(1)}.filter-row{flex-direction:column;gap:.75rem}.filter-select{width:100%;min-width:0}.rating-filter{justify-content:space-between;width:100%}.clear-filters{width:100%}.results-count{text-align:center}.book-card{padding:1.5rem}.book-info h3{padding-right:3rem;font-size:1.3rem}}.barcode-scanner-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.barcode-scanner-modal{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.3s slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scanner-header{background:#ffffff08;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.scanner-header h2{color:#e8eaf0;margin:0;font-size:1.5rem;font-weight:600}.close-btn{color:#e8eaf0;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.5rem;line-height:1;transition:all .3s;display:flex}.close-btn:hover{background:#fff3;transform:rotate(90deg)}.scanner-content{flex-direction:column;flex:1;align-items:center;padding:1.5rem;display:flex;overflow-y:auto}.camera-selector{background:#667eea1a;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}.camera-selector label{color:#e8eaf0;white-space:nowrap;font-size:.95rem;font-weight:500}.camera-selector select{color:#e8eaf0;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;flex:1;padding:.5rem;font-size:.9rem;transition:all .2s}.camera-selector select:hover{background:#ffffff26;border-color:#ffffff4d}.camera-selector select:focus{background:#fff3;border-color:#667eea;outline:none}#barcode-scanner-reader{border-radius:12px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 8px 24px #0000004d}#barcode-scanner-reader video{border-radius:12px;width:100%;display:block}.scanner-instructions{text-align:center;color:#e8eaf0;margin-top:1.5rem}.scanner-instructions p{opacity:.9;margin:.5rem 0;font-size:1rem}.scanner-tip{opacity:.7;font-size:.9rem;font-style:italic}.scanner-error{text-align:center;color:#e8eaf0;padding:2rem}.error-icon{margin-bottom:1rem;font-size:4rem;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.scanner-error p{margin:1rem 0;font-size:1.1rem;line-height:1.6}.error-help{text-align:left;background:#ffc1071a;border-left:4px solid #ffc107;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.error-help strong{color:#ffc107;margin-bottom:.5rem;display:block}.error-help ul{margin:.5rem 0 0;padding-left:1.5rem}.error-help li{opacity:.9;margin:.5rem 0}.retry-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;margin-top:1.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #667eea66}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.scanner-footer{background:#ffffff08;border-top:1px solid #ffffff1a;justify-content:center;padding:1.5rem;display:flex}.manual-entry-btn{color:#e8eaf0;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .3s}.manual-entry-btn:hover{background:#fff3;transform:translateY(-2px)}@media (width<=768px){.barcode-scanner-overlay{padding:0}.barcode-scanner-modal{border-radius:0;max-width:100%;height:100vh;max-height:100vh}.scanner-header h2{font-size:1.25rem}.scanner-content{padding:1rem}.scanner-instructions{margin-top:1rem}.scanner-instructions p{font-size:.95rem}.error-help{padding:1rem;font-size:.9rem}}@media (prefers-color-scheme:dark){.barcode-scanner-modal{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%)}}.add-book{max-width:1400px;margin:0 auto}.add-book .demo-banner{text-align:center;background:linear-gradient(135deg,#dc262626 0%,#b91c1c26 100%);border:1px solid #dc262666;border-radius:8px;width:fit-content;max-width:100%;margin:0 auto 2rem;padding:.65rem 1rem}.add-book .demo-banner p{color:var(--text-primary);margin:0;font-size:1rem}.add-book .demo-login-link{color:#ef4444;font-weight:600;text-decoration:none;transition:color .2s}.add-book .demo-login-link:hover{color:#dc2626;text-decoration:underline}.add-book-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.add-book h2{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5rem;font-weight:700}.scan-barcode-btn{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;cursor:pointer;min-height:48px;box-shadow:0 4px 15px var(--accent-glow);white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.scan-barcode-btn:hover:not(:disabled){box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-2px)}.scan-barcode-btn:disabled{opacity:.6;cursor:not-allowed}.scan-error-banner{color:#ffc107;background:#ffc1071a;border-left:4px solid #ffc107;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem;font-size:.95rem;animation:.3s slideDown;display:flex}.scan-error-banner svg{stroke:#ffc107;flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.scan-success-banner{color:#4caf50;background:#4caf501a;border-left:4px solid #4caf50;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem;font-size:.95rem;animation:.3s slideDown;display:flex}.scan-success-banner svg{stroke:#4caf50;flex-shrink:0}.scan-loading-banner{background:color-mix(in srgb, var(--accent-primary) 1%, transparent);border-left:4px solid var(--accent-primary);color:var(--accent-primary);border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem;font-size:.95rem;animation:.3s slideDown;display:flex}.scan-loading-banner svg{stroke:var(--accent-primary);flex-shrink:0}.cover-preview{border-radius:12px;width:200px;margin:0 auto 2rem;animation:.3s fadeIn;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000004d}.cover-preview img{width:100%;height:auto;display:block}.remove-cover-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;transition:all .3s;display:flex;position:absolute;top:.5rem;right:.5rem}.remove-cover-btn:hover{background:#dc3545e6;transform:rotate(90deg)}.book-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:2.5rem;box-shadow:0 8px 32px #0003}.form-group{margin-bottom:1.75rem}.form-group>*{box-sizing:border-box}.form-group .star-rating{overflow:visible}.add-book .form-group label,.book-form .form-group label{letter-spacing:.3px;margin-bottom:.75rem;font-size:.95rem;font-weight:500;display:block;color:var(--text-primary)!important}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--input-border);box-sizing:border-box;border-radius:10px;width:100%;min-height:52px;padding:1rem;font-family:Poppins,sans-serif;font-size:1.05rem;transition:all .3s;background:var(--input-bg)!important;color:var(--text-primary)!important}.form-group input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-primary)!important;color:var(--text-primary)!important;background-color:var(--input-bg)!important}.form-group input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-primary)!important;color:var(--text-primary)!important;background-color:var(--input-bg)!important}.form-group input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-primary)!important;color:var(--text-primary)!important;background-color:var(--input-bg)!important}.form-group input:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-primary)!important;color:var(--text-primary)!important;background-color:var(--input-bg)!important}.form-group input::selection{background:var(--accent-primary);color:#fff}.form-group select::selection{background:var(--accent-primary);color:#fff}.form-group textarea::selection{background:var(--accent-primary);color:#fff}.form-group input::-moz-selection{background:var(--accent-primary);color:#fff}.form-group select::-moz-selection{background:var(--accent-primary);color:#fff}.form-group textarea::-moz-selection{background:var(--accent-primary);color:#fff}.form-group select{cursor:pointer;appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23667eea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:20px;padding-right:3rem;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.form-group select:hover{border-color:var(--accent-primary)!important;background-color:#0006!important}.form-group select:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 4px var(--accent-glow)!important;background-color:#0006!important}.form-group select option{background:var(--bg-gradient-start);color:var(--text-primary);padding:.75rem;font-weight:400}.form-group select option:checked{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;font-weight:500}.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.8)brightness(1.5);opacity:1;width:20px;height:20px}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{filter:invert()brightness(2);transform:scale(1.1)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary);opacity:.6}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary)!important;box-shadow:0 0 0 4px var(--accent-glow)!important;background:#0006!important}.form-group textarea{resize:vertical;min-height:100px}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-row .form-group{min-width:0}@media (width<=900px){.form-row{grid-template-columns:1fr}}.form-actions{justify-content:flex-end;gap:1rem;margin-top:2.5rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;min-height:48px;padding:1rem 2rem;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-2px)}.btn-secondary{color:var(--text-primary);background:#ffffff1a;border:1px solid #ffffff26}.btn-secondary:hover{background:#ffffff26;transform:translateY(-2px)}.genre-checkboxes{background:#0000004d;border:1px solid #ffffff1a;border-radius:12px;flex-wrap:wrap;gap:.65rem;padding:1.25rem;display:flex}.genre-checkbox-label{cursor:pointer;color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.genre-checkbox-label:hover{border-color:color-mix(in srgb, var(--accent-primary) 4%, transparent);background:#ffffff1a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.genre-checkbox-label input[type=checkbox]{display:none}.genre-checkbox-label:has(input[type=checkbox]:checked){background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 2%, transparent) 0%, #764ba233 100%);border-color:var(--accent-primary);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-primary) 3%, transparent);transform:translateY(-2px)}.genre-checkbox-label:has(input[type=checkbox]:checked):hover{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 3%, transparent) 0%, #764ba24d 100%);border-color:var(--accent-secondary);box-shadow:0 6px 16px color-mix(in srgb, var(--accent-primary) 4%, transparent)}.genre-checkbox-label span{-webkit-user-select:none;user-select:none;color:var(--text-primary);font-weight:500}@media (width<=768px){.form-row .form-group{width:100%;max-width:100%}.form-group label{margin-bottom:.75rem}.book-form{padding:1.25rem}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;width:100%}.add-book-header{flex-direction:column;align-items:stretch;gap:.75rem}.add-book h2{text-align:center;font-size:1.8rem}.scan-barcode-btn{justify-content:center;width:100%}.cover-preview{width:150px}.form-group{margin-bottom:1.5rem}.genre-checkboxes{gap:.5rem;padding:1rem}.genre-checkbox-label{padding:.5rem .85rem;font-size:.85rem}.form-actions{flex-direction:column;gap:.75rem}.form-actions .btn{width:100%}.scan-error-banner,.scan-success-banner,.scan-loading-banner{padding:.85rem 1.25rem;font-size:.9rem}}@media (width<=480px){.book-form{padding:1rem}.form-group input,.form-group select,.form-group textarea{padding:.85rem;font-size:.95rem}.form-group .star-rating{padding-right:.5rem}.form-row{gap:.75rem}}.book-detail{max-width:800px;margin:0 auto}.detail-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.back-link{color:var(--text-primary);opacity:.8;font-size:1.05rem;text-decoration:none;transition:all .3s}.back-link:hover{opacity:1;color:var(--accent-primary);transform:translate(-5px)}.detail-actions{gap:1rem;display:flex}.detail-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:20px;align-items:flex-start;gap:3rem;padding:3rem;display:flex;box-shadow:0 8px 32px #0003}.detail-cover{border-radius:12px;flex-shrink:0;width:300px;transition:all .3s;overflow:hidden;box-shadow:0 12px 40px #0006}.detail-cover:hover{transform:translateY(-8px);box-shadow:0 16px 48px #00000080}.detail-cover img{width:100%;height:auto;display:block}.detail-main{flex:1;min-width:0}.detail-title{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;word-wrap:break-word;overflow-wrap:break-word;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3rem;font-weight:700;line-height:1.2}.detail-author{opacity:.8;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:3rem;font-size:1.5rem;font-style:italic;font-weight:300}.detail-meta{background:#0003;border:1px solid #ffffff0d;border-radius:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;margin-bottom:3rem;padding:2rem;display:grid}.meta-item{flex-direction:column;gap:.5rem;display:flex}.meta-label{opacity:.6;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-weight:500}.meta-value{color:var(--text-primary);font-size:1.2rem;font-weight:500}.meta-badge{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;width:fit-content;box-shadow:0 2px 8px var(--accent-shadow);border-radius:20px;padding:.5rem 1.25rem;font-size:1rem;font-weight:500;display:inline-block}.meta-badge.status-badge{background:var(--status-color,linear-gradient(135deg, #667eea 0%, #764ba2 100%));text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.meta-badges{flex-wrap:wrap;gap:.5rem;display:flex}.meta-rating{filter:drop-shadow(0 2px 4px #ffc8004d);font-size:1.5rem}.detail-notes{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:2rem}.detail-notes h3{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.detail-notes p{opacity:.9;white-space:pre-wrap;font-size:1.1rem;line-height:1.8}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:.75rem 1.5rem;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-edit{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.btn-edit:hover{box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-2px)}.btn-delete{color:#fff;background:#dc3545e6;box-shadow:0 4px 15px #dc354566}.btn-delete:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 6px 20px #dc354599}.btn-favorite{color:var(--text-primary);background:#ffffff1a;border:1px solid #ffffff26;align-items:center;gap:.5rem;display:flex}.btn-favorite:hover{background:#ffffff26;transform:translateY(-2px)}.btn-favorite.is-favorite{color:#ff4757;background:#dc354533;border:1px solid #dc35454d;box-shadow:0 4px 15px #dc354566}.btn-favorite.is-favorite:hover{background:#dc35454d;box-shadow:0 6px 20px #dc354599}.btn-favorite svg{flex-shrink:0}@media (width<=768px){.detail-card{flex-direction:column;gap:1.5rem;padding:1.5rem}.detail-cover{width:100%;max-width:300px;margin:0 auto}.detail-title{text-align:center;font-size:1.8rem}.detail-author{text-align:center;margin-bottom:2rem;font-size:1.1rem}.detail-meta{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem}.detail-header{flex-direction:column;align-items:stretch;gap:1rem}.detail-actions{flex-wrap:wrap;gap:.75rem}.detail-actions .btn{flex:1;min-width:calc(50% - .375rem)}.detail-actions .btn-delete{flex-basis:100%}.back-link{text-align:center;display:block}.detail-notes{margin-top:1.5rem;padding-top:1.5rem}.detail-notes h3{font-size:1.3rem}.detail-notes p{font-size:1rem}}.insights{max-width:1400px;margin:0 auto}.insights .demo-banner{text-align:center;background:linear-gradient(135deg,#dc262626 0%,#b91c1c26 100%);border:1px solid #dc262666;border-radius:8px;width:fit-content;max-width:100%;margin:0 auto 2rem;padding:.65rem 1rem}.insights .demo-banner p{color:var(--text-primary);margin:0;font-size:1rem}.insights .demo-login-link{color:#ef4444;font-weight:600;text-decoration:none;transition:color .2s}.insights .demo-login-link:hover{color:#dc2626;text-decoration:underline}.filter-charts{grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;min-height:600px;margin-bottom:3rem;display:grid}.filter-pie-chart{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;padding:2rem;display:flex;box-shadow:0 8px 32px #0003}.filter-pie-chart h3{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;flex-shrink:0;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.filter-pie-chart .pie-chart-container.interactive{cursor:pointer;flex:1}.pie-chart.clickable{overflow:visible}.pie-chart.clickable .pie-segment{cursor:pointer;stroke:#0000004d;stroke-width:.5px;pointer-events:all;transform-origin:50%;transform-box:fill-box;transition:all .3s}.pie-chart.clickable .pie-segment:hover{stroke:#ffffff80;stroke-width:1px;transform:scale(1.05);opacity:1!important;filter:brightness(1.4)drop-shadow(0 0 15px)!important}.pie-chart.clickable .pie-segment.selected{stroke:#fff9;stroke-width:1px;animation:2s ease-in-out infinite pulse}.legend-item.clickable{cursor:pointer;transition:all .3s}.legend-item.clickable:hover{transform:translate(8px);background:#0006!important}.legend-item.selected{border:1px solid color-mix(in srgb, var(--accent-primary) 5%, transparent);border-radius:8px;background:color-mix(in srgb, var(--accent-primary) 3%, transparent)!important}.filter-bar-chart{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;padding:2rem;display:flex;overflow:hidden;box-shadow:0 8px 32px #0003}.filter-bar-chart h3{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;flex-shrink:0;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.filter-bar-chart .chart-header{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.filter-bar-chart .chart-header h3{margin-bottom:0}.interactive-bar-container{background:#0003;border-radius:15px;flex:1;justify-content:space-around;align-items:flex-end;gap:1rem;min-height:0;padding:2rem 1rem 1rem;display:flex;position:relative}.interactive-bar-item{cursor:pointer;flex-direction:column;flex:1 1 0;align-items:center;gap:.75rem;min-width:0;max-width:80px;height:100%;transition:all .3s;display:flex}.interactive-bar-item:hover{transform:translateY(-5px)}.interactive-bar-wrapper{flex:1;align-items:flex-end;width:100%;min-height:0;display:flex}.interactive-bar{border-radius:8px;justify-content:center;align-items:flex-start;width:100%;min-height:50px;padding-top:.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.interactive-bar-item:hover .interactive-bar{filter:brightness(1.3)drop-shadow(0 0 12px);transform:scale(1.08)}.interactive-bar-item.selected .interactive-bar{filter:brightness(1.25)drop-shadow(0 0 10px);animation:2s ease-in-out infinite barPulse;box-shadow:0 0 0 2px #ffffff80}@keyframes barPulse{0%,to{filter:brightness(1.25)drop-shadow(0 0 10px);transform:scale(1)}50%{filter:brightness(1.3)drop-shadow(0 0 12px);transform:scale(1.05)}}.bar-value{color:#fff;text-shadow:0 2px 4px #00000080;font-size:.95rem;font-weight:600}.interactive-bar-label{opacity:.8;white-space:nowrap;font-size:.9rem;font-weight:500;transition:all .3s}.interactive-bar-item:hover .interactive-bar-label{opacity:1;background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.interactive-bar-item.selected .interactive-bar-label{opacity:1;background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:700}.insights h2{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:3rem;font-size:2.5rem;font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);height:3px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.stat-card:hover:before{transform:scaleX(1)}.stat-card:hover{border-color:color-mix(in srgb, var(--accent-primary) 5%, transparent);box-shadow:0 20px 40px #0000004d, 0 0 20px color-mix(in srgb, var(--accent-primary) 2%, transparent);transform:translateY(-8px)}.stat-icon{filter:drop-shadow(0 4px 8px #0000004d);margin-top:.75rem;font-size:3.5rem}.stat-icon svg{stroke:var(--accent-primary);filter:drop-shadow(0 2px 4px color-mix(in srgb, var(--accent-primary) 4%, transparent))}.stat-value{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:2.8rem;font-weight:700}.stat-label{opacity:.7;letter-spacing:.5px;margin-bottom:.75rem;font-size:1.05rem;font-weight:300}.stat-sublabel{opacity:.6;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:.5rem;font-size:.85rem;font-style:italic;font-weight:300;overflow:hidden}.reading-status-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:3rem;padding:2.5rem;box-shadow:0 8px 32px #0003}.reading-status-section h3{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;text-align:center;opacity:.9;-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:1.6rem;font-weight:600}.status-breakdown{grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem;display:grid}.status-card{text-align:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:16px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.status-card.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.status-card.clickable:hover{transform:translateY(-8px)scale(1.02)}.status-card.selected{border-width:3px;transform:translateY(-8px)scale(1.05)}.status-card.dimmed{opacity:.4;filter:grayscale(50%)}.status-card:before{content:"";height:4px;transition:all .3s;position:absolute;top:0;left:0;right:0}.status-card.selected:before{height:6px;box-shadow:0 0 15px}.read-card:before{background:var(--status-read)}.reading-card:before{background:var(--status-reading)}.unread-card:before{background:var(--status-unread)}.status-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #0006}.read-card:hover{border-color:var(--status-read);box-shadow:0 12px 24px color-mix(in srgb, var(--status-read) 40%, transparent)}.read-card.selected{border-color:var(--status-read);box-shadow:0 16px 32px color-mix(in srgb, var(--status-read) 50%, transparent);background:color-mix(in srgb, var(--status-read) 10%, transparent)}.reading-card:hover{border-color:var(--status-reading);box-shadow:0 12px 24px color-mix(in srgb, var(--status-reading) 40%, transparent)}.reading-card.selected{border-color:var(--status-reading);box-shadow:0 16px 32px color-mix(in srgb, var(--status-reading) 50%, transparent);background:color-mix(in srgb, var(--status-reading) 10%, transparent)}.unread-card:hover{border-color:var(--status-unread);box-shadow:0 12px 24px color-mix(in srgb, var(--status-unread) 40%, transparent)}.unread-card.selected{border-color:var(--status-unread);box-shadow:0 16px 32px color-mix(in srgb, var(--status-unread) 50%, transparent);background:color-mix(in srgb, var(--status-unread) 10%, transparent)}.status-icon{filter:drop-shadow(0 4px 8px #0000004d);margin-bottom:1rem;font-size:3rem}.status-icon svg{filter:drop-shadow(0 2px 4px #0000004d)}.read-card .status-icon svg{stroke:var(--status-read)}.reading-card .status-icon svg{stroke:var(--status-reading);fill:none}.unread-card .status-icon svg{stroke:var(--status-unread)}.status-count{margin-bottom:.5rem;font-size:3.5rem;font-weight:700}.read-card .status-count{color:var(--status-read)}.reading-card .status-count{color:var(--status-reading)}.unread-card .status-count{color:var(--status-unread)}.status-label{opacity:.9;margin-bottom:.5rem;font-size:1.1rem;font-weight:500}.status-percentage{opacity:.6;font-size:.95rem;font-weight:300}.status-bar-container{margin-top:2rem}.status-bar{background:0 0;border-radius:25px;height:50px;display:flex;box-shadow:0 4px 16px #0000004d}.status-bar-segment{cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.status-bar-segment:hover{filter:brightness(1.3);transform:scaleY(1.05)}.status-bar-segment.segment-selected{filter:brightness(1.25);transform:scaleY(1.08);box-shadow:0 0 20px}.status-bar-segment.segment-dimmed{opacity:.4;filter:brightness(.7)}.read-segment{background:var(--status-read);border-radius:25px 0 0 25px;margin-right:0;transition:all .4s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1)}.read-segment.segment-full{border-radius:25px;margin-right:0}.reading-segment{background:var(--status-reading);border-radius:0;margin-left:0;margin-right:0;transition:all .4s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1)}.reading-segment.has-sibling{border-radius:0;margin-left:4px}.reading-segment.segment-full{border-radius:25px;margin-left:0}.unread-segment{background:var(--status-unread);border-radius:0 25px 25px 0;margin-left:0;transition:all .4s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1)}.unread-segment.has-sibling{border-radius:0 25px 25px 0;margin-left:4px}.unread-segment.segment-full{border-radius:25px;margin-left:0}.chart-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:2.5rem;padding:2.5rem;box-shadow:0 8px 32px #0003}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.chart-section h3{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.8rem;font-weight:600}.view-toggle{background:#0000004d;border-radius:12px;gap:.5rem;padding:.25rem;display:flex}.view-toggle button{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}.view-toggle button:hover{color:#fff;background:#ffffff0d}.view-toggle button.active{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--accent-primary) 4%, transparent)}.pie-chart-container{flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;display:flex}.pie-chart-container.large{flex:1;justify-content:center;align-items:center;min-height:0;position:relative}.pie-chart{filter:drop-shadow(0 4px 12px #0000004d);width:300px;height:300px}.pie-chart-container.large .pie-chart{width:100%;max-width:500px;height:100%;max-height:500px}.pie-segment{cursor:pointer;transition:all .3s}.pie-segment:hover{opacity:.8;filter:brightness(1.2)}.pie-legend{flex-direction:column;flex:1;gap:1rem;min-width:250px;display:flex}.legend-item{background:#0003;border-radius:10px;align-items:center;gap:1rem;padding:.75rem;transition:all .3s;display:flex}.legend-item:hover{background:#0000004d;transform:translate(5px)}.legend-color{border-radius:4px;flex-shrink:0;width:20px;height:20px;box-shadow:0 2px 8px #0000004d}.legend-label{flex:1;font-weight:500}.legend-value{opacity:.7;font-size:.9rem}.pie-tooltip{pointer-events:none;z-index:10;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2;border:2px solid #fff3;border-radius:16px;min-width:200px;padding:1.5rem 2rem;animation:.2s ease-out tooltipFadeIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.tooltip-genre{text-shadow:0 2px 8px;margin-bottom:.75rem;font-size:1.5rem;font-weight:700}.tooltip-stats{opacity:.9;justify-content:center;align-items:center;gap:.75rem;font-size:1rem;display:flex}.tooltip-count{font-weight:600}.tooltip-separator{opacity:.5}.tooltip-percentage{color:var(--accent-primary);font-weight:600}.horizontal-bar-chart{background:#0003;border-radius:15px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.horizontal-bar-item{align-items:center;gap:1.5rem;min-height:40px;display:flex}.horizontal-bar-label{min-width:120px;color:var(--text-primary);text-align:right;justify-content:flex-end;align-items:center;font-size:.95rem;font-weight:500;display:flex}.horizontal-bar-label.rating-stars{gap:.25rem}.horizontal-bar-label.rating-stars svg{stroke:#ffc107;fill:#ffc107;filter:drop-shadow(0 1px 2px #ffc10766)}.horizontal-bar-container{background:#0000004d;border:1px solid #ffffff0d;border-radius:18px;flex:1;height:36px;overflow:hidden}.horizontal-bar{background:linear-gradient(90deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);min-width:50px;height:100%;box-shadow:0 2px 8px color-mix(in srgb, var(--accent-primary) 4%, transparent);border-radius:18px;justify-content:flex-end;align-items:center;padding-right:1rem;transition:width .8s cubic-bezier(.4,0,.2,1);display:flex}.horizontal-bar-value{color:#fff;text-shadow:0 2px 4px #0000004d;font-size:.95rem;font-weight:600}.histogram-chart-wrapper{-webkit-user-select:none;user-select:none;position:relative}.histogram-chart-wrapper *{-webkit-user-select:none;user-select:none}.histogram-chart{background:#0003;border-radius:15px;padding:2rem 1rem}.histogram-pinned-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;pointer-events:auto;background:#000000fa;border:2px solid #ffffff4d;border-radius:16px;min-width:250px;max-width:400px;max-height:80%;padding:1.5rem;animation:.2s ease-out tooltipFadeIn;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #000000b3}.tooltip-close{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.tooltip-close:hover{color:#fff;background:#ffffff1a;transform:scale(1.1)}@keyframes histogramBarPulse{0%,to{opacity:1}50%{opacity:.7}}.histogram-tooltip{background:#000000f2;border:1px solid #fff3;border-radius:12px;min-width:200px;max-width:300px;padding:1rem;box-shadow:0 8px 24px #00000080}.tooltip-header{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;border-bottom:1px solid #ffffff1a;margin-bottom:.75rem;padding-bottom:.5rem;padding-right:2rem;font-weight:600;position:relative}.tooltip-pinned{opacity:.7;font-size:.8rem;font-style:italic;font-weight:400}.tooltip-books{flex-direction:column;gap:.5rem;max-height:200px;display:flex;overflow-y:auto}.tooltip-book{background:#ffffff0d;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem;font-size:.85rem;display:flex}.tooltip-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tooltip-pages{opacity:.7;font-size:.8rem;font-weight:500}.author-list{flex-wrap:wrap;justify-content:space-around;align-items:stretch;gap:1.5rem;display:flex}.author-item{text-align:center;background:#0000004d;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;min-width:150px;padding:1.5rem 2rem;transition:all .3s;display:flex}.author-item:hover{border-color:color-mix(in srgb, var(--accent-primary) 3%, transparent);background:#0006;transform:translateY(-5px)}.author-rank{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.author-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:1.1rem;font-weight:600;overflow:hidden}.author-count{opacity:.7;font-size:.9rem;font-weight:500}.empty-state{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:20px;padding:6rem 1rem}.empty-state p{opacity:.7;font-size:1.2rem;font-weight:300}@media (width<=768px){.insights h2{font-size:2rem}.filter-charts{grid-template-columns:1fr;gap:1.5rem;min-height:0}.filter-pie-chart,.filter-bar-chart{min-height:450px;padding:1.25rem}.filter-pie-chart h3,.filter-bar-chart h3{font-size:1.3rem}.filter-bar-chart .chart-header{flex-direction:column;gap:1rem}.filter-bar-chart .view-toggle{width:100%}.filter-bar-chart .view-toggle button{flex:1}.interactive-bar-container{gap:.5rem;padding:1.5rem .5rem 0}.interactive-bar-item{max-width:60px}.bar-value{font-size:.85rem}.interactive-bar-label{font-size:.8rem}.horizontal-bar-chart{gap:1rem;padding:1rem}.horizontal-bar-item{flex-direction:column;align-items:flex-start;gap:1rem}.horizontal-bar-label{text-align:left;justify-content:flex-start;min-width:0;font-size:.9rem}.horizontal-bar-label.rating-stars svg{width:16px;height:16px}.horizontal-bar-container{width:100%;height:32px}.horizontal-bar-value{font-size:.85rem}.histogram-chart{padding:1rem .5rem}.histogram-pinned-tooltip{max-width:95%;max-height:70%;padding:1rem}.tooltip-close{width:28px;height:28px;font-size:1.5rem}.histogram-tooltip{min-width:180px;max-width:250px}.tooltip-book{font-size:.8rem}.author-list{flex-direction:column;gap:1rem}.author-item{min-width:0}.author-rank{font-size:1.5rem}.author-name{font-size:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.stat-value{font-size:2.3rem}.reading-status-section{margin-bottom:2rem;padding:1.25rem}.reading-status-section h3{margin-bottom:1.5rem;font-size:1.3rem}.status-breakdown{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.status-card{padding:1.5rem}.status-count,.status-icon{font-size:2.5rem}.status-icon svg{width:48px;height:48px}.status-bar{height:40px}.chart-section{padding:1.5rem}.chart-header{flex-direction:column;align-items:flex-start}.view-toggle{width:100%}.view-toggle button{flex:1}.pie-chart-container{flex-direction:column;gap:2rem}.pie-chart{width:250px;height:250px}.pie-chart-container.large .pie-chart{max-width:350px;max-height:350px}.pie-legend{width:100%}.tooltip-genre{font-size:1.2rem}.tooltip-stats{font-size:.9rem}.pie-tooltip{min-width:160px;padding:1rem 1.5rem}.author-list{grid-template-columns:1fr}}.analytics-container,.analytics-container[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#18181b;--border-color:#27272a;--text-primary:#e5e5e7;--text-secondary:#a1a1a6;--text-tertiary:#71717a;--grid-line:#27272a;--hover-bg:#ffffff05;--top-accent:linear-gradient(90deg, transparent, #3f3f46, transparent)}.analytics-container[data-theme=light]{--bg-primary:#fafafa;--bg-secondary:#fff;--border-color:#e4e4e7;--text-primary:#18181b;--text-secondary:#52525b;--text-tertiary:#71717a;--grid-line:#e4e4e7;--hover-bg:#00000005;--top-accent:linear-gradient(90deg, transparent, #d4d4d8, transparent)}.analytics-container{flex-direction:column;gap:12px;width:100vw;height:100vh;padding:12px;font-family:DM Sans,-apple-system,sans-serif;transition:background .3s,color .3s;display:flex;overflow:hidden}.analytics-container *{box-sizing:border-box;margin:0;padding:0}.analytics-container[data-theme=dark]{color:#e5e5e7;background:#0a0a0f}.analytics-container[data-theme=light]{color:#18181b;background:#fafafa}.dashboard-header{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 20px;transition:background .3s,border-color .3s;display:flex}.header-left{align-items:center;gap:20px;display:flex}.app-title{letter-spacing:1.2px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:24px;font-weight:600}.live-indicator{letter-spacing:1px;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;transition:color .3s;display:flex}.live-indicator.online{color:#10b981}.live-indicator.offline{color:#ef4444}.pulse-dot{border-radius:50%;width:6px;height:6px;transition:background .3s}.live-indicator.online .pulse-dot{background:#10b981;animation:2s ease-in-out infinite pulse}.live-indicator.offline .pulse-dot{background:#ef4444;animation:none}.header-right{align-items:center;gap:12px;display:flex}.range-select{background:var(--bg-secondary);border:1px solid var(--border-color);letter-spacing:.5px;color:var(--text-primary);cursor:pointer;border-radius:20px;outline:none;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;transition:all .3s}.range-select:hover{border-color:#71717a;transform:translateY(-1px);box-shadow:0 2px 8px #71717a33}.range-select:focus{border-color:#71717a;box-shadow:0 2px 8px #71717a4d}.range-select option{background:var(--bg-secondary);color:var(--text-primary)}.resolution-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:4px;transition:all .3s;display:flex}.resolution-toggle:hover{border-color:#71717a;transform:translateY(-1px);box-shadow:0 2px 8px #71717a33}.resolution-toggle-option{letter-spacing:.5px;color:var(--text-tertiary);background:0 0;border-radius:16px;justify-content:center;align-items:center;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;transition:all .3s;display:flex}.resolution-toggle-option.active{color:#fff;background:linear-gradient(135deg,#71717a 0%,#52525b 100%);box-shadow:0 2px 6px #71717a4d}.resolution-toggle:hover .resolution-toggle-option.active{transform:scale(1.05)}.analytics-container .theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:4px;transition:all .3s;display:flex}.analytics-container .theme-toggle:hover{border-color:#71717a;transform:translateY(-1px);box-shadow:0 2px 8px #71717a33}.analytics-container .theme-toggle-option{background:0 0;border-radius:16px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex}.analytics-container .theme-toggle-option.active{background:linear-gradient(135deg,#71717a 0%,#52525b 100%);box-shadow:0 2px 6px #71717a4d}.analytics-container .theme-toggle-option svg{width:18px;height:18px;stroke:var(--text-tertiary);opacity:.5;transition:all .3s}.analytics-container .theme-toggle-option.active svg{stroke:#fff;opacity:1;filter:drop-shadow(0 1px 2px #0000004d)}.analytics-container .theme-toggle:hover .theme-toggle-option.active{transform:scale(1.05)}.system-time{color:var(--text-secondary);letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:500}.stats-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stat-module{border-radius:8px;padding:12px 16px;transition:background .3s,border-color .3s;position:relative;overflow:hidden}.analytics-container[data-theme=dark] .stat-module{background:#18181b;border:1px solid #27272a}.analytics-container[data-theme=light] .stat-module{background:#fff;border:1px solid #e4e4e7}.stat-module:before{content:"";background:var(--top-accent);height:2px;position:absolute;top:0;left:0;right:0}.analytics-container .stat-label{letter-spacing:1px;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.analytics-container[data-theme=dark] .stat-label{color:#a1a1a6}.analytics-container[data-theme=light] .stat-label{color:#71717a}.analytics-container .stat-value{letter-spacing:-.5px;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:24px;font-weight:600;line-height:1;background:0 0!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:unset!important;background-clip:unset!important}.analytics-container[data-theme=dark] .stat-value{color:#e5e5e7!important}.analytics-container[data-theme=light] .stat-value{color:#18181b!important}.analytics-container .stat-change{letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.analytics-container .stat-change.positive{color:#10b981}.analytics-container .stat-change.negative{color:#ef4444}.analytics-container .stat-change.neutral{color:#71717a}.analytics-container[data-theme=dark] .stat-meta{color:#a1a1a6;letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:11px}.analytics-container[data-theme=light] .stat-meta{color:#71717a;letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:11px}.charts-grid{flex:1;grid-template-columns:repeat(4,1fr);gap:10px;min-height:0;display:grid}.chart-module{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;min-height:0;padding:12px;transition:background .3s,border-color .3s;display:flex}.chart-module.large,.chart-module.table-module{grid-column:span 2}.chart-module.users-table{background:var(--bg-secondary);border:1px solid var(--border-color);flex-direction:column;flex:none;grid-column:span 2;height:210px;min-height:0;max-height:210px;padding:12px;display:flex}.module-header{letter-spacing:1px;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:8px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.chart-wrapper{flex:1;min-height:0;position:relative}.activity-table{flex:1;min-height:0;overflow:hidden}.chart-module.users-table .activity-table{overflow-y:hidden}.activity-table::-webkit-scrollbar{width:4px}.activity-table::-webkit-scrollbar-track{background:0 0}.activity-table::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.activity-table table{border-collapse:collapse;width:100%}.activity-table thead th{letter-spacing:1px;color:var(--text-tertiary);text-align:left;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;position:sticky;top:0}.activity-table thead th:first-child{width:45%}.activity-table thead th:nth-child(3),.activity-table tbody td:nth-child(3){text-align:right}.activity-table tbody td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:10px 12px;font-family:DM Sans,sans-serif}.activity-table tbody tr:hover{background:var(--hover-bg)}.user-name{color:var(--text-primary);font-weight:500;font-size:11px!important}.user-count{color:#00bfff;font-family:JetBrains Mono,monospace;font-weight:600;font-size:11px!important}.user-date{color:var(--text-tertiary);font-family:JetBrains Mono,monospace;font-size:11px!important}.loading-state,.error-state{letter-spacing:1px;color:#71717a;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.loading-spinner{border:2px solid var(--border-color);border-top-color:#00d4ff;border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state{color:#ef4444}.error-message{color:var(--text-secondary);font-size:11px}@media (height<=800px){.dashboard-header{padding:10px 16px}.app-title{font-size:20px}.analytics-container .stat-label{margin-bottom:6px;font-size:10px}.analytics-container .stat-value{margin-bottom:4px;font-size:20px}.analytics-container .stat-change,.analytics-container .stat-meta{font-size:10px}.module-header{margin-bottom:10px;padding-bottom:6px;font-size:11px}.activity-table tbody td{padding:8px 10px;font-size:10px}.activity-table thead th{padding:6px 10px;font-size:10px}.chart-module.users-table{height:180px;max-height:180px}}.auth-container{background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-mid) 50%, var(--bg-gradient-end) 100%);background-attachment:fixed;justify-content:center;align-items:flex-start;min-height:100vh;padding:6rem 1rem 1rem;display:flex}.auth-container ::selection{color:#fff!important;background:#555!important}.auth-container ::selection{color:#fff!important;background:#555!important}.auth-card{border-radius:16px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 10px 40px #00000080;background:#1a1a1a!important;border:1px solid #333!important}.auth-card h1{text-align:center;margin:0 0 .5rem;font-size:1.875rem;font-weight:700;color:#e0e0e0!important}.auth-subtitle{text-align:center;margin:0 0 2rem;font-size:.95rem;color:#a0a0a0!important}.auth-container .auth-form{flex-direction:column;gap:1.25rem;display:flex}.auth-container .form-group{flex-direction:column;gap:.5rem;display:flex}.auth-container .form-group label{font-size:.9rem;font-weight:500;color:#d0d0d0!important}.auth-container .form-group input{border-radius:8px;padding:.75rem;font-size:1rem;transition:all .3s;color:#e0e0e0!important;background:#2a2a2a!important;border:2px solid #3a3a3a!important}.auth-container .form-group input::placeholder{color:#666!important}.auth-container .form-group input:focus{border-color:#666!important;outline:none!important;box-shadow:0 0 0 3px #6464644d!important}.auth-container .form-group input:disabled{cursor:not-allowed;opacity:.5;background-color:#1f1f1f!important}.auth-container .form-group input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#e0e0e0!important;caret-color:#e0e0e0!important;-webkit-box-shadow:inset 0 0 0 30px #2a2a2a!important}.auth-container .form-group input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#e0e0e0!important;caret-color:#e0e0e0!important;-webkit-box-shadow:inset 0 0 0 30px #2a2a2a!important}.auth-container .form-group input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#e0e0e0!important;caret-color:#e0e0e0!important;-webkit-box-shadow:inset 0 0 0 30px #2a2a2a!important}.auth-container .form-group input:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#e0e0e0!important;caret-color:#e0e0e0!important;-webkit-box-shadow:inset 0 0 0 30px #2a2a2a!important}.auth-container .btn-primary{cursor:pointer;border-radius:8px;margin-top:.5rem;padding:.875rem;font-size:1rem;font-weight:600;transition:all .3s;color:#fff!important;background:linear-gradient(135deg,#4a4a4a 0%,#2a2a2a 100%)!important;border:1px solid #555!important;box-shadow:0 4px 12px #0006!important}.auth-container .btn-primary:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#555 0%,#333 100%)!important;box-shadow:0 6px 20px #0009!important}.auth-container .btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{text-align:center;border-radius:8px;padding:.875rem;font-size:.9rem;color:#ff6b6b!important;background:#2a1a1a!important;border:1px solid #d44!important}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#999!important}.auth-footer a{font-weight:600;text-decoration:none;transition:color .2s;color:#ccc!important}.auth-footer a:hover{color:#fff!important}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--card-border);text-align:center;color:#fff;padding:2rem;box-shadow:0 8px 32px #0000001a}.header h1{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:3rem;font-weight:700;display:flex}.header h1 .header-icon{width:36px;height:36px;filter:drop-shadow(0 2px 8px var(--accent-glow));flex-shrink:0}.header p{opacity:.8;letter-spacing:.5px;font-size:1.1rem;font-weight:300}.main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:3rem 2rem}@media (width<=768px){.header{padding:1.5rem 1rem}.header h1{gap:.5rem;font-size:2rem}.header h1 .header-icon{width:32px;height:32px}.main{padding:2rem 1rem}}.loading-spinner{animation:1s linear infinite spin}*{box-sizing:border-box;margin:0;padding:0}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.6}:root[data-theme=midnight]{--bg-gradient-start:#0f0c29;--bg-gradient-mid:#302b63;--bg-gradient-end:#24243e;--text-primary:#e8eaf0;--text-secondary:#e8eaf0cc;--accent-primary:#667eea;--accent-secondary:#764ba2;--card-bg:#ffffff0d;--card-border:#ffffff1a;--card-hover-border:#667eea80;--card-shadow:#0000004d;--accent-shadow:#667eea4d;--accent-glow:#667eea66;--tap-highlight:#667eea33;--input-border:#fff3;--input-bg:#0000004d;--dropdown-arrow:%23667eea;--status-read:#43e97b;--status-reading:#8b5cf6;--status-unread:#fc5c7d;--chart-color-1:#a78bfa;--chart-color-2:#fb923c;--chart-color-3:#22d3ee;--chart-color-4:#fbbf24;--chart-color-5:#34d399;--chart-color-6:#f472b6;--chart-color-7:#818cf8;--chart-color-8:#ef4444;--chart-color-9:#10b981;--chart-color-10:#f59e0b;--chart-color-11:#8b5cf6;--chart-color-12:#06b6d4}:root[data-theme=cozy],:root:not([data-theme]){--bg-gradient-start:#2c1810;--bg-gradient-mid:#4a2f1f;--bg-gradient-end:#3d2516;--text-primary:#f5e6d3;--text-secondary:#f5e6d3cc;--accent-primary:#c97a5f;--accent-secondary:#d4956c;--card-bg:#8b5a2b26;--card-border:#d4956c33;--card-hover-border:#d4956c80;--card-shadow:#0006;--accent-shadow:#b873334d;--accent-glow:#d4956c66;--tap-highlight:#d4956c33;--input-border:#fff3;--input-bg:#0000004d;--dropdown-arrow:%23d4956c;--status-read:#9fc5a8;--status-reading:#b8a4d6;--status-unread:#f5a5b8;--chart-color-1:#f4c19c;--chart-color-2:#8fc4c0;--chart-color-3:#f5d98b;--chart-color-4:#d89ab3;--chart-color-5:#a8c5d4;--chart-color-6:#e5b8a0;--chart-color-7:#c4d9b8;--chart-color-8:#f5a5b8;--chart-color-9:#b8e4d5;--chart-color-10:#f4d4a8;--chart-color-11:#c9b4e0;--chart-color-12:#a8d5e8}body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;min-height:100vh;color:var(--text-primary);background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-mid) 50%, var(--bg-gradient-end) 100%);background-attachment:fixed}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial}}#root{min-height:100vh}@media (width<=768px){button,a,input,select,textarea{-webkit-tap-highlight-color:var(--tap-highlight)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-overflow-scrolling:touch}}
