:root,[data-theme=light]{--bg-color:#fff;--surface-color:#fafaf9;--surface-raised:#f4f3f1;--surface-border:#e6e4e0;--header-bg:#ffffffd9;--text-primary:#17181a;--text-secondary:#5a5d61;--text-muted:#8a8d91;--accent:#1f5d4f;--accent-hover:#16463b;--accent-text:#fff;--accent-soft-bg:#e9f2ee;--accent-soft-border:#bcd9cd;--danger:#c23b34;--danger-soft-bg:#fbebea;--success:#1f7a4d;--btn-bg:#fff;--btn-border:#dedcd7;--btn-hover:#f2f1ee;--shadow-sm:0 1px 2px #1414140a;--shadow-md:0 6px 20px #1414140f;--shadow-lg:0 18px 48px #1414141a;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--text-xs:.78rem;--text-sm:.9rem;--text-base:1rem;--text-md:clamp(1.05rem, 1rem + .3vw, 1.2rem);--text-lg:clamp(1.3rem, 1.15rem + .7vw, 1.7rem);--text-xl:clamp(1.9rem, 1.5rem + 2vw, 3rem);--font-serif:"Lora", Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--container-max:1180px;--transition:.16s ease}[data-theme=dark]{--bg-color:#0f1110;--surface-color:#171917;--surface-raised:#1f2220;--surface-border:#2b2e2b;--header-bg:#0f1110d9;--text-primary:#f3f4f1;--text-secondary:#a9adaa;--text-muted:#767a77;--accent:#6fbfa2;--accent-hover:#8ccdb5;--accent-text:#0f1110;--accent-soft-bg:#1a2b25;--accent-soft-border:#2c4b40;--danger:#e5726b;--danger-soft-bg:#2a1a19;--success:#6fbfa2;--btn-bg:#171917;--btn-border:#2f322f;--btn-hover:#1f2220;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 20px #00000059;--shadow-lg:0 18px 48px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);min-height:100vh;transition:background-color var(--transition), color var(--transition);flex-direction:column;line-height:1.6;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:var(--container-max);padding:0 var(--space-5);margin:0 auto}@media (width<=640px){.container{padding:0 var(--space-4)}}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:600;line-height:1.2}.capitalize{text-transform:capitalize}::selection{background-color:var(--accent-soft-bg);color:var(--text-primary)}header{z-index:40;border-bottom:1px solid var(--surface-border);padding:var(--space-4) 0;background-color:var(--header-bg);-webkit-backdrop-filter:blur(10px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex;position:relative}.logo{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;flex-shrink:0;font-size:1.3rem;font-weight:700;text-decoration:none}.header-collapsible{align-items:center;gap:var(--space-6);flex:1;justify-content:flex-end;min-width:0;display:flex}nav ul{gap:var(--space-5);align-items:center;list-style:none;display:flex}nav a{color:var(--text-secondary);font-size:var(--text-sm);transition:color var(--transition);white-space:nowrap;border-bottom:2px solid #0000;padding-bottom:3px;font-weight:600;text-decoration:none}nav a:hover{color:var(--text-primary)}nav a.active{color:var(--text-primary);border-bottom-color:var(--accent)}.header-actions{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.search-form{align-items:center;display:flex;position:relative}.search-form input{background:var(--surface-color);border:1px solid var(--btn-border);border-radius:var(--radius-pill);color:var(--text-primary);font-size:var(--text-sm);width:190px;transition:border-color var(--transition), width var(--transition);outline:none;padding:.55rem 2.3rem .55rem 1rem}.search-form input:focus{border-color:var(--accent);width:220px}.search-form button{width:1.9rem;height:1.9rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:.35rem}.search-form button:hover{color:var(--text-primary);background:var(--btn-hover)}.icon-btn{border:1px solid var(--btn-border);background:var(--btn-bg);width:2.4rem;height:2.4rem;color:var(--text-secondary);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.icon-btn:hover{color:var(--text-primary);background:var(--btn-hover)}.icon-btn.active{color:var(--accent);border-color:var(--accent-soft-border);background:var(--accent-soft-bg)}.icon-btn .badge-dot{border-radius:var(--radius-pill);background:var(--accent);min-width:16px;height:16px;color:var(--accent-text);justify-content:center;align-items:center;padding:0 3px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.icon-row{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.icon-btn .notif-dot{background:#e0342c;width:10px;min-width:10px;height:10px;padding:0}.user-menu{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.user-profile-btn{color:var(--text-primary);font-size:var(--text-sm);border:1px solid var(--btn-border);border-radius:var(--radius-pill);background-color:var(--btn-bg);white-space:nowrap;transition:background-color var(--transition);align-items:center;gap:.5rem;padding:.5rem 1rem .5rem .6rem;font-weight:600;text-decoration:none;display:flex}.user-profile-btn:hover{background-color:var(--btn-hover)}.user-profile-btn i{color:var(--text-muted);font-size:1.3rem}.user-profile-btn span{text-overflow:ellipsis;max-width:9rem;overflow:hidden}.sell-btn{white-space:nowrap;align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.mobile-menu-toggle{border:1px solid var(--btn-border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;z-index:60;background:0 0;flex-shrink:0;width:2.5rem;height:2.5rem;font-size:1.1rem;display:none}.nav-backdrop{z-index:45;cursor:default;background:#0006;border:none;padding:0;display:none;position:fixed;inset:0}:root{--nav-breakpoint:960px}@media (width<=960px){.header-inner{flex-wrap:nowrap}.mobile-menu-toggle{justify-content:center;align-items:center;display:inline-flex}.nav-backdrop.open{display:block}.header-collapsible{background-color:var(--bg-color);border-left:1px solid var(--surface-border);width:min(320px,86vw);max-width:100vw;height:100dvh;box-shadow:var(--shadow-lg);justify-content:flex-start;align-items:stretch;gap:var(--space-5);padding:calc(var(--space-8) + env(safe-area-inset-top,0px)) var(--space-5) var(--space-5);z-index:50;flex-direction:column;transition:transform .22s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.header-collapsible.open{transform:translate(0)}.header-collapsible .search-form{order:-1;width:100%}.header-collapsible .search-form input{width:100%}.header-collapsible nav ul{border-top:1px solid var(--surface-border);border-bottom:1px solid var(--surface-border);padding:var(--space-2) 0;flex-direction:column;align-items:stretch;gap:0}.header-collapsible nav a{padding:var(--space-3) 0;font-size:var(--text-md);border-bottom:none;display:block}.header-actions{align-items:stretch;gap:var(--space-3);flex-direction:column;width:100%}.header-actions .sell-btn{justify-content:center}.user-menu{flex-direction:column;align-items:stretch;width:100%}.user-profile-btn{justify-content:center}.user-profile-btn span{max-width:none}.icon-row{justify-content:center;gap:var(--space-4)}}@media (width>=961px){.header-collapsible.open{display:flex}}body.nav-open{overflow:hidden}@media (width<=380px){.logo{font-size:1.1rem}.header-inner{gap:var(--space-3)}}.btn-primary,.btn-secondary{font-size:var(--text-sm);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--transition), opacity var(--transition), transform var(--transition), border-color var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary:active,.btn-secondary:active{transform:scale(.97)}.btn-primary{background-color:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background-color:var(--btn-bg);color:var(--text-primary);border-color:var(--btn-border)}.btn-secondary:hover{background-color:var(--btn-hover)}.btn-secondary.active{background-color:var(--accent-soft-bg);border-color:var(--accent-soft-border);color:var(--accent)}.btn-sm{font-size:var(--text-xs);padding:.5rem .9rem}.btn-link,.btn-link-danger{cursor:pointer;font-size:var(--text-sm);text-underline-offset:2px;color:var(--text-secondary);background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.btn-link:hover{color:var(--text-primary)}.btn-link-danger{color:var(--danger)}.btn-link-danger:hover{opacity:.8}.row-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.inline-actions{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.hero{padding:var(--space-8) 0 var(--space-6);background-color:var(--surface-color);border-bottom:1px solid var(--surface-border)}.hero h1{font-size:var(--text-xl);max-width:720px;font-weight:600;line-height:1.15}.hero p{margin-top:var(--space-4);color:var(--text-secondary);max-width:560px;font-size:var(--text-md)}.filter-section{padding:var(--space-5) 0 var(--space-3);border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.type-filter-bar{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-chip{background-color:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition), color var(--transition), border-color var(--transition);padding:.5rem 1.1rem;font-weight:600}.filter-chip:hover{background-color:var(--btn-hover)}.filter-chip.active{background-color:var(--accent);color:var(--accent-text);border-color:var(--accent)}.result-count{font-family:var(--font-serif);font-size:var(--text-md);padding:var(--space-4) 0;color:var(--text-secondary);font-weight:600;display:block}.theme-toggle-btn{background-color:var(--btn-bg);color:var(--text-primary);border:1px solid var(--btn-border);border-radius:var(--radius-pill);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;align-items:center;gap:var(--space-2);padding:.55rem 1rem;font-weight:700;display:flex}.theme-toggle-btn:hover{background-color:var(--btn-hover)}main{padding:var(--space-6) 0 var(--space-8);flex:1}.book-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}@media (width<=480px){.book-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}}.book-card{background-color:var(--surface-color);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-4);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;justify-content:space-between;display:flex;position:relative}.book-card:hover{border-color:var(--accent-soft-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.book-card-link{color:inherit;text-decoration:none;display:block}.cover-container{background-color:var(--bg-color);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-4);aspect-ratio:3/4;justify-content:center;align-items:center;display:flex;overflow:hidden}.book-cover{object-fit:contain;max-width:100%;max-height:100%}.book-title{font-family:var(--font-serif);font-size:var(--text-md);min-height:2.6em;margin-bottom:var(--space-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.book-author{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.book-price{font-size:var(--text-md);margin-bottom:var(--space-3);color:var(--accent);font-weight:700}.tag-group{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.badge{font-size:var(--text-xs);border-radius:var(--radius-pill);background-color:var(--surface-raised);border:1px solid var(--surface-border);color:var(--text-secondary);padding:.25rem .6rem;font-weight:600}.badge-exchange{color:var(--accent);border-color:var(--accent-soft-border);background-color:var(--accent-soft-bg);font-weight:700}.badge-warn{color:var(--danger);border-color:var(--danger);background-color:var(--danger-soft-bg)}.badge-admin{color:var(--accent);border-color:var(--accent-soft-border);background-color:var(--accent-soft-bg);font-weight:700}.book-footer{margin-top:var(--space-2);gap:var(--space-2);align-items:center;display:flex}.btn-action{text-align:center;background-color:var(--surface-raised);color:var(--text-primary);border:1px solid var(--surface-border);border-radius:var(--radius-pill);font-size:var(--text-sm);transition:background-color var(--transition);flex:1;padding:.6rem;font-weight:700;text-decoration:none;display:block}.btn-action:hover{background-color:var(--accent);color:var(--accent-text);border-color:var(--accent)}.wishlist-heart{border:1px solid var(--surface-border);background:var(--surface-color);width:2.4rem;height:2.4rem;color:var(--text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wishlist-heart:hover{color:var(--danger)}.wishlist-heart.active{color:var(--danger);border-color:var(--danger);background:var(--danger-soft-bg)}.wishlist-heart-abs{top:var(--space-3);right:var(--space-3);z-index:2;position:absolute}.empty-state{text-align:center;color:var(--text-muted);padding:var(--space-8) var(--space-4);font-size:var(--text-md)}.empty-state a{color:var(--accent);font-weight:600}.pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.page-btn{border-radius:var(--radius-sm);border:1px solid var(--btn-border);background:var(--btn-bg);min-width:2.2rem;height:2.2rem;color:var(--text-secondary);cursor:pointer;font-weight:600;font-size:var(--text-sm);padding:0 .6rem}.page-btn:hover:not(:disabled){background:var(--btn-hover)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.page-ellipsis{color:var(--text-muted);padding:0 .2rem}.form-page{max-width:640px}.page-subtitle{color:var(--text-secondary);margin-top:var(--space-2);margin-bottom:var(--space-6);font-size:var(--text-md)}.stacked-form,.auth-form{gap:var(--space-4);margin-top:var(--space-5);flex-direction:column;display:flex}.stacked-form label,.auth-form label{gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;font-weight:600;display:flex}.stacked-form input,.stacked-form select,.stacked-form textarea,.auth-form input,.auth-form select,.auth-form textarea{background:var(--surface-color);border:1px solid var(--btn-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);width:100%;transition:border-color var(--transition);outline:none;padding:.75rem .9rem;font-weight:400}.stacked-form input:focus,.stacked-form select:focus,.stacked-form textarea:focus,.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{border-color:var(--accent)}.stacked-form textarea,.auth-form textarea{resize:vertical;min-height:4.5rem}.checkbox-label{align-items:center;gap:var(--space-2)!important;flex-direction:row!important}.checkbox-label input{accent-color:var(--accent);width:auto!important}.hint-text{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.form-error{background:var(--danger-soft-bg);border:1px solid var(--danger);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);margin:var(--space-4) 0}.form-notice{background:var(--accent-soft-bg);border:1px solid var(--accent-soft-border);color:var(--text-primary);padding:var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);margin:var(--space-4) 0}.listing-type-picker{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.type-option{text-align:left;background:var(--surface-color);border:1px solid var(--btn-border);border-radius:var(--radius-md);min-width:200px;padding:var(--space-4);cursor:pointer;gap:var(--space-1);transition:border-color var(--transition), background var(--transition);flex-direction:column;flex:1;display:flex}.type-option:hover{border-color:var(--accent-soft-border)}.type-option.active{border-color:var(--accent);background:var(--accent-soft-bg)}.type-option-label{font-weight:700;font-family:var(--font-serif);font-size:var(--text-md)}.type-option-desc{font-size:var(--text-xs);color:var(--text-secondary)}.back-link{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-5);font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text-primary)}.book-detail-grid{gap:var(--space-7);margin-top:var(--space-6);grid-template-columns:minmax(220px,320px) 1fr;align-items:start;display:grid}@media (width<=760px){.book-detail-grid{gap:var(--space-5);grid-template-columns:1fr}.book-detail-cover{max-width:260px;margin:0 auto}}.book-detail-cover .cover-container{aspect-ratio:3/4;height:auto;padding:var(--space-5);position:sticky;top:6rem}.book-detail-info h1{font-size:var(--text-lg);margin-bottom:var(--space-2)}.book-detail-author{color:var(--text-secondary);font-size:var(--text-md);margin-bottom:var(--space-4)}.book-detail-price{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--accent);margin-bottom:var(--space-5);font-weight:700}.book-detail-description{color:var(--text-secondary);margin-bottom:var(--space-5);line-height:1.7}.info-box{background:var(--surface-color);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm)}.info-box strong{margin-bottom:var(--space-2);font-family:var(--font-serif);font-size:var(--text-sm);display:block}.info-box p{color:var(--text-secondary)}.detail-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.star-rating{color:var(--text-muted);gap:2px;display:inline-flex}.star-rating .filled{color:#e0a731}.star-rating.input .star-btn{cursor:pointer;color:var(--surface-border);background:0 0;border:none;padding:0;font-size:1.3rem}.star-rating.input .star-btn.filled{color:#e0a731}.review-card{border-bottom:1px solid var(--surface-border);padding:var(--space-4) 0}.review-card:last-child{border-bottom:none}.review-card-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.review-author{font-weight:700;font-size:var(--text-sm)}.review-date{font-size:var(--text-xs);color:var(--text-muted)}.review-comment{color:var(--text-secondary);font-size:var(--text-sm)}.review-section{gap:var(--space-3);flex-direction:column;display:flex}.review-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.review-average{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:inline-flex}.review-form{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--surface-raised);flex-direction:column;display:flex}.review-form-title{font-weight:700;font-size:var(--text-sm)}.review-form textarea{resize:vertical;width:100%}.review-empty{padding:var(--space-3) 0;margin:0}.review-author a{color:inherit;text-decoration:none}.review-author a:hover{color:var(--accent)}.review-author .badge{margin-left:var(--space-2)}.profile-rating{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;font-size:var(--text-sm);display:flex}.info-page{max-width:800px}.info-page .back-link{margin-top:var(--space-6);margin-bottom:var(--space-5)}.info-page h1{margin:0}.info-tab-bar{margin:var(--space-6) 0}.info-section-single h2{font-size:var(--text-lg);margin-bottom:var(--space-4)}.info-section-single p,.info-section-single li{color:var(--text-secondary);margin-bottom:var(--space-3);line-height:1.75}.info-section-single ul{padding-left:1.3rem}.info-section-single strong{color:var(--text-primary)}.info-subheading{font-size:var(--text-md);margin:var(--space-6) 0 var(--space-3)}.info-compare-table td,.info-compare-table th{white-space:normal}.info-compare-table td:first-child{color:var(--text-primary);white-space:nowrap;font-weight:600}.info-chart{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.info-chart-row{align-items:center;gap:var(--space-3);grid-template-columns:9rem 1fr auto;display:grid}.info-chart-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.info-chart-track{border-radius:var(--radius-pill);background:var(--surface-raised);height:.6rem;overflow:hidden}.info-chart-fill{border-radius:var(--radius-pill);background:var(--accent);height:100%}.faq-item{margin-bottom:var(--space-4)}.faq-question{color:var(--text-primary);font-weight:700;margin-bottom:var(--space-1)!important}.info-chart-note{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}@media (width<=560px){.info-chart-row{gap:var(--space-1);grid-template-columns:1fr}.info-chart-note{white-space:normal}}.settings-section{max-width:480px;margin:var(--space-5) auto 0;gap:var(--space-2);flex-direction:column;display:flex}.settings-section h2{font-size:var(--text-md);margin-top:var(--space-6);text-align:center}.settings-section h2:first-child{margin-top:0}.settings-form{margin-bottom:var(--space-2)}.admin-toolbar{align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3);flex-wrap:wrap;display:flex}.admin-toolbar select{background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);padding:.5rem .7rem}.admin-search-input{background:var(--surface-color);border:1px solid var(--btn-border);border-radius:var(--radius-sm);min-width:160px;font-size:var(--text-sm);color:var(--text-primary);outline:none;flex:220px;padding:.5rem .8rem}.admin-search-input:focus{border-color:var(--accent)}.tab-bar{gap:var(--space-2);border-bottom:1px solid var(--surface-border);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.tab-btn{cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-pill);background:0 0;border:none;padding:.6rem 1rem;font-weight:600}.tab-btn:hover{background:var(--btn-hover);color:var(--text-primary)}.tab-btn.active{background:var(--accent);color:var(--accent-text)}.auth-page{padding-top:var(--space-6);justify-content:center;display:flex}.auth-card{background:var(--surface-color);border:1px solid var(--surface-border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:var(--space-7) var(--space-6);box-shadow:var(--shadow-sm)}@media (width<=480px){.auth-card{padding:var(--space-6) var(--space-4)}}.auth-card h1{font-size:var(--text-lg)}.auth-subtitle{color:var(--text-secondary);margin-top:var(--space-2);font-size:var(--text-sm)}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--text-muted);font-size:var(--text-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--surface-border);flex:1;height:1px}.btn-google{justify-content:center;align-items:center;gap:var(--space-2);width:100%;display:inline-flex}.btn-google i{color:#4285f4}.auth-footer-text{text-align:center;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--text-secondary)}.auth-footer-text a{color:var(--accent);font-weight:600;text-decoration:none}.auth-footer-text a:hover{text-decoration:underline}.dashboard-page h1{font-size:var(--text-lg)}.dashboard-summary{gap:var(--space-2) 0;background:var(--surface-color);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin:var(--space-5) 0;box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.summary-card{padding:0 var(--space-5);border-right:1px solid var(--surface-border);text-align:left;flex-direction:row;align-items:baseline;gap:.4rem;display:flex}.summary-card:last-child{border-right:none;padding-right:0}.summary-card:first-child{padding-left:0}.summary-number{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--accent);font-weight:700}.summary-card span:last-child{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}@media (width<=600px){.dashboard-summary{padding:var(--space-3) var(--space-4);gap:var(--space-2) 0}.summary-card{padding:0 var(--space-3);border-right:none;flex:45%}}.section-header-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-6) 0 var(--space-4);flex-wrap:wrap;display:flex}.section-header-row h2{font-size:var(--text-md)}.dashboard-page section>h2:first-child{margin:var(--space-6) 0 var(--space-4);font-size:var(--text-md)}.table-scroll{border:1px solid var(--surface-border);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);min-width:560px}.data-table th,.data-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--surface-border);white-space:nowrap}.data-table th{background:var(--surface-color);color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.data-table tr:last-child td{border-bottom:none}.data-table a{color:var(--text-primary);font-weight:600;text-decoration:none}.data-table a:hover{color:var(--accent)}.cell-message{white-space:normal;max-width:260px;color:var(--text-secondary)}.wishlist-page h1{font-size:var(--text-lg);margin-bottom:var(--space-2)}.admin-page h1{font-size:var(--text-lg)}.admin-tag{margin-left:var(--space-2);display:inline-block}.role-select{border-radius:var(--radius-sm);border:1px solid var(--btn-border);background:var(--surface-color);font-size:var(--text-xs);padding:.35rem .5rem}.page-loading{padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-muted)}footer{border-top:1px solid var(--surface-border);background:var(--surface-color);margin-top:var(--space-8)}.footer-inner{gap:var(--space-6);padding:var(--space-7) 0 var(--space-6);grid-template-columns:2fr repeat(3,1fr);display:grid}@media (width<=760px){.footer-inner{gap:var(--space-5);grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.footer-inner{text-align:center;gap:var(--space-6);padding:var(--space-6) 0 var(--space-5);grid-template-columns:1fr}.footer-brand{flex-direction:column;align-items:center;display:flex}.footer-brand p{max-width:320px}.footer-links{align-items:center}}.footer-logo{font-family:var(--font-serif);font-size:var(--text-md);font-weight:700}.footer-brand p{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-3);max-width:280px}.footer-col h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-3)}.footer-links{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.footer-links a{color:var(--text-secondary);font-size:var(--text-sm);text-decoration:none}.footer-links a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--surface-border);padding:var(--space-4) 0;font-size:var(--text-xs);color:var(--text-muted);text-align:center;word-break:break-word}.search-page h1{font-size:var(--text-lg)}.profile-header{align-items:center;gap:var(--space-5);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.profile-avatar{background:var(--surface-color);border:1px solid var(--surface-border);width:88px;height:88px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-contact-row{gap:var(--space-4);margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.profile-contact-row i{margin-right:.35rem}.profile-stats{margin-top:var(--space-6)}.profile-link{color:var(--accent);font-weight:600;text-decoration:none}.profile-link:hover{text-decoration:underline}.contact-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.contact-actions a{align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.contact-panel{border:1px solid var(--accent-soft-border);background:var(--accent-soft-bg);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.contact-panel-title{color:var(--text-primary);margin:0;font-weight:700}.contact-panel-title i{color:var(--accent);margin-right:.4rem}.contact-panel .hint-text{margin:0}.profile-settings-row{justify-content:center;align-items:center;gap:var(--space-4);margin:var(--space-3) 0 var(--space-5);display:flex}.profile-avatar-sm{width:56px;height:56px;font-size:1.3rem}.checkbox-label{align-items:center;gap:var(--space-2)!important;flex-direction:row!important;font-weight:400!important}.checkbox-label input{width:auto}@media (width<=600px){.profile-header{text-align:center;flex-direction:column;align-items:center}.profile-contact-row{justify-content:center}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
