.cron-tool-card{width:100%;background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);overflow:hidden;margin-bottom:1.5rem;}
.cron-wrap{display:flex;flex-direction:column;gap:0;}
.cron-presets{display:flex;flex-direction:column;gap:0.5rem;}
.cron-presets-label{font-size:0.75rem;font-weight:600;color:var(--text-muted,#6b7280);text-transform:uppercase;letter-spacing:0.04em;}
.cron-presets-scroll{display:flex;flex-wrap:nowrap;gap:0.5rem;overflow-x:auto;padding-bottom:0.25rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.cron-presets-scroll::-webkit-scrollbar{height:6px;}
.cron-presets-scroll::-webkit-scrollbar-track{background:var(--surface-muted,rgba(0,0,0,.04));border-radius:3px;}
.cron-presets-scroll::-webkit-scrollbar-thumb{background:var(--border,rgba(0,0,0,.2));border-radius:3px;}
.cron-chip{flex:0 0 auto;padding:0.5rem 1rem;font-size:0.8125rem;font-weight:500;color:var(--text-muted,#6b7280);background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:999px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
.cron-chip:hover{color:var(--text-main,#111);background:var(--surface-muted,rgba(0,0,0,.05));border-color:var(--border,rgba(0,0,0,.2));}
.cron-chip:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:2px;}
.cron-card{background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.cron-card-title{font-size:0.9375rem;font-weight:600;color:var(--text-main,#111);margin:0 0 1rem 0;}
.cron-expression-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem 1rem;margin-bottom:1rem;}
.cron-part{display:flex;flex-direction:column;gap:0.25rem;}
.cron-part-label{font-size:0.75rem;font-weight:500;color:var(--text-muted,#6b7280);}
.cron-part-input{width:100%;padding:0.5rem 0.75rem;font-size:0.875rem;font-family:ui-monospace,monospace;color:var(--text-main,#111);background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease;}
.cron-part-input:focus{outline:none;border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.cron-shortcuts{display:flex;flex-wrap:wrap;gap:0.375rem;}
.cron-shortcut{padding:0.375rem 0.625rem;font-size:0.75rem;font-weight:500;color:var(--text-muted,#6b7280);background:var(--surface-muted,rgba(0,0,0,.05));border:1px solid var(--border,rgba(0,0,0,.1));border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent;}
.cron-shortcut:hover{color:var(--text-main,#111);background:var(--surface-muted,rgba(0,0,0,.08));}
.cron-shortcut:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:1px;}
.cron-field{margin-bottom:1rem;}
.cron-field:last-child{margin-bottom:0;}
.cron-field-label{display:block;margin-bottom:0.375rem;font-size:0.8125rem;font-weight:500;color:var(--text-muted,#6b7280);}
.cron-field-input,.cron-field-textarea{width:100%;padding:0.625rem 0.875rem;font-size:0.9375rem;color:var(--text-main,#111);background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease;}
.cron-field-input:focus,.cron-field-textarea:focus{outline:none;border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.cron-field-textarea{min-height:4rem;resize:vertical;}
.cron-advanced{margin-top:1rem;border-top:1px solid var(--border,rgba(0,0,0,.08));padding-top:1rem;}
.cron-advanced-summary{font-size:0.875rem;font-weight:600;color:var(--text-main,#111);cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;}
.cron-advanced-summary::-webkit-details-marker{display:none;}
.cron-advanced-summary::before{content:'';display:inline-block;width:1rem;height:1rem;margin-right:0.5rem;vertical-align:middle;background:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;opacity:.6;}
details[open] .cron-advanced-summary::before{transform:rotate(90deg);}
.cron-advanced-body{margin-top:1rem;}
.cron-build{padding:1.25rem;background:var(--surface-muted,rgba(0,0,0,.02));display:flex;flex-direction:column;gap:1.25rem;}
.cron-out{flex:1;min-width:0;display:flex;flex-direction:column;}
.cron-out-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.75rem 1rem;border-bottom:1px solid var(--border,rgba(0,0,0,.06));background:var(--surface-muted,rgba(0,0,0,.02));}
.cron-out-label{font-size:0.75rem;font-weight:600;color:var(--text-muted,#6b7280);text-transform:uppercase;letter-spacing:0.04em;}
.cron-actions{display:flex;flex-wrap:wrap;gap:0.5rem;}
.cron-btn{padding:0.5rem 0.875rem;font-size:0.8125rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .05s ease;border:1px solid transparent;-webkit-tap-highlight-color:transparent;}
.cron-btn:active{transform:scale(0.98);}
.cron-btn-pri{color:#fff;background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);}
.cron-btn-pri:hover{background:var(--primary-dark,#1d4ed8);border-color:var(--primary-dark,#1d4ed8);}
.cron-btn-sec{color:var(--text-main,#111);background:var(--surface,#fff);border-color:var(--border,rgba(0,0,0,.12));}
.cron-btn-sec:hover{background:var(--surface-muted,rgba(0,0,0,.05));}
.cron-btn-ok{color:#fff;background:#059669;border-color:#059669;}
.cron-btn-ok:hover{background:#047857;border-color:#047857;}
.cron-out-body{padding:1rem;}
.cron-status{padding:0.5rem 0.75rem;border-radius:8px;font-size:0.875rem;font-weight:500;margin-bottom:1rem;}
.cron-status-valid{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;}
.cron-status-invalid{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
.cron-result-wrap{margin-bottom:1rem;}
.cron-result-label{display:block;font-size:0.75rem;font-weight:600;color:var(--text-muted,#6b7280);margin-bottom:0.25rem;}
.cron-result{margin:0;padding:1rem;font-size:0.875rem;font-family:ui-monospace,monospace;background:#1e1e1e;color:#e5e5e5;border-radius:8px;overflow-x:auto;word-break:break-all;white-space:pre-wrap;}
.cron-explain{margin-bottom:1rem;}
.cron-explain-label{display:block;font-size:0.75rem;font-weight:600;color:var(--text-muted,#6b7280);margin-bottom:0.25rem;}
.cron-explain-text{margin:0;font-size:0.9375rem;color:var(--text-main,#111);line-height:1.5;}
.cron-next{margin-bottom:1rem;}
.cron-next-title{font-size:0.875rem;font-weight:600;color:var(--text-main,#111);margin:0 0 0.5rem 0;}
.cron-next-list{display:flex;flex-direction:column;gap:0.25rem;}
.cron-next-item{padding:0.375rem 0;font-size:0.8125rem;color:var(--text-muted,#6b7280);border-bottom:1px solid var(--border,rgba(0,0,0,.06));}
.cron-next-item:last-child{border-bottom:none;}
.cron-crontab-title{font-size:0.875rem;font-weight:600;color:var(--text-main,#111);margin:0 0 0.5rem 0;}
.cron-crontab-block{margin:0;padding:1rem;font-size:0.8125rem;font-family:ui-monospace,monospace;background:var(--surface-muted,rgba(0,0,0,.04));border:1px solid var(--border,rgba(0,0,0,.08));border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;}
.cron-help{margin-top:1rem;padding:1rem;background:var(--surface-muted,rgba(0,0,0,.04));border:1px solid var(--border,rgba(0,0,0,.08));border-radius:8px;}
.cron-help-text{margin:0;font-size:0.8125rem;color:var(--text-muted,#6b7280);line-height:1.5;}
@media (min-width:768px){.cron-wrap{flex-direction:row;align-items:stretch;}
.cron-build{flex:0 0 360px;max-width:360px;padding:1.5rem;border-right:1px solid var(--border,rgba(0,0,0,.08));display:flex;flex-direction:column;gap:1.25rem;}
.cron-presets-scroll{flex-wrap:wrap;overflow-x:visible;}
.cron-expression-grid{grid-template-columns:repeat(5,1fr);}
.cron-out{flex:1;min-width:0;}
.cron-out-bar{padding:1rem 1.25rem;}
.cron-out-body{padding:1.25rem;flex:1;}
}
@media (min-width:1024px){.cron-build{flex:0 0 420px;max-width:420px;padding:1.5rem;}
.cron-card{padding:1.5rem;}
}
