:root{font-family:system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;width:100%}body{background:linear-gradient(135deg,#1a1a2e,#16213e)}#root{display:flex;justify-content:center}*{box-sizing:border-box}.app{width:100%;max-width:700px;padding:20px}h1{color:#fff;text-align:center;margin-bottom:24px}.controls{display:flex;gap:10px;margin-bottom:20px;justify-content:center;flex-wrap:wrap}.controls select,.controls input,.controls button{padding:12px 16px;font-size:16px;border:none;border-radius:8px}.controls select,.controls input{background:#fff}.controls button{background:#4ade80;font-weight:600;cursor:pointer}.alert-toggle{display:block;width:100%;padding:12px;margin-bottom:16px;background:#fbbf24;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.alert-form{background:#ffffff1a;padding:16px;border-radius:10px;margin-bottom:20px}.alert-form p{color:#fff;margin:0 0 12px}.alert-fields{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.alert-fields input,.alert-fields select{padding:10px;border:none;border-radius:6px;font-size:14px}.alert-fields input{flex:1;min-width:140px}.alert-fields .to-label{color:#fff}.alert-fields button{padding:10px 16px;background:#4ade80;border:none;border-radius:6px;font-weight:600;cursor:pointer}.alert-status{margin-top:16px;color:#4ade80}.alert-form .alert-status{margin:16px 0 0}.tee-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.tee-time{background:#4ade80;padding:14px;border-radius:10px;cursor:pointer;transition:transform .1s,box-shadow .1s}.tee-time:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.tee-time:active{transform:translateY(0)}.tee-time .time{font-size:18px;font-weight:700;margin-bottom:6px}.tee-time .details{display:flex;align-items:center;gap:8px;font-size:12px}.tee-time .course-type{background:#00000026;padding:3px 6px;border-radius:4px}.tee-time .spots{opacity:.8}.booking-hint{text-align:center;color:#ffffff80;font-size:12px;margin-top:16px}.loading,.no-times{color:#fff;text-align:center;padding:40px}@media(max-width:500px){.app{padding:16px}h1{font-size:24px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.controls button{grid-column:1 / -1}.alert-fields{flex-direction:column}.alert-fields input,.alert-fields select,.alert-fields button{width:100%}.alert-fields .to-label{display:none}.tee-times{grid-template-columns:1fr 1fr;gap:8px}.tee-time{padding:10px}.tee-time .time{font-size:16px}}
