/* === pakapaka cron ツールUI (cron-next-run) === */
.cron-tool{max-width:700px;margin:1.4em 0;padding:18px;border-radius:10px;background:#f6f9fd;border:1px solid #cfd8e6;}

/* モード切替 */
.cron-modes{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.cron-modes label{flex:1;min-width:160px;text-align:center;padding:9px 10px;border:1px solid #cfd8e6;border-radius:8px;background:#fff;color:#4a6285;font-weight:700;font-size:.9em;cursor:pointer;}
.cron-modes input{position:absolute;opacity:0;width:0;height:0;}
.cron-modes input:checked + label,.cron-modes label.on{background:#234e8b;border-color:#234e8b;color:#fff;}

.cron-label{display:block;font-size:.8em;font-weight:700;color:#4a6285;margin-bottom:4px;}
.cron-select,.cron-in,.cg-num{box-sizing:border-box;font-size:.95em;padding:8px;border:1px solid #aab;border-radius:6px;background:#fff;}
.cron-select:focus,.cron-in:focus,.cg-num:focus{outline:none;border-color:#2f6fd0;box-shadow:0 0 0 3px rgba(47,111,208,.15);}

/* ジェネレータ入力 */
.cg-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.cg-field{min-width:130px;}
.cg-select{width:100%;}
.cg-num{width:5em;text-align:right;}
.cg-timewrap{font-size:.95em;color:#33445a;}
.cg-dows{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;}
.cg-dows label{padding:6px 10px;border:1px solid #cfd8e6;border-radius:999px;background:#fff;font-size:.9em;cursor:pointer;color:#4a6285;}
.cg-dows input{position:absolute;opacity:0;width:0;height:0;}
.cg-dows input:checked + label{background:#dceafe;border-color:#9cc2f0;color:#1c4f9c;font-weight:700;}
.cg-preset-btn{background:#eef;border:1px dashed #99c;color:#234e8b;border-radius:5px;padding:5px 10px;font-size:.82em;cursor:pointer;}

/* ジェネレータ出力 */
.cg-out{margin-top:14px;}
.cg-group{margin:12px 0;border:1px solid #e3e9f2;border-radius:8px;overflow:hidden;}
.cg-group-head{padding:8px 12px;background:#eef3fa;font-weight:700;color:#1c4f9c;font-size:.92em;}
.cg-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 12px;border-bottom:1px solid #eef2f7;background:#fff;}
.cg-row:last-child{border-bottom:0;}
.cg-row-label{flex:1;min-width:200px;font-size:.85em;color:#4a6285;font-weight:700;}
.cg-row-expr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cg-row-expr code{font-family:monospace;font-size:1.02em;color:#1c2c44;background:#f4f7fb;padding:4px 8px;border-radius:5px;}
.cg-copy{background:#eef;border:1px solid #99c;border-radius:4px;padding:3px 9px;cursor:pointer;font-size:.8em;color:#234e8b;flex:none;}
.cg-warn{padding:12px;background:#fff7f7;color:#a23;font-size:.9em;line-height:1.7;border-top:2px solid #f3c0c0;}
.cg-warn code{background:#fae3e3;padding:1px 5px;border-radius:4px;}

.cg-err,.cron-err{color:#c00;margin:8px 0 0;font-size:.9em;}
.cron-note{margin:8px 0 0;font-size:.82em;color:#777;}

/* パーサ（cron→次回実行）*/
.cron-samples{margin:6px 0;display:flex;flex-wrap:wrap;gap:6px;}
.js_p_sample{background:#fff;border:1px dashed #99c;color:#234e8b;border-radius:5px;padding:4px 9px;cursor:pointer;font-family:monospace;font-size:.8em;}
.cron-sec{margin:12px 0;border:1px solid #e3e9f2;border-radius:8px;overflow:hidden;}
.cron-sec-head{padding:8px 12px;background:#eef3fa;font-weight:700;color:#1c4f9c;}
.cron-table{width:100%;border-collapse:collapse;font-size:.92em;background:#fff;}
.cron-table th,.cron-table td{padding:7px 12px;border-bottom:1px solid #e3e9f2;text-align:left;}
.cron-table th{background:#f3f7fc;white-space:nowrap;color:#33445a;width:5em;}
.cron-runs{padding:6px 12px;background:#fff;}
.cron-run{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:8px 0;border-bottom:1px solid #eef2f7;}
.cron-run:last-child{border-bottom:0;}
.cron-run-jst{font-family:monospace;font-size:1.05em;color:#1c2c44;font-weight:700;}
.cron-run-jst b{color:#1c4f9c;}
.cron-run-utc{font-family:monospace;font-size:.85em;color:#8595a8;}
.cron-empty{color:#777;padding:8px 0;margin:0;}
