.krc-app { max-width: 720px; margin: 0 auto; font-family: inherit; }
.krc-quota { text-align: right; font-size: 13px; color: #6b7280; margin-bottom: 8px; }
.krc-tabs { display: flex; gap: 4px; border-bottom: 1px solid #e5e7eb; margin-bottom: 16px; }
.krc-tab { background: none; border: none; padding: 10px 16px; cursor: pointer; font-size: 14px; color: #6b7280; border-bottom: 2px solid transparent; }
.krc-tab.is-active { color: #111827; border-bottom-color: #16a34a; font-weight: 600; }
.krc-pane input[type="url"], .krc-pane textarea { width: 100%; padding: 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; box-sizing: border-box; }
.krc-controls { display: flex; align-items: flex-end; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.krc-controls > label { display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:600; color:#374151; }
.krc-controls .krc-go { margin-left:auto; }
.krc-controls select { padding: 8px; border: 1px solid #d1d5db; border-radius: 8px; }
.krc-go { background: #16a34a; color: #fff; border: none; padding: 12px 28px; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; }
.krc-go:disabled { opacity: .5; cursor: not-allowed; }
.krc-status { margin-top: 16px; padding: 12px; border-radius: 8px; background: #f0fdf4; color: #166534; font-size: 14px; }
.krc-status.is-error { background: #fef2f2; color: #991b1b; }
.krc-result { margin-top: 24px; padding: 24px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.krc-result h3 { margin: 0 0 4px; }
.krc-meta { color: #6b7280; font-size: 14px; margin: 0 0 16px; }
.krc-warn { background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; font-size: 14px; }
.krc-warn ul { margin: 6px 0 0; padding-left: 18px; }
.krc-ing { line-height: 1.8; }
.krc-acc { font-size: 14px; color: #374151; }
.krc-steps { line-height: 1.5; }
.krc-steps li { margin-bottom: 16px; }
.krc-step-inst { font-weight: 500; }
.krc-step-set { display: inline-block; margin-top: 4px; padding: 3px 10px; background: #ecfdf5; color: #065f46; border-radius: 999px; font-size: 13px; font-weight: 600; }
.krc-step-note { font-size: 13px; color: #6b7280; margin-top: 4px; }
.krc-quota-after { font-size: 13px; color: #6b7280; margin-top: 20px; text-align: right; }
.krc-box { padding: 20px; text-align: center; }
.krc-img-wrap { margin-top: 20px; }
.krc-img-preview { display: block; max-width: 320px; width: 100%; border-radius: 10px; margin-bottom: 12px; border: 1px solid #e5e7eb; }
.krc-img-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.krc-img-gen { background: #111827; color: #fff; border: none; padding: 9px 18px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.krc-img-gen:disabled { opacity: .5; cursor: not-allowed; }
.krc-img-src { background: none; border: 1px solid #d1d5db; color: #374151; padding: 9px 18px; border-radius: 8px; font-size: 13px; cursor: pointer; }
.krc-guest-note { margin-top: 18px; padding: 14px 16px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; font-size: 14px; color: #166534; }
.krc-guest-note a { font-weight: 600; }

/* ============ Dashboard (v2) ============ */
.krc-dash { --krc-green:#54b56a; --krc-green-d:#429455; --krc-bd:#e8eaed; --krc-mut:#6b7280;
  max-width:1180px; margin:0 auto; font-family:inherit; }
.krc-dash-head h2 { margin:0 0 6px; font-size:30px; line-height:1.2; font-weight:700; }
.krc-dash-head p { margin:0 0 26px; color:var(--krc-mut); font-size:15px; }

.krc-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-bottom:22px; }
.krc-card { border:1px solid var(--krc-bd); border-radius:12px; background:#fff; padding:20px; display:flex; flex-direction:column; }
.krc-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.krc-card-top h3 { margin:0 0 8px; font-size:16px; font-weight:700; }
.krc-card-ic { font-size:16px; opacity:.5; }
.krc-card p { margin:0 0 18px; font-size:13.5px; color:var(--krc-mut); line-height:1.45; flex:1; }
.krc-card-btn { display:block; width:100%; text-align:center; background:var(--krc-green); color:#fff;
  border:none; padding:11px 14px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; }
.krc-card-btn:hover { background:var(--krc-green-d); color:#fff; }
.krc-card-btn:disabled { opacity:.45; cursor:not-allowed; }

.krc-panel { border:1px solid var(--krc-bd); border-radius:12px; background:#fff; padding:22px; margin-bottom:22px; }

.krc-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.krc-box2 { border:1px solid var(--krc-bd); border-radius:12px; background:#fff; padding:22px; }
.krc-box2 h4 { margin:0 0 4px; font-size:17px; font-weight:700; }
.krc-box2-sub { margin:0 0 20px; font-size:13px; color:var(--krc-mut); }
.krc-usage-row { display:flex; justify-content:space-between; font-size:14px; margin-bottom:10px; }
.krc-bar { height:9px; border-radius:99px; background:#e6f4ea; overflow:hidden; }
.krc-bar i { display:block; height:100%; background:var(--krc-green); border-radius:99px; }
.krc-plan { margin-top:18px; background:#f7f8f9; border-radius:10px; padding:16px; }
.krc-plan-n { font-weight:700; font-size:14px; }
.krc-plan-d { font-size:13px; color:var(--krc-mut); margin-top:2px; }
.krc-plan-up { display:block; text-align:center; margin-top:14px; background:#fff; border:1px solid var(--krc-bd);
  border-radius:8px; padding:9px; font-size:13.5px; font-weight:600; text-decoration:none; color:#111827; }
.krc-act { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; }
.krc-act-t { font-weight:600; font-size:14.5px; }
.krc-act-d { font-size:12.5px; color:var(--krc-mut); margin-top:2px; }
.krc-act a { font-size:13.5px; text-decoration:none; }
.krc-act-empty { font-size:13.5px; color:var(--krc-mut); }
.krc-tip { background:#f7f8f9; border-radius:10px; padding:14px 16px; margin-bottom:10px; }
.krc-tip strong { display:block; font-size:14px; margin-bottom:3px; }
.krc-tip span { font-size:13px; color:var(--krc-mut); line-height:1.45; }

@media (max-width:1024px){ .krc-cards{grid-template-columns:repeat(2,1fr);} .krc-grid3{grid-template-columns:1fr;} }
@media (max-width:560px){ .krc-cards{grid-template-columns:1fr;} .krc-dash-head h2{font-size:24px;} }

/* ============ Changelog ============ */
.krc-log { max-width:760px; margin:0 auto; }
.krc-log-h { margin:0 0 20px; }
.krc-log-v { border-left:2px solid #e6f4ea; padding-left:18px; margin-bottom:24px; }
.krc-log-v h3 { margin:0 0 8px; font-size:16px; font-weight:700; }
.krc-log-v ul { margin:0; padding-left:18px; }
.krc-log-v li { font-size:14px; margin-bottom:5px; line-height:1.5; }

/* ---- live demo funnel ---- */
.krc-demo-cta { display:block; width:100%; margin-top:14px; background:#54b56a; color:#fff; border:none;
  padding:15px 20px; border-radius:10px; font-size:15.5px; font-weight:700; cursor:pointer; }
.krc-demo-cta:hover { background:#429455; }
.krc-resume { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; border-radius:10px;
  padding:14px 16px; margin-bottom:20px; font-size:14.5px; font-weight:600; }

/* Themes and our own class rules can outrank the UA [hidden] rule; force it. */
.krc-app [hidden], .krc-dash [hidden], .krc-cd-connect [hidden], .krc-rx-list [hidden] { display:none !important; }
.krc-connect-inline { margin-bottom:22px; }
.krc-connect-inline .krc-cd-connect { max-width:none; margin:0; }

/* ---- compact hero demo (home page) ---- */
.krc-hero { max-width:760px; margin:0 auto; }
.krc-hero-box { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; }
.krc-hero-box .krc-url { flex:1; min-width:240px; align-self:flex-end; padding:15px 16px; border:1px solid #d1d5db; border-radius:10px; font-size:15px; box-sizing:border-box; }
.krc-hero-lab { display:flex; flex-direction:column; gap:5px; }
.krc-hero-lab > span { font-size:12.5px; font-weight:600; color:#374151; }
/* Force native rendering: many themes strip select styling and leave an empty-looking box. */
.krc-hero-box .krc-model, .krc-controls .krc-model, .krc-controls .krc-outlang {
  -webkit-appearance:menulist !important; appearance:menulist !important;
  background:#fff !important; color:#111827 !important; min-width:150px;
  padding:13px 12px; border:1px solid #d1d5db; border-radius:10px; font-size:15px;
  line-height:1.2; height:auto; text-indent:0; background-image:none !important; }
.krc-hero-box .krc-model option, .krc-controls .krc-model option, .krc-controls .krc-outlang option {
  color:#111827; background:#fff; }
.krc-hero-box .krc-go { background:#54b56a; color:#fff; border:none; padding:15px 30px; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; }
.krc-hero-box .krc-go:hover { background:#429455; }
.krc-hero-box .krc-go:disabled { opacity:.5; cursor:not-allowed; }
.krc-hero-hint { margin:10px 2px 0; font-size:13px; color:#6b7280; }
@media (max-width:560px){ .krc-hero-box{flex-direction:column;} .krc-hero-box .krc-go{width:100%;} }

/* ---- multi-recipe picker (roundup pages) ---- */
.krc-pick { border:1px solid #e8eaed; border-radius:12px; padding:22px; background:#fff; }
.krc-pick-h { margin:0 0 14px; font-size:15px; font-weight:600; }
.krc-pick-all { display:inline-flex; align-items:center; gap:7px; font-size:13.5px; color:#374151; cursor:pointer; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid #f0f0f1; width:100%; }
.krc-pick-list { display:flex; flex-direction:column; gap:2px; max-height:340px; overflow:auto; margin-bottom:18px; }
.krc-pick-row { display:flex; align-items:flex-start; gap:9px; font-size:14.5px; padding:8px 4px; border-radius:7px; cursor:pointer; line-height:1.35; }
.krc-pick-row:hover { background:#f7f8f9; }
.krc-pick-row input { margin-top:3px; flex-shrink:0; }
.krc-pick-go { background:#54b56a; color:#fff; border:none; padding:13px 28px; border-radius:9px; font-size:14.5px; font-weight:700; cursor:pointer; }
.krc-pick-go:disabled { opacity:.5; cursor:not-allowed; }
.krc-bulk-item { border-bottom:1px solid #f0f0f1; padding-bottom:24px; margin-bottom:24px; }
.krc-bulk-item:last-child { border-bottom:none; }

/* ---- inline connect on the converter page: compact, secondary ---- */
.krc-connect-inline { margin-top:22px; }
.krc-connect-inline .krc-cd-connect { background:#fafbfc; border:1px solid #eef0f2; border-radius:12px; padding:18px 20px; }
.krc-connect-inline .krc-cd-connect h3 { font-size:16px; margin:0 0 4px; }
/* When already connected, shrink the whole thing to a quiet status strip. */
.krc-connect-inline .krc-cd-connect.is-connected .krc-cd-note,
.krc-connect-inline .krc-cd-connect.is-connected .krc-cd-login-s { display:none; }

/* ---- see all recipes ---- */
.krc-act-all { display:block; text-align:center; margin-top:14px; padding:11px 16px; border:1px solid #e5e7eb;
  border-radius:9px; text-decoration:none; color:#374151; font-size:13.5px; font-weight:600; }
.krc-act-all:hover { border-color:#54b56a; color:#54b56a; }

/* ---- mobile: nothing may overflow the viewport ---- */
.krc-dash, .krc-app, .krc-panel, .krc-card, .krc-box2 { max-width:100%; box-sizing:border-box; }
.krc-dash *, .krc-app * { min-width:0; }

@media (max-width:768px){
  .krc-cards { grid-template-columns:1fr; gap:12px; }
  .krc-card { padding:16px; }
  .krc-panel { padding:16px; }

  /* stack the converter controls and let the button span the width */
  .krc-controls { flex-direction:column; align-items:stretch; }
  .krc-controls > label { width:100%; }
  .krc-controls select,
  .krc-controls .krc-model,
  .krc-controls .krc-outlang { width:100%; box-sizing:border-box; }
  .krc-controls .krc-go { width:100%; margin-left:0; padding:14px 20px; }

  .krc-url, .krc-text, .krc-file { width:100%; box-sizing:border-box; }
  .krc-grid3 { grid-template-columns:1fr; gap:12px; }
}

/* navigation cards sit at the foot of the dashboard */
.krc-cards-nav { margin-top:22px; margin-bottom:0; }

/* ---- language switcher ---- */
.krc-langsw { margin-top:20px; display:flex; justify-content:flex-end; }
.krc-langsw label { display:flex; align-items:center; gap:8px; font-size:13px; color:#6b7280; }
.krc-langsw select { -webkit-appearance:menulist !important; appearance:menulist !important;
  background:#fff !important; color:#111827 !important; padding:8px 10px; border:1px solid #d1d5db;
  border-radius:8px; font-size:13.5px; }
@media (max-width:768px){ .krc-langsw { justify-content:stretch; } .krc-langsw label { width:100%; } .krc-langsw select { flex:1; } }

/* text inputs in the converter need visible edges on themes that strip them */
.krc-app input[type="url"], .krc-app input[type="text"], .krc-app textarea, .krc-app input[type="file"] {
  box-sizing:border-box !important; border:1px solid #cbd0d6 !important; border-radius:10px !important;
  background:#fff !important; color:#111827 !important; box-shadow:none !important;
}
.krc-app input[type="url"]:focus, .krc-app input[type="text"]:focus, .krc-app textarea:focus {
  border-color:#54b56a !important; outline:none !important; box-shadow:0 0 0 3px rgba(84,181,106,.16) !important;
}
.krc-app input::placeholder, .krc-app textarea::placeholder { color:#9ca3af !important; opacity:1 !important; }
.krc-app input[type="checkbox"] {
  width:auto !important; min-width:0 !important; flex:0 0 auto !important;
  appearance:auto !important; -webkit-appearance:checkbox !important; height:auto !important;
}

/* ---- source picker ---- */
.krc-pick-head { text-align:center; margin:8px 0 20px; }
.krc-pick-head h3 { margin:0 0 5px; font-size:23px; font-weight:700; }
.krc-pick-head p { margin:0; font-size:14.5px; color:#6b7280; }

.krc-srcs { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:22px; }
.krc-src { display:flex; align-items:flex-start; gap:13px; text-align:left; width:100%;
  background:#fff; border:1.5px solid #e5e7eb; border-radius:12px; padding:16px 18px;
  cursor:pointer; position:relative; box-sizing:border-box; transition:border-color .15s, box-shadow .15s; }
.krc-src:hover { border-color:#9fd9ae; }
.krc-src.is-active { border-color:#54b56a; box-shadow:0 0 0 3px rgba(84,181,106,.14); }
.krc-src-ic { flex:0 0 auto; width:42px; height:42px; border-radius:10px; background:#f0fdf4;
  display:flex; align-items:center; justify-content:center; font-size:19px; color:#3f9c56; font-weight:700; }
.krc-src.is-active .krc-src-ic { background:#dcf3e3; }
.krc-src-tx { flex:1 1 auto; min-width:0; }
.krc-src-tx strong { display:block; font-size:15px; font-weight:700; color:#111827; margin-bottom:2px; }
.krc-src-tx em { display:block; font-size:13px; color:#6b7280; font-style:normal; line-height:1.45; }


@media (max-width:768px){ .krc-srcs { grid-template-columns:1fr; } }

/* ---- dashboard footer bar ---- */
.krc-foot { display:flex; align-items:center; justify-content:space-between; gap:14px;
  flex-wrap:wrap; margin-top:22px; padding-top:18px; border-top:1px solid #e8eaed; }
.krc-foot-links { display:flex; gap:10px; flex-wrap:wrap; }
.krc-foot-link { display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:11px 18px;
  font-size:14px; font-weight:600; color:#374151; }
.krc-foot-link:hover { border-color:#54b56a; color:#54b56a; }
.krc-foot-link span { font-size:16px; line-height:1; }
.krc-foot .krc-langsw { margin-top:0; }
@media (max-width:768px){
  .krc-foot { flex-direction:column; align-items:stretch; }
  .krc-foot-links { flex-direction:column; }
  .krc-foot-link { justify-content:center; }
}

/* ---- personal-use confirmation on uploads ---- */
.krc-own { display:flex; align-items:flex-start; gap:10px; margin-top:14px;
  padding:12px 14px; background:#f8f9fa; border:1px solid #eef0f2; border-radius:10px; cursor:pointer; }
.krc-own input { margin-top:2px; }
.krc-own span { flex:1 1 auto; min-width:0; font-size:13px; color:#374151; line-height:1.5; }
.krc-own.is-missing { border-color:#dc2626; background:#fef2f2; }

/* ---- trademark notice ---- */
.krc-tm { margin:26px 0 0; padding-top:16px; border-top:1px solid #eef0f2;
  font-size:11.5px; line-height:1.6; color:#9ca3af; text-align:center; }
