body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;margin:0;background-color:#f4f4f4;color:#333}.container{width:90%;max-width:1200px;margin:0 auto}.header{background-color:#fff;padding:20px 0;border-bottom:2px solid #e0e0e0}.header .container{display:flex;justify-content:space-between;align-items:center}.logo img{max-height:50px;width:auto;display:block}.search-area{display:flex}.search-area input{width:300px;padding:10px;border:2px solid #d9534f;border-right:none;outline:none}.search-area button{padding:10px 20px;border:none;background-color:#d9534f;color:#fff;cursor:pointer}.user-actions a,.user-actions button,.user-actions span{margin-left:15px;text-decoration:none;color:#555;cursor:pointer}#logoutBtn{border:none;background:0 0;color:#d9534f;font-size:1em;padding:0}.navigation{background-color:#c9302c}.navigation ul{list-style:none;margin:0;padding:0;display:flex}.navigation a{display:block;padding:15px 25px;color:#fff;text-decoration:none;font-weight:700}.navigation a.active,.navigation a:hover{background-color:#d9534f}main{padding:20px 0}.coupon-category{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:5px}.coupon-category h2{margin-top:0;border-bottom:1px solid #eee;padding-bottom:10px;font-size:20px}.coupon-category h2 small{font-size:14px;color:#777;margin-left:10px}.coupon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.coupon-item{border:1px solid #e0e0e0;border-radius:4px;padding:15px;display:flex;align-items:center;justify-content:space-between}.coupon-category.hidden,.coupon-item.hidden{display:none}.coupon-item img{width:120px;height:auto;margin-right:15px}.coupon-item .info{text-align:right}.coupon-item h3{margin:0 0 10px;font-size:16px;font-weight:400}.claim-btn{background-color:#d9534f;color:#fff;border:none;padding:8px 15px;border-radius:3px;cursor:pointer;font-size:14px}.claim-btn:hover{background-color:#c9302c}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.6)}.modal-content{background-color:#fefefe;margin:15% auto;padding:20px;border:1px solid #888;width:80%;max-width:350px;text-align:center;position:relative;border-radius:8px;box-sizing:border-box}.modal-content h2{margin-top:0}.modal-content img{max-width:200px;width:100%;margin:15px 0}.close-btn{color:#aaa;position:absolute;top:10px;right:20px;font-size:28px;font-weight:700;cursor:pointer}.close-btn:focus,.close-btn:hover{color:#000}.site-footer{background-color:#333;color:#aaa;padding:30px 0;text-align:center;font-size:12px;line-height:1.8}.site-footer a{color:#aaa;text-decoration:none;margin:0 5px}.site-footer a:hover{color:#fff;text-decoration:underline}.footer-links{margin-bottom:15px}.footer-copyright{margin-bottom:15px}.footer-disclaimer{color:#888;margin:0 auto;max-width:800px}.no-results{text-align:center;padding:40px 20px;font-size:18px;color:#888;background-color:#fff;border-radius:5px;margin:20px 0}.no-results.hidden{display:none}

/* 【重要更新】加载指示器样式 */
.loading {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 50px 20px;
    font-size: 16px;
    color: #555;
    background-color: #fff;
    border-radius: 5px;
}
.loading.hidden {
    display: none;
}
.spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #d9534f;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}