*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#2ecc71;--green-dark:#27ae60;--gold:#f1c40f;--gold-dark:#d4ac0d;--blue:#3498db;--bg:#f0f9f0;--surface:#fff;--border:#d5e8d5;--text:#1a2e1a;--text-muted:#5a7a5a;--radius:12px;--shadow:0 2px 12px #00000014}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:DM Sans,system-ui,sans-serif}.app-nav{background:var(--surface);border-bottom:2px solid var(--green);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 2rem;display:flex;position:sticky;top:0}.nav-logo{color:var(--text);font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;text-decoration:none}.nav-logo span{color:var(--green)}.nav-links{align-items:center;gap:1.25rem;display:flex}.nav-links a{color:var(--text);font-size:.95rem;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--green-dark)}.nav-signout{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .9rem;font-size:.85rem}.nav-signout:hover{border-color:var(--green);color:var(--green-dark)}.auth-page{background:linear-gradient(135deg,#e8f8e8 0%,#f0f9f0 50%,#e8f4ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background:var(--surface);border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2rem;box-shadow:0 8px 32px #0000001f}.auth-logo{text-align:center;color:var(--text);margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:2rem;font-weight:700}.auth-logo span{color:var(--green)}.auth-tagline{text-align:center;color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.auth-tabs{background:var(--bg);border-radius:999px;gap:.5rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.auth-tabs button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:999px;flex:1;padding:.5rem;font-size:.95rem;font-weight:500;transition:all .15s}.auth-tabs button.active{background:var(--green);color:#fff}.auth-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.75rem;margin-bottom:.3rem;font-size:.82rem;font-weight:600;display:block}.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password],.auth-card input[type=date]{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text);outline:none;padding:.75rem 1rem;font-size:1rem;transition:border-color .15s}.auth-card input:focus{border-color:var(--green)}.auth-card button[type=submit]{background:var(--green);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;margin-top:1.25rem;padding:.85rem;font-size:1rem;font-weight:600;transition:background .15s}.auth-card button[type=submit]:hover{background:var(--green-dark)}.auth-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-terms-label{color:var(--text-muted);cursor:pointer;align-items:flex-start;gap:.5rem;margin-top:.75rem;font-size:.85rem;display:flex}.auth-terms-label a{color:var(--green-dark)}.auth-field-hint{color:var(--text-muted);margin-top:.3rem;font-size:.8rem}.auth-error{color:#dc2626;border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;margin:.75rem 0;padding:.75rem 1rem;font-size:.9rem}.auth-success{color:#16a34a;border-radius:var(--radius);background:#f0fdf4;border:1px solid #86efac;margin:.75rem 0;padding:.75rem 1rem;font-size:.9rem}.auth-divider{text-align:center;color:var(--text-muted);margin:1rem 0;font-size:.85rem;position:relative}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);width:40%;height:1px;position:absolute;top:50%}.auth-divider:before{left:0}.auth-divider:after{right:0}.google-btn{border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;width:100%;color:var(--text);background:#fff;padding:.75rem;font-size:.95rem;font-weight:500;transition:border-color .15s}.google-btn:hover{border-color:var(--green)}.auth-footer-note{text-align:center;color:var(--text-muted);margin-top:1rem;font-size:.82rem}.auth-footer-note a{color:var(--green-dark)}.parent-info-box{background:var(--bg);border-radius:var(--radius);margin:1rem 0;padding:1rem}.parent-info-box div{border-bottom:1px solid var(--border);justify-content:space-between;padding:.4rem 0;display:flex}.parent-info-box div:last-child{border-bottom:none}.parent-info-box span{color:var(--text-muted);font-size:.85rem}.btn-secondary{border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;width:100%;color:var(--text-muted);background:0 0;padding:.75rem;font-size:.95rem}.btn-secondary:hover{color:#dc2626;border-color:#dc2626}.page-container{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h1{margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.text-muted{color:var(--text-muted)}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.dash-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);border:2px solid #0000;padding:1.5rem;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.dash-card:hover{border-color:var(--green);transform:translateY(-2px)}.dash-card-icon{margin-bottom:.75rem;font-size:2rem}.dash-card h3{margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.dash-card p{color:var(--text-muted);font-size:.85rem}.btn-primary{background:var(--green);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--green-dark)}.tee-time-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.tee-time-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1.5px solid var(--border);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.ttc-header{justify-content:space-between;align-items:flex-start;display:flex}.ttc-course{font-size:1rem;font-weight:600}.ttc-date{color:var(--text-muted);font-size:.82rem}.ttc-body{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.ttc-host{color:var(--text);font-weight:500}.ttc-notes{font-style:italic}
