:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background-color:#fff;--primary-color: #8b4513;--primary-dark: #6b3410;--primary-light: #a0522d;--accent-color: #d2691e;--accent-light: #f4a460;--text-color: #111827;--text-muted: #4b5563;--text-subtle: #6b7280;--surface: #ffffff;--surface-muted: #f9fafb;--surface-accent: #fff8e7;--border-color: #e5e7eb;--border-strong: #d1d5db;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--shadow-md: 0 10px 30px -24px rgba(15, 23, 42, .4);--shadow-lg: 0 12px 32px -16px rgba(15, 23, 42, .28);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem}body{margin:0;min-height:100vh;background-color:var(--surface);color:var(--text-color)}a,a:visited{color:inherit}a{text-decoration:none}*{box-sizing:border-box}button{cursor:pointer;font:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{color:var(--text-color);margin:0 0 var(--spacing-md);line-height:1.25}p{margin:0 0 var(--spacing-md);color:var(--text-muted);line-height:1.6}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;padding:0 0 5rem;background-color:#fff;overflow-y:auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;padding:.75rem clamp(1rem,5vw,3rem);background-color:var(--surface-accent);border-top:1px solid var(--border-color);z-index:10;box-shadow:0 -2px 12px #0f172a14}.bottom-nav a,.bottom-nav button{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);border-radius:var(--radius-sm);color:var(--text-subtle);transition:all .2s;position:relative}.bottom-nav a:hover,.bottom-nav button:hover{background-color:var(--surface);color:var(--text-color)}.bottom-nav a.active{background-color:#fef3e2;color:var(--primary-color)}.bottom-nav__logout{background:none;border:none}.bottom-nav__logout:hover{background-color:#fee2e2;color:#dc2626}.page{display:flex;flex-direction:column;gap:var(--spacing-xl);padding:var(--spacing-xl);max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden;min-height:100%;box-sizing:border-box}.page-header{display:flex;flex-direction:column;gap:var(--spacing-xs)}.page-header h1{margin:0;font-size:clamp(1.5rem,4vw,2rem)}.page-header p{margin:0;color:var(--text-muted)}.page-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 4rem);gap:1rem;text-align:center}.page-status{background-color:#fef3e2;color:var(--primary-dark);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-weight:500}.primary-button{background:var(--surface);color:var(--primary-color);border:2px solid var(--surface);border-radius:var(--radius-md);padding:var(--spacing-md) 1.25rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--surface-accent)}.primary-button:disabled{background:#ffffff80;border-color:#ffffff80;color:#8b451380;cursor:not-allowed;opacity:.6}.secondary-button{background:transparent;color:var(--text-subtle);border:2px solid #9ca3af;border-radius:var(--radius-md);padding:var(--spacing-md) 1.25rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.secondary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--text-subtle);color:var(--text-color)}.secondary-button:disabled{border-color:var(--border-color);color:#9ca3af;cursor:not-allowed;opacity:.6}.secondary-button--ghost{background:transparent;border:none;color:var(--primary-color);padding:.25rem .5rem}.page-header,.search-filters,.listing-form-card,.profile-section,.dashboard-section,.dashboard-metrics{background-color:var(--surface);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);margin:0}.search-filters{display:flex;flex-direction:column;gap:1rem}.search-filters label{position:relative;display:flex}.search-filters label svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--primary-color);pointer-events:none;z-index:1}.search-filters input,.search-filters select{padding:.65rem 2.5rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:1rem;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.search-filters select{background-position:right .75rem center}.search-filters__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.search-filters__row--actions{justify-content:space-between;align-items:center}.checkbox{display:flex;align-items:center;gap:.5rem;font-weight:500}.checkbox-field{display:flex;align-items:center;gap:var(--spacing-lg);padding:.875rem var(--spacing-lg);background:var(--surface-muted);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all .2s;cursor:pointer}.checkbox-field:hover{background:#f3f4f6;border-color:var(--border-strong)}.checkbox-field input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-field label{flex:1;cursor:pointer;font-size:.9375rem;font-weight:500;color:#374151;margin:0}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;align-items:start}.book-card{perspective:1000px;cursor:pointer}.book-card__inner{position:relative;width:100%;transition:transform .6s;transform-style:preserve-3d}.book-card.flipped .book-card__inner{transform:rotateY(180deg)}.book-card__front,.book-card__back{width:100%;backface-visibility:hidden;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.book-card__front{display:flex;flex-direction:row;gap:var(--spacing-sm);padding:0;min-height:142px;background-color:var(--surface);align-items:stretch}@media (max-width: 740px){.book-card__front{flex-direction:row}.book-card__media{width:100px;flex:0 0 100px;border-radius:var(--radius-md) 0 0 var(--radius-md)}.book-card__content{padding:.9rem 1.1rem 1.2rem;flex:1}.book-card__chips{gap:.35rem}}.book-card__back{background-color:#1f2937;transform:rotateY(180deg);display:flex;align-items:center;justify-content:center;padding:1.25rem;position:absolute;top:0;right:0;bottom:0;left:0}.book-card.flipped .book-card__inner{min-height:110px}.book-card__back img{max-width:100%;max-height:100%;object-fit:contain;border-radius:.5rem}.book-card__back-placeholder{color:var(--text-subtle);text-align:center}.book-card__media{width:100px;border-radius:var(--radius-md) 0 0 var(--radius-md);overflow:hidden;background:var(--surface-muted);display:flex;align-items:stretch;justify-content:center;flex:0 0 100px;align-self:stretch}.book-card__media img{width:100%;height:100%;object-fit:cover}.book-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-subtle);background:#0f172a0d}.book-card__content{display:flex;flex-direction:column;gap:.45rem;flex:1;min-width:0;padding:.85rem 1.1rem 1rem}.book-card__header{display:flex;flex-direction:column;gap:var(--spacing-xs)}.book-card__title{margin:0;font-size:.95rem;font-weight:600;line-height:1.2;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-card__author{margin:0;color:var(--text-muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-card__description{margin:0;color:var(--text-subtle);font-size:.7rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card__chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.book-card__chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .55rem;border-radius:999px;background:var(--surface-muted);color:var(--text-subtle);font-size:.6875rem;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-card__chip svg{flex-shrink:0}.book-card__chip--state{font-weight:600;color:var(--primary-dark);background:#8b45131f}.book-card__state--available_for_borrow{color:#166534;background-color:#1665341f}.book-card__state--available_for_give_away{color:#92400e;background-color:#92400e1f}.book-card__state--booked{color:#1d4ed8;background-color:#1d4ed81f}.book-card__state--lent{color:#0369a1;background-color:#0369a11f}.book-card__state--lost{color:#b91c1c;background-color:#b91c1c1f}.book-card__stats{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;color:var(--text-subtle);font-size:.7rem}.book-card__stat{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.book-card__stat svg{flex-shrink:0}.book-card__stat-icon--highlight{color:#f59e0b}.book-card__actions{display:flex;justify-content:flex-end}.book-card__owner-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;width:100%}.book-card__owner-actions .icon-button{padding:.25rem;height:32px;width:32px;display:inline-flex;align-items:center;justify-content:center}.book-card__owner-actions .icon-button svg{width:16px;height:16px}.book-card__request{border:1px solid var(--primary-color);color:var(--primary-color);background:transparent;font-size:.75rem;padding:.35rem .75rem;border-radius:var(--radius-sm);font-weight:600;transition:background .2s ease,color .2s ease}.book-card__request:hover:not(:disabled){background:#8b451314}.book-card__request:disabled{opacity:.6;cursor:not-allowed}.empty-state{display:grid;gap:.5rem;padding:2rem;text-align:center;background-color:var(--surface-accent);border-radius:var(--radius-lg);border:1px dashed #fdba74}.login-page{background:var(--surface-accent);min-height:100vh}.login-card{background:transparent;padding:2.5rem;border-radius:1.5rem;max-width:420px;display:grid;gap:1rem}.login-logo{width:90%;max-width:600px;height:auto;margin:0 5% 1.5rem}.login-card p{color:var(--primary-dark);font-size:1.125rem;font-weight:500;text-align:center}.login-disclaimer{color:#6b7280;text-align:center;font-size:.875rem}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;background:var(--surface);color:#3c4043;border:1px solid #dadce0;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:500;font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.auth-button:hover:not(:disabled){background:#f8f9fa;box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326}.auth-button:active:not(:disabled){background:#f1f3f4;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.auth-button:disabled{background:var(--surface);color:#80868b;cursor:not-allowed;opacity:.6}.auth-button svg{flex-shrink:0}.profile-header{display:flex;align-items:flex-start;justify-content:flex-start;gap:2rem;margin-bottom:0}@media (min-width: 768px){.profile-header{justify-content:center}}.profile-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover}.profile-page{max-width:1400px;margin:0 auto}.profile-section{margin-top:0}.profile-section h2{margin:0 0 1.25rem;font-size:1.5rem;font-weight:700;color:var(--text-color)}.profile-summary h1{margin:0}.profile-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.badge{background-color:var(--surface-muted);color:#1f2937;padding:.3rem .75rem;border-radius:999px;font-size:.85rem}.badge--accent{background-color:var(--primary-color);color:#fff}.loan-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.loan-owner{color:var(--primary-color)}.rating-breakdown{display:grid;gap:.5rem;margin:0;padding-left:1.25rem}.listing-form{display:grid;gap:1.25rem;max-width:100%;width:100%;box-sizing:border-box}.form-field{position:relative;display:flex;flex-direction:column;max-width:100%;box-sizing:border-box}.form-label{position:absolute;left:1rem;top:1.6rem;transform:translateY(-50%);color:var(--primary-color);pointer-events:none;z-index:1}.form-label svg{flex-shrink:0}.form-field--select .form-label{top:1.6rem}.form-input{padding:.75rem 2.5rem .75rem 3rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;width:100%;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:is(select){background-position:right .75rem center}.form-input:is(textarea){padding-left:3rem;padding-top:.75rem}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a}.form-input::placeholder{color:#9ca3af}.listing-form__actions{display:flex;gap:1rem;margin-top:.5rem}.form-hint{font-size:.875rem;color:var(--text-subtle);font-style:italic}.books-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.book-tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}.book-tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.book-tile__cover{position:relative;width:100%;aspect-ratio:2/3;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);overflow:hidden}.book-tile__cover img{width:100%;height:100%;object-fit:cover}.book-tile__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af}.book-tile__badge{position:absolute;top:.75rem;right:.75rem;padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px #0000001a}.book-tile__badge--available_for_borrow{color:#059669;background:#0596691a;border-color:#05966933}.book-tile__badge--lent{color:#dc2626;background:#dc26261a;border-color:#dc262633}.book-tile__badge--booked{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b33}.book-tile__content{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.book-tile__title{font-size:1rem;font-weight:600;color:#111827;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-tile__author{font-size:.875rem;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-tile__stats{display:flex;gap:1rem;margin-top:.5rem}.book-tile__stat{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#6b7280}.book-tile__stat svg{color:#f59e0b;flex-shrink:0}.book-tile__actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.75rem;border-top:1px solid #f3f4f6}.icon-button{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:2px solid #9ca3af;border-radius:.5rem;color:#6b7280;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;min-width:0}.icon-button:hover{background:transparent;color:#111827;border-color:#6b7280;transform:translateY(-1px);box-shadow:0 2px 8px -2px #00000026}.icon-button:active{transform:translateY(0)}.icon-button--danger:hover{background:transparent;color:#dc2626;border-color:#dc2626}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.metric-card{display:grid;gap:.25rem;background-color:#fef9f3;padding:1rem;border-radius:1rem}.metric-card__label{font-size:.9rem;color:var(--primary-dark)}.metric-card__value{font-size:1.6rem;font-weight:700;color:#1f2937}.top-books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.top-book-card{display:flex;gap:1rem;background-color:#f9fafb;border-radius:1rem;padding:1rem}.top-book-card__image{width:64px;height:96px;object-fit:cover;border-radius:.75rem}.meetup-list{display:grid;gap:1rem;margin:0;padding:0;list-style:none}.meetup-list__item{display:flex;justify-content:space-between;align-items:center;background-color:#f9fafb;border-radius:1rem;padding:1rem 1.5rem}.meetup-location{display:inline-block;background-color:#e0f2fe;color:#0369a1;padding:.4rem .75rem;border-radius:999px;margin-right:.5rem}.profile-card{display:flex;gap:2rem;align-items:flex-start;background:linear-gradient(135deg,#fff,#f8fafc);padding:2rem;border-radius:1.5rem;box-shadow:0 1px 3px #0000000d,0 10px 40px -12px #0000001a;border:1px solid var(--border-color)}.profile-info{flex:1;display:flex;flex-direction:column;gap:1.5rem}.profile-header-row{display:flex;flex-direction:column;gap:.375rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.06)}.profile-info h1{margin:0;font-size:2rem;font-weight:700;color:#1f2937;letter-spacing:-.025em}.profile-location{margin:0;color:#6b7280;font-size:.9375rem}.profile-row{display:flex;flex-direction:column;gap:.875rem}.row-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.profile-ratings{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.rating-item{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background-color:#ffffffe6;border-radius:.75rem;border:1px solid rgba(0,0,0,.05);transition:all .2s cubic-bezier(.4,0,.2,1)}.rating-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px -4px #0000001a}.rating-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:.5rem;color:#fff;flex-shrink:0}.rating-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.rating-value{font-size:1.125rem;font-weight:700;color:#1f2937;line-height:1}.rating-label{font-size:.6875rem;color:#6b7280;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem;background-color:#ffffffe6;border-radius:.75rem;border:1px solid rgba(0,0,0,.05);transition:all .2s cubic-bezier(.4,0,.2,1);flex:1;min-width:180px}.stat-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px -4px #0000001a}.stat-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:.5rem;color:#fff;flex-shrink:0}.stat-content{display:flex;flex-direction:column;gap:.125rem}.stat-value{font-size:1.125rem;font-weight:700;color:#1f2937;line-height:1}.stat-label{font-size:.6875rem;color:#6b7280;font-weight:500}.profile-badges-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.profile-verification{display:flex;gap:.625rem}.verification-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--surface-muted);border-radius:var(--radius-md);color:var(--text-subtle);cursor:help;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.05)}.verification-icon:hover{background-color:var(--border-color);transform:translateY(-2px);box-shadow:0 4px 12px -4px #00000026}.verification-icon.verified{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.verification-icon.verified:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,#5a2a0f 100%)}.profile-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:999px;font-size:.8125rem;font-weight:600;color:#374151;border:1px solid rgba(0,0,0,.05);transition:all .2s cubic-bezier(.4,0,.2,1)}.badge-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px -2px #0000001f}.profile-card-compact{width:100%;max-width:100%;background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d,0 4px 16px -4px #0000001a;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;transition:all .2s cubic-bezier(.4,0,.2,1)}@media (min-width: 768px){.profile-card-compact{width:420px;max-width:420px}}@media (min-width: 1024px){.profile-card-compact{width:480px;max-width:480px}}.profile-card-compact:hover{box-shadow:0 4px 6px #00000012,0 20px 50px -15px #00000026}.profile-card-header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.06)}.profile-card-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.profile-card-info h2{margin:0;font-size:1.25rem;font-weight:700;color:#1f2937;letter-spacing:-.025em}.profile-card-location{margin:.25rem 0 0;color:#6b7280;font-size:.875rem}.profile-card-section{display:flex;flex-direction:column;gap:.75rem}.profile-card-section-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:.125rem}.profile-card-ratings{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;width:100%}.rating-compact{display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;background-color:#ffffffe6;border-radius:.75rem;border:1px solid rgba(0,0,0,.05);box-sizing:border-box}.rating-compact-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:.375rem;color:#fff;flex-shrink:0}.rating-compact-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.rating-compact-value{font-size:1rem;font-weight:700;color:#1f2937;line-height:1}.rating-compact-label{font-size:.625rem;color:#6b7280;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;width:100%}.stat-compact{display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;background-color:#ffffffe6;border-radius:.75rem;border:1px solid rgba(0,0,0,.05);box-sizing:border-box}.stat-compact-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:.375rem;color:#fff;flex-shrink:0}.stat-compact-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.stat-compact-value{font-size:1rem;font-weight:700;color:#1f2937;line-height:1}.stat-compact-label{font-size:.625rem;color:#6b7280;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card-verification{display:flex;flex-direction:column;gap:.625rem;width:100%}.verification-badge{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background-color:var(--surface-muted);border-radius:var(--radius-md);color:var(--text-subtle);font-size:.8125rem;font-weight:500;border:1px solid rgba(0,0,0,.05);transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;box-sizing:border-box}.verification-badge:hover{background-color:var(--border-color);transform:translate(3px);box-shadow:0 2px 8px -2px #0000001a}.verification-badge.verified{background:linear-gradient(135deg,#fef3e2,#fde8cc);color:var(--primary-dark);border-color:var(--accent-light);font-weight:600}.verification-badge.achievement{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-color:#fbbf24;font-weight:600}.verification-badge svg{flex-shrink:0}.language-switcher{display:flex;flex-direction:column;gap:.5rem}.language-select{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:.75rem;background-color:#fff;font-size:1rem;cursor:pointer;transition:all .2s}.language-select:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a}.language-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b451326}.notification-center{position:relative;display:flex;align-items:center}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.5rem;color:#6b7280;cursor:pointer;border-radius:.5rem;transition:all .2s}.notification-bell:hover{background-color:#f3f4f6;color:#111827}.notification-badge{position:absolute;top:-.25rem;right:-.25rem;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:999px;min-width:18px;text-align:center}.notification-list-page{display:flex;flex-direction:column;gap:.75rem}.notification-item-page{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-radius:1rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d,0 2px 8px -2px #0000000d;border:1px solid var(--border-color)}.notification-item-page:hover{box-shadow:0 4px 12px -4px #0000001a,0 8px 24px -8px #0000001a;transform:translateY(-2px);border-color:#d1d5db}.notification-item-page.unread{background:linear-gradient(135deg,#fef9f3,#fef6ed);border-left:4px solid var(--primary-color);box-shadow:0 1px 3px #8b45131a,0 2px 8px -2px #8b45131a}.notification-item-page.unread:hover{box-shadow:0 4px 12px -4px #8b451326,0 8px 24px -8px #8b451326}.notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.notification-dropdown{position:absolute;top:calc(100% + .5rem);right:-50%;width:380px;max-height:500px;background:#fff;border-radius:1rem;box-shadow:0 10px 40px -12px #00000040;z-index:1000;display:flex;flex-direction:column}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.notification-header h3{margin:0;font-size:1rem;font-weight:600}.notification-mark-all{background:none;border:none;color:var(--primary-color);font-size:.875rem;font-weight:500;cursor:pointer}.notification-list{overflow-y:auto;max-height:400px}.notification-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;color:#9ca3af;text-align:center}.notification-item{display:flex;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s}.notification-item:hover{background-color:#f9fafb}.notification-item.unread{background-color:#fef9f3}.notification-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:.75rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px -2px #8b45134d}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.notification-message{font-size:.8125rem;color:#6b7280;margin-bottom:.25rem}.notification-time{font-size:.75rem;color:#9ca3af}.notification-remove{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:.375rem;border-radius:.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.notification-remove svg,.icon-button svg{width:18px;height:18px}.notification-remove:hover{background-color:#fee2e2;color:#dc2626;transform:scale(1.1)}.notification-remove:active{transform:scale(1)}.loan-status-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.loan-status-sections h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600}.loan-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.loan-status-card{display:flex;align-items:center;gap:.625rem;padding:.875rem;border-radius:.625rem;transition:transform .2s}.loan-status-card:hover{transform:translateY(-2px)}.loan-status-count{font-size:1.375rem;font-weight:700;color:#1f2937;line-height:1}.loan-status-label{font-size:.75rem;color:#6b7280;font-weight:500;margin-top:.25rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1.25rem;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px -12px #00000059}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s}.modal-close:hover{background-color:#f3f4f6}.modal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:#1f2937}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.danger-button{background:transparent;color:#dc2626;border:2px solid #dc2626;border-radius:.75rem;padding:.75rem 1.25rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.danger-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px -4px #dc26264d;border-color:#b91c1c;color:#b91c1c}.danger-button:disabled{border-color:#fca5a5;color:#fca5a5;cursor:not-allowed;opacity:.6}.chat-window{position:fixed;bottom:1rem;right:1rem;width:380px;height:600px;background:#fff;border-radius:1.25rem;box-shadow:0 10px 40px -12px #00000040;display:flex;flex-direction:column;z-index:1000}.chat-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border-color);border-radius:1.25rem 1.25rem 0 0;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.chat-header img{width:40px;height:40px;border-radius:50%;object-fit:cover}.chat-header-info{flex:1;min-width:0}.chat-header-info strong{display:block;font-size:.9375rem}.friend-badge{font-size:.75rem;color:#6b7280}.chat-header-actions{display:flex;gap:.25rem}.icon-button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s}.icon-button:hover{background-color:#0000000d}.chat-disabled-notice{display:flex;gap:.75rem;padding:1rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:.75rem;margin:1rem}.chat-disabled-notice strong{display:block;margin-bottom:.25rem}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center;padding:2rem}.chat-message{max-width:75%;display:flex;flex-direction:column;gap:.25rem}.chat-message.sent{align-self:flex-end;align-items:flex-end}.chat-message.received{align-self:flex-start;align-items:flex-start}.chat-message-content{padding:.75rem 1rem;border-radius:1rem;font-size:.875rem;line-height:1.5}.chat-message.sent .chat-message-content{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-bottom-right-radius:.25rem}.chat-message.received .chat-message-content{background:#f3f4f6;color:#1f2937;border-bottom-left-radius:.25rem}.chat-message-time{font-size:.6875rem;color:#9ca3af;padding:0 .5rem}.chat-input-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid var(--border-color)}.chat-input-form input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:999px;font-size:.875rem}.chat-input-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a}.chat-send-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:50%;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px -4px #8b45134d;border-color:var(--primary-dark);color:var(--primary-dark)}.chat-send-button:disabled{border-color:#d1d5db;color:#9ca3af;cursor:not-allowed;opacity:.6}.loan-request-modal h2{margin:0 0 1.5rem;font-size:1.5rem}.loan-request-book{display:flex;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.75rem;margin-bottom:1rem}.loan-request-book img{width:60px;height:90px;object-fit:cover;border-radius:.5rem}.loan-request-owner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:.75rem;margin-bottom:1rem}.loan-request-owner img{width:40px;height:40px;border-radius:50%;object-fit:cover}.safety-notice{display:flex;gap:.75rem;padding:1rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:.75rem;margin-bottom:1.5rem}.safety-notice ul{margin:.5rem 0 0;padding-left:1.25rem}.safety-notice li{font-size:.875rem;color:#92400e}.loan-approval-card{background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 1px 3px #0000000d,0 4px 16px -4px #0000001a;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem}.loan-approval-header{display:flex;align-items:center;justify-content:space-between}.loan-approval-book{display:flex;gap:.75rem;align-items:center}.loan-approval-book img{width:48px;height:72px;object-fit:cover;border-radius:.5rem}.loan-approval-time{font-size:.75rem;color:#9ca3af}.loan-approval-borrower{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:.75rem}.loan-approval-borrower img{width:40px;height:40px;border-radius:50%;object-fit:cover}.loan-approval-borrower-info{flex:1}.loan-approval-rating{font-size:.875rem;color:#6b7280}.loan-approval-notes{padding:.75rem;background:#f9fafb;border-radius:.75rem;font-size:.875rem}.loan-rejection-reason{margin-top:.5rem}.loan-approval-actions{display:flex;gap:.75rem}.loan-approve-button,.loan-reject-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none}.loan-approve-button{background:#10b981;color:#fff}.loan-reject-button{background:#dc2626;color:#fff}.loan-approve-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px -4px #10b98180;background:#059669}.loan-reject-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px -4px #dc262680;background:#b91c1c}.meetup-scheduler{background:#fff;border-radius:1rem;padding:1.5rem}.meetup-scheduler-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--primary-color)}.meetup-book-info{padding:1rem;background:#f9fafb;border-radius:.75rem;margin-bottom:1.5rem}.meetup-form{display:flex;flex-direction:column;gap:1rem}.meetup-form label{display:flex;flex-direction:column;gap:.5rem;font-weight:500}.meetup-form label svg{display:inline-block;margin-right:.5rem;vertical-align:middle}.meetup-safety-reminder{background:#fef3c7;border:1px solid #fbbf24;border-radius:.75rem;padding:1rem}.meetup-safety-reminder ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.875rem}.meetup-actions{display:flex;gap:.75rem;flex-wrap:wrap}.friend-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:.75rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);background:transparent}.friend-button.add{border:2px solid var(--primary-color);color:var(--primary-color)}.friend-button.add:hover{border-color:var(--primary-dark);color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px -2px #8b45134d}.friend-button.pending{border:2px solid #d1d5db;color:#9ca3af;cursor:not-allowed}.friend-button.unfriend{border:2px solid #9ca3af;color:#6b7280}.friend-button.unfriend:hover{border-color:#6b7280;color:#111827;transform:translateY(-1px)}.friend-button.unfriend.confirm{border:2px solid #dc2626;color:#dc2626}.friend-button.unfriend.confirm:hover{border-color:#b91c1c;color:#b91c1c}.friend-request-actions{display:flex;gap:.5rem}.friend-button.accept{background:#10b981;color:#fff;border:none}.friend-button.accept:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 8px -2px #10b98180}.friend-button.reject{background:#dc2626;color:#fff;border:none}.friend-button.reject:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 8px -2px #dc262680}.friends-tabs{display:flex;gap:.5rem;padding:.5rem;background:#fff;border-radius:.75rem;border:1px solid var(--border-color);min-height:56px}.friends-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:.5rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;white-space:nowrap}.friends-tab:hover{background:#f9fafb;color:#111827}.friends-tab.active{background:var(--bg-cream);color:var(--primary-color)}.friends-search{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--border-color);border-radius:.75rem;min-height:56px}.friends-search__input{flex:1;border:none;outline:none;font-size:1rem;min-width:0}.friends-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.5rem;background:#fff;border:1px solid var(--border-color);border-radius:.75rem}.filter-group input[type=text],.filter-group select{padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:all .2s}.filter-group input[type=text]:focus,.filter-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a}.filter-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #8b45131a}.filter-group input[type=range]::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #8b45131a}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;align-items:start}.friend-card{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#fff;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 1px 3px #0000000d;transition:all .2s}.friend-card:hover{box-shadow:0 4px 12px -4px #0000001a;transform:translateY(-2px)}.friend-card__avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color);margin:0 auto}.friend-card__info{text-align:center}.friend-card__info h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.friend-card__meta{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.875rem;color:#6b7280}.friend-card__location{display:flex;align-items:center;gap:.25rem}.friend-card__actions{display:flex;gap:.5rem;margin-top:auto}.friend-card__actions .friend-button{flex:1}.friend-card-flip-container{perspective:1000px;min-height:200px}.friend-card-flip{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.friend-card-front,.friend-card-back{position:absolute;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.friends-content{min-height:400px}.report-block-modal{max-width:560px}.report-user-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:.75rem;margin-bottom:1.5rem}.report-user-info img{width:48px;height:48px;border-radius:50%;object-fit:cover}.report-warning,.block-warning{display:flex;gap:.75rem;padding:1rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:.75rem;margin-bottom:1rem}.block-warning ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.875rem}.report-form{display:flex;flex-direction:column;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:.75rem;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.safety-guidance-modal{max-width:640px}.safety-header{text-align:center;margin-bottom:2rem;color:var(--primary-color)}.safety-header h2{margin:1rem 0 .5rem}.safety-guidelines{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.safety-guideline{display:flex;gap:1rem}.safety-guideline.warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:.75rem;padding:1rem}.safety-icon{display:flex;align-items:flex-start;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:.75rem;color:#fff;flex-shrink:0}.safety-guideline.warning .safety-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.safety-content h3{margin:0 0 .5rem;font-size:1rem}.safety-content p{margin:0 0 .75rem;color:#6b7280;font-size:.875rem}.safety-content ul{margin:0;padding-left:1.25rem;font-size:.875rem;color:#6b7280}.safety-examples{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.safety-footer{border-top:1px solid var(--border-color);padding-top:1.5rem}.safety-agreement{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.875rem}.safety-agreement input[type=checkbox]{width:18px;height:18px;cursor:pointer}.friends-header{margin-bottom:1.5rem}.friends-tabs{display:flex;gap:.25rem;background:#fff;padding:.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;margin:0}.friends-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:none;border-radius:.5rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.friends-tab:hover{background:#f9fafb;color:#1f2937}.friends-tab.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 2px 8px -2px #8b45134d}.friends-search{position:relative;display:flex;align-items:center;gap:.5rem;background:#fff;padding:.75rem 1rem;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;margin-top:1rem}.friends-search__icon{color:var(--primary-color);flex-shrink:0}.friends-search__input{flex:1;border:none;outline:none;font-size:1rem;background:transparent}.friends-search__button{display:flex;align-items:center;justify-content:center;padding:.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s}.friends-search__button:hover{transform:scale(1.05);box-shadow:0 4px 12px -4px #8b451380}.friends-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;background:#fff;padding:1rem;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;margin-top:1rem}.filter-group input,.filter-group select{padding:.625rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem}.friends-content{margin-top:1rem}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.friend-card-flip-container{perspective:1000px}.friend-card-flip.flipped .friend-card-front{position:absolute}.friend-card-back{transform:rotateY(180deg)}.friend-card-flip:not(.flipped) .friend-card-back{position:absolute;visibility:hidden;border-bottom:2px solid var(--border-color);margin:0 -1.5rem 1.5rem;padding:0 1.5rem;overflow-x:auto;scrollbar-width:none}.friends-tabs::-webkit-scrollbar{display:none}@media (min-width: 768px){.friends-tabs{margin:0 0 1.5rem;padding:0;gap:.5rem}}.friends-tab{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem .75rem;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.875rem;font-weight:600;color:#6b7280;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;flex:1;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (min-width: 768px){.friends-tab{padding:1.125rem 1rem;font-size:1rem}}.friends-tab:hover{color:#111827;background:linear-gradient(to bottom,transparent 0%,rgba(139,69,19,.04) 100%)}.friends-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:linear-gradient(to bottom,transparent 0%,rgba(139,69,19,.06) 100%)}.friends-search{position:relative}.friends-search__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af;z-index:1}.friends-search__input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.friends-search__input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a}.friends-search__button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.friends-search__button:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 4px 12px -4px #8b451380}.friends-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid var(--border-color)}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:600;color:#374151}.filter-group input[type=text]{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s}.filter-group input[type=text]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a}.filter-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#e5e7eb;outline:none;-webkit-appearance:none}.filter-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;transition:all .2s}.filter-group input[type=range]::-webkit-slider-thumb:hover{background:var(--primary-dark);transform:scale(1.1)}.filter-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:none;transition:all .2s}.filter-group input[type=range]::-moz-range-thumb:hover{background:var(--primary-dark);transform:scale(1.1)}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:1.5rem;align-items:start}.friend-card{display:flex;flex-direction:column;gap:1rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1.25rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d,0 10px 40px -12px #0000001a;transition:box-shadow .3s cubic-bezier(.4,0,.2,1);min-height:140px}.friend-card:hover{box-shadow:0 4px 6px #00000012,0 20px 50px -15px #00000026}.friend-card-flip-container{perspective:1000px;width:100%;max-width:100%}.friend-card-flip{position:relative;width:100%;transition:transform .6s;transform-style:preserve-3d}.friend-card-flip.flipped{transform:rotateY(180deg)}.friend-card-front,.friend-card-back{width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.friend-card-flip:not(.flipped) .friend-card-back{position:absolute;top:0;left:0;visibility:hidden}.friend-card-flip.flipped .friend-card-front{position:absolute;top:0;left:0;visibility:hidden}.friend-card-back{transform:rotateY(180deg);width:100%;max-width:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.friend-card-flip{position:relative}.friend-card-flip.flipped .friend-card-front{display:none}.friend-card-front,.friend-card-back{width:100%;max-width:100%;box-sizing:border-box}.friend-card-back{display:none}.friend-card-flip.flipped .friend-card-back{display:block}.friend-card__header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.06)}.friend-card__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color);flex-shrink:0}.friend-card__info{flex:1;min-width:0}.friend-card__info h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:700;color:#1f2937;letter-spacing:-.025em}.friend-card__location{font-size:.875rem;color:#6b7280;margin:0}.friend-card__ratings{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}.friend-card__rating-item{display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;background-color:#ffffffe6;border-radius:.75rem;border:1px solid rgba(0,0,0,.05);transition:all .2s cubic-bezier(.4,0,.2,1)}.friend-card__rating-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px -4px #0000001a}.friend-card__rating-item .rating-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:.375rem;color:#fff;flex-shrink:0}.friend-card__rating-item .rating-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.friend-card__rating-item .rating-value{font-size:1rem;font-weight:700;color:#1f2937;line-height:1}.friend-card__rating-item .rating-label{font-size:.625rem;color:#6b7280;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}.friend-card__stat{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background-color:#ffffffe6;border-radius:.75rem;border:1px solid rgba(0,0,0,.05);font-size:.8125rem;font-weight:500;color:#374151;justify-content:center}.friend-card__stat svg{color:var(--primary-color);flex-shrink:0}.friend-card__alert{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:.75rem;font-size:.8125rem;color:#92400e;font-weight:600;justify-content:center}.friend-card__actions{display:flex;gap:.625rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.06)}.friend-card-back__item svg{color:var(--primary-color);flex-shrink:0}.friend-card-back__alert{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:.5rem;font-size:.875rem;color:#92400e;font-weight:500}.friend-card-back__alert svg{color:#f59e0b;flex-shrink:0}.friend-card__avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:3px solid #f3f4f6}.friend-card__info{flex:1;margin-bottom:1rem}.friend-card__info h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#111827}.friend-card__meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem;font-size:.875rem}.friend-card__rating{display:flex;align-items:center;gap:.25rem;color:#f59e0b;font-weight:600}.friend-card__stats{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#6b7280}.friend-card-flip .friend-card__actions{display:flex;gap:.5rem;margin-top:.75rem;position:relative;z-index:10}.friend-card-flip .friend-card__actions button{flex:1;display:flex;align-items:center;justify-content:center;padding:.625rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:1.5rem}.empty-state p{font-size:1.125rem;margin-bottom:1.5rem}@media (max-width: 900px){.books-tile-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.top-nav__links{gap:.25rem}.profile-header{flex-direction:column;align-items:flex-start}.profile-card{flex-direction:column;gap:1.5rem}.profile-stats{width:100%}.stat-item{flex:1;min-width:120px}.meetup-list__item{flex-direction:column;align-items:flex-start;gap:.75rem}}.image-upload{position:relative;width:100%;max-width:100%;box-sizing:border-box}.image-upload__preview{position:relative;width:100%;max-width:min(300px,100%);aspect-ratio:2/3;border-radius:.75rem;overflow:hidden;border:2px solid var(--border-color)}.image-upload__preview img{width:100%;height:100%;object-fit:cover}.image-upload__remove{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ef4444f2;color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s}.image-upload__remove:hover{background:#dc2626;transform:scale(1.1)}.image-upload__buttons{display:flex;gap:.75rem;width:100%;max-width:100%;box-sizing:border-box}.image-upload__button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;min-width:0;font-size:.875rem}@media (max-width: 480px){.image-upload__button{padding:.625rem .75rem;font-size:.8125rem;gap:.375rem}.image-upload__button svg{width:18px;height:18px}}.image-upload__button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px -4px #8b451380}.image-upload__button:disabled{opacity:.5;cursor:not-allowed}.image-upload__loading{margin-top:.5rem;font-size:.875rem;color:#6b7280;font-style:italic}@keyframes ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-spinner{animation:ai-spin 1s linear infinite}
