body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{-webkit-animation:App-logo-spin 20s linear infinite;animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@-webkit-keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.ant-drawer-body{padding-left:0!important;padding-right:0!important;padding-top:0!important}.ant-table-cell{padding:5px!important}.ant-card-body{padding:0!important}.ant-popover-inner,.ant-popover-inner-content{display:table}.book-list-container{margin:0 auto;max-width:800px;padding:20px}.book-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.book-list-header h1{color:#333;font-size:24px;margin:0}.book-list{grid-gap:16px;display:grid;gap:16px}.book-item{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;margin-bottom:16px;padding:10px}.book-content{cursor:pointer;padding:16px}.book-title{color:#333;font-size:18px;font-weight:700;margin-bottom:12px}.book-info{align-items:flex-start;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:8px}.book-stats{display:flex;flex-direction:column;gap:8px}.stat-item{align-items:center;display:flex;gap:8px}.stat-label{color:#666;font-size:14px}.stat-value{color:#333;font-size:14px}.stat-value.amount{color:#e74c3c;font-weight:700}.book-date{color:#999;font-size:14px}.book-description{border-top:1px dashed #eee;color:#666;font-size:14px;margin-top:8px;padding-top:8px}@media screen and (max-width:480px){.book-list-container{padding:16px}.book-title{font-size:16px}.book-date,.book-description,.stat-label,.stat-value{font-size:13px}}.book-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:4px 12px;transition:all .2s}.share-btn{background:#4caf50;color:#fff}.share-btn:hover{background:#388e3c}.delete-btn{background:#f44336;color:#fff}.delete-btn:hover{background:#d32f2f}@media screen and (max-width:480px){.action-btn{font-size:12px;padding:3px 8px}}.more-btn{background:transparent;color:#666;font-weight:700;padding:4px 8px;position:relative}.more-btn:hover{background:#f0f0f0}.menu-dropdown{background:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);min-width:120px;position:absolute;right:0;top:100%;z-index:100}.menu-item{background:none;border:none;color:#333;cursor:pointer;font-size:14px;padding:8px 16px;text-align:left;width:100%}.delete-item{color:#f44336}.delete-item:hover{background:#ffebee}.book-actions{align-items:center;display:flex;gap:8px;position:relative}.contact-container{background:#f5f5f5;display:flex;flex-direction:column;height:calc(-74px + 100vh);position:relative}.search-box{display:flex;justify-content:center;padding:15px}.contacts-list{flex:1 1;margin:0 auto;max-width:800px;overflow-y:auto;padding:10px;width:95%;z-index:0}.contacts-list,.letter-header,.letter-section{position:relative}.letter-header{z-index:0}.search-box input{border-radius:8px;max-width:600px;padding:12px 16px}@media screen and (max-width:768px){.contacts-list{padding:5px}.contact-item{padding:8px}.letter-index{padding:3px;right:2px}.letter-index-item{font-size:10px;padding:1px 2px}.search-box{padding:10px}.search-box input{max-width:90%;padding:8px 12px}}@media screen and (max-width:480px){.contact-name{font-size:14px}.contact-phone{font-size:12px}.letter-header{font-size:14px;padding:3px 8px}}.letter-section{margin-bottom:10px}.letter-header{background:#e0e0e0;font-weight:700;padding:5px 10px}.contact-item{background:#fff;border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:8px;padding:15px}.contact-item:nth-child(2n){background:#f8f9fa}.letter-section:nth-child(2n) .contact-item{background:#fff}.letter-section:nth-child(2n) .contact-item:nth-child(2n){background:#f8f9fa}.contact-name{color:#333;font-size:18px;font-weight:700}.gift-info{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.gift-detail{align-items:center;display:flex;gap:8px}.gift-label{color:#666;font-size:14px;min-width:56px}.gift-value{color:#333;flex:1 1;font-size:14px}.gift-amount{color:#e74c3c;font-weight:700}.gift-note{align-items:flex-start;border-top:1px dashed #eee;display:flex;gap:8px;margin-top:4px;padding-top:8px}.gift-note,.note-label{color:#666;font-size:14px}.note-label{min-width:56px}.note-value{flex:1 1}@media screen and (max-width:480px){.contact-item{padding:10px}.contact-name{font-size:16px}.gift-info{grid-template-columns:1fr}.gift-label,.gift-value{font-size:13px}}.contact-phone{color:#666;font-size:14px}.letter-index{background:rgba(0,0,0,.3);border-radius:10px;display:flex;flex-direction:column;padding:5px;position:fixed;right:5px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.letter-index-item{color:#fff;cursor:pointer;font-size:12px;padding:2px 4px}.letter-index-item:hover{background:hsla(0,0%,100%,.2);border-radius:4px}.search-box{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:10px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.search-box input{padding:8px 12px}.search-box{position:relative}.search-box input{border:1px solid #ddd;border-radius:4px;font-size:16px;outline:none;padding:8px 30px 8px 12px;width:100%}.clear-icon{color:#999;cursor:pointer;font-size:14px;padding:4px;position:absolute;right:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.clear-icon:hover{color:#666}.search-box input:focus{border-color:#007aff}.header-right{align-items:center;display:flex;flex:1 1;gap:12px;margin-left:16px}.search-box{box-shadow:none;flex:1 1;padding:0}.add-btn{background:#007aff;border:none;color:#fff;font-size:14px;gap:4px}.add-btn:hover{background:#06c}@media screen and (max-width:480px){.add-btn{padding:6px 12px}.add-btn span:last-child{display:none}}.back-btn{align-items:center;background:transparent;border:none;color:#333;cursor:pointer;display:flex;justify-content:center;line-height:1;padding:8px;transition:all .2s}.back-btn:hover{opacity:.7}.back-btn span{font-size:18px}.add-contact{display:flex;justify-content:center;padding:16px}.add-btn{align-items:center;background:transparent;border:1px dashed #ccc;border-radius:6px;color:#666;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:all .2s}.add-btn:hover{border-color:#007aff;color:#007aff}.contact-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:8px;padding:12px 0;position:-webkit-sticky;position:sticky;top:0;z-index:2}.navigator{margin:0 auto 8px;max-width:800px;width:95%}.contact-actions{display:flex;gap:8px}.action-icon{align-items:center;background:transparent;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.action-icon:hover{background:#f5f5f5}.action-icon.edit:hover{color:#007aff}.action-icon.delete:hover{color:#ff3b30}