.card{display:inline-block;width:420px;height:300px;margin:10px;border-radius:8px;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.35)}.card-icon{margin-top:10px;font-size:26px}.white-icon{color:#fff}.card-content{color:#fff;padding:5px}.card-image{width:100px;height:100px;margin:10px auto}.print-button{display:none;background-color:#3a7091;color:#fff;border:none;border-radius:5px;padding:8px 16px;font-size:14px;cursor:pointer;margin-top:8px;transition:background-color .2s ease,transform .1s ease}.print-button:hover{background-color:#2f5b76}.print-button:active{transform:scale(.96)}@media (hover:none),(pointer:coarse){.card{height:340px}.print-button{display:inline-flex;align-items:center;gap:8px;font-size:18px;padding:10px 22px;margin-top:10px}}@media print{body *{visibility:hidden}.is-printing,.is-printing *{visibility:visible}.is-printing{position:absolute;top:0;left:0;width:100%;height:auto;margin:0;box-shadow:none;background-color:#fff!important}.is-printing .card-content,.is-printing .card-content b,.is-printing .card-content p,.is-printing .white-icon{color:#000!important}.is-printing .print-button{display:none!important}}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;padding-top:40px;display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box}#app,.logo-container{text-align:center}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .2s ease}.modal-box{background-color:#fff;border-radius:12px;padding:32px 28px;width:360px;max-width:85vw;box-shadow:0 10px 30px rgba(0,0,0,.3);text-align:center;animation:pop-in .2s ease}.modal-icon{font-size:42px;color:#e1953f;margin-bottom:16px}.modal-message{font-size:18px;color:#2c3e50;margin:0 0 24px 0;line-height:1.4}.modal-button{background-color:#4caf50;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:16px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.modal-button:hover{background-color:#45a049}.modal-button:active{transform:scale(.96)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (hover:none),(pointer:coarse){.modal-box{width:480px;padding:44px 36px}.modal-icon{font-size:56px}.modal-message{font-size:26px}.modal-button{padding:18px 42px;font-size:22px}}.card-container{display:flex;flex-wrap:wrap;justify-content:center}.card-item-container{min-height:400px;margin:10px}.footer-content{display:flex;flex-direction:column;align-items:center;font-size:14px}.footer{background-color:#254828;width:100vw;margin-top:auto;margin-left:calc(50% - 50vw);padding:20px 0;box-sizing:border-box}.search-input:focus{border-color:#4caf50!important}.search-container{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.search-input{padding:15px 18px;font-size:20px;border:1px solid #ccc;border-radius:8px;width:400px;max-width:70vw;border-bottom:2px solid transparent;transition:border-color .1s;box-sizing:border-box}.search-input:focus{border-color:#4caf50}.search-icon{margin-left:-48px;display:flex;align-items:center;background-color:#4caf50;padding:14px;border-radius:0 8px 8px 0;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.search-icon:active{transform:scale(.95)}.search-icon svg{width:32px;height:32px}@media (hover:none),(pointer:coarse){.search-input{padding:24px 22px;font-size:32px;border-width:2px;width:600px;max-width:75vw;border-bottom-width:3px}.search-icon{margin-left:-64px;padding:20px}.search-icon svg{width:40px;height:40px}}.loading-indicator{font-size:18px;margin-top:10px;display:flex;justify-content:center}.loading-indicator img{width:200px;height:200px}.search-icon:hover{background-color:#45a049}.pagination-text{font-size:16px;font-family:inherit;margin:0 10px}