.loyalty-form { max-width: 880px; margin: auto; background: #fff; border-radius: 10px; padding: 30px; box-shadow: 0 3px 10px rgba(0,0,0,.1); }
.loyalty-form label { font-weight: 600; margin-top: 15px; display: block; }
.loyalty-form select, .loyalty-form input, .loyalty-form button { width: 100%; padding: 10px; margin-top: 6px; border: 1px solid #ccc; border-radius: 6px; font-size: 15px; }
.loyalty-form input[type="number"] { -moz-appearance: textfield; }
.loyalty-form input[type="number"]::-webkit-outer-spin-button, .loyalty-form input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.loyalty-form button { background: #00695c; color: #fff; font-weight: 700; cursor: pointer; margin-top: 24px; }
.loyalty-form button:hover { background: #004d40; }
.loyalty-form .result { margin-top: 30px; background: #e8f5e9; border-left: 5px solid #2e7d32; padding: 22px; border-radius: 6px; }
.loyalty-form .result p { margin: 6px 0; }
.loyalty-form .schedule { white-space: pre-wrap; font-family: monospace; background: #fafafa; border: 1px dashed #bbb; padding: 12px; border-radius: 6px; margin-top: 14px; }
