*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button{font-family:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2)}.header{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:1.5rem 0}.header .container{display:flex;justify-content:space-between;align-items:center;gap:2rem}.header-nav{display:flex;gap:.5rem;flex:1;justify-content:center}.header-nav .nav-link{padding:.5rem 1rem;background:#ffffff1a;border:none;border-radius:8px;color:#fffc;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.header-nav .nav-link:hover{background:#fff3;color:#fff}.header-nav .nav-link.active{background:#ffffff4d;color:#fff;font-weight:600}.header-right{display:flex;align-items:center;gap:1rem}.admin-link-btn{background:#ffffff4d;border:none;color:#fff;padding:.5rem 1rem;border-radius:20px;cursor:pointer;font-weight:500;transition:background .2s}.admin-link-btn:hover{background:#fff6}.logo{font-size:2rem;font-weight:700;color:#fff;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.status-badge{display:flex;align-items:center;gap:.5rem;background:#fff3;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.9rem;font-weight:500}.status-dot{width:10px;height:10px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-dot.checking{background-color:#fbbf24}.status-dot.online{background-color:#4ade80}.status-dot.offline{background-color:#ef4444}.main{flex:1;padding:3rem 0}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.hero{text-align:center;margin-bottom:3rem}.hero-title{font-size:3rem;color:#fff;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.25rem;color:#ffffffe6;margin:0}.app-download-section{text-align:center;margin:3rem 0 4rem;padding:2.5rem 0}.download-title{font-size:2rem;color:#fff;margin-bottom:.75rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.download-subtitle{font-size:1.125rem;color:#ffffffe6;margin:0 0 2.5rem}.download-buttons{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.download-btn{display:inline-block;text-decoration:none;transition:all .3s ease}.download-btn:hover{transform:translateY(-4px)}.download-btn .store-badge{height:60px;width:auto;transition:all .3s ease}.download-btn:hover .store-badge{filter:brightness(1.1)}.latest-draw-section{margin-bottom:4rem;max-width:800px;margin-left:auto;margin-right:auto}.loading-container{text-align:center;padding:3rem;background:#ffffff1a;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-container .spinner{width:50px;height:50px;margin:0 auto 1rem;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:#fff;font-size:1.125rem;margin:0}.latest-draw-card{background:#fffffff2;border-radius:24px;padding:2.5rem;box-shadow:0 15px 50px #0000004d;border:2px solid rgba(255,255,255,.5)}.draw-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.draw-title{font-size:2rem;color:#1a1a1a;margin:0 0 1rem;font-weight:700}.draw-meta{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.round-badge{display:inline-block;padding:.5rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-weight:700;font-size:1.125rem}.draw-date{color:#666;font-size:1.125rem;font-weight:500}.winning-numbers-display{margin:2rem 0}.prize-info{text-align:center;padding-top:1.5rem;border-top:2px solid #e0e0e0}.prize-notice{color:#666;font-size:1rem;margin:0;font-style:italic}.no-draw-message{text-align:center;padding:3rem;background:#ffffff1a;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.no-draw-message p{color:#fff;font-size:1.125rem;margin:0}.search-button:active{transform:translateY(0)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem}.feature-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;text-align:center;border:1px solid rgba(255,255,255,.2);transition:transform .3s,box-shadow .3s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0003}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.feature-card p{color:#fffc;margin:0}.strategy-section{margin-top:5rem;margin-bottom:4rem}.section-title{font-size:2.5rem;color:#fff;text-align:center;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.section-subtitle{font-size:1.1rem;color:#ffffffd9;text-align:center;margin-bottom:3rem}.strategy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.strategy-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;border:1px solid rgba(255,255,255,.25);transition:transform .3s,box-shadow .3s}.strategy-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #00000040;border-color:#ffffff59}.strategy-card.highlight{background:linear-gradient(135deg,#4caf5040,#667eea40);border:2px solid rgba(76,175,80,.5);box-shadow:0 8px 24px #4caf504d}.strategy-card.highlight:hover{border-color:#4caf50b3;box-shadow:0 15px 40px #4caf5066}.strategy-action-btn{margin-top:1rem;padding:.75rem 1.5rem;background:#4caf50e6;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;width:100%}.strategy-action-btn:hover{background:#4caf50;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.strategy-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.2)}.strategy-icon{font-size:2.5rem}.strategy-header h3{color:#fff;font-size:1.4rem;margin:0;font-weight:600}.strategy-content h4{color:#fffffff2;font-size:1.1rem;margin:1.5rem 0 .5rem;font-weight:600}.strategy-content h4:first-child{margin-top:0}.strategy-content p{color:#fffc;line-height:1.6;margin:0 0 1rem;font-size:.95rem}.strategy-content p:last-child{margin-bottom:0}.strategy-notice{display:flex;gap:1rem;background:#fbbf2426;border:2px solid rgba(251,191,36,.4);border-radius:16px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notice-icon{font-size:2rem;margin:0}.notice-content{flex:1}.notice-content strong{display:block;color:#fff;font-size:1.1rem;margin-bottom:.5rem}.notice-content p{color:#ffffffe6;line-height:1.6;margin:0}.alert{background:#fbbf2433;border:1px solid rgba(251,191,36,.5);border-radius:12px;padding:1.5rem;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alert strong{display:block;margin-bottom:.5rem;font-size:1.1rem}.alert p{margin:0}.footer{background:#0003;border-top:1px solid rgba(255,255,255,.1);padding:2rem 0;text-align:center;color:#ffffffb3}.footer p{margin:.5rem 0}.footer-links{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem}.footer-link{color:#ffffffe6;text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s,text-decoration .2s}.footer-link:hover{color:#fff;text-decoration:underline}.footer-divider{color:#fff6}.footer-note{font-size:.9rem;color:#ffffff80}.footer-company{font-size:.85rem;color:#ffffff80;margin-top:1rem;line-height:1.6}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #f0f0f0}.modal-header h2{margin:0;font-size:1.75rem;color:#1a1a1a}.modal-close{width:40px;height:40px;border:none;background:#f0f0f0;border-radius:50%;font-size:1.75rem;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close:hover{background:#e0e0e0;color:#1a1a1a;transform:rotate(90deg)}.modal-body{padding:2rem}.draw-info{text-align:center;margin-bottom:2rem}.draw-date{font-size:1.125rem;color:#666;margin:0}.winning-numbers h3{text-align:center;font-size:1.25rem;color:#1a1a1a;margin:0 0 1.5rem}.number-balls-container{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap}.lotto-ball{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;box-shadow:0 4px 8px #0003;transition:transform .2s}.lotto-ball:hover{transform:scale(1.1)}.lotto-ball.bonus{border:3px solid #FFD700}.bonus-separator{font-size:2rem;font-weight:700;color:#666}.modal-footer{padding:1.5rem 2rem;border-top:2px solid #f0f0f0;display:flex;justify-content:center}.btn-primary{padding:.75rem 3rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.download-title{font-size:1.5rem}.download-subtitle{font-size:1rem}.download-buttons{flex-direction:column;align-items:center}.download-btn .store-badge{height:50px}.search-input-group{flex-direction:column;border-radius:16px;gap:.5rem}.search-input,.search-button{border-radius:12px}.features{grid-template-columns:1fr}.header .container{flex-direction:column;gap:1rem;text-align:center}.header-nav{width:100%;flex-wrap:wrap}.header-nav .nav-link{flex:1;min-width:80px;padding:.5rem .75rem;font-size:.875rem}.header-right{width:100%;justify-content:center;flex-wrap:wrap}.status-badge{flex:1;min-width:150px;justify-content:center}.admin-link-btn{flex:1;min-width:100px}.section-title{font-size:1.8rem}.section-subtitle{font-size:1rem}.strategy-cards{grid-template-columns:1fr}.strategy-header{flex-direction:column;align-items:flex-start;gap:.5rem}.strategy-icon{font-size:2rem}.strategy-header h3{font-size:1.2rem}.strategy-notice{flex-direction:column;gap:.5rem}.notice-icon{font-size:1.5rem}.footer-links{flex-direction:column;gap:.5rem}.footer-divider{display:none}}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:3rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2.5rem;margin:0 0 .5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header p{color:#666;margin:0;font-size:1.1rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{padding:.875rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.error-message{background-color:#fee;color:#c33;padding:.875rem;border-radius:8px;font-size:.9rem;border-left:4px solid #c33}.warning-message{background-color:#fff3cd;color:#856404;padding:.875rem;border-radius:8px;font-size:.9rem;border-left:4px solid #ffc107;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.warning-message:before{content:"⚠️";font-size:1.2rem}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:1.5rem;text-align:center}.home-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;padding:.5rem;transition:color .2s}.home-link:hover{color:#764ba2;text-decoration:underline}.public-page{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.public-header{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.public-header .container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.public-header .logo{font-size:1.5rem;font-weight:700;color:#4caf50;cursor:pointer;margin:0}.public-nav{display:flex;gap:.5rem}.nav-link{padding:.75rem 1.5rem;background:transparent;border:none;border-radius:8px;font-size:1rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.nav-link:hover{background:#f0f0f0;color:#1a1a1a}.nav-link.active{background:#4caf50;color:#fff}.nav-link.admin{background:#2196f3;color:#fff}.nav-link.admin:hover{background:#1976d2}.public-main{flex:1;padding:2rem 0}.public-main .container{max-width:1400px;margin:0 auto;padding:0 2rem}.public-footer{background:#1a1a1a;color:#fff;padding:2rem 0;margin-top:4rem}.public-footer .container{max-width:1400px;margin:0 auto;padding:0 2rem;text-align:center}.public-footer .footer-links{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.public-footer .footer-links a{color:#4caf50;text-decoration:none}.public-footer .footer-links a:hover{text-decoration:underline}.public-footer .footer-links span{color:#666}.public-footer p{margin:.5rem 0;color:#ccc;font-size:.875rem}.public-footer .footer-note{color:#999;font-size:.75rem;margin-top:1rem}.public-footer .footer-company{color:#999;font-size:.75rem;margin-top:1rem;line-height:1.5}.loading-state{text-align:center;padding:4rem 2rem}.spinner{width:50px;height:50px;margin:0 auto 1rem;border:4px solid #f0f0f0;border-top:4px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite}.statistics{background:transparent}.bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#81c784);border-radius:20px;transition:width .5s ease}.empty-state p{color:#666;margin:0}@media (max-width: 768px){.public-header .container{flex-direction:column;gap:1rem}.public-nav{width:100%;flex-wrap:wrap;justify-content:center}.nav-link{flex:1;min-width:80px;text-align:center;padding:.5rem 1rem;font-size:.875rem}.public-main .container{padding:0 1rem}.statistics-header{flex-direction:column;gap:1rem}.refresh-btn{width:100%}.stats-summary{grid-template-columns:1fr}.number-ball{width:60px;height:60px}.ball-number{font-size:1.25rem}.ball-count{font-size:.625rem}.frequency-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.range-label{min-width:60px;font-size:.875rem}}.recommendations-container{max-width:1400px;margin:0 auto}.page-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #e0e0e0}.page-header h1{font-size:2.5rem;color:#1a1a1a;margin:0 0 .5rem}.page-header p{font-size:1.125rem;color:#666;margin:0}.app-only-notice{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;margin-bottom:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d}.notice-icon{font-size:1.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.notice-text{color:#fff;font-size:1rem;font-weight:500;text-align:center}.notice-text strong{font-weight:700;color:gold}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:12px}.sort-buttons{display:flex;gap:.5rem}.sort-btn{padding:.75rem 1.5rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.sort-btn:hover{border-color:#4caf50;color:#4caf50}.sort-btn.active{background:#4caf50;color:#fff;border-color:#4caf50}.result-info{font-size:.875rem;color:#666}.result-info strong{color:#4caf50;font-size:1.125rem}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.recommendation-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s}.recommendation-card:hover{border-color:#4caf50;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-id{font-weight:600;color:#666;font-size:.875rem}.platform-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.platform-badge.android{background:#a4c639;color:#fff}.platform-badge.web{background:#4caf50;color:#fff}.card-numbers{display:flex;justify-content:center;gap:.5rem;margin:1.5rem 0;flex-wrap:nowrap;overflow-x:auto}.lotto-ball{width:40px;height:40px;min-width:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff;box-shadow:0 2px 4px #0003}.lotto-ball.lotto-color-yellow{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a}.lotto-ball.lotto-color-blue{background:linear-gradient(135deg,#4facfe,#00f2fe)}.lotto-ball.lotto-color-red{background:linear-gradient(135deg,#f093fb,#f5576c)}.lotto-ball.lotto-color-gray{background:linear-gradient(135deg,#9e9e9e,#757575)}.lotto-ball.lotto-color-green{background:linear-gradient(135deg,#43e97b,#38f9d7)}.lotto-ball.lotto-color-default{background:linear-gradient(135deg,#667eea,#764ba2)}.card-request{margin:1rem 0;min-height:48px;display:flex;align-items:center}.card-request p{margin:0;color:#666;font-size:.875rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.card-date{font-size:.75rem;color:#999}.card-stats{display:flex;gap:.75rem;align-items:center}.stat-btn{background:none;border:none;padding:.25rem .5rem;font-size:.875rem;cursor:pointer;transition:all .2s;border-radius:4px}.stat-btn:hover{background:#f0f0f0}.like-btn:hover{background:#ffebee}.stat-item{font-size:.875rem;color:#666}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:3rem 0}.page-btn{padding:.75rem 1.5rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:.875rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){border-color:#4caf50;color:#4caf50}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-numbers{display:flex;gap:.25rem;align-items:center}.page-number{min-width:40px;height:40px;padding:.5rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:.875rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.page-number:hover{border-color:#4caf50;color:#4caf50}.page-number.active{background:#4caf50;color:#fff;border-color:#4caf50}.page-ellipsis{padding:0 .5rem;color:#999}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #f0f0f0}.modal-header h2{margin:0;font-size:1.5rem;color:#1a1a1a}.modal-close{width:40px;height:40px;border:none;background:#f0f0f0;border-radius:50%;font-size:1.5rem;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close:hover{background:#e0e0e0;color:#1a1a1a}.modal-body{padding:1.5rem}.detail-section{margin-bottom:2rem}.detail-section h3{font-size:1.125rem;color:#1a1a1a;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #f0f0f0}.lotto-numbers{display:flex;justify-content:center;gap:.75rem;flex-wrap:nowrap;padding:1rem 0;overflow-x:auto}.lotto-numbers .lotto-ball{width:60px;height:60px;min-width:60px;font-size:1.5rem}.gpt-response{background:#f8f9fa;border-left:4px solid #4CAF50;padding:1.25rem;border-radius:8px;line-height:1.6;color:#333;white-space:pre-wrap;font-size:.9375rem}.detail-grid{display:grid;grid-template-columns:1fr;gap:1rem}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;background:#f8f9fa;border-radius:8px;gap:1rem}.detail-label{font-weight:600;color:#666;font-size:.875rem;min-width:100px}.detail-value{color:#1a1a1a;font-size:.875rem;text-align:right;word-break:break-word;flex:1}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.feedback-stats{display:flex;gap:1rem}.feedback-btn{padding:.75rem 1.5rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.feedback-btn:hover{border-color:#4caf50;color:#4caf50}.feedback-btn.like-btn:hover{background:#ffebee;border-color:#ff5252;color:#ff5252}.comment-input-area{margin-bottom:1.5rem}.comment-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.875rem;font-family:inherit;resize:vertical;margin-bottom:.5rem;transition:all .2s}.comment-input:focus{outline:none;border-color:#4caf50}.comment-submit-btn{width:100%;padding:.75rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.comment-submit-btn:hover:not(:disabled){background:#45a049}.comment-submit-btn:disabled{opacity:.5;cursor:not-allowed}.comment-item{padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:.75rem}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.comment-author{font-weight:600;font-size:.875rem;color:#666}.comment-date{font-size:.75rem;color:#999}.comment-content{font-size:.875rem;color:#333;line-height:1.5;white-space:pre-wrap}.comment-loading,.no-comments{text-align:center;padding:2rem;color:#999;font-size:.875rem}.load-more-comments-btn{width:100%;padding:.75rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:.875rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s;margin-top:1rem}.load-more-comments-btn:hover{border-color:#4caf50;color:#4caf50}.detail-section.error{background:#ffebee;border-radius:8px;padding:1rem}.detail-section.error h3{color:#c62828;border-bottom-color:#ffcdd2}.error-message{color:#c62828;font-size:.875rem;line-height:1.5}.modal-footer{padding:1.5rem;border-top:2px solid #f0f0f0;display:flex;justify-content:flex-end;gap:1rem}.btn-cancel{padding:.75rem 2rem;background:#f0f0f0;border:none;border-radius:8px;font-size:1rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#e0e0e0;color:#1a1a1a}@media (max-width: 768px){.recommendations-grid{grid-template-columns:1fr}.page-header h1{font-size:1.75rem}.page-header p{font-size:1rem}.app-only-notice{flex-direction:column;gap:.5rem;padding:1rem}.notice-icon{font-size:1.25rem}.notice-text{font-size:.875rem}.filter-bar{flex-direction:column;gap:1rem;align-items:stretch}.sort-buttons{justify-content:center}.result-info{text-align:center}.modal-content{max-height:95vh}.lotto-numbers .lotto-ball{width:50px;height:50px;min-width:50px;font-size:1.25rem}.card-numbers .lotto-ball{width:35px;height:35px;min-width:35px;font-size:.875rem}.detail-item{flex-direction:column;gap:.5rem}.detail-label{min-width:auto}.detail-value{text-align:left}.pagination{gap:.25rem}.page-btn{padding:.5rem 1rem;font-size:.75rem}.page-number{min-width:35px;height:35px;font-size:.75rem}}.admin-layout{display:flex;min-height:100vh;background:#f5f7fa}.admin-sidebar{width:250px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a;position:fixed;height:100vh;left:0;top:0}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.sidebar-header h1{margin:0 0 .5rem;font-size:1.5rem;color:#fff}.user-info{margin:0;font-size:.9rem;opacity:.9;background:#fff3;padding:.5rem .75rem;border-radius:20px;display:inline-block}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-item{width:100%;background:none;border:none;color:#fff;padding:1rem 1.5rem;text-align:left;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.75rem;font-size:1rem;border-left:3px solid transparent}.nav-item:hover{background:#ffffff1a}.nav-item.active{background:#fff3;border-left-color:#fff;font-weight:600}.nav-icon{font-size:1.25rem}.nav-label{flex:1}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:.5rem}.footer-legal-links{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.5rem;font-size:.8rem;color:#ffffffb3;margin-bottom:.5rem}.footer-legal-links .legal-link{color:#ffffffe6;text-decoration:none;transition:color .2s,text-decoration .2s}.footer-legal-links .legal-link:hover{color:#fff;text-decoration:underline}.footer-legal-links span{color:#fff6}.home-btn,.logout-btn{width:100%;background:#fff3;border:none;color:#fff;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.home-btn:hover,.logout-btn:hover{background:#ffffff4d}.admin-main{flex:1;margin-left:250px;min-height:100vh}.admin-content{padding:2rem;max-width:1400px;margin:0 auto}@media (max-width: 768px){.admin-sidebar{width:200px}.admin-main{margin-left:200px}.sidebar-header{padding:1.5rem 1rem}.sidebar-header h1{font-size:1.25rem}.nav-item{padding:.875rem 1rem}.admin-content{padding:1rem}}@media (max-width: 480px){.admin-sidebar{width:60px}.admin-main{margin-left:60px}.sidebar-header h1,.user-info,.nav-label{display:none}.nav-item{justify-content:center}.footer-legal-links{display:none}.sidebar-footer button{padding:.75rem;font-size:1.25rem}.sidebar-footer button span{display:none}}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffd9;z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-overlay.fullscreen{position:fixed;inset:0;z-index:1000}.loading-overlay__spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:loading-overlay-spin .9s linear infinite}.loading-overlay__message{margin:0;font-size:15px;color:#333;font-weight:600;text-align:center;white-space:pre-line}@keyframes loading-overlay-spin{to{transform:rotate(360deg)}}.dashboard{display:flex;flex-direction:column;gap:2rem}.dashboard-header h1{margin:0 0 .5rem;font-size:2rem;color:#333}.dashboard-header p{margin:0;color:#666;font-size:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.stat-icon{font-size:3rem;flex-shrink:0}.stat-label{font-size:.9rem;color:#666;margin-bottom:.25rem}.stat-value{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.quick-actions h2{margin:0 0 1rem;font-size:1.5rem;color:#333}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.action-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s;text-align:left}.action-card:not(:disabled):hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 4px 16px #667eea33}.action-card:disabled{opacity:.5;cursor:not-allowed}.action-icon{font-size:2.5rem;flex-shrink:0}.action-content h3{margin:0 0 .5rem;font-size:1.25rem;color:#333}.action-content p{margin:0;color:#666;font-size:.9rem}.system-info{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.system-info h2{margin:0 0 1.5rem;font-size:1.5rem;color:#333}.info-grid{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px}.info-label{font-weight:600;color:#666}.info-value{color:#333}@media (max-width: 768px){.stats-grid,.action-cards{grid-template-columns:1fr}.info-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.statistics{padding:2rem;max-width:1400px;margin:0 auto}.statistics-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.statistics-header h1{margin:0 0 .5rem;font-size:2rem;color:#1a1a1a}.statistics-header p{margin:0;color:#666;font-size:1rem}.refresh-btn{padding:.75rem 1.5rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.refresh-btn:hover{background:#45a049;transform:translateY(-1px)}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.summary-card:hover{border-color:#4caf50;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.summary-icon{font-size:3rem;line-height:1}.summary-info{flex:1}.summary-label{font-size:.875rem;color:#666;margin-bottom:.5rem}.summary-value{font-size:2rem;font-weight:700;color:#1a1a1a;line-height:1.2}.summary-note{font-size:.875rem;color:#4caf50;margin-top:.25rem;font-weight:600}.stats-section{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:2rem;margin-bottom:2rem}.stats-section h2{margin:0 0 1.5rem;font-size:1.5rem;color:#1a1a1a;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.section-content{margin-top:1.5rem}.number-balls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.number-ball{width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;box-shadow:0 4px 8px #00000026;transition:all .2s}.number-ball:hover{transform:scale(1.1);box-shadow:0 6px 12px #0003}.number-ball.hot{background:linear-gradient(135deg,#f093fb,#f5576c)}.number-ball.cold{background:linear-gradient(135deg,#4facfe,#00f2fe)}.number-ball.trend{background:linear-gradient(135deg,#43e97b,#38f9d7)}.ball-number{font-size:1.75rem;line-height:1}.ball-count{font-size:.75rem;margin-top:.25rem;opacity:.9}.range-chart{display:flex;flex-direction:column;gap:1rem}.range-bar{display:flex;align-items:center;gap:1rem}.range-label{min-width:80px;font-weight:600;color:#1a1a1a;font-size:1rem}.bar-container{flex:1;height:40px;background:#f0f0f0;border-radius:20px;position:relative;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#81c784);border-radius:20px;transition:width .5s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:1rem}.bar-value{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-weight:600;color:#1a1a1a;font-size:.875rem}.frequency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.5rem}.frequency-grid.bonus{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.frequency-cell{aspect-ratio:1;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #e0e0e0;transition:all .2s;cursor:pointer}.frequency-cell:hover{transform:scale(1.05);box-shadow:0 4px 8px #00000026;z-index:1}.cell-number{font-size:1.25rem;font-weight:700;color:#1a1a1a}.cell-count{font-size:.75rem;color:#666;margin-top:.25rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:2px dashed #e0e0e0;border-radius:12px}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;color:#1a1a1a;margin:0 0 .5rem}.empty-state p{color:#666;margin:0 0 2rem}.action-btn{padding:.75rem 2rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.action-btn:hover{background:#45a049;transform:translateY(-1px)}@media (max-width: 768px){.statistics{padding:1rem}.statistics-header{flex-direction:column;gap:1rem}.refresh-btn{width:100%}.stats-summary{grid-template-columns:1fr}.number-ball{width:60px;height:60px}.ball-number{font-size:1.25rem}.ball-count{font-size:.625rem}.frequency-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.range-label{min-width:60px;font-size:.875rem}}.data-management{display:flex;flex-direction:column;gap:2rem}.page-header h1{margin:0 0 .5rem;font-size:2rem;color:#333}.page-header p{margin:0;color:#666;font-size:1.1rem}.current-stats{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.current-stats .stat-item{display:flex;justify-content:space-between;align-items:center}.current-stats .stat-label{font-size:1rem;color:#666;font-weight:600}.current-stats .stat-value{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.section-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.section-card.danger{border:2px solid #ff6b6b}.section-card h2{margin:0 0 .5rem;font-size:1.5rem}.section-desc{color:#666;margin:0 0 1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.9rem}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.hint{font-size:.85rem;color:#999;line-height:1.4}.estimate-time{background:#f0f7ff;border-left:4px solid #667eea;padding:1rem;margin-bottom:1.5rem;border-radius:4px;font-weight:600;color:#333}.all-data-info{background:#fff5f5;border-left:4px solid #ff6b6b;padding:1rem;margin-bottom:1.5rem;border-radius:4px}.all-data-info p{margin:.5rem 0;color:#333}.init-btn,.init-all-btn{width:100%;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.init-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.init-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.init-all-btn{background:#ff6b6b;color:#fff}.init-all-btn:hover:not(:disabled){background:#ff5252;transform:translateY(-2px);box-shadow:0 5px 15px #ff6b6b66}.init-btn:disabled,.init-all-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message,.error-message{padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.success-message{background:#d4edda;color:#155724;border-left:4px solid #28a745}.success-message pre{margin:0;font-family:inherit;white-space:pre-wrap;font-weight:600}.error-message{background:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.loading-indicator{background:#fff;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 2px 8px #0000001a}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-indicator p{margin:.5rem 0;font-weight:600;color:#333}.loading-note{font-size:.9rem;color:#999;font-weight:400!important}.instructions{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.instructions h3{margin:0 0 1rem;color:#333}.instructions ul{list-style:none;padding:0;margin:0}.instructions li{padding:.75rem 0;border-bottom:1px solid #e0e0e0;line-height:1.6}.instructions li:last-child{border-bottom:none}.instructions strong{color:#667eea}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.current-stats .stat-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.admin-fcm-container{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{margin:0;font-size:28px;color:#333}.btn-send-all{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;cursor:pointer;font-weight:600;transition:background .3s}.btn-send-all:hover{background:#45a049}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-label{color:#666;font-size:14px;margin-bottom:8px}.stat-value{color:#333;font-size:32px;font-weight:700}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab{background:none;border:none;padding:12px 24px;font-size:16px;cursor:pointer;color:#666;border-bottom:3px solid transparent;transition:all .3s}.tab.active{color:#1976d2;border-bottom-color:#1976d2;font-weight:600}.tab:hover{color:#1976d2;background:#f5f5f5}.tokens-table-container,.history-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;position:relative;min-height:220px}.tokens-table,.history-table{width:100%;border-collapse:collapse}.tokens-table th,.tokens-table td,.history-table th,.history-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e0e0e0}.tokens-table th,.history-table th{background:#f5f5f5;font-weight:600;color:#333}.tokens-table tbody tr:hover,.history-table tbody tr:hover{background:#f9f9f9}.token-cell{font-family:monospace;font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.body-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.status-partial{background:#ff9800;color:#fff}.count-success{color:#4caf50;font-weight:600}.count-failure{color:#f44336;font-weight:600}.btn-send-single{background:#2196f3;color:#fff;border:none;padding:6px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background .3s}.btn-send-single:hover{background:#1976d2}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.target-token{background:#f5f5f5;padding:10px 12px;border-radius:6px;font-family:monospace;font-size:12px;color:#666;word-break:break-all}.btn-confirm{background:#2196f3;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;cursor:pointer;font-weight:600;transition:background .3s}.btn-confirm:hover{background:#1976d2}.history-stats{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.stat-summary{display:flex;gap:20px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:14px;color:#666}.summary-value{font-size:24px;font-weight:700;color:#1976d2}.history-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-filters label{font-size:14px;color:#666;font-weight:600}.empty-state{text-align:center;padding:60px 20px;color:#999}.pagination-btn{background:#fff;border:1px solid #ddd;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.btn-detail{background:#9c27b0;color:#fff;border:none;padding:6px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background .3s}.detail-message{background:#f5f5f5;padding:16px;border-radius:8px}.message-title{margin-bottom:12px;font-size:14px;color:#333}.message-body{font-size:14px;color:#333}.message-body p{margin:8px 0 0;line-height:1.6;white-space:pre-wrap}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.result-item{background:#f5f5f5;padding:16px;border-radius:8px;text-align:center}.result-item.success{background:#e8f5e9}.result-item.failure{background:#ffebee}.result-item.total{background:#e3f2fd}.result-label{font-size:12px;color:#666;margin-bottom:8px;font-weight:600}.result-value{font-size:28px;font-weight:700}.result-item.success .result-value{color:#4caf50}.result-item.failure .result-value{color:#f44336}.result-item.total .result-value{color:#2196f3}.title-cell{font-weight:600;color:#333}@media (max-width: 768px){.admin-fcm-container{padding:10px}.page-header{flex-direction:column;gap:16px;align-items:flex-start}.stats-section{grid-template-columns:repeat(2,1fr)}.tokens-table,.history-table{font-size:12px}.tokens-table th,.tokens-table td,.history-table th,.history-table td{padding:8px}.history-stats{flex-direction:column;align-items:flex-start}.history-filters{width:100%}.detail-grid,.result-stats{grid-template-columns:1fr}.pagination{flex-wrap:wrap;gap:8px}.pagination-btn{padding:6px 12px;font-size:12px}}.admin-recommendation-container{padding:20px;max-width:1600px;margin:0 auto}.page-header{margin-bottom:30px}.page-header h1{margin:0 0 8px;font-size:28px;color:#333}.page-header p{margin:0;color:#666;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:16px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-card.success{border-left:4px solid #4caf50}.stat-card.failed{border-left:4px solid #f44336}.stat-card.rate{border-left:4px solid #2196f3}.stat-icon{font-size:36px}.stat-info{flex:1}.stat-label{font-size:13px;color:#999;margin-bottom:4px}.stat-value{font-size:28px;font-weight:700;color:#333}.filters-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #00000014;display:flex;gap:30px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-size:14px;color:#666;font-weight:600}.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .3s}.filter-select:hover{border-color:#1976d2}.filter-select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow-x:auto;position:relative;min-height:200px}.recommendations-table{width:100%;border-collapse:collapse}.recommendations-table th,.recommendations-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e0e0e0}.recommendations-table th{background:#f5f5f5;font-weight:600;color:#333;font-size:13px}.recommendations-table tbody tr:hover{background:#f9f9f9}.numbers-cell{padding:16px!important}.numbers-display{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lotto-ball-small{width:36px;height:36px;border-radius:50%;background:#764ba2;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;box-shadow:0 2px 6px #00000026;flex-shrink:0}.request-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.model-cell{font-size:12px;color:#666}.date-cell{font-size:13px;color:#666;white-space:nowrap}.platform-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.platform-badge.android{background:#3ddc84;color:#fff}.platform-badge.ios{background:#007aff;color:#fff}.platform-badge.web{background:#9c27b0;color:#fff}.platform-badge.unknown{background:#9e9e9e;color:#fff}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.status-success{background:#4caf50;color:#fff}.status-badge.status-failed{background:#f44336;color:#fff}.btn-detail{background:#9c27b0;color:#fff;border:none;padding:6px 16px;border-radius:4px;font-size:13px;cursor:pointer;transition:background .3s}.btn-detail:hover{background:#7b1fa2}.loading{text-align:center;padding:60px 20px;color:#666;font-size:16px}.empty-state{text-align:center;padding:80px 20px;color:#999}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state p{font-size:16px;margin:0}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;padding:20px;border-top:1px solid #e0e0e0}.pagination-btn{background:#fff;border:1px solid #ddd;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .3s}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#1976d2;color:#1976d2}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:#666;padding:0 10px;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:20px;color:#333}.modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px}.modal-close:hover{color:#333}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:16px;color:#333;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.detail-section.error h3{color:#f44336}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:#666;font-weight:600}.detail-value{font-size:14px;color:#333}.lotto-numbers{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:20px;background:#f5f5f5;border-radius:8px}.lotto-ball{width:60px;height:60px;border-radius:50%;background:#764ba2;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;box-shadow:0 2px 8px #0003}.lotto-color-yellow{background:linear-gradient(135deg,#fbd72b,#f7b733)!important;color:#4a3800!important}.lotto-color-blue{background:linear-gradient(135deg,#69c8f2,#2ba7e3)!important}.lotto-color-red{background:linear-gradient(135deg,#ff7272,#f44336)!important}.lotto-color-gray{background:linear-gradient(135deg,#b0b0b0,#8e8e8e)!important}.lotto-color-green{background:linear-gradient(135deg,#b7d64f,#7cb342)!important}.lotto-color-default{background:linear-gradient(135deg,#667eea,#764ba2)!important}.gpt-response{background:#f5f5f5;padding:16px;border-radius:8px;border-left:4px solid #1976d2;line-height:1.6;white-space:pre-wrap;font-size:14px}.error-message{background:#ffebee;color:#c62828;padding:12px;border-radius:6px;font-size:13px}.btn-cancel{background:#f5f5f5;color:#333;border:none;padding:10px 24px;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-cancel:hover{background:#e0e0e0}.like-comment-header{display:flex;gap:20px;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.btn-like{background:#fff;border:2px solid #e0e0e0;padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.btn-like:hover:not(:disabled){border-color:#f44336;background:#fff5f5}.btn-like.liked{border-color:#f44336;background:#fff5f5;color:#f44336}.btn-like:disabled{opacity:.6;cursor:not-allowed}.comment-count-header{font-size:14px;color:#666;font-weight:600}.comment-input-section{margin-bottom:24px}.comment-textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px}.comment-textarea:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.btn-add-comment{background:#1976d2;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;cursor:pointer;transition:background .3s}.btn-add-comment:hover:not(:disabled){background:#1565c0}.btn-add-comment:disabled{opacity:.6;cursor:not-allowed}.comments-list{max-height:400px;overflow-y:auto}.no-comments{text-align:center;padding:40px 20px;color:#999;font-size:14px}.comment-item{background:#f9f9f9;border-radius:8px;padding:12px;margin-bottom:12px;border-left:3px solid #1976d2}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.comment-platform{font-size:11px;background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:4px;font-weight:600}.comment-date{font-size:12px;color:#999}.comment-content{font-size:14px;color:#333;line-height:1.6;white-space:pre-wrap}.count-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.like-badge{background:#fff5f5;color:#f44336}.count-badge.comment-badge{background:#e3f2fd;color:#1976d2}@media (max-width: 768px){.admin-recommendation-container{padding:10px}.stats-grid{grid-template-columns:repeat(2,1fr)}.filters-section{flex-direction:column;align-items:flex-start}.detail-grid{grid-template-columns:1fr}.lotto-ball{width:50px;height:50px;font-size:20px}.recommendations-table{font-size:12px}.recommendations-table th,.recommendations-table td{padding:8px}}.admin-settings{padding:20px}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.settings-header h2{margin:0;color:#333;font-size:28px}.add-button{padding:12px 24px;background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;transition:background-color .2s}.add-button:hover{background-color:#0056b3}.settings-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.settings-table th,.settings-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #e9ecef}.settings-table th{background-color:#f8f9fa;font-weight:600;color:#495057;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.settings-table tbody tr:hover{background-color:#f8f9fa}.settings-table tbody tr:last-child td{border-bottom:none}.settings-table code{background-color:#f4f4f4;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;color:#d63384}.value-cell{max-width:350px}.value-content{max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.type-badge{display:inline-block;padding:4px 10px;background-color:#e7f3ff;color:#0056b3;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.status{display:inline-block;padding:5px 12px;border-radius:4px;font-size:12px;font-weight:600}.status.active{background-color:#d4edda;color:#155724}.status.inactive{background-color:#f8d7da;color:#721c24}.settings-table input,.settings-table textarea,.settings-table select{width:100%;padding:8px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:inherit}.settings-table textarea{resize:vertical;min-height:60px;font-family:Courier New,monospace}.settings-table button{padding:7px 14px;margin-right:6px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.settings-table button:first-child{background-color:#28a745;color:#fff}.settings-table button:first-child:hover{background-color:#218838}.settings-table button:last-child{background-color:#dc3545;color:#fff}.settings-table button:last-child:hover{background-color:#c82333}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;box-shadow:0 10px 40px #0003;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-header h3{margin:0;color:#333;font-size:22px}.close-button{background:none;border:none;font-size:32px;color:#999;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#f8f9fa;color:#333}.modal-content form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#495057;font-weight:600;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group textarea{resize:vertical;font-family:Courier New,monospace}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid #e9ecef;margin-top:10px}.modal-footer button{padding:10px 24px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .2s}.modal-footer button[type=button]{background-color:#6c757d;color:#fff}.modal-footer button[type=button]:hover{background-color:#5a6268}.modal-footer button[type=submit]{background-color:#007bff;color:#fff}.modal-footer button[type=submit]:hover{background-color:#0056b3}.modal-footer button:disabled{background-color:#ccc;cursor:not-allowed}.empty-message{text-align:center;color:#999;padding:60px 40px;font-size:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}
