body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;margin:0;padding:10px;line-height:1.6;max-width:100%;box-sizing:border-box;background-color:#f5f5f5;color:#333}h1{color:#2c3e50;margin-top:0;font-size:2em;font-weight:600}h2{color:#34495e;margin-top:0;font-size:1.5em;font-weight:600;border-bottom:2px solid #3498db;padding-bottom:8px;margin-bottom:15px}h3{color:#34495e;margin-top:0;font-size:1.2em;font-weight:600}button{padding:10px 20px;margin:4px;cursor:pointer;font-size:16px;min-height:44px;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#333;transition:all .2s ease;font-weight:500}button:hover{background-color:#f0f0f0;border-color:#bbb}button:active{background-color:#e0e0e0}button.badge:hover{border-color:transparent!important}button.badge.selected-rsvp:hover{border-color:inherit!important;outline-color:inherit!important}button[type=submit],button.primary{background-color:#3498db;color:#fff;border-color:#2980b9}button[type=submit]:hover,button.primary:hover{background-color:#2980b9;border-color:#21618c}button.danger{background-color:#e74c3c;color:#fff;border-color:#c0392b}button.danger:hover{background-color:#c0392b;border-color:#a93226}button.secondary{background-color:#95a5a6;color:#fff;border-color:#7f8c8d}button.secondary:hover{background-color:#7f8c8d;border-color:#6c7a7b}input[type=text],input[type=email],input[type=password],input[type=number],input[type=datetime-local],textarea,select{padding:10px;margin:4px 0;font-size:16px;box-sizing:border-box;width:100%;max-width:100%;border:1px solid #ddd;border-radius:4px;background-color:#fff;transition:border-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}input[type=checkbox],input[type=radio]{width:auto;margin:4px;cursor:pointer}textarea{min-height:80px;resize:vertical}label{display:block;margin-bottom:6px;font-weight:600;color:#555;font-size:.95em}form>div{margin-bottom:16px}.card{background-color:#fff;border:1px solid #ddd;border-radius:6px;padding:20px;margin:15px 0;box-shadow:0 2px 4px #0000000d}.card-header{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600;margin:0 4px}button.badge{box-sizing:border-box!important}button.badge.badge-success{border:2px solid #155724!important}button.badge.badge-warning{border:2px solid #856404!important}button.badge.badge-danger{border:2px solid #721c24!important}button.badge.badge-success{background-color:#d4edda!important;color:#155724!important}button.badge.badge-warning{background-color:#fff3cd!important;color:#856404!important}button.badge.badge-danger{background-color:#f8d7da!important;color:#721c24!important}.badge-success{background-color:#d4edda;color:#155724}.badge-warning{background-color:#fff3cd;color:#856404}.badge-danger{background-color:#f8d7da;color:#721c24}.badge-info{background-color:#d1ecf1;color:#0c5460}.badge-secondary{background-color:#e2e3e5;color:#383d41}table{width:100%;border-collapse:collapse;overflow-x:auto;display:block;background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000000d}table th{background-color:#f8f9fa;font-weight:600;color:#495057;text-align:left;padding:12px;border-bottom:2px solid #dee2e6}table td{padding:12px;border-bottom:1px solid #dee2e6}table tr:hover{background-color:#f8f9fa}table tr:last-child td{border-bottom:none}.nav-bar{background-color:#fff;border-bottom:2px solid #3498db;padding:15px;margin:-10px -10px 20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;box-shadow:0 2px 4px #0000000d}.nav-bar h1{margin:0;flex:1 1 auto;min-width:120px;border-bottom:none;padding-bottom:0}.nav-bar .nav-actions{display:flex;flex-wrap:wrap;gap:8px}.section{background-color:#fff;border:1px solid #ddd;border-radius:6px;padding:20px;margin:15px 0;box-shadow:0 2px 4px #0000000d}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.section-header h2{margin:0;border-bottom:none;padding-bottom:0}@media (max-width: 768px){body{padding:8px;margin:0;background-color:#f5f5f5}.nav-bar{margin:-8px -8px 15px;padding:12px}h1{font-size:1.5em;margin:10px 0}h2{font-size:1.3em;margin:8px 0;border-bottom-width:1px}h3{font-size:1.1em;margin:6px 0}button{width:100%;margin:4px 0;padding:12px 16px}.nav-bar button{width:auto;flex:1 1 auto;min-width:100px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=datetime-local],textarea,select{width:100%;margin:4px 0;padding:10px}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px;margin:4px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}table tr{display:table;width:100%;table-layout:fixed}table th,table td{padding:8px 4px;font-size:.9em;word-wrap:break-word}.button-group{display:flex;flex-wrap:wrap;gap:8px}.button-group button{flex:1 1 auto;min-width:100px}div[style*=margin] button{display:inline-block;width:auto;margin:4px}div[style*=max-width]{max-width:100%!important;margin:10px 0!important;padding:10px!important}.section,.card{padding:15px;margin:10px 0}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow-y:auto}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:90%;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;position:relative;box-sizing:border-box}.modal-header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background-color:#fff;z-index:10}.modal-header h2{margin:0;border-bottom:none;padding-bottom:0}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background-color:#f0f0f0}.modal-body{padding:20px}.modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background-color:#fff}@media (max-width: 768px){.modal-overlay{padding:10px}.modal{max-width:100%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:15px}}
