:root{--page-bg: #f56e92;--text: #000000;--text-invert: #ffffff;--panel-bg: #ffffff;--link-border: #6b4246;--btn: #f56e92;--table-head: #f6eeaf;--table-row: #d9cf94;--table-border: #000000;font-family:Roboto,sans-serif;font-size:100%;line-height:1.5;font-weight:400;color:var(--text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin-top:0}ul,ol,p{margin:0}*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-width:320px;background:var(--page-bg)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}:root{--primary-blue: #f66e92;--header-blue: #d45d7d;--date-bar-bg: #333333;--btn-red: #333333;--table-head-gold: #f6eeaf;--row-yellow: #f6eeaf;--row-green: #d9cf94;--text-white: #ffffff;--text-dark: #000000}body{margin:0;padding:0;font-family:sans-serif;background-color:var(--primary-blue)}.page{display:flex;flex-direction:column;min-height:100vh;background-color:var(--primary-blue)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}.navbar{background-color:#f1f1f1;border-bottom:1px solid #ccc;padding:10px 0}.nav-container{display:flex;justify-content:space-between;align-items:center}.brand-text{font-weight:700;font-size:18px;color:var(--text-dark)}.nav-links a{text-decoration:none;color:var(--text-dark);font-size:14px}.welcome-header{background-color:var(--header-blue);color:var(--text-white);text-align:center;padding:15px 0;border-bottom:4px solid #d45d7d}.welcome-header h1{margin:0;font-size:24px;font-weight:700}.date-display-bar{background-color:#f56e92;background:linear-gradient(to bottom,#f56e92,#d45d7d);color:#fff;text-align:center;padding:10px 0;border-top:1px solid #ff9dbb;border-bottom:1px solid #d45d7d;margin-bottom:20px}.date-display-bar h2{margin:0;font-size:18px;font-weight:700;text-shadow:1px 1px 2px black}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;width:100%}.controls-section{margin-bottom:20px;background-color:transparent;display:flex;justify-content:center;width:100%}.date-form{display:flex;gap:10px;align-items:center}.date-input{padding:8px;border:1px solid #ccc;border-radius:4px;font-size:16px}.btn-change{background-color:var(--btn-red);color:#fff;border:none;padding:9px 20px;font-size:16px;cursor:pointer;border-radius:4px;font-weight:700}.btn-change:hover{opacity:.9}.table-container{width:100%;overflow-x:auto;margin-bottom:40px;display:flex;justify-content:center}.results-table{width:100%;max-width:800px;border-collapse:collapse;box-shadow:0 4px 8px #0000001a;color:var(--text-dark)}.results-table th,.results-table td{border:1px solid #999;padding:8px 12px;text-align:left;font-size:14px}@media(max-width:768px){.results-table{max-width:600px}.results-table th,.results-table td{padding:4px 8px;font-size:12px}}.results-table th{background-color:var(--table-head-gold);color:var(--text-dark);font-weight:700;text-transform:uppercase;font-size:13px}@media(max-width:768px){.results-table th{font-size:11px}}.row-odd{background-color:var(--row-green)}.row-even{background-color:var(--row-yellow)}.result-cell{font-weight:700}.coupen-name{color:var(--text-dark)}.loading-cell,.no-data-cell{text-align:center;padding:20px;background-color:#fff}.site-footer{background-color:#fff;color:#666;text-align:center;padding:15px 0;margin-top:auto;font-size:13px;border-top:1px solid #ddd}.site-footer p{margin:5px 0}.site-footer a{color:#f56e92;text-decoration:none;font-weight:700}.site-footer a:hover{text-decoration:underline}.login-header{background-color:#d45d7d;color:#fff;text-align:center;padding:15px 0;border-bottom:4px solid #f56e92}.login-header h1{margin:0;font-size:24px;font-weight:700}.login-wrapper{flex:1;display:flex;justify-content:center;padding-top:50px;padding-bottom:50px;width:100%}.login-card{background-color:#fff;padding:30px;border-radius:4px;box-shadow:0 4px 10px #0000001a;width:100%;max-width:400px;text-align:left}.login-title{text-align:center;margin-top:0;margin-bottom:20px;font-size:20px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:700;font-size:14px;color:#333}.form-group input{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.form-group small{display:block;margin-top:5px;color:#6c757d;font-size:80%}.btn-login{display:block;width:100%;padding:10px;font-size:16px;color:#fff;background-color:#f56e92;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s}.btn-login:hover{background-color:#d45d7d}.btn-login:disabled{background-color:#e0a800;cursor:not-allowed;opacity:.65}.error-alert{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;padding:10px;border-radius:4px;margin-bottom:20px;font-size:14px;text-align:center}.admin-panel{min-height:100vh;background:#f66e92}.admin-header{background:#d45d7d;color:#fff;padding:1rem;box-shadow:0 2px 10px #0003;position:sticky;top:0;z-index:1000}.admin-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.admin-header h1{font-size:1.25rem;margin:0;font-weight:600}.header-actions{display:flex;gap:.5rem}.btn-user,.btn-logout{padding:.5rem .75rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-user:hover,.btn-logout:hover{background:#ffffff40}.admin-main{padding:1rem}.admin-container{max-width:1200px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000000d;padding:1rem}.admin-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:flex-end}.date-selector{display:flex;flex-direction:column;gap:.25rem}.date-selector label{font-size:.75rem;font-weight:700;color:#666}.search-form{flex:1;min-width:150px;display:flex;gap:.25rem}.search-input{flex:1;padding:.625rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.btn-search,.btn-create{padding:.625rem 1rem;border:none;border-radius:4px;font-weight:600;font-size:.875rem;cursor:pointer;white-space:nowrap}.btn-search{background:#f56e92;color:#fff}.btn-create{background:#00c853;color:#fff;box-shadow:0 2px 4px #00c8534d}.table-wrapper{margin:0 -1rem;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:#f6eeaf;color:#000;padding:.75rem;text-align:left;font-weight:600;font-size:.875rem;border-bottom:2px solid #ddd}.admin-table tr:nth-child(2n){background-color:#f6eeaf}.admin-table tr:nth-child(odd){background-color:#d9cf94}.admin-table td{padding:.75rem;border-bottom:1px solid #ddd;font-size:.875rem;color:#000}.coupon-info{display:flex;flex-direction:column}.coupen-main{font-weight:600;color:#333}.coupen-name{font-size:.75rem;color:#000;font-weight:700}.result-cell{font-weight:800;color:#000;font-family:monospace;font-size:1rem}.status-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#c62828}.btn-edit{padding:.4rem .8rem;background:#fff0f3;color:#f56e92;border:none;border-radius:4px;font-weight:600;font-size:.75rem;cursor:pointer;margin-right:.5rem}.btn-delete{padding:.4rem .8rem;background:#ffebee;color:#c62828;border:none;border-radius:4px;font-weight:600;font-size:.75rem;cursor:pointer}.btn-delete:hover{background:#ffcdd2}@media screen and (max-width:768px){.admin-main{padding:.25rem}.admin-container{padding:.5rem}.admin-header h1{font-size:1rem}.admin-controls{flex-direction:column;align-items:stretch}.date-selector input,.search-input{width:100%;box-sizing:border-box}.admin-table thead{display:none}.admin-table tr{display:block;border:1px solid #ccc;border-radius:6px;margin-bottom:.75rem;padding:.25rem;background:#f9f9f9!important}.table-wrapper{overflow-x:hidden;margin:0}.admin-table td{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;padding:.35rem;text-align:right;font-size:.8rem;box-sizing:border-box;white-space:normal}.admin-table td:last-child{border-bottom:none}.admin-table td:before{content:attr(data-label);font-weight:700;color:#555;text-align:left;font-size:.7rem;text-transform:uppercase;flex:0 0 45%;margin-right:.5rem;white-space:normal}.admin-table td[data-label=Actions]{justify-content:flex-end;gap:.25rem;flex-wrap:wrap}.btn-edit,.btn-delete{padding:.25rem .5rem;font-size:.7rem;margin-right:.25rem}.coupen-name{font-size:.65rem;font-weight:700}.result-cell{font-size:.95rem}}@media screen and (max-width:420px){.admin-header h1{font-size:.95rem}.admin-table td{padding:.3rem;font-size:.75rem}.admin-table td:before{font-size:.6rem;flex:0 0 40%}}.pagination-footer{margin-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.per-page-selector{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666}.per-page-selector select{padding:.35rem;border-radius:4px;border:1px solid #ddd}.pagination-controls{display:flex;align-items:center;gap:.5rem}.btn-page{padding:.5rem .75rem;background:#fff;border:1px solid #ddd;border-radius:4px;font-size:.875rem;cursor:pointer}.btn-page:disabled{opacity:.5;cursor:not-allowed}.btn-page:not(:disabled):hover{background:#f8f9fa;border-color:#bbb}.page-status{font-size:.875rem;color:#333;padding:0 .5rem}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003;animation:slideUp .3s ease;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border-radius:12px 12px 0 0;position:sticky;top:0;z-index:10}.modal-header h2{margin:0;font-size:1.25rem;color:#d45d7d;font-weight:700}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:background .2s}.btn-close:hover{background:#eee}.game-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#444;margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.password-wrapper{position:relative}.password-wrapper input{padding-right:4.5rem}.btn-toggle-password{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#d45d7d;font-weight:700;cursor:pointer;padding:.35rem .6rem;border-radius:6px;font-size:.85rem}.btn-toggle-password:hover,.btn-toggle-password:focus{background:#d45d7d14;outline:none}.form-group input:focus,.form-group select:focus{outline:none;border-color:#f56e92;box-shadow:0 0 0 3px #f56e921a}.form-group small{display:block;margin-top:.4rem;font-size:.75rem;color:#888}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}.checkbox-group label{display:flex;align-items:center;gap:.625rem;cursor:pointer;font-weight:600;color:#333}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#f56e92}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.btn-cancel,.btn-save{flex:1;padding:.875rem;border-radius:6px;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .1s,opacity .2s}.btn-cancel{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-save{background:#d45d7d;color:#fff;border:none;box-shadow:0 4px 12px #d45d7d33}.btn-cancel:hover{background:#eee}.btn-save:hover{opacity:.9}.btn-cancel:active,.btn-save:active{transform:scale(.98)}@media screen and (max-width:480px){.form-row{grid-template-columns:1fr}}
