/* Approved V0.5 A: scoped to rule editors and their management shell. */
.rf-editor{color:#29433e;font-size:15px;--rf-line:#dce6d8;container-type:inline-size}
#recurring-rule-dialog{width:min(1040px,calc(100vw - 32px));max-width:1040px}
.rf-editor *{box-sizing:border-box;min-width:0}
.rf-title{display:block;border-bottom:1px solid var(--rf-line);padding-bottom:10px;margin:0 0 18px}.rf-title>span{display:block;font-size:12px;color:#62766a}
.rf-title input{width:100%;border:0;background:white;padding:8px 0;font-size:26px;font-weight:650;color:#233f35}
.rf-core{background:#f3f7f1;border:1px solid var(--rf-line);border-radius:10px;overflow:hidden}
.rf-core>h3{padding:12px 16px 0;margin:0!important}.rf-editor h3{font-size:14px!important;font-weight:600;line-height:1.6;color:#36584b}
.rf-properties{display:grid;grid-template-columns:minmax(92px,.65fr) minmax(145px,1fr) minmax(175px,1.5fr) minmax(200px,2fr);gap:12px;padding:12px 16px 0;align-items:start}
.rf-editor .rf-field{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px;color:#62766a;font-weight:400}
.rf-editor .rf-field>input,.rf-editor .rf-field>select,.rf-editor .rf-field textarea{width:100%;height:42px;min-height:42px;margin:0;padding:8px 12px;border:1px solid #ccdace;border-radius:7px;background:#fff;font-size:15px;color:#29433e}
.rf-editor .rf-field textarea{height:auto;min-height:85px;resize:vertical}
.rf-editor select[data-rule-field=assignment]{font-weight:600;color:#2f5143}.rf-owner{font-size:11px;line-height:1.7;color:#718274;font-weight:400}
.rf-help{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 16px 12px;font-size:11px;color:#6c7f70;line-height:1.7}.rf-help details{max-width:50%}.rf-help summary{white-space:nowrap;cursor:pointer}.rf-help p{margin:6px 0 0}
.rf-schedule{display:flex;flex-wrap:wrap;gap:12px;padding:10px 16px 0}.rf-schedule>.rf-field{min-width:170px}
.rf-children{border-top:1px solid var(--rf-line)}.rf-children>header{display:flex;gap:10px;justify-content:space-between;align-items:baseline;padding:10px 16px 7px}.rf-children h3{margin:0}.rf-children small{font-size:12px;color:#6c7f70}
.rf-column-head,.rf-child{display:grid;grid-template-columns:minmax(160px,2.5fr) minmax(170px,1fr) 96px;gap:12px;padding:6px 16px;font-size:12px;color:#62766a}
.rf-child{background:white;border-top:1px solid var(--rf-line);padding:10px 16px;align-items:start}.rf-child .rf-field{font-size:0}.rf-child .rf-field input,.rf-child .rf-field select{font-size:15px}.rf-child .rf-people{font-size:12px}.rf-category{margin-top:5px;font-size:11px;color:#6c7f70}.rf-category summary{cursor:pointer}.rf-category .rf-field{font-size:12px;margin-top:6px}
.rf-editor button.rf-delete{border:0;background:transparent;font-size:12px;color:#987364;padding:10px 0;min-height:42px}.rf-editor button.rf-add{font-size:12px;min-height:36px;margin:5px 0 10px;padding:6px 8px}
.rf-people{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.rf-people label{display:flex;align-items:center;gap:4px;font-size:12px}.rf-people input{width:16px;height:16px;margin:0}
.rf-description,.rf-order{border:1px solid var(--rf-line);border-radius:8px;margin:12px 0;padding:10px 15px;font-size:13px}.rf-description>.rf-field{margin-top:10px}.rf-order>div{display:flex;align-items:center;gap:6px;margin-top:8px}.rf-order>div span{flex:1}.rf-order button{font-size:12px;padding:5px 9px;min-height:32px}
.rf-preview{padding:12px 16px;margin:12px 0;background:#f3f7f1;border:1px solid var(--rf-line);border-radius:10px;font-size:13px;line-height:1.8}.rf-preview:empty{display:none}.rf-preview strong{font-size:14px}.rf-editor [readonly]{background:#f8faf6!important;color:#718274!important}
#recurring-rule-dialog .rec-dialog-head,#recurring-rule-dialog .rec-dialog-foot{padding:14px 20px}#recurring-rule-dialog .rec-dialog-scroll{padding:18px 20px}.rec-rule-list .rec-rule-row{padding:12px 16px;gap:12px;font-size:14px}.rec-rule-list .rec-rule-row small{font-size:12px}
@media(max-width:1050px){.rf-properties{grid-template-columns:minmax(105px,1fr) minmax(155px,1.2fr)}.rf-child,.rf-column-head{grid-template-columns:minmax(140px,2fr) minmax(145px,1fr) 80px;gap:10px}}
@media(max-width:600px){.rf-properties{padding:11px 12px 0;gap:10px;grid-template-columns:minmax(90px,.8fr) minmax(135px,1fr)}.rf-properties>.rf-field:nth-child(n+3){grid-column:1/-1}.rf-core>h3{padding-inline:12px}.rf-title input{font-size:23px}.rf-editor .rf-field>input,.rf-editor .rf-field>select{height:44px;min-height:44px}.rf-help{display:block;padding:10px 12px}.rf-help details{max-width:none;margin-top:5px}.rf-child{grid-template-columns:1fr;padding:10px 12px;gap:8px}.rf-column-head{display:none}.rf-child .rf-field{font-size:12px}.rf-children>header{padding:10px 12px;flex-wrap:wrap}.rf-children small{font-size:11px}.rf-delete{justify-self:end}.rf-schedule{padding-inline:12px}.rf-schedule>.rf-field{width:100%;min-width:0}.rf-preview{padding:10px 12px}.rf-order button{min-height:44px}#recurring-rule-dialog .rec-dialog-scroll{padding:14px 12px}}
@media(max-width:360px){.rf-properties{grid-template-columns:1fr}.rf-properties>.rf-field{grid-column:1}.rf-title input{font-size:21px}}
@container(max-width:720px){.rf-properties{grid-template-columns:minmax(105px,1fr) minmax(155px,1.2fr)}}
@container(max-width:520px){.rf-child{grid-template-columns:1fr}.rf-column-head{display:none}.rf-child .rf-field{font-size:12px}.rf-delete{justify-self:end}.rf-properties>.rf-field:nth-child(n+3){grid-column:1/-1}.rf-help{display:block}.rf-help details{max-width:none}}
@media(max-width:600px){#recurring-rule-dialog{width:100vw;max-width:100vw}}

#ai-dialog .rf-title{flex:1}#ai-dialog .rf-title input{font-size:26px;font-weight:650;padding-inline:0}#ai-dialog .rf-editor .ai-candidate-title{display:flex;gap:12px;align-items:center}#ai-dialog .rf-editor .ai-candidate-exclude{position:static;flex:none}
@media(max-width:600px){#ai-dialog .rf-title input{font-size:23px}}

.rf-forecast p{margin:5px 0}.rf-forecast small{display:block}.rf-differences{margin-top:10px;border-top:1px solid var(--rf-line);padding-top:8px}.rf-differences p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}

/* V0.6 personnel chips keep native checkbox semantics and a whole-name hit target. */
.rf-editor .rf-assignment>label{font:inherit;color:inherit;cursor:default}
.rf-editor .rf-people{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0}
.rf-editor .rf-people label{display:inline-flex;flex:none;align-items:center;gap:6px;min-height:34px;margin:0;padding:5px 8px;border:1px solid #d7e2d3;border-radius:6px;background:#fff;font-size:12px;line-height:1.5;white-space:nowrap;cursor:pointer}
.rf-editor .rf-people label:has(:checked){background:#e7f1e2;border-color:#9db798;color:#31543f}
.rf-editor .rf-people label:focus-within{outline:2px solid #6c9c7e;outline-offset:2px}
.rf-editor .rf-people label:has(:disabled){cursor:default;opacity:.65}
.rf-editor .rf-people input[type=checkbox]{appearance:auto;flex:0 0 16px;width:16px;min-width:16px;max-width:16px;height:16px;min-height:16px;max-height:16px;padding:0;margin:0;accent-color:#376c58}
.rf-editor .rf-people input:focus-visible{outline:none}
.rf-feedback{padding:0;margin:12px 0 0;border:0;border-radius:0;background:transparent;font-size:12px;color:#687c6d}
.rf-feedback p{margin:5px 0;overflow-wrap:anywhere}.rf-feedback .rec-editor-notice{padding:8px 10px;background:#fbf7e9;border:1px solid #e9dfbd;border-radius:6px}
.rf-feedback .rec-paused-note{font-weight:600;color:#806738}.rf-feedback .rec-preview-error{color:#9a5244}
.rf-feedback .rf-differences{margin:8px 0 0;padding:8px 0 0}.rf-differences summary{cursor:pointer}
#ai-dialog .rf-editor .ai-candidate-title{display:block}#ai-dialog .rf-editor .ai-candidate-exclude{position:absolute;right:0;top:-8px}
#ai-dialog .rf-title>span,#ai-dialog .tf-title>span{padding-right:100px;min-height:32px}
#ai-dialog .rf-children>header{flex-wrap:wrap}.rf-children>header>button{margin-left:auto}
@media(max-width:600px){.rf-editor .rf-people label{min-height:44px}.rf-feedback{padding:0}.rf-editor .rf-field>select{min-height:44px}}

.rf-editor .rf-field.rf-end{display:flex;flex-direction:row;align-items:center;gap:10px 14px;flex-wrap:wrap;max-width:none;flex:1}.rf-end>label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.rf-editor .rf-end input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#316b5b}.rf-editor .rf-end>input[type=date]{width:180px;max-width:100%}.rf-end>small{font-size:11px;color:#77887b}
