:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.admin-layout{display:flex;min-height:100vh;background-color:#f5f5f5}.admin-sidebar{width:250px;background-color:#2c3e50;color:#fff;padding:1rem}.admin-main{flex:1;padding:2rem;background-color:#fff;margin:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}.campaign-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.campaign-card{border:1px solid #ddd;border-radius:8px;padding:1rem;background-color:#fff;box-shadow:0 2px 4px #0000001a}.campaign-card h3{margin:0 0 .5rem;color:#2c3e50}.campaign-status{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;font-weight:500}.status-draft{background-color:#f39c12;color:#fff}.status-submitted{background-color:#3498db;color:#fff}.status-complete{background-color:#27ae60;color:#fff}.filters{display:flex;gap:1rem;margin-bottom:2rem;align-items:center}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.875rem;font-weight:500;color:#555}.filter-group select,.filter-group input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover{background-color:#229954}.loading{text-align:center;padding:2rem;color:#666}.error{background-color:#e74c3c;color:#fff;padding:1rem;border-radius:4px;margin-bottom:1rem}.campaign-details{display:grid;gap:2rem;grid-template-columns:1fr 1fr}.detail-section{background-color:#f8f9fa;padding:1.5rem;border-radius:8px}.detail-section h3{margin:0 0 1rem;color:#2c3e50}.detail-list{list-style:none;padding:0;margin:0}.detail-list li{padding:.5rem 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between}.detail-list li:last-child{border-bottom:none}.export-links{display:flex;gap:.5rem;flex-wrap:wrap}.nav-link{display:block;padding:.75rem 1rem;color:#ecf0f1;text-decoration:none;border-radius:4px;margin-bottom:.5rem;transition:background-color .2s}.nav-link:hover,.nav-link.active{background-color:#34495e;color:#fff}.sidebar-title{font-size:1.25rem;font-weight:700;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #34495e}.error-boundary.admin-error{background-color:#f8d7da;border-color:#f5c6cb}.error-boundary.admin-error h2,.error-boundary.admin-error p{color:#721c24}.admin-api-error-boundary{display:flex;justify-content:center;align-items:center;min-height:300px;padding:2rem;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin:1rem}.admin-api-error-boundary .error-content{text-align:center;max-width:500px}.admin-api-error-boundary h3{color:#721c24;margin-bottom:1rem}.admin-api-error-boundary p{color:#721c24;margin-bottom:1.5rem}.admin-api-error-boundary .error-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.admin-api-error-boundary .btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;text-decoration:none;display:inline-block}.admin-api-error-boundary .btn-primary{background-color:#dc3545;color:#fff}.admin-api-error-boundary .btn-primary:hover{background-color:#c82333}.admin-api-error-boundary .btn-secondary{background-color:#6c757d;color:#fff}.admin-api-error-boundary .btn-secondary:hover{background-color:#545b62}
