
/* CanvasD AI Photo Tools v1
   Independent right-panel extension. Existing photo/editor core stays untouched. */
#imagePropertyPanel .ai-photo-tools{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,.25);
}
.ai-photo-tools *{box-sizing:border-box}
.ai-photo-head{
  display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;
}
.ai-photo-head__mark{
  flex:0 0 auto;min-width:34px;height:22px;padding:0 8px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #4d7fd3;background:#1c3250;color:#bcd7ff;
  font-size:10px;font-weight:700;letter-spacing:.04em;
}
.ai-photo-head__copy{min-width:0;flex:1}
.ai-photo-head__copy b{display:block;color:#f2f6fb;font-size:13px;font-weight:700;line-height:1.35}
.ai-photo-head__copy small{display:block;margin-top:3px;color:#8fa0b2;font-size:10.5px;line-height:1.45}

.ai-quality-card{
  border:1px solid #354252;background:#161d25;padding:10px 11px;margin-bottom:10px;
}
.ai-quality-top{display:flex;align-items:center;gap:9px}
.ai-quality-score{
  width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;
  border:1px solid #46596f;background:#202a36;color:#fff;font-size:16px;font-weight:700;
}
.ai-quality-score.good{border-color:#407b59;color:#c9f5d8}
.ai-quality-score.warn{border-color:#8b6d3e;color:#ffe1a8}
.ai-quality-score.bad{border-color:#874d4d;color:#ffc2c2}
.ai-quality-summary{min-width:0;flex:1}
.ai-quality-summary b{display:block;font-size:12px;color:#edf3f8}
.ai-quality-summary span{display:block;margin-top:2px;color:#93a1af;font-size:10px;line-height:1.45}
.ai-quality-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;margin-top:9px;
  padding-top:8px;border-top:1px solid #2d3743;font-size:10px;
}
.ai-quality-grid div{min-width:0;color:#8493a1}
.ai-quality-grid strong{display:block;margin-top:1px;color:#cbd5df;font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.ai-main-action{
  width:100%;height:38px;border:1px solid #4f86de;background:#255caa;color:#fff;
  display:flex;align-items:center;justify-content:center;gap:7px;
  font-size:12px;font-weight:700;cursor:pointer;margin-bottom:8px;
}
.ai-main-action:hover{background:#2f6cc2}
.ai-main-action[disabled]{opacity:.5;cursor:not-allowed}

.ai-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ai-tool-btn{
  min-height:50px;border:1px solid #394656;background:#202833;color:#e7edf3;
  padding:7px 8px;text-align:left;cursor:pointer;position:relative;
}
.ai-tool-btn:hover:not([disabled]){border-color:#5d7fa8;background:#263242}
.ai-tool-btn b{display:block;font-size:11px;font-weight:600;line-height:1.25}
.ai-tool-btn small{display:block;margin-top:3px;color:#81909f;font-size:9.5px;line-height:1.3}
.ai-tool-btn .ai-tool-state{
  position:absolute;right:6px;top:6px;color:#6fa8ff;font-size:8px;font-weight:700;
}
.ai-tool-btn[disabled]{opacity:.42;cursor:not-allowed}
.ai-tool-btn.is-busy{pointer-events:none;opacity:.65}

.ai-photo-subhead{
  display:flex;align-items:center;justify-content:space-between;
  margin:12px 0 6px;color:#aeb9c4;font-size:10.5px;
}
.ai-photo-subhead b{font-weight:600}
.ai-photo-subhead span{color:#6e7c89;font-size:9px}

.ai-history-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.ai-history-row button{
  min-height:30px;border:1px solid #3a4654;background:#19212a;color:#b8c3cd;font-size:10px;cursor:pointer;
}
.ai-history-row button:hover:not([disabled]){border-color:#5c7694;color:#fff}
.ai-history-row button[disabled]{opacity:.35;cursor:not-allowed}

.ai-tool-message{
  display:none;margin-top:8px;padding:7px 8px;border-left:2px solid #4d7fd3;
  background:#162130;color:#aebdcb;font-size:9.8px;line-height:1.45;
}
.ai-tool-message.show{display:block}
.ai-tool-message.error{border-color:#b45c5c;color:#ffc1c1;background:#2a1b1e}

.ai-future-note{
  margin-top:10px;padding-top:8px;border-top:1px dashed #34404c;
  color:#6f7d8a;font-size:9px;line-height:1.5;
}


/* V3 detailed photo analysis / compare */
.ai-analysis-card{border:1px solid #354252;background:#19212a;padding:9px 10px;margin:-2px 0 9px}
.ai-analysis-loading{border:1px solid #303c49;background:#171e27;color:#7f8e9d;padding:9px 10px;margin:-2px 0 9px;font-size:9.5px}
.ai-analysis-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.ai-analysis-title b{font-size:10.5px;color:#dce5ed;font-weight:600}
.ai-analysis-title span{font-size:8.5px;color:#7295bc}
.ai-analysis-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:4px}
.ai-analysis-grid div{background:#151c24;border:1px solid #2d3844;padding:5px;text-align:center;min-width:0}
.ai-analysis-grid span{display:block;color:#758493;font-size:8px;margin-bottom:2px}
.ai-analysis-grid strong{font-size:9.5px;font-weight:600;color:#aeb9c4}
.ai-analysis-grid strong.good{color:#8bd8a7}.ai-analysis-grid strong.warn{color:#e7bc70}.ai-analysis-grid strong.neutral{color:#aab7c3}
.ai-analysis-note{margin-top:7px;color:#b5a57a;background:#252218;border-left:2px solid #9c7a3d;padding:6px 7px;font-size:8.8px;line-height:1.4}
.ai-analysis-note.good{color:#8bbf9d;background:#17251d;border-color:#477c5b}
.ai-strength{display:flex;align-items:center;justify-content:space-between;border:1px solid #354252;background:#171e27;padding:6px 7px;margin-bottom:7px}
.ai-strength>span{color:#9caab7;font-size:9.5px}
.ai-strength>div{display:flex;gap:3px}
.ai-strength button{height:24px;border:1px solid #3b4856;background:#202832;color:#8594a2;padding:0 8px;font-size:9px;cursor:pointer}
.ai-strength button.active{border-color:#4c80c7;background:#203a5a;color:#d7e8ff}
.ai-compare-row{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:-1px 0 8px}
.ai-compare-row button{min-height:29px;border:1px solid #415062;background:#1a222c;color:#b8c4ce;font-size:9.5px;cursor:pointer}
.ai-compare-row button:hover{border-color:#6689b2;color:#fff}
