* { box-sizing: border-box; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } body { background: #f5f6fa; padding: 30px; color: #222; } form { background: white; padding: 25px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); max-width: 1200px; margin: auto; } table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 8px; } thead { background: #333; color: white; } tbody tbody:nth-child(even) td { background-color: #000; } th { padding: 12px; text-align: center; font-weight: 600; } td { padding: 8px; text-align: center; border-bottom: 1px solid #ddd; } tbody tr:hover { background: #f1f5ff; } input, select { width: 100%; padding: 6px 8px; border: 1px solid #ccc; border-radius: 6px; background: white; } input[type="checkbox"] { width: 18px; height: 18px; cursor: pointer; } input[type="color"] { height: 35px; padding: 2px; cursor: pointer; } input:focus, select:focus { outline: none; border-color: #4a90e2; box-shadow: 0 0 0 2px rgba(74,144,226,0.2); } button { margin-top: 15px; padding: 10px 18px; border: none; border-radius: 8px; cursor: pointer; font-size: 15px; transition: 0.15s; } button:hover { transform: translateY(-1px); opacity: 0.9; } button[type="submit"] { background: #2563eb; color: white; } button[type="button"] { background: #e5e7eb; color: #111; } button:disabled { background: #bdbdbd; border-color: #bdbdbd; color: #666; cursor: not-allowed; opacity: 1; } .remove { background: #333 !important; color: white; padding: 6px 10px; font-size: 13px; margin: 0; } #courses tr { transition: background 0.2s; } /* Better mobile display */ @media (max-width: 900px) { body { padding: 10px; } form { padding: 15px; } table { display: block; overflow-x: auto; white-space: nowrap; } } .loader { border: 16px solid #f3f3f3; border-radius: 50%; border-top: 16px solid #3498db; width: 120px; height: 120px; -webkit-animation: spin 2s linear infinite; /* Safari */ animation: spin 2s linear infinite; } /* Safari */ @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #pdf_iframe { width: min(100%, 1400px); aspect-ratio: 297 / 210; border: 1px solid #ccc; margin: 1rem auto; } footer { margin-top: 2em; text-align: center }