/* Enterprise feature modules: review center + handwritten confirmations. */
.ef-loading,.ef-empty{padding:38px;text-align:center;color:var(--text3)}
.ef-stack{display:grid;gap:16px}
.ef-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ef-stat{padding:14px;border:1px solid var(--line2);border-radius:8px;background:#fff}
.ef-stat .ef-label{font-size:12px;color:var(--text3);margin-bottom:5px}
.ef-stat .ef-value{font-size:20px;font-weight:700;color:var(--text)}
.ef-stat .ef-value span{font-size:12px;font-weight:500;color:var(--text3);margin-left:3px}
.ef-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ef-toolbar .spacer{flex:1}
.ef-hint{font-size:12px;color:var(--text3);line-height:1.6}
.ef-status{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:#f1f3f5;color:var(--text2)}
.ef-status.pending{background:#fff3d9;color:#9a6100}
.ef-status.done{background:#e8f7ec;color:#177d36}
.ef-status.draft{background:#eef5ff;color:#2762a8}
.ef-form-question{padding:12px 0;border-bottom:1px solid var(--line)}
.ef-form-question:last-child{border-bottom:0}
.ef-form-question label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.ef-form-question .ef-question-meta{font-size:11px;color:var(--text3);font-weight:400}
.ef-form-question input[type=number],.ef-form-question textarea,.ef-input{width:100%;padding:8px 10px;border:1px solid var(--line2);border-radius:6px;background:#fff;font:inherit}
.ef-form-question input:focus,.ef-form-question textarea:focus,.ef-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-l)}
.ef-policy-fields{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;margin:12px 0}
.ef-policy-fields label{font-size:12px;color:var(--text2)}
.ef-policy-fields input{margin-top:5px}
.ef-question-editor{display:grid;grid-template-columns:130px minmax(180px,1fr) 90px 90px auto;gap:8px;align-items:center;margin-bottom:8px}
.ef-question-editor input{min-width:0}
.ef-recipient-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;padding:10px;border:1px solid var(--line2);border-radius:7px;background:#fafafa}
.ef-recipient-list label{display:flex;gap:7px;align-items:center;font-size:13px;padding:5px 6px;border-radius:5px}
.ef-recipient-list label:hover{background:var(--accent-l)}
.ef-sign-wrap{border:1px solid var(--line2);border-radius:8px;background:#fff;overflow:hidden}
.ef-sign-canvas{display:block;width:100%;height:220px;background:#fff;touch-action:none;cursor:crosshair}
.ef-sign-tools{display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--line);background:#fafafa}
.ef-file-note{padding:10px 12px;border-left:3px solid var(--accent);background:var(--accent-l);font-size:12px;color:var(--text2);line-height:1.6;border-radius:0 6px 6px 0}
.ef-progress{height:7px;background:#edf0f2;border-radius:999px;overflow:hidden;min-width:100px}
.ef-progress span{display:block;height:100%;background:var(--accent)}
.modal-box.ef-modal-wide{width:min(760px,94vw);max-height:90vh;overflow:auto}
.modal-box.ef-modal-xwide{width:min(980px,96vw);max-height:92vh;overflow:auto}
.okr-toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.okr-toolbar .fg{min-width:150px}.okr-tabs{display:flex;gap:6px;margin-right:auto}.okr-objective{border-left:4px solid var(--accent)}
.okr-o-fields{display:flex;align-items:center;gap:12px;flex:1}.okr-o-fields>input{min-width:240px;flex:1}.okr-o-fields label{display:flex;align-items:center;gap:6px;font-size:12px}.okr-o-fields label input{width:90px}.okr-table input{min-width:80px;width:100%}.okr-table th:nth-child(1){width:40%}.okr-add{margin:12px}.okr-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:16px 0}.okr-formula{margin-right:auto;color:var(--text2);font-size:12px}.okr-empty{text-align:center;padding:50px;color:var(--text3)}.okr-name{font-size:22px!important}
.okr-table input.okr-input-invalid{border-color:var(--bad);box-shadow:0 0 0 2px rgba(220,53,69,.1)}
.okr-progress span.okr-over{background:linear-gradient(90deg,#f59e0b,#ef6c00)}
.okr-table-scroll{overflow:auto}.okr-dashboard-stats .sub{margin-top:5px;font-size:12px;color:var(--text3)}.okr-stat-small{font-size:19px;color:var(--text3)}.okr-dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr)}.okr-muted{font-size:12px;color:var(--text3)}.okr-progress{height:7px;background:#e8edf2;border-radius:999px;overflow:hidden;min-width:90px;margin-bottom:4px}.okr-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#44b7a8)}.okr-analysis{display:flex;flex-direction:column;gap:12px}.okr-analysis-item{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}.okr-analysis-item>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.okr-analysis-item>div:first-child span,.okr-analysis-item small{font-size:11px;color:var(--text3)}.okr-analysis-item strong{display:block;font-size:20px;color:var(--accent);margin-bottom:7px}
.okr-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.okr-control-check{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:#fafbfc}.okr-control-check input{width:auto}
@media(max-width:768px){.okr-o-fields{align-items:flex-start;flex-direction:column}.okr-o-fields>input{min-width:100%;width:100%}.okr-table{min-width:760px}.okr-objective .cbd{overflow:auto}.okr-actions{flex-wrap:wrap}.okr-formula{width:100%}}
@media(max-width:1024px){.okr-dashboard-grid{grid-template-columns:1fr}}

@media(max-width:1024px){
  .ef-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ef-policy-fields{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .ef-recipient-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .ef-grid{grid-template-columns:1fr}
  .ef-policy-fields{grid-template-columns:1fr 1fr}
  .ef-question-editor{grid-template-columns:1fr 1fr}
  .ef-question-editor .ef-q-title{grid-column:1/-1}
  .ef-recipient-list{grid-template-columns:1fr}
  .ef-sign-canvas{height:180px}
}
