:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f8fafc}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-text-size-adjust:100%}#root{width:100%;min-height:100vh}.page-header{margin-bottom:2rem}.header-nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.header-logo{font-size:1.5rem;font-weight:700;color:#1e293b;text-decoration:none;white-space:nowrap}.header-links{display:flex;gap:1.5rem;margin-left:auto}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.page-title{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.page-subtitle{font-size:1rem;color:#64748b}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.library-list-row>div{transition:background-color .1s}.library-list-row:hover>div{background-color:#f1f5f9!important}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.search-bar{display:flex;gap:.75rem;margin-bottom:2rem}.search-input{flex:1;width:100%;box-sizing:border-box;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#3b82f6}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#64748b;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#475569}.loading{text-align:center;padding:3rem;color:#64748b;font-size:1.125rem}.empty-state{text-align:center;padding:3rem;color:#64748b}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state p{margin-bottom:.5rem;font-size:1.125rem}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}@media (max-width: 768px){input,select,textarea{font-size:16px!important}}@media (max-width: 768px){.header-nav{gap:.5rem;justify-content:space-between}.header-logo{font-size:1.2rem}.header-links{gap:.75rem;margin-left:0;font-size:.85rem}.main-content{padding:1rem}.page-header{margin-bottom:1rem}.page-title{font-size:1.4rem}.page-subtitle{font-size:.875rem}.card{padding:1rem;border-radius:8px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.search-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.search-bar>div:first-child{flex:1 1 100%}.search-bar .btn{flex:1;padding:.6rem .75rem;font-size:.8rem;white-space:nowrap}.btn{padding:.6rem 1rem;font-size:.9rem}.search-action-buttons{flex-direction:column}.search-action-buttons .btn{flex:unset;width:100%}.book-header-section{flex-direction:column;padding:1rem!important;gap:1rem!important;margin-bottom:1.5rem!important}.book-header-section>div:first-child{width:100%!important;display:flex;flex-direction:column;align-items:center}.book-header-section img{width:160px!important;height:240px!important}.book-header-section h1{font-size:1.4rem!important}.book-header-section h2{font-size:1rem!important}.detail-header{flex-direction:column;align-items:flex-start!important}.detail-actions{width:100%;justify-content:flex-start}.detail-actions button{flex:1;font-size:.75rem!important;padding:.4rem .5rem!important}}@media (max-width: 480px){.book-grid{grid-template-columns:1fr;gap:.75rem}}.sticky-action-bar{position:sticky;bottom:0;left:0;right:0;display:flex;gap:1rem;padding:.75rem 1.5rem;background-color:#fff;border-top:2px solid #e2e8f0;box-shadow:0 -2px 8px #00000014;z-index:100}@media (max-width: 768px){.sticky-action-bar{padding:.75rem 1rem;gap:.5rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 768px){.two-col-grid{grid-template-columns:1fr}}
