*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--surface:#1a1d27;--border:#2e3044;--text:#e2e4f0;--muted:#6b7194;--accent:#7c6af7;--error:#f7708a;--ok:#57d9a3}body{background:var(--bg);color:var(--text);flex-direction:column;height:100vh;font-family:Segoe UI,system-ui,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;flex:1;min-height:0;display:flex}header{border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;padding:.85rem 2rem;display:flex}.brand{align-items:baseline;gap:.55rem;display:flex}.brand h1{letter-spacing:-.02em;color:var(--accent);font-size:1.35rem;font-weight:700}.brand-sub{color:var(--muted);letter-spacing:.04em;font-size:.75rem}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:.25rem;padding:.25rem;display:flex}.tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--accent);color:#fff}main{flex-direction:column;flex:1;display:flex;overflow:hidden}.tab-content{flex:1;min-height:0;display:none}.tab-content.active{flex-direction:column;display:flex}.panel{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.25rem 2rem;display:flex}.placeholder{color:var(--muted);padding:1rem 0;font-size:.86rem;font-style:italic}.expression-panel{gap:1.25rem;overflow-y:auto}.editor{flex-direction:column;gap:.5rem;display:flex}.field-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.field-head label,.tz-row label,h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.cron-input{background:var(--surface);border:1px solid var(--border);color:var(--text);letter-spacing:.08em;border-radius:8px;width:100%;padding:.7rem .9rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.5rem}.cron-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.cron-input.invalid,.cron-input.invalid:focus{border-color:var(--error);outline-color:var(--error)}.field-hint{color:var(--muted);gap:1.5rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.68rem;display:flex}.field-hint .bad{color:var(--error);font-weight:700}.cron-description{color:var(--text);font-size:1.05rem}.cron-error{color:var(--error);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.95rem}.tz-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.tz-row select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;max-width:18rem;padding:.35rem .5rem;font-size:.85rem}.tz-offset{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.results{grid-template-columns:minmax(19rem,22rem) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.results section{flex-direction:column;gap:.6rem;min-width:0;display:flex}.run-list{border:1px solid var(--border);border-radius:8px;list-style:none;overflow:hidden}.run-list li{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:.15rem .75rem;padding:.45rem .75rem;font-size:.85rem;display:grid}.run-list li:last-child{border-bottom:none}.run-time{color:var(--accent);font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-weight:700}.run-relative{color:var(--muted);grid-column:1/-1;font-size:.72rem}.empty{color:var(--muted);font-size:.85rem}.timeline{flex-direction:column;gap:.35rem;display:flex}.timeline-head,.timeline-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.timeline-head span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:.66rem}.day-cell{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.3rem;min-width:0;padding:.35rem .35rem .3rem;display:flex}.day-cell.past{opacity:.4}.day-cell.today{border-color:var(--accent)}.day-number{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem}.day-cell.has-runs .day-number{color:var(--text)}.day-strip{gap:1px;height:14px;display:flex}.day-strip i{background:#23263a;border-radius:1px;flex:1}.day-strip i.on{background:var(--accent)}.timeline-legend{color:var(--muted);font-size:.7rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.schedule-panel{gap:1.1rem;overflow-y:auto}.sched-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.sched-toolbar label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.sched-toolbar select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.35rem .5rem;font-size:.85rem}.sched-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.grid-scroll{padding-bottom:.3rem;overflow-x:auto}.week-grid{grid-template-columns:auto repeat(var(--cols), minmax(6px, 1fr));-webkit-user-select:none;user-select:none;touch-action:none;gap:1px;min-width:40rem;display:grid}.wg-clear,.wg-hour,.wg-day{color:var(--muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;padding:.15rem .25rem;font-size:.62rem;font-weight:600}.wg-clear:hover,.wg-hour:hover,.wg-day:hover{color:var(--accent)}.wg-hour{font-variant-numeric:tabular-nums;text-align:center;min-width:0;overflow:hidden}.wg-day{text-align:right;padding-right:.45rem}.wg-cell{cursor:pointer;background:#23263a;border:none;border-radius:1px;min-width:0;height:20px;padding:0}.wg-cell:hover{outline:1px solid var(--accent)}.wg-cell.hour-start{border-left:1px solid var(--border)}.wg-cell.on{background:var(--accent)}.sched-note,.sched-legend{color:var(--muted);font-size:.72rem}.sched-warning{color:var(--error);max-width:60ch;font-size:.8rem}.suggestions{flex-direction:column;gap:.6rem;display:flex}.suggestion-list{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:.5rem;display:grid}.suggestion{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.5rem .7rem;display:flex}.suggestion:hover{border-color:var(--accent)}.suggestion-expression{color:var(--accent);white-space:nowrap;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92rem}.suggestion-fit{color:var(--muted);font-size:.68rem}.suggestion.exact .suggestion-fit{color:var(--ok);font-weight:700}.suggestion-description{color:var(--muted);font-size:.78rem}.preset-wrap{position:relative}.btn-presets{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.btn-presets:hover{color:var(--text);border-color:var(--accent)}.preset-dropdown{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:17rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 12px 28px #00000073}.preset-item{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem .5rem;font-size:.8rem;display:flex}.preset-item:hover{background:var(--accent)}.preset-expression{color:var(--muted);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.72rem}.preset-item:hover .preset-expression{color:#fff}@media (width<=900px){.results{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){header{flex-wrap:wrap;gap:.75rem;padding:.85rem 1rem}.panel{padding:1.25rem 1rem}.cron-input{font-size:1.15rem}.field-hint{gap:.7rem;font-size:.6rem}}
