.doudou-injection-picker-overlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.56);backdrop-filter:blur(3px)}
.doudou-injection-picker-dialog{display:flex;flex-direction:column;max-height:min(88vh,900px);overflow:hidden;border:1px solid #dbe5f1;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.28);color:#152238}
.doudou-injection-picker-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid #e8eef6}
.doudou-injection-picker-dialog>header h3{margin:0;font-size:24px;line-height:1.35}
.doudou-injection-picker-dialog>header p{margin:7px 0 0;color:#718096;font-size:14px;word-break:break-all}
.doudou-injection-picker-close{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:#f0f4f9;color:#63738a;font-size:28px;line-height:1;cursor:pointer}
.doudou-injection-picker-dialog>footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e8eef6;background:#fbfdff}
.doudou-injection-picker-dialog>footer button{min-width:92px;height:42px;border:0;border-radius:12px;background:#eaf0f7;color:#42546b;font-weight:700;cursor:pointer}
.doudou-injection-source-dialog{width:min(620px,94vw)}
.doudou-injection-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:28px 26px}
.doudou-injection-source-actions>button{display:flex;min-height:145px;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;padding:24px;border:1px solid #dbe6f3;border-radius:18px;text-align:left;cursor:pointer;transition:.18s ease}
.doudou-injection-source-actions>button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(37,99,235,.13)}
.doudou-injection-source-actions>button strong{font-size:20px}
.doudou-injection-source-actions>button small{color:#72839a;font-size:14px;line-height:1.6}
.doudou-injection-source-actions .is-panel{background:linear-gradient(145deg,#eef6ff,#fff);color:#1768db}
.doudou-injection-source-actions .is-local{background:linear-gradient(145deg,#f2fbf6,#fff);color:#15824b}
.doudou-injection-panel-dialog{width:min(1040px,96vw)}
.doudou-injection-panel-tools{display:flex;gap:10px;padding:18px 24px 10px}
.doudou-injection-panel-tools input{width:100%;height:44px;padding:0 15px;border:1px solid #d6e1ee;border-radius:12px;outline:none;font-size:15px}
.doudou-injection-panel-tools input:focus{border-color:#318bf1;box-shadow:0 0 0 3px rgba(49,139,241,.12)}
.doudou-injection-panel-tools button,.doudou-injection-panel-state button{border:0;border-radius:10px;padding:0 18px;background:#edf3fa;color:#486078;font-weight:700;cursor:pointer}
.doudou-injection-panel-tabs{display:flex;gap:9px;padding:8px 24px 14px;overflow-x:auto}
.doudou-injection-panel-tabs button{flex:0 0 auto;height:38px;padding:0 14px;border:1px solid #dbe5ef;border-radius:999px;background:#fff;color:#50647c;cursor:pointer}
.doudou-injection-panel-tabs button.is-active{border-color:#318bf1;background:#318bf1;color:#fff;box-shadow:0 8px 18px rgba(49,139,241,.22)}
.doudou-injection-panel-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;min-height:180px;overflow:auto;padding:5px 24px 22px}
.doudou-injection-panel-item{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;border:1px solid #e0e8f2;border-radius:15px;background:#fff}
.doudou-injection-panel-item-mark{display:flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:13px;background:#edf5ff;color:#2678e6;font-weight:800}
.doudou-injection-panel-item-main{display:flex;min-width:0;flex-direction:column;gap:5px}
.doudou-injection-panel-item-main strong,.doudou-injection-panel-item-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doudou-injection-panel-item-main small{color:#7b8ba0}
.doudou-injection-panel-item .is-use{height:38px;padding:0 14px;border:0;border-radius:10px;background:#2f8cf1;color:#fff;font-weight:700;cursor:pointer}
.doudou-injection-panel-item button:disabled,.doudou-injection-picker-dialog button:disabled{cursor:not-allowed;opacity:.55}
.doudou-injection-panel-state{display:flex;min-height:240px;align-items:center;justify-content:center;gap:15px;padding:30px;color:#718096}
.doudou-injection-panel-state.is-error{color:#d92d50}
@media(max-width:720px){.doudou-injection-picker-overlay{padding:10px}.doudou-injection-picker-dialog{max-height:94vh;border-radius:18px}.doudou-injection-picker-dialog>header{padding:18px}.doudou-injection-source-actions{grid-template-columns:1fr;padding:18px}.doudou-injection-source-actions>button{min-height:110px}.doudou-injection-panel-list{grid-template-columns:1fr;padding:4px 14px 18px}.doudou-injection-panel-tabs,.doudou-injection-panel-tools{padding-left:14px;padding-right:14px}.doudou-injection-panel-item{grid-template-columns:44px minmax(0,1fr) auto}.doudou-injection-panel-item-mark{width:44px;height:44px}.doudou-injection-panel-item .is-use{padding:0 10px;font-size:13px}}

/* R66: keep the picker header, search and category tabs visible.
   Only the template result area scrolls. */
.doudou-injection-panel-dialog{height:min(88vh,900px)}
.doudou-injection-panel-dialog>header,
.doudou-injection-panel-dialog>footer,
.doudou-injection-panel-tools,
.doudou-injection-panel-tabs{flex:0 0 auto}
.doudou-injection-panel-tabs{
  position:relative;
  z-index:2;
  min-height:60px;
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
  background:#fff
}
.doudou-injection-panel-list{
  flex:1 1 auto;
  min-height:0;
  align-content:start;
  grid-auto-rows:max-content;
  overflow-x:hidden;
  overflow-y:auto
}
.doudou-injection-panel-state{flex:1 1 auto;min-height:0}
@media(max-width:720px){
  .doudou-injection-panel-dialog{height:94vh}
  .doudou-injection-panel-tabs{min-height:58px}
}
