@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.875rem;line-height:1.5;color:#111827;background-color:#f9fafb}a{color:#3b82f6;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:#111827}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-muted{color:#9ca3af}.text-secondary{color:#4b5563}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-error{color:#ef4444}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}@media(min-width:1024px){.container{padding:0 1.5rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;border-radius:.375rem;transition:all .15s ease;cursor:pointer;border:none;outline:none}.btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;border-radius:.375rem;transition:all .15s ease;cursor:pointer;border:none;outline:none}.btn-primary:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;border-radius:.375rem;transition:all .15s ease;cursor:pointer;border:none;outline:none}.btn-secondary:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:#f3f4f6;color:#111827}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;border-radius:.375rem;transition:all .15s ease;cursor:pointer;border:none;outline:none}.btn-danger:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#eb1515}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.btn-lg{padding:1rem 1.5rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.25rem;font-weight:500;color:#111827}.form-input{width:100%;padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:#f9fafb;cursor:not-allowed}.form-input::placeholder{color:#9ca3af}.form-textarea{width:100%;padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea:disabled{background-color:#f9fafb;cursor:not-allowed}.form-textarea::placeholder{color:#9ca3af}.form-textarea{min-height:100px;resize:vertical}.form-select{width:100%;padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-select:disabled{background-color:#f9fafb;cursor:not-allowed}.form-select::placeholder{color:#9ca3af}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-error{margin-top:.25rem;font-size:.75rem;color:#ef4444}.card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.card-title{font-size:1.125rem;font-weight:600}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.5rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.table th{font-weight:600;color:#4b5563;background-color:#f9fafb}.table tbody tr:hover{background-color:#f9fafb}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge-queued{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:#9ca3af1a;color:#9ca3af}.badge-running{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:#3b82f61a;color:#3b82f6}.badge-waiting-manual{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:#f59e0b1a;color:#f59e0b}.badge-succeeded{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:#10b9811a;color:#10b981}.badge-failed{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:#ef44441a;color:#ef4444}.badge-canceled{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background-color:#6b72801a;color:#6b7280}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:.5rem}
