*{margin:0;padding:0;box-sizing:border-box}html{background:#f5f5f5}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#0070f3;text-decoration:none}a:hover{text-decoration:underline}button{padding:.5rem 1rem;background:#0070f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}button:hover{background:#0051cc}input,select,textarea{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}table{width:100%;border-collapse:collapse;margin:1rem 0;background:#fff}td,th{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}th{background:#f5f5f5;font-weight:600}.card{background:#fff;border-radius:8px;padding:1.5rem;margin:1rem 0;box-shadow:0 1px 3px rgba(0,0,0,.1)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem;margin:1.5rem 0}.loading{text-align:center;padding:2rem;color:#666}.error{background:#fee;color:#c00}.error,.success{padding:1rem;border-radius:4px;margin:1rem 0}.success{background:#efe;color:#060}