*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background-color:#4a5568;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:420px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#1a202c;font-size:28px;font-weight:700;margin-bottom:8px}.login-header p{color:#718096;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;padding:12px 16px;transition:all .2s}.form-group input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.login-button{background-color:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:background-color .2s}.login-button:hover{background-color:#3182ce}.login-button:active{background-color:#2c5282}.dashboard{background-color:#f5f7fa;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;padding:20px 24px;width:100%}.header-content h1{color:#1a202c;flex:0 0 auto;font-size:24px;font-weight:700;margin:0}.logout-button{background-color:#edf2f7;border:none;border-radius:8px;color:#2d3748;cursor:pointer;flex:0 0 auto;font-size:14px;font-weight:600;margin-left:auto;padding:10px 20px;transition:all .2s}.logout-button:hover{background-color:#e2e8f0}.dashboard-layout{display:flex;min-height:calc(100vh - 80px)}.dashboard-main{flex:1 1;overflow-x:auto;padding:32px 24px}.dashboard-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:32px}.dashboard-header-section{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:24px}.dashboard-header-section h2{color:#1a202c;font-size:20px;font-weight:700}.header-actions{align-items:center;display:flex;gap:12px}.refresh-button{background-color:#edf2f7;color:#2d3748;transition:all .2s}.refresh-button:hover:not(:disabled){background-color:#e2e8f0}.add-cron-button{background-color:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .2s}.add-cron-button:hover{background-color:#3182ce}.add-cron-button:active{background-color:#2c5282}.empty-state p{margin-bottom:24px}.add-cron-button:disabled{cursor:not-allowed;opacity:.6}.add-cron-button:disabled:hover{box-shadow:none;transform:none}.cron-jobs-page{padding:0}.sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 4px #00000005;min-height:calc(100vh - 80px);padding:24px 0;width:250px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:0 12px}.nav-item{align-items:center;border-radius:8px;color:#4a5568;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s}.nav-item:hover{background-color:#f7fafc;color:#2d3748}.nav-item.active{background-color:#ebf8ff;color:#2b6cb0;font-weight:600}.nav-icon{font-size:18px;text-align:center;width:24px}.nav-label{flex:1 1}.dashboard-home{padding:24px}.dashboard-home h2{color:#1a202c;font-size:24px;font-weight:700;margin-bottom:24px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.summary-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:24px;transition:all .2s}.summary-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.summary-card.success{border-color:#48bb78}.summary-card.failed{border-color:#f56565}.summary-card-icon{align-items:center;background-color:#f7fafc;border-radius:12px;display:flex;font-size:32px;height:56px;justify-content:center;width:56px}.summary-card-icon.success{background-color:#c6f6d5}.summary-card-icon.failed{background-color:#fed7d7}.summary-card-icon.rate{background-color:#bee3f8}.summary-card-content{flex:1 1}.summary-card-label{color:#718096;font-size:14px;font-weight:500;margin-bottom:4px}.summary-card-value{color:#1a202c;font-size:28px;font-weight:700}.summary-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.summary-section h3{color:#1a202c;font-size:18px;font-weight:600;margin-bottom:16px}.status-code-list{display:flex;flex-direction:column;gap:12px}.status-code-item{align-items:center;background-color:#f7fafc;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.status-code{color:#2d3748;font-size:14px;font-weight:600}.status-count{color:#718096;font-size:14px;font-weight:500}.job-summary-list{display:flex;flex-direction:column;gap:12px}.job-summary-item{align-items:center;background-color:#f7fafc;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.job-name{color:#2d3748;font-size:14px;font-weight:500}.job-count{color:#718096;font-size:14px}.cron-list{display:flex;flex-direction:column;gap:16px}.cron-item{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .2s}.cron-item.disabled{background:#edf2f7;opacity:.7}.cron-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.cron-item-content{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.cron-item-main{flex:1 1}.cron-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.cron-name{color:#1a202c;flex:1 1;font-size:18px;font-weight:700;margin:0}.cron-status{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.cron-status.enabled{background-color:#c6f6d5;color:#22543d}.cron-status.disabled{background-color:#fed7d7;color:#742a2a}.cron-url{color:#4a5568;font-family:Monaco,Courier New,monospace;font-size:14px;margin-bottom:12px;word-break:break-all}.cron-meta{display:flex;flex-direction:column;gap:8px;margin-top:12px}.cron-meta-item{color:#4a5568;font-size:14px}.cron-meta-item strong{color:#2d3748;font-weight:600}.cron-pattern{margin-top:4px}.cron-pattern code{background-color:#edf2f7;border-radius:4px;color:#2d3748;font-family:Monaco,Courier New,monospace;font-size:12px;padding:2px 6px}.cron-actions{display:flex;flex-shrink:0;gap:8px}.delete-button,.edit-button{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:20px;padding:8px;transition:all .2s}.edit-button:hover{background-color:#bee3f8;transform:scale(1.1)}.edit-button:active{transform:scale(.95)}.delete-button:hover{background-color:#fed7d7;transform:scale(1.1)}.delete-button:active{transform:scale(.95)}.cron-execution-summary{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.execution-summary-header-row{margin-bottom:8px}.execution-summary-header{color:#2d3748;font-size:14px;font-weight:600;margin:0}.execution-summary-stats-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.execution-summary-stats{display:flex;flex:1 1;flex-wrap:wrap;gap:16px}.summary-stat{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;gap:4px;min-width:80px;padding:8px 12px}.summary-stat.success{background-color:#f0fff4;border-color:#48bb78}.summary-stat.failed{background-color:#fff5f5;border-color:#f56565}.summary-stat.rate{background-color:#ebf8ff;border-color:#4299e1}.stat-label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#1a202c;font-size:18px;font-weight:700}.summary-stat.success .stat-value{color:#22543d}.summary-stat.failed .stat-value{color:#742a2a}.summary-stat.rate .stat-value{color:#2c5282}.view-executions-button{align-self:flex-start;background-color:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.view-executions-button:hover{background-color:#3182ce;box-shadow:0 2px 4px #4299e14d;transform:translateY(-1px)}.modal-overlay{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;box-shadow:0 20px 60px #0000004d;max-width:500px;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:2px solid #e2e8f0;padding:24px}.modal-header h2{color:#1a202c;font-size:20px;font-weight:700}.close-button{align-items:center;background:#0000;border:none;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.close-button:hover{background-color:#edf2f7;color:#2d3748}.modal-form{gap:20px;padding:24px}.form-group,.modal-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#2d3748;font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;outline:none;padding:12px 16px;resize:vertical;transition:all .2s}.form-group textarea{font-family:Monaco,Courier New,monospace;font-size:13px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-hint{color:#718096;font-size:12px;margin-top:-4px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.error-message{background-color:#fed7d7;border-radius:8px;font-size:14px;padding:12px;text-align:center}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-button,.submit-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.cancel-button{background-color:#edf2f7;color:#2d3748}.cancel-button:hover{background-color:#e2e8f0}.submit-button{background-color:#4299e1;color:#fff}.submit-button:hover{background-color:#3182ce}.submit-button:active{background-color:#2c5282}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}.submit-button:disabled:hover{box-shadow:none;transform:none}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.executions{padding:24px}.executions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.executions-header h2{color:#1a202c;font-size:24px;font-weight:700}.refresh-button{background-color:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s}.refresh-button:hover:not(:disabled){background-color:#3182ce}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.executions-filters{align-items:flex-end;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#4a5568;font-size:12px;font-weight:600}.filter-input,.filter-select{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;min-width:150px;padding:8px 12px}.filter-input:focus,.filter-select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.clear-filters-button{background-color:#edf2f7;border:none;border-radius:6px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:600;height:-webkit-fit-content;height:fit-content;padding:8px 16px;transition:all .2s}.clear-filters-button:hover{background-color:#e2e8f0}.executions-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;overflow-x:auto}.executions-table{border-collapse:collapse;width:100%}.executions-table thead{background-color:#f7fafc}.executions-table th{border-bottom:2px solid #e2e8f0;color:#4a5568;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.executions-table td{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px;padding:12px 16px}.executions-table tbody tr:hover{background-color:#f7fafc}.status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px}.status-badge.status-success{background-color:#c6f6d5;color:#22543d}.status-badge.status-warning{background-color:#feebc8;color:#7c2d12}.status-badge.status-error{background-color:#fed7d7;color:#742a2a}.status-badge.status-info{background-color:#bee3f8;color:#2c5282}.response-body-cell{max-width:300px}.response-body-container{align-items:center;display:flex;gap:8px}.response-body{color:#4a5568;flex:1 1;min-width:0;word-break:break-word}.view-response-button{background-color:#4299e1;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:4px 12px;transition:all .2s;white-space:nowrap}.view-response-button:hover{background-color:#3182ce}.error-cell{max-width:200px}.error-message{color:#c53030;font-size:13px}.no-data{color:#a0aec0;font-style:italic}.pagination{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:16px}.pagination-info{color:#718096;font-size:14px}.pagination-controls{align-items:center;display:flex;gap:8px}.pagination-button{background-color:#edf2f7;border:none;border-radius:6px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;transition:all .2s}.pagination-button:hover:not(:disabled){background-color:#e2e8f0}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-page{color:#4a5568;font-size:14px;font-weight:500;padding:8px 12px}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-state p{color:#718096;font-size:14px}.error-banner{align-items:center;background-color:#fed7d7;border-radius:8px;color:#c53030;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.retry-button{background-color:#c53030;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.retry-button:hover{background-color:#9b2c2c}.empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:60px 20px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:16px}.empty-state h3{color:#2d3748;font-size:20px;font-weight:600;margin-bottom:8px}.empty-state p{color:#718096;font-size:14px}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#1a202c;font-size:20px;font-weight:700;margin:0}.modal-close-button{align-items:center;background:#0000;border:none;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.modal-close-button:hover{background-color:#f7fafc;color:#2d3748}.modal-body{flex:1 1;overflow:auto;padding:24px}.response-body-full{word-wrap:break-word;background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;font-family:Monaco,Courier New,monospace;font-size:13px;line-height:1.6;margin:0;max-height:60vh;overflow:auto;padding:16px;white-space:pre-wrap}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.close-button,.copy-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.copy-button{background-color:#edf2f7;color:#2d3748}.copy-button:hover{background-color:#e2e8f0}.close-button{background-color:#4299e1;color:#fff}.close-button:hover{background-color:#3182ce}.App{min-height:100vh;width:100%}
/*# sourceMappingURL=main.ae44d1ef.css.map*/