*{box-sizing:border-box}body{margin:0;font-family:system-ui,Arial,sans-serif;background:#f5f3ee;color:#2b2b2b}.container{max-width:900px;margin:0 auto;padding:24px 16px}header h1{margin:0}.subtitle{margin:4px 0 24px;color:#6b6b6b}.app-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.user-box{display:flex;align-items:center;gap:10px}.role-badge{background:#6b8e4e;color:#fff;border-radius:10px;padding:1px 8px;font-size:.75rem;text-transform:uppercase}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{background:#fff;padding:28px;border-radius:12px;width:100%;max-width:360px;box-shadow:0 4px 20px #00000014}.login-card h1{text-align:center;margin-top:0}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#555}.login-card label.checkbox{flex-direction:row;align-items:center;gap:8px}.login-card input[type=email],.login-card input[type=password],.login-card input[type=text]{padding:9px;border:1px solid #ccc;border-radius:6px}button.link{background:transparent;color:#6b8e4e;text-align:center}.app-footer{margin-top:32px;padding-top:16px;border-top:1px solid #ddd;text-align:center}.login-footer{text-align:center;margin:12px 0 0}.policy{background:#fff;padding:20px 24px;border-radius:8px;line-height:1.6}.policy h2{margin-top:22px;font-size:1.1rem}.policy-updated{color:#888;font-style:italic;margin-top:24px}button:disabled{opacity:.6;cursor:not-allowed}.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #ddd}.tab{background:transparent;color:#555;border-radius:6px 6px 0 0}.tab:hover{background:#e7e1d5}.tab.active{background:#6b8e4e;color:#fff}.form-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.form-row input{flex:1 1 140px;padding:8px;border:1px solid #ccc;border-radius:6px}button{padding:8px 14px;border:none;border-radius:6px;background:#6b8e4e;color:#fff;cursor:pointer}button:hover{background:#5a7a41}button.danger{background:#b5523f}button.danger:hover{background:#9a4434}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee}th{background:#efeae0}.error{color:#b5523f;background:#f7e3df;padding:8px 12px;border-radius:6px}.info{color:#3f5c34;background:#e2ede0;padding:8px 12px;border-radius:6px}.status{border-radius:10px;padding:2px 10px;font-size:.8rem}.status-confirmed{background:#d8ecd2;color:#2f5a25}.status-pending{background:#f6e9c8;color:#7a5f16}.status-rejected{background:#f2d5cf;color:#8a3524}.lesson-form{background:#fff;padding:16px;border-radius:8px;margin-bottom:24px}.lesson-form h3{margin-top:0}.lesson-form label{display:flex;flex-direction:column;font-size:.85rem;color:#555;gap:4px}.lesson-form label.grow{flex:1 1 200px}.lesson-form input,.lesson-form select{padding:8px;border:1px solid #ccc;border-radius:6px}.form-row.assignment select{flex:1 1 160px}.hint{color:#888;font-style:italic}.horse-form{background:#fff;padding:16px;border-radius:8px;margin-bottom:20px}.horse-form label{display:flex;flex-direction:column;font-size:.85rem;color:#555;gap:4px}.horse-form input{padding:8px;border:1px solid #ccc;border-radius:6px}.horse-details{margin:8px 0 0;font-size:.9rem;color:#444}.horse-details ul{padding-left:18px;margin:6px 0 0}.horse-photo{max-width:180px;max-height:180px;border-radius:8px;display:block;margin-bottom:8px}.horse-preview img{max-width:200px;max-height:200px;border-radius:8px;margin-top:8px}.settings-box{background:#fff;border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}.settings-box label{display:flex;align-items:center;gap:6px}.account-form{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.account-form input{padding:6px;border:1px solid #ccc;border-radius:6px}.pending-box{background:#fbf5e6;border:1px solid #e6d9b0;border-radius:8px;padding:12px 16px;margin-bottom:20px}.pending-box h3{margin-top:0}.pending-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;border-top:1px solid #eee1c2}.pending-row select{padding:6px;border:1px solid #ccc;border-radius:6px}.day-group{margin-bottom:20px}.day-heading{border-bottom:2px solid #6b8e4e;padding-bottom:4px}.lesson-card{background:#fff;border-radius:8px;padding:10px 14px;margin-bottom:8px}.lesson-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lesson-time{font-weight:700}.lesson-type{background:#e2ede0;color:#3f5c34;border-radius:10px;padding:1px 10px;font-size:.8rem}.lesson-instructor{color:#4a6fa5;font-size:.85rem}.lesson-open{background:#e0eaf5;color:#2f4a6b;border-radius:10px;padding:1px 8px;font-size:.8rem}.checkbox-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.open-lesson{background:#fff;border-radius:8px;padding:10px 14px;margin-bottom:8px}.open-lesson-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.open-lesson .register-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.reason{color:#8a3524;font-size:.85rem}.lesson-notes{color:#666;flex:1}.lesson-count{color:#6b8e4e;font-size:.85rem}.assignment-list{margin:10px 0 0;padding-left:20px}
