*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.main-content{min-height:calc(100vh - 150px);padding:20px 0 40px}.btn{background-color:#3498db;border-radius:6px;color:#fff;font-size:14px;font-weight:500;line-height:1;text-align:center;transition:all .3s ease}.btn:hover{background-color:#2980b9;box-shadow:0 4px 8px #3498db4d;transform:translateY(-2px)}.btn:active{box-shadow:none;transform:translateY(0)}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.btn-danger{background-color:#e74c3c}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-success{background-color:#2ecc71}.btn-success:hover:not(:disabled){background-color:#27ae60}.btn-outline:hover:not(:disabled){background-color:#3498db;color:#fff}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.ml-4{margin-left:1.5rem}.ml-5{margin-left:2rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.mr-4{margin-right:1.5rem}.mr-5{margin-right:2rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.resource-grid{grid-gap:25px;gap:25px}@media (max-width:768px){.resource-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:576px){.resource-grid{grid-template-columns:1fr}}.empty-state{color:#7f8c8d;padding:40px 20px}.app-footer{background-color:#2c3e50;color:#fff;margin-top:40px;padding:20px 0;text-align:center}.app-footer p{color:#bdc3c7;font-size:14px;margin:5px 0}.app-footer a{color:#3498db;text-decoration:none}.app-footer a:hover{text-decoration:underline}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}a{color:#3498db;text-decoration:none;transition:color .3s}a:hover{color:#2980b9;text-decoration:underline}input,select,textarea{border:2px solid #ddd;border-radius:4px;font-family:inherit;font-size:16px;padding:10px 12px;transition:border-color .3s;width:100%}input:focus,select:focus,textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}label{color:#2c3e50;display:block;font-weight:500;margin-bottom:5px}.app-header{background-color:#2c3e50;box-shadow:0 2px 10px #0000001a;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{justify-content:space-between;padding:15px 20px}.header-container,.logo-section{align-items:center;display:flex}.site-title{color:#fff;font-size:20px;text-decoration:none}.site-title h1{font-size:24px;font-weight:600;margin:0}.main-nav{align-items:center;display:flex}.nav-list{display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav-item,.nav-link{display:inline-block}.nav-link{background:none;border:none;border-radius:4px;color:#ecf0f1;cursor:pointer;font-size:16px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.nav-link:hover{background-color:#ffffff1a;color:#fff}.nav-link.active{background-color:#3498db;color:#fff}.nav-link.active:hover{background-color:#2980b9}.admin-link{background-color:#9b59b6}.admin-link.active,.admin-link:hover{background-color:#8e44ad}.logout-btn{background-color:#e74c3c;color:#fff}.logout-btn:hover{background-color:#c0392b}.health-status{align-items:center;display:flex;font-size:12px;gap:5px;margin-top:5px}.status-dot{display:inline-block}.status-dot.healthy{background-color:#2ecc71;box-shadow:0 0 8px #2ecc71}.status-dot.checking{background-color:#f39c12;box-shadow:0 0 8px #f39c12}.status-dot.unhealthy{background-color:#e74c3c;box-shadow:0 0 8px #e74c3c}.status-text{color:#bdc3c7;font-size:11px}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{background-color:#f5f5f5;flex:1 1;padding-top:20px}.container{margin:0 auto;max-width:1200px;padding:0 20px}@media (max-width:768px){.header-container{flex-direction:column;padding:10px}.nav-list{flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}.nav-link{font-size:14px;padding:6px 12px}}.resource-card{background-color:#fff;border:1px solid #eaeaea;border-radius:10px;box-shadow:0 3px 15px #00000014;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:all .3s ease}.resource-card:hover{border-color:#3498db;box-shadow:0 8px 25px #00000026;transform:translateY(-8px)}.resource-cover{background-color:#f8f9fa;height:180px;overflow:hidden;position:relative}.cover-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.resource-card:hover .cover-image{transform:scale(1.05)}.cover-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:48px;font-weight:700;height:100%;justify-content:center;text-shadow:0 2px 4px #0003;width:100%}.resource-info{display:flex;flex:1 1;flex-direction:column;padding:20px}.resource-title{font-size:18px;line-height:1.4;margin:0 0 12px;min-height:50px}.resource-title a{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;display:-webkit-box;overflow:hidden;text-decoration:none;transition:color .3s}.resource-title a:hover{color:#3498db}.resource-tags{gap:6px;margin-bottom:15px;min-height:24px}.tag{border-radius:15px;max-width:120px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;transition:all .3s}.tag:hover{background-color:#3498db;color:#fff;transform:scale(1.05)}.resource-stats{border-top:1px solid #eee;font-size:13px;justify-content:space-between;margin-top:auto;padding-top:15px}.stat-item .icon{font-size:14px}.stat-item.good{color:#e74c3c;font-weight:500}.stat-item.views{color:#3498db;font-weight:500}.resource-date{background-color:#3498dbe6;right:10px}.resource-admin-badge,.resource-date{border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;position:absolute;top:10px;z-index:1}.resource-admin-badge{background-color:#9b59b6e6;left:10px}@media (max-width:768px){.resource-cover{height:150px}.resource-info{padding:15px}.resource-title{font-size:16px;min-height:44px}.resource-stats{font-size:12px}.tag{font-size:11px;max-width:100px;padding:3px 8px}}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db}.spinner-small{height:30px;width:30px}.spinner-medium{height:50px;width:50px}.spinner-large{height:80px;width:80px}.spinner-text{color:#666;margin-top:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.announcement-banner{animation:slideIn .5s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 15px #0000001a;color:#fff;margin-bottom:30px;padding:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.announcement-content{margin:0 auto;max-width:800px}.announcement-title{color:#fff;font-size:20px;font-weight:600;margin:0 0 15px;text-align:center;text-shadow:0 2px 4px #0003}.announcement-text{color:#fffffff2;font-size:16px;line-height:1.6;margin:0;text-align:center;white-space:pre-line}.announcement-text a{color:gold;font-weight:500;text-decoration:underline}.announcement-text a:hover{color:#ffed4e}@media (max-width:768px){.announcement-banner{margin-bottom:20px;padding:15px}.announcement-title{font-size:18px;margin-bottom:10px}.announcement-text{font-size:14px}}.home-container{margin:0 auto;max-width:1200px}.home-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.home-header h2{color:#2c3e50;font-size:24px}.refresh-btn:hover{background-color:#d5dbdb}.resource-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.empty-state,.resource-grid{margin-bottom:30px}.home-actions{gap:15px}.home-actions,.pagination{display:flex;justify-content:center}.pagination{align-items:center;gap:10px;margin:30px 0}.page-btn.active{background-color:#3498db;border-color:#3498db;color:#fff}.resources-container{margin:0 auto;max-width:1200px}.resources-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:20px;margin-bottom:30px;padding-bottom:15px}.resources-header h2{color:#2c3e50;font-size:24px}.resource-count{color:#7f8c8d;font-size:16px}.search-bar{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px}.search-form{flex-direction:column;gap:20px}.search-input-group{display:flex;flex-direction:column;gap:15px}.search-input{padding:12px 15px;width:100%}.search-type-selector{display:flex;gap:10px}.search-type-btn{background-color:#ecf0f1;border:2px solid #bdc3c7;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;padding:8px 16px;transition:all .3s}.search-type-btn.active{background-color:#3498db;border-color:#3498db;color:#fff}.search-actions{display:flex;gap:10px}.btn{border:none;border-radius:4px;cursor:pointer;display:inline-block;font-size:16px;padding:10px 20px;text-decoration:none;transition:background-color .3s}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}@media (max-width:768px){.search-actions{flex-direction:column}}.search-results{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px}.results-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.results-header h3{color:#2c3e50;margin:0}.results-count{color:#7f8c8d;font-size:14px}.results-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:30px}.result-item{border:1px solid #e0e0e0;border-radius:6px;padding:15px;transition:box-shadow .3s}.result-item:hover{box-shadow:0 4px 12px #0000001a}.result-cover{border-radius:4px;height:150px;margin-bottom:10px;object-fit:cover;width:100%}.result-info h4{margin:0 0 10px}.result-info h4 a{color:#2c3e50;text-decoration:none}.result-info h4 a:hover{color:#3498db}.result-tags{color:#7f8c8d;font-size:14px;margin-bottom:10px}.result-stats{color:#666;display:flex;font-size:14px;gap:15px}.results-pagination{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:center;padding-top:20px}.page-btn{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.page-btn:hover:not(:disabled){background-color:#d5dbdb}.page-btn:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#7f8c8d;font-size:14px}.tag-cloud-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:20px;min-height:100px}.tag-cloud-tag{border:none;border-radius:20px;cursor:pointer;display:inline-block;padding:4px 12px;text-decoration:none;transition:all .3s;white-space:nowrap}.tag-cloud-tag:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.tag-cloud-loading{color:#7f8c8d;padding:40px;text-align:center}.tag-cloud-info{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px;text-align:center}.btn-outline{border:2px solid #3498db}.search-container{margin:0 auto;max-width:1200px}.search-header{margin-bottom:30px}.search-header h2{color:#2c3e50;font-size:24px}.no-results{background-color:#f8f9fa;border-radius:8px;margin:30px 0;padding:40px;text-align:center}.no-results p{color:#7f8c8d;margin-bottom:10px}.tag-cloud-section{border-top:1px solid #e0e0e0;margin-top:40px;padding-top:30px}.tag-cloud-section h3{color:#2c3e50;margin-bottom:20px}.resource-detail-page{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:1000px;padding:20px}.resource-detail-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.resource-header{margin-bottom:20px}.resource-cover-large{margin:0 auto 20px;max-width:400px;width:100%}.resource-cover-large img{border-radius:8px;box-shadow:0 4px 12px #0000001a;height:auto;width:100%}.resource-title-section h1{color:#2c3e50;font-size:28px;margin-bottom:10px;text-align:center}.resource-meta{color:#7f8c8d;display:flex;font-size:14px;gap:20px;justify-content:center;margin-bottom:15px}.meta-item .icon{font-size:16px}.resource-tags-section{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:25px}.tag-link{background-color:#ecf0f1;border-radius:15px;color:#3498db;font-size:14px;padding:4px 12px;text-decoration:none;transition:all .3s ease}.tag-link:hover{background-color:#3498db;color:#fff;transform:translateY(-2px)}.resource-details-section,.resource-download-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.resource-details-section h2,.resource-download-section h2{border-bottom:2px solid #3498db;color:#2c3e50;font-size:20px;margin-bottom:15px;padding-bottom:8px}.details-content p{color:#333;font-size:16px;line-height:1.6}.no-details{color:#95a5a6;font-style:italic}.download-info{background-color:#f8f9fa;border-radius:6px;padding:20px}.download-item{align-items:flex-start;display:flex;margin-bottom:15px}.download-item:last-child{margin-bottom:0}.download-item .label{color:#2c3e50;flex-shrink:0;font-weight:600;width:80px}.download-item .link{color:#3498db;text-decoration:none;word-break:break-all}.download-item .link:hover{text-decoration:underline}.download-item .code{background-color:#fff3cd;border-radius:4px;color:#856404;font-family:monospace;padding:4px 8px}.download-item .no-link{color:#95a5a6;font-style:italic}.resource-actions{border-top:1px solid #eee;gap:15px;justify-content:center;margin-top:30px;padding-top:20px}.resource-detail-error{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:600px;padding:40px;text-align:center}.resource-detail-error h3{color:#e74c3c;margin-bottom:15px}.resource-detail-error p{color:#666;margin-bottom:20px}@media (max-width:768px){.resource-detail-header{align-items:stretch;flex-direction:column;gap:10px}.admin-actions{justify-content:center}.resource-meta{align-items:center;gap:8px}.download-item,.resource-actions,.resource-meta{flex-direction:column}.download-item{gap:5px}.download-item .label{width:auto}}.wishlist-page{margin:0 auto;max-width:800px}.wishlist-header{margin-bottom:30px;text-align:center}.wishlist-header h2{color:#2c3e50;margin-bottom:15px}.wishlist-description{color:#666;line-height:1.6;margin-bottom:20px}.wishlist-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px}.wishlist-form{margin-bottom:30px}.captcha-image{height:40px}.form-actions{text-align:center}.wishlist-info{background-color:#f8f9fa;border-radius:6px;padding:20px}.wishlist-info h3{color:#2c3e50;margin-bottom:15px}.wishlist-info ul{list-style-type:none;margin:0;padding:0}.wishlist-info li{color:#666;margin-bottom:8px;padding-left:20px;position:relative}.wishlist-info li:before{color:#3498db;content:"•";left:0;position:absolute}@media (max-width:768px){.wishlist-form-container{padding:20px}.captcha-container{align-items:stretch;flex-direction:column}.captcha-image-wrapper{flex-direction:row;justify-content:space-between}.captcha-image{height:44px}}.wishlist-verify-page{margin:0 auto;max-width:600px}.verify-header{margin-bottom:30px;text-align:center}.verify-header h2{color:#2c3e50;margin-bottom:10px}.verify-description{color:#666}.verify-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:30px}.status-message{border-radius:4px;font-size:14px;margin-bottom:20px;padding:12px 15px;text-align:center}.status-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-message.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.verify-actions{display:flex;flex-direction:column;gap:10px}.verify-btn{font-size:16px;font-weight:600;padding:12px 30px}.verify-info{background-color:#f8f9fa;border-radius:6px;padding:20px}.verify-info h3{color:#2c3e50;margin-bottom:15px}.verify-info ul{list-style-type:none;margin:0;padding:0}.verify-info li{color:#666;margin-bottom:8px;padding-left:20px;position:relative}.verify-info li:before{color:#e74c3c;content:"•";left:0;position:absolute}@media (max-width:768px){.verify-form{padding:20px}.verify-actions button{width:100%}}.sponsor-page{margin:0 auto;max-width:1000px}.sponsor-header{margin-bottom:40px;text-align:center}.sponsor-header h2{color:#2c3e50;margin-bottom:20px}.sponsor-description{color:#666;font-size:16px;line-height:1.6;margin-bottom:15px}.sponsor-btn{background-color:#ff6b6b;border-radius:4px;color:#fff;display:inline-block;font-weight:600;margin:0 10px;padding:10px 20px;text-decoration:none}.sponsor-btn:hover{background-color:#ff5252;box-shadow:0 4px 8px #ff6b6b4d;transform:translateY(-2px)}.sponsor-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px}.sponsor-content h3{color:#2c3e50;font-size:22px;margin-bottom:20px;text-align:center}.sponsor-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:30px}.sponsor-card{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.sponsor-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-5px)}.sponsor-name{font-size:18px;font-weight:600;margin-bottom:10px}.sponsor-message{border-top:1px solid #e9ecef;color:#666;font-size:14px;line-height:1.4;margin-top:10px;padding-top:10px}.empty-sponsors{color:#95a5a6;font-size:18px;padding:40px;text-align:center}.error-message{padding:20px}.error-message p{margin-bottom:15px}@media (max-width:768px){.sponsor-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.sponsor-card{padding:15px}}.effect-upload-page{margin:0 auto;max-width:800px}.effect-upload-header{margin-bottom:30px}.effect-upload-header h2{color:#2c3e50;margin:20px 0 10px;text-align:center}.resource-info{color:#666;font-size:16px;text-align:center}.resource-info a{color:#3498db;font-weight:600;text-decoration:none}.resource-info a:hover{text-decoration:underline}.effect-upload-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px}.effect-upload-form{margin-bottom:30px}.form-label{font-size:16px}.form-input,.form-textarea{transition:border-color .3s}.form-textarea{font-size:16px;min-height:150px}.captcha-container{align-items:center;display:flex;gap:10px}.captcha-input{flex:1 1}.captcha-image-wrapper{align-items:center;display:flex;flex-direction:column;gap:5px}.captcha-image{border:1px solid #ddd;border-radius:4px;cursor:pointer;height:44px}.refresh-captcha-btn{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.refresh-captcha-btn:hover:not(:disabled){background-color:#d5dbdb}.refresh-captcha-btn:disabled{cursor:not-allowed;opacity:.5}.submit-status{border-radius:4px;font-size:14px;margin-bottom:20px;padding:12px 15px;text-align:center}.submit-status.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.submit-status.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.upload-guidelines{background-color:#f8f9fa;border-radius:6px;padding:20px}.upload-guidelines h3{color:#2c3e50;font-size:18px;margin-bottom:15px}.upload-guidelines ul{list-style-type:none;margin:0;padding:0}.upload-guidelines li{color:#666;line-height:1.5;margin-bottom:10px;padding-left:20px;position:relative}.upload-guidelines li:before{color:#3498db;content:"•";font-size:20px;left:0;position:absolute;top:-2px}.effect-upload-error{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:600px;padding:40px;text-align:center}.effect-upload-error h3{color:#e74c3c;margin-bottom:15px}@media (max-width:768px){.effect-upload-form-container{padding:20px}.captcha-container{align-items:stretch;flex-direction:column}.captcha-image-wrapper{flex-direction:row;justify-content:space-between}.form-actions{flex-direction:column}.form-actions button{width:100%}}.effect-detail-page{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:900px;padding:20px}.effect-detail-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.back-btn{background-color:#95a5a6;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:8px 16px;text-decoration:none}.back-btn:hover{background-color:#7f8c8d}.admin-actions{display:flex;gap:10px}.effect-detail-content{padding:0 10px}.effect-header{margin-bottom:20px;text-align:center}.effect-header h1{color:#2c3e50;font-size:28px;line-height:1.3;margin-bottom:15px}.effect-meta{flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:20px}.meta-item{background-color:#f8f9fa;border-radius:20px;gap:5px;padding:6px 12px}.effect-resource-link{background-color:#e8f4fd;border-left:4px solid #3498db;border-radius:6px;margin-bottom:30px;padding:15px;text-align:center}.effect-resource-link span{color:#2c3e50;font-weight:600}.effect-resource-link a{color:#3498db;font-weight:600;margin-left:5px;text-decoration:none}.effect-resource-link a:hover{text-decoration:underline}.effect-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.effect-section:last-child{border-bottom:none}.effect-section h2{border-bottom:2px solid #3498db;color:#2c3e50;font-size:20px;margin-bottom:15px;padding-bottom:8px}.effect-content{background-color:#f8f9fa;border-radius:6px;margin-top:10px;padding:20px}.effect-content p{color:#333;font-size:16px;line-height:1.6;margin:0}.effect-content pre{word-wrap:break-word;color:#333;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;margin:0;padding:0;white-space:pre-wrap}.effect-actions{gap:15px;justify-content:center;margin:30px 0;padding-top:20px}.like-btn{align-items:center;background-color:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.like-btn:hover:not(:disabled){background-color:#c0392b;box-shadow:0 4px 8px #e74c3c4d;transform:translateY(-2px)}.like-btn:disabled{cursor:not-allowed;opacity:.6}.like-btn.liked{background-color:#27ae60}.like-btn.liked:hover{background-color:#219955}.like-btn .count{background-color:#fff3;border-radius:12px;font-size:14px;padding:2px 8px}.btn-warning{background-color:#f39c12;color:#fff}.btn-warning:hover{background-color:#e67e22}.effect-status{margin-top:20px;text-align:center}.status-badge{border-radius:20px;font-size:14px;padding:6px 16px}.effect-detail-error{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:600px;padding:40px;text-align:center}.effect-detail-error h3{color:#e74c3c;margin-bottom:15px}.effect-detail-error p{color:#666;margin-bottom:20px}@media (max-width:768px){.effect-detail-page{padding:15px}.effect-detail-header{align-items:stretch;flex-direction:column;gap:10px}.admin-actions{justify-content:center}.effect-header h1{font-size:24px}.effect-meta{gap:10px}.effect-actions,.effect-meta{align-items:center;flex-direction:column}.effect-actions a,.effect-actions button{max-width:300px;width:100%}}.effect-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:100%;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.effect-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.effect-header{border-bottom:1px solid #eee;margin-bottom:15px;padding-bottom:10px}.effect-title{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.effect-title h3{flex:1 1;margin:0}.effect-title h3 a{color:#2c3e50;font-size:18px;text-decoration:none}.effect-title h3 a:hover{color:#3498db}.status-badge{margin-left:10px;padding:2px 8px}.effect-meta{color:#7f8c8d;display:flex;font-size:14px;gap:15px}.meta-item{align-items:center;display:flex;gap:4px}.meta-item .icon{font-size:14px}.effect-content{flex:1 1;margin-bottom:15px}.effect-devices{font-size:15px;margin-bottom:10px}.effect-devices strong{color:#2c3e50}.effect-preview{color:#666;font-size:14px}.effect-preview p{line-height:1.4;margin:5px 0 0}.effect-resource{border-top:1px dashed #eee;margin-top:10px;padding-top:10px}.resource-link{align-items:center;color:#3498db;display:flex;font-size:14px;gap:5px;text-decoration:none}.resource-link:hover{text-decoration:underline}.effect-uploader{color:#7f8c8d;font-size:14px;margin-top:10px}.uploader-name{align-items:center;display:inline-flex;gap:5px}.effect-actions{border-top:1px solid #eee;gap:10px;margin-top:15px;padding-top:15px}.btn-sm{flex:1 1;padding:6px 12px;text-align:center}.btn-outline{background-color:initial;border:1px solid #3498db;color:#3498db}.btn-outline:hover{background-color:#3498db;color:#fff}.effect-list-page{margin:0 auto;max-width:1200px}.effect-list-header{border-bottom:2px solid #3498db;margin-bottom:30px;padding-bottom:15px}.effect-list-header h2{color:#2c3e50;font-size:28px;margin-bottom:10px;text-align:center}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between}.effect-count{color:#7f8c8d;font-size:16px;font-weight:600}.toggle-btn{background-color:initial;border:2px solid #3498db;border-radius:4px;color:#3498db;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.toggle-btn:hover{background-color:#3498db;color:#fff}.toggle-btn.show-all{border-color:#f39c12;color:#f39c12}.toggle-btn.show-all:hover{background-color:#f39c12;color:#fff}.refresh-btn{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.refresh-btn:hover:not(:disabled){background-color:#d5dbdb}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.effect-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:30px}.empty-state{margin:30px 0;padding:60px 20px}.empty-state p{color:#7f8c8d;font-size:18px}.error-message{background-color:#fdecea;border:1px solid #fadbd8;border-radius:8px;margin:20px 0;padding:40px}.error-message p{color:#c0392b;font-size:16px;margin-bottom:20px}.effect-list-actions{border-top:1px solid #e0e0e0;display:flex;gap:20px;justify-content:center;margin-top:40px;padding-top:30px}@media (max-width:768px){.effect-grid{grid-template-columns:1fr}.header-controls{align-items:stretch;flex-direction:column}.effect-list-actions{align-items:center;flex-direction:column}.effect-list-actions a{max-width:300px;text-align:center;width:100%}}.admin-login-page{align-items:center;display:flex;justify-content:center;min-height:70vh;padding:20px}.login-container{background-color:#fff;border-radius:10px;box-shadow:0 5px 20px #0000001a;max-width:500px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h2{color:#2c3e50;font-size:28px;margin-bottom:10px}.login-header p{color:#7f8c8d;font-size:16px}.login-form{margin-bottom:30px}.form-label{font-size:14px}.form-input{border-radius:6px;font-size:16px;padding:12px 15px}.form-input:disabled{opacity:.7}.error-message{border:1px solid #f5c6cb;border-radius:6px;padding:12px 15px}.form-actions{margin-top:30px}.login-btn{flex:1 1;font-size:16px;font-weight:600;padding:14px}.login-info{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:30px;padding:20px}.login-info h3{color:#2c3e50;font-size:18px;margin-bottom:15px}.login-info p{color:#495057;font-size:14px;margin-bottom:8px}.login-info strong{color:#e74c3c;font-weight:600}.login-info .hint{color:#6c757d;font-size:12px;font-style:italic;margin-top:10px}.success-message{align-items:center;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 15px}.success-icon{font-size:16px}.btn-test{background-color:#f39c12;color:#fff}.btn-test:hover:not(:disabled){background-color:#e67e22}.action-btn.disabled:hover{color:#333}.dashboard-error{border-radius:10px;box-shadow:0 3px 10px #00000014;margin:20px}.dashboard-error h3{margin-bottom:20px}.dashboard-error .btn{margin:0 10px}@media (max-width:768px){.login-container{padding:30px 20px}.form-actions{flex-direction:column}.login-btn{width:100%}}.admin-resources{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px}.search-bar{margin-bottom:25px}.search-form{align-items:center;display:flex;gap:10px}.search-input{border:2px solid #e0e0e0;border-radius:4px;flex:1 1;font-size:16px;padding:10px 15px;transition:border-color .3s}.search-input:focus{border-color:#3498db;outline:none}.resources-table-container{margin-bottom:25px;overflow-x:auto}.resources-table{border-collapse:collapse;font-size:14px;width:100%}.resources-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px 15px;text-align:left}.resources-table td{border-bottom:1px solid #e9ecef;padding:12px 15px;vertical-align:middle}.resources-table tbody tr:hover{background-color:#f8f9fa}.resource-thumbnail{border:1px solid #ddd;border-radius:4px;height:60px;object-fit:cover;width:60px}.no-thumbnail{align-items:center;background-color:#f8f9fa;border:1px dashed #dee2e6;border-radius:4px;color:#95a5a6;display:flex;font-size:12px;height:60px;justify-content:center;width:60px}.resource-name a{color:#3498db;font-weight:500;text-decoration:none}.resource-name a:hover{color:#2980b9;text-decoration:underline}.resource-tags{display:flex;flex-wrap:wrap;gap:5px}.tag{background-color:#ecf0f1;border-radius:12px;color:#7f8c8d;font-size:12px;padding:3px 8px;white-space:nowrap}.tag-more{color:#95a5a6;font-size:12px;font-style:italic}.resource-stats{display:flex;flex-direction:column;gap:5px}.stat-item{color:#666;font-size:13px;gap:5px}.stat-icon{font-size:12px}.resource-actions{display:flex;gap:8px}.btn-action{display:inline-block;text-decoration:none}.btn-edit{background-color:#3498db;color:#fff}.btn-edit:hover{background-color:#2980b9}.page-footer{align-items:center;display:flex;justify-content:space-between}.page-footer p{margin:0}.footer-actions{display:flex;gap:10px}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{justify-content:center}.search-form{flex-direction:column}.search-input{width:100%}.page-footer,.resource-actions{flex-direction:column}.page-footer{gap:15px;text-align:center}.footer-actions{justify-content:center}}.admin-wishlists{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px}.wishlists-table-container{margin-bottom:25px;overflow-x:auto}.wishlists-table{border-collapse:collapse;font-size:14px;width:100%}.wishlists-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px 15px;text-align:left}.wishlists-table td{border-bottom:1px solid #e9ecef;padding:12px 15px;vertical-align:middle}.wishlists-table tbody tr:hover{background-color:#f8f9fa}.wishlist-name{color:#2c3e50;font-weight:500;max-width:250px;word-break:break-word}.wishlist-email{color:#3498db;max-width:200px;word-break:break-all}.email-status{font-size:12px;margin-left:5px}.email-status.unverified{color:#e74c3c}.no-email{color:#95a5a6;font-style:italic}.wishlist-status{display:flex;flex-direction:column;gap:5px}.status-badge.completed{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.completed-time{color:#6c757d;font-size:12px}.wishlist-actions{display:flex;flex-wrap:wrap;gap:5px}.btn-complete{background-color:#28a745;color:#fff}.btn-complete:hover{background-color:#218838}.btn-exist{background-color:#17a2b8;color:#fff}.btn-exist:hover{background-color:#138496}.btn-notfound{background-color:#6c757d;color:#fff}.btn-notfound:hover{background-color:#5a6268}.footer-hint{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.hint-item{background-color:#d1ecf1;border-radius:3px;color:#17a2b8;font-size:12px;padding:3px 8px}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{justify-content:center}.wishlist-actions{align-items:stretch;flex-direction:column}.btn-action{text-align:center;width:100%}.footer-hint{align-items:center;flex-direction:column;gap:8px}}.admin-effects{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px}.filter-bar{margin-bottom:25px}.filter-options{align-items:center;display:flex;gap:10px}.filter-btn{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s}.filter-btn:hover{background-color:#d5dbdb}.filter-btn.active{background-color:#3498db;border-color:#3498db;color:#fff}.effects-table-container{margin-bottom:25px;overflow-x:auto}.effects-table{border-collapse:collapse;font-size:14px;width:100%}.effects-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px 15px;text-align:left}.effects-table td{border-bottom:1px solid #e9ecef;padding:12px 15px;vertical-align:middle}.effects-table tbody tr:hover{background-color:#f8f9fa}.effect-name{color:#2c3e50;font-weight:500;max-width:200px;word-break:break-word}.effect-resource{color:#3498db}.effect-device,.effect-resource{max-width:150px;word-break:break-word}.effect-device{color:#6c757d;font-size:13px}.effect-uploader{color:#2c3e50;max-width:100px;word-break:break-word}.effect-status{display:flex;justify-content:center}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;min-width:60px;padding:4px 10px;text-align:center}.status-badge.pending{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-badge.approved{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.effect-actions{display:flex;flex-wrap:wrap;gap:5px}.btn-approve{background-color:#28a745;color:#fff}.btn-approve:hover{background-color:#218838}.btn-view{background-color:#17a2b8;color:#fff}.btn-view:hover{background-color:#138496}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{justify-content:center}.effect-actions{align-items:stretch;flex-direction:column}.btn-action{text-align:center;width:100%}}.admin-sponsors{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px}.add-sponsor-form{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:25px;padding:25px}.add-sponsor-form h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.form-row{margin-bottom:20px}.form-input,.form-textarea{padding:10px 15px}.form-textarea{min-height:80px}.form-checkbox{margin-right:8px;transform:scale(1.2)}.form-actions{justify-content:flex-end}.submit-btn{padding:10px 25px}.sponsors-table-container{margin-bottom:25px;overflow-x:auto}.sponsors-table{border-collapse:collapse;font-size:14px;width:100%}.sponsors-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px 15px;text-align:left}.sponsors-table td{border-bottom:1px solid #e9ecef;padding:12px 15px;vertical-align:middle}.sponsors-table tbody tr:hover{background-color:#f8f9fa}.sponsor-name{color:#2c3e50;font-weight:500;max-width:150px;word-break:break-word}.sponsor-amount{color:#28a745;font-weight:500}.sponsor-message{color:#6c757d;font-size:13px;font-style:italic;max-width:200px;word-break:break-word}.sponsor-anonymous{text-align:center}.sponsor-actions{display:flex;justify-content:center}.btn-action{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:5px 10px;transition:all .3s}.btn-delete{background-color:#e74c3c;color:#fff}.btn-delete:hover{background-color:#c0392b}.error-message p{margin:0 0 10px}.empty-state{background-color:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:40px;text-align:center}.empty-state p{color:#6c757d;font-size:16px;margin-bottom:20px}.page-footer{border-top:1px solid #e9ecef;margin-top:25px;padding-top:15px}.page-footer p{color:#6c757d;margin:0 0 10px}.footer-info,.page-footer p{text-align:center}.footer-hint{color:#6c757d;font-size:13px;margin:0}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{justify-content:center}.form-row{gap:15px;grid-template-columns:1fr}.form-actions{justify-content:center}.sponsor-actions{justify-content:flex-start}}.admin-profile-container{margin:0 auto;max-width:1200px;padding:20px}.admin-profile-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.admin-profile-header h2{color:#2c3e50;margin:0}.alert{border:1px solid #0000;border-radius:4px;margin-bottom:20px;padding:12px 15px}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.profile-sections{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.profile-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px}.profile-section h3{border-bottom:2px solid #3498db;color:#2c3e50;margin-bottom:20px;padding-bottom:10px}.password-form,.profile-form{margin-bottom:0}.form-input{border:2px solid #e0e0e0;border-radius:4px;font-size:14px;padding:10px 12px;transition:all .3s;width:100%}.form-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-input:disabled{background-color:#f5f5f5;color:#7f8c8d;cursor:not-allowed}.form-input.error{border-color:#e74c3c}.form-hint{color:#7f8c8d}.form-error,.form-hint{font-size:12px;margin-bottom:0;margin-top:5px}.form-error{color:#e74c3c}.form-actions{text-align:right}.account-info{background-color:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:15px}.info-item{border-bottom:1px solid #eee;margin-bottom:10px;padding-bottom:10px}.info-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.info-label{color:#666;flex:0 0 120px;font-weight:500}.info-value{color:#333;flex:1 1}.status-active{align-items:center;color:#27ae60;display:flex}.status-dot{animation:pulse 2s infinite;background-color:#27ae60;border-radius:50%;height:8px;margin-right:8px;width:8px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.security-tips{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-top:20px;padding:15px}.security-tips h4{color:#856404;font-size:14px;margin-bottom:10px}.security-tips ul{list-style-type:none;margin:0;padding:0}.security-tips li{color:#856404;font-size:13px;margin-bottom:5px;padding-left:15px;position:relative}.security-tips li:before{color:#856404;content:"•";left:0;position:absolute}@media (max-width:768px){.admin-profile-header{align-items:stretch;flex-direction:column;gap:15px}.profile-sections{grid-template-columns:1fr}.info-item{flex-direction:column;gap:5px}.info-label{flex:none}}.resource-edit-page{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:900px;padding:25px}.page-header{align-items:center;border-bottom:2px solid #3498db;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.page-header h2{color:#2c3e50;font-size:24px;margin:0}.header-actions{display:flex;gap:10px}.resource-edit-form{display:flex;flex-direction:column;gap:30px}.form-section{border-bottom:1px solid #e9ecef;padding-bottom:20px}.form-section h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.form-group{margin-bottom:20px}.form-label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.form-label.required:after{color:#e74c3c;content:" *"}.form-input,.form-textarea{border:2px solid #e0e0e0;border-radius:4px;font-size:16px;padding:12px 15px;transition:border-color .3s;width:100%}.form-input:focus,.form-textarea:focus{border-color:#3498db;outline:none}.form-input:disabled,.form-textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-hint{color:#6c757d;font-size:14px;font-style:italic;margin:5px 0 0}.cover-upload-section{align-items:flex-start;display:flex;gap:30px}.cover-preview{flex-shrink:0;width:200px}.preview-with-actions{display:flex;flex-direction:column;gap:10px}.preview-image{border:2px solid #e9ecef;border-radius:8px;height:auto;object-fit:cover;width:100%}.remove-cover-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px;transition:background-color .3s}.remove-cover-btn:hover:not(:disabled){background-color:#c0392b}.remove-cover-btn:disabled{cursor:not-allowed;opacity:.5}.no-cover{align-items:center;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;display:flex;height:200px;justify-content:center;width:200px}.no-cover-text{color:#6c757d;font-style:italic}.cover-upload-controls{flex:1 1}.file-input{display:none}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #e9ecef;gap:15px;justify-content:center;padding-top:20px}.submit-btn{font-size:16px;font-weight:600;padding:12px 30px}.error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;font-size:14px;margin-bottom:20px;padding:15px;text-align:center}@media (max-width:768px){.cover-upload-section{align-items:stretch;flex-direction:column;gap:20px}.cover-preview{margin:0 auto;max-width:300px;width:100%}.form-row{gap:15px;grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.form-actions a,.form-actions button{text-align:center;width:100%}}.admin-dashboard{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.dashboard-header{background-color:#2c3e50;color:#fff;padding:20px}.admin-info{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between}.admin-info h2{font-size:24px;margin:0}.admin-profile{align-items:center;display:flex;gap:15px}.admin-name{color:#ecf0f1;font-size:16px}.btn-sm{font-size:14px;padding:5px 10px}.dashboard-content{padding:25px}.admin-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:30px}.stat-card{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-5px)}.stat-card h3{color:#2c3e50;font-size:18px;margin:0 0 15px}.stat-number{color:#3498db;font-size:32px;font-weight:700;margin-bottom:10px}.stat-card p{color:#666;font-size:14px;margin:0 0 10px}.stat-details{color:#7f8c8d;display:flex;flex-direction:column;font-size:12px;gap:5px}.admin-quick-actions{margin-bottom:30px}.admin-quick-actions h3{color:#2c3e50;font-size:20px;margin-bottom:15px}.action-buttons{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.action-btn{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#2c3e50;cursor:pointer;padding:20px;text-align:center;text-decoration:none;transition:all .3s}.action-btn:hover{background-color:#e9ecef;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.action-btn.disabled{cursor:not-allowed;opacity:.5}.action-btn.disabled:hover{background-color:#f8f9fa;box-shadow:none;transform:none}.action-icon{font-size:32px;margin-bottom:10px}.action-text{font-size:16px;font-weight:600}.admin-system-info{background-color:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.admin-system-info h3{color:#2c3e50;font-size:20px;margin:0 0 15px}.system-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:5px}.info-label{color:#7f8c8d;font-size:14px}.info-value{color:#2c3e50;font-size:16px;font-weight:500;word-break:break-all}.dashboard-loading{padding:50px;text-align:center}.dashboard-error{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:600px;padding:40px;text-align:center}.dashboard-error h3{color:#e74c3c;margin-bottom:15px}.dashboard-error p{color:#666;margin-bottom:20px}@media (max-width:768px){.admin-info{align-items:flex-start;flex-direction:column}.admin-profile{justify-content:space-between;width:100%}.action-buttons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.system-info-grid{grid-template-columns:1fr}}.admin-announcement-container{margin:0 auto;max-width:1200px;padding:20px}.admin-announcement-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.admin-announcement-header h2{color:#2c3e50;margin:0}.admin-announcement-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:30px}.announcement-guide{background-color:#e8f4fd;border-left:4px solid #3498db;border-radius:4px;margin-bottom:30px;padding:15px 20px}.announcement-guide h3{color:#2c3e50;font-size:16px;margin-bottom:10px;margin-top:0}.announcement-guide ul{list-style-type:none;margin:0;padding:0}.announcement-guide li{color:#2c3e50;font-size:14px;margin-bottom:8px;padding-left:20px;position:relative}.announcement-guide li:before{color:#3498db;content:"✓";font-weight:700;left:0;position:absolute}.announcement-form{margin-bottom:40px}.form-textarea{border:2px solid #e0e0e0;border-radius:4px;font-family:inherit;font-size:14px;line-height:1.5;min-height:120px;padding:12px 15px;resize:vertical;transition:all .3s;width:100%}.form-textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-stats{grid-gap:15px;background-color:#f8f9fa;border-radius:6px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px;padding:15px}.stat-item{align-items:center;display:flex;justify-content:space-between}.stat-label{color:#666;font-size:13px}.stat-value{color:#27ae60;font-family:monospace;font-weight:600}.stat-value.warning{color:#e74c3c}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.btn-outline-danger{background-color:initial;border:2px solid #e74c3c;color:#e74c3c}.btn-outline-danger:hover{background-color:#e74c3c;color:#fff}.announcement-preview-section{border-top:1px solid #eee;margin-top:40px;padding-top:30px}.announcement-preview-section h3{color:#2c3e50;margin-bottom:20px}.preview-content{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;min-height:150px;padding:25px}.preview-title{border-bottom:2px solid #ffeaa7;color:#856404;font-size:20px;font-weight:600;margin-bottom:15px;padding-bottom:10px}.preview-body{color:#856404;font-size:15px;line-height:1.6}.preview-body p{margin-bottom:10px}.preview-body p:last-child{margin-bottom:0}.preview-note{border-top:1px dashed #ffeaa7;color:#d39e00;font-size:13px;font-style:italic;margin-top:20px;padding-top:15px}.empty-announcement{color:#856404;padding:30px;text-align:center}.empty-announcement p{margin-bottom:10px}.empty-hint{color:#d39e00;font-size:14px}.announcement-tips{border-top:1px solid #eee;margin-top:40px;padding-top:30px}.announcement-tips h4{color:#2c3e50;margin-bottom:20px}.tips-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tip-item{align-items:flex-start;background-color:#f8f9fa;border-radius:6px;display:flex;gap:15px;padding:15px;transition:transform .3s ease}.tip-item:hover{background-color:#e9ecef;transform:translateY(-2px)}.tip-icon{flex-shrink:0;font-size:24px}.tip-text{color:#495057;flex:1 1;font-size:14px;line-height:1.5}.tip-text strong{color:#2c3e50}@media (max-width:768px){.admin-announcement-header{align-items:stretch;flex-direction:column;gap:15px}.announcement-content{padding:20px}.form-stats{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.tips-content{grid-template-columns:1fr}}.not-found-page{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px;text-align:center}.not-found-page h1{color:#e74c3c;font-size:120px;line-height:1;margin:0}.not-found-page p{color:#2c3e50;font-size:24px;margin:20px 0 30px}
/*# sourceMappingURL=main.9969751c.css.map*/