*{box-sizing:border-box;margin:0;padding:0}:root{--background:#ffffff;--foreground:#333333;--border:#e0e0e0;--accent:#4a90e2;--accent-hover:#357abd}@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap");body{color:var(--foreground);background:var(--background);font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.container{width:100%;margin:0;padding:2rem}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(1turn)}}.error-text{color:#ef4444;font-size:1.25rem;margin-bottom:.5rem}.table-wrapper{overflow-x:auto;box-shadow:0 4px 6px rgba(0,0,0,.1);border-radius:8px;margin-top:2rem}table{width:100%;border-collapse:collapse;background:var(--background);border:1px solid var(--border)}thead{background:#000000;color:white}th{padding:1rem 1.5rem;text-align:left;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-right:1px solid rgba(255,255,255,.2)}th:last-child{border-right:none}tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}tbody tr:hover{background:rgba(0,0,0,.02)}td{padding:2rem;font-size:.875rem;border-right:1px solid var(--border);vertical-align:top;white-space:normal;word-wrap:break-word;line-height:150%}td:last-child{border-right:none}.text-center{text-align:center}.text-muted{color:#6b7280}h1{font-size:2rem;font-weight:700;margin-bottom:2rem}.row-count{margin-top:1.5rem;font-size:.875rem}h2,p{margin-bottom:25px}h2{margin-top:25px}li{margin-left:20px;margin-bottom:10px}.filter-container{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#f9f9f9;border-radius:8px}.filter-container label{font-weight:600;font-size:.875rem}.filter-input{flex:1 1;max-width:400px;padding:.75rem 1rem;font-size:.875rem;font-family:Open Sans,sans-serif;border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s}.filter-input:focus{border-color:var(--accent)}.clear-button{padding:.75rem 1.5rem;font-size:.875rem;font-family:Open Sans,sans-serif;font-weight:600;background:var(--accent);color:white;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.clear-button:hover{background:var(--accent-hover)}.pagination-info{margin-top:1.5rem;margin-bottom:1rem;font-size:.875rem}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:2rem 0;padding:1rem}.pagination-pages{display:flex;gap:.25rem}.pagination-button{padding:.5rem 1rem;font-size:.875rem;font-family:Open Sans,sans-serif;font-weight:500;background:white;color:var(--foreground);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s}.pagination-button:hover:not(:disabled){background:var(--accent);color:white;border-color:var(--accent)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-button.active{background:var(--accent);color:white;border-color:var(--accent);font-weight:600}.page-input-form{display:flex;align-items:center;gap:.5rem;margin-left:1rem;padding-left:1rem;border-left:2px solid var(--border)}.page-input-label{font-size:.875rem;font-weight:500;color:var(--foreground)}.page-input{width:70px;padding:.5rem .75rem;font-size:.875rem;font-family:Open Sans,sans-serif;border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s;text-align:center}.page-input:focus{border-color:var(--accent)}.page-input-button{padding:.5rem 1rem;font-size:1rem;font-weight:600;background:var(--accent);color:white;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.page-input-button:hover{background:var(--accent-hover)}.empty-cell{color:#999;font-style:italic}.sort-container{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:var(--background);border-radius:8px}.sort-container label{font-weight:600}.sort-container label,.sort-select{font-size:.875rem;color:var(--foreground)}.sort-select{padding:.5rem 1rem;font-family:Open Sans,sans-serif;border:1px solid var(--border);border-radius:4px;background:white;cursor:pointer;outline:none;transition:border-color .2s}.sort-select:focus,.sort-select:hover{border-color:var(--accent)}