/* Asisten Review AI. Semua warna diturunkan dari tema OJS oleh raPalette.js; token di bawah hanya cadangan
   (setara tema OJS standar) untuk detik sebelum skrip berjalan. */
.ra-app{
  --bg:#ffffff;
  --surface:#f7f7f7;
  --surface2:#f0f0f0;
  --surface3:#e2e2e2;
  --accent:#006798;
  --accent-rgb:0,103,152;
  --accent2:#0c4f6f;
  --accent3:#8a5a0b;
  --accent-dark:#00547d;
  --accent-text:#006798;
  --accent-light:rgba(0,103,152,0.12);
  --text:#222222;
  --text2:#4e4e4e;
  --text3:#5b5b5b;
  --muted:#5b5b5b;
  --success:#1e7a3c;
  --danger:#b3261e;
  --warning:#8a5a0b;
  --success-light:rgba(30,122,60,0.12);
  --danger-light:rgba(179,38,30,0.12);
  --warning-light:rgba(138,90,11,0.12);
  --teal:#0f766e;
  --teal-light:rgba(15,118,110,0.1);
  --border:rgba(34,34,34,0.24);
  --border2:rgba(34,34,34,0.1);
  --shadow-active:0 1px 4px rgba(34,34,34,0.25);
  --on-accent:#ffffff;
  --on-success:#ffffff;
  --radius:14px;--radius-sm:9px;--radius-xs:6px;--shadow:none;
  --ra-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}
.ra-app *{box-sizing:border-box;margin:0;padding:0;}
.ra-app{font-family:inherit;background:var(--bg);color:var(--text);min-height:100vh;}
.ra-app .main{max-width:680px;margin:0 auto;padding:2rem 1.25rem 4rem;}
.ra-app .sec-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:.6rem;display:flex;align-items:center;gap:8px;}
.ra-app .sec-label::before{content:'';display:inline-block;width:18px;height:2px;background:var(--accent);border-radius:2px;}
.ra-app .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:.875rem;box-shadow:var(--shadow);}
.ra-app .upload-zone{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:2.25rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg);}
.ra-app .upload-zone:hover, .ra-app .upload-zone.dragging{border-color:var(--accent);background:var(--accent-light);}
.ra-app .upload-icon-wrap{width:48px;height:48px;background:var(--accent-light);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto .875rem;border:1px solid #BFDBFE;}
.ra-app .upload-title{font-size:14px;font-weight:600;margin-bottom:3px;color:var(--text);}
.ra-app .upload-sub{font-size:12px;color:var(--text3);margin-bottom:.875rem;}
.ra-app .upload-cta{display:inline-block;padding:7px 18px;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-xs);font-size:12px;font-weight:600;letter-spacing:.01em;}
.ra-app #file-input{display:none;}
.ra-app .file-info{display:none;align-items:center;gap:10px;background:var(--success-light);border:1px solid #BBF7D0;border-radius:var(--radius-sm);padding:10px 14px;margin-top:10px;}
.ra-app .file-info.show{display:flex;}
.ra-app .file-meta{flex:1;min-width:0;}
.ra-app .file-name{font-size:13px;font-weight:600;color:var(--success);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ra-app .file-size{font-size:11px;color:#16A34A;margin-top:1px;}
.ra-app .file-remove{cursor:pointer;color:var(--text3);font-size:16px;padding:4px;flex-shrink:0;}
.ra-app .lang-row{display:flex;gap:6px;}
.ra-app .lang-btn{padding:7px 16px;border:1px solid var(--border);border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;background:var(--surface);font-family:inherit;transition:all .15s;color:var(--text2);}
.ra-app .lang-btn.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent-dark);font-weight:600;}
.ra-app .submit-btn{width:100%;padding:14px;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;letter-spacing:.01em;margin-top:.25rem;}
.ra-app .submit-btn:hover:not(:disabled){background:var(--accent-dark);}
.ra-app .submit-btn:disabled{opacity:.35;cursor:not-allowed;background:var(--text3);}
.ra-app .progress-card{display:none;}
.ra-app .progress-card.show{display:block;}
.ra-app .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.ra-app .progress-label{font-size:14px;font-weight:600;}
.ra-app .progress-pct{font-size:13px;color:var(--text2);font-weight:600;}
.ra-app .progress-track{height:5px;background:var(--surface2);border-radius:10px;overflow:hidden;margin-bottom:1.25rem;}
.ra-app .progress-fill{height:100%;background:var(--accent);border-radius:10px;transition:width .4s ease;width:0%;}
.ra-app .steps{display:flex;flex-direction:column;gap:7px;}
.ra-app .step{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3);}
.ra-app .step.done{color:var(--text2);}
.ra-app .step.active{color:var(--accent);font-weight:500;}
.ra-app .step-dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0;}
.ra-app .step.done .step-dot{background:var(--success);}
.ra-app .step.active .step-dot{background:var(--accent);}
.ra-app .result-card{display:none;}
.ra-app .result-card.show{display:block;}
.ra-app .result-banner{background:var(--success-light);border:1px solid #BBF7D0;border-radius:var(--radius-sm);padding:1rem 1.25rem;display:flex;align-items:center;gap:12px;margin-bottom:1.25rem;}
.ra-app .result-banner-icon{width:36px;height:36px;background:#DCFCE7;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.ra-app .result-banner-title{font-size:14px;font-weight:700;color:var(--success);}
.ra-app .result-banner-sub{font-size:12px;color:#16A34A;margin-top:2px;}
.ra-app .score-badge{display:flex;align-items:center;gap:12px;background:var(--surface2);border-radius:var(--radius-sm);padding:1rem 1.25rem;margin-bottom:1rem;}
.ra-app .score-circle{width:58px;height:58px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0;border:3px solid;}
.ra-app .score-circle.high{color:var(--success);border-color:#86EFAC;background:var(--success-light);}
.ra-app .score-circle.mid{color:var(--warning);border-color:#FCD34D;background:var(--warning-light);}
.ra-app .score-circle.low{color:var(--danger);border-color:#FCA5A5;background:var(--danger-light);}
.ra-app .score-verdict{font-size:14px;font-weight:700;margin-bottom:2px;}
.ra-app .score-desc{font-size:12px;color:var(--text2);line-height:1.5;}
.ra-app .section-scores{margin-bottom:1.25rem;}
.ra-app .section-score-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);}
.ra-app .section-score-row:last-child{border-bottom:none;}
.ra-app .section-score-name{font-size:12px;color:var(--text2);flex:1;min-width:0;}
.ra-app .section-score-bar-wrap{width:110px;height:5px;background:var(--surface2);border-radius:4px;overflow:hidden;flex-shrink:0;}
.ra-app .section-score-bar{height:100%;border-radius:4px;transition:width .6s ease;}
.ra-app .bar-high{background:var(--success);}
.ra-app .bar-mid{background:var(--warning);}
.ra-app .bar-low{background:var(--danger);}
.ra-app .section-score-num{font-size:12px;font-weight:700;width:28px;text-align:right;flex-shrink:0;}
.ra-app .summary-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;font-size:13px;line-height:1.75;color:var(--text2);margin-bottom:1.25rem;max-height:180px;overflow-y:auto;}
.ra-app .download-btn{width:100%;padding:13px;background:var(--success);color:var(--on-success);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-bottom:8px;}
.ra-app .download-btn:hover{background:#166534;}
.ra-app .reset-btn{width:100%;padding:10px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;font-family:inherit;color:var(--text2);}
.ra-app .reset-btn:hover{background:var(--surface2);}
.ra-app .error-box{display:none;background:var(--danger-light);border:1px solid #FECACA;border-radius:var(--radius-xs);padding:10px 14px;font-size:12px;color:var(--danger);margin-top:10px;line-height:1.5;}
.ra-app .error-box.show{display:block;}
.ra-app .section-comment-block{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem;margin-bottom:.75rem;background:var(--surface);}
.ra-app .section-comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;}
.ra-app .section-comment-title{font-size:12px;font-weight:700;color:var(--text);letter-spacing:.01em;}
.ra-app .section-comment-score{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;}
.ra-app .section-comment-score.high{background:var(--success-light);color:var(--success);}
.ra-app .section-comment-score.mid{background:var(--warning-light);color:var(--warning);}
.ra-app .section-comment-score.low{background:var(--danger-light);color:var(--danger);}
.ra-app .section-comment-text{font-size:12px;color:var(--text2);line-height:1.7;margin-bottom:.5rem;}
.ra-app .section-suggestion-text{font-size:12px;color:var(--teal);line-height:1.7;background:var(--teal-light);border-radius:var(--radius-xs);padding:.5rem .75rem;border-left:3px solid var(--teal);}
.ra-app .janggal-block{border:1px solid #FCD34D;border-radius:var(--radius-sm);padding:1rem 1.1rem;margin-bottom:.75rem;background:var(--warning-light);}
.ra-app .janggal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:8px;}
.ra-app .janggal-label{font-size:10px;font-weight:700;color:var(--warning);text-transform:uppercase;letter-spacing:.08em;background:#FDE68A;padding:2px 8px;border-radius:10px;flex-shrink:0;}
.ra-app .janggal-issue{font-size:11px;font-weight:600;color:var(--warning);}
.ra-app .janggal-para{font-size:11px;color:var(--text2);line-height:1.6;margin-bottom:.5rem;font-style:italic;background:white;border-radius:var(--radius-xs);padding:.4rem .6rem;border-left:3px solid #FCD34D;}
.ra-app .janggal-saran{font-size:12px;color:var(--warning);line-height:1.7;background:#FFFBEB;border-radius:var(--radius-xs);padding:.5rem .75rem;border-left:3px solid var(--warning);}
.ra-app{font-family:inherit!important; background: var(--bg) !important; color: var(--text) !important;}
.ra-app .main{position:relative; z-index:1;}
.ra-app .card{background:var(--surface) !important; border:1px solid var(--border) !important;
  border-radius:20px !important; padding:28px !important; margin-bottom:14px;}
.ra-app .sec-label{font-family:var(--ra-mono)!important; font-size:10px !important;
  font-weight:700 !important; letter-spacing:.15em !important; text-transform:uppercase !important;
  color:var(--muted) !important; margin-bottom:16px !important;
  display:flex; align-items:center; gap:8px;}
.ra-app .sec-label::before{content:''; width:18px; height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent2)); border-radius:2px;}
.ra-app .upload-zone{background:var(--surface2) !important; border:2px dashed var(--border) !important;
  border-radius:16px !important; padding:40px 28px !important;
  text-align:center; cursor:pointer; transition:all .3s;}
.ra-app .upload-zone:hover{border-color:var(--accent) !important; background:var(--surface3) !important;}
.ra-app .upload-icon-wrap{font-size:32px; margin-bottom:12px; opacity:.7;}
.ra-app .upload-title{font-size:16px; font-weight:600; color:var(--text); margin-bottom:6px;}
.ra-app .upload-sub{font-size:12px; color:var(--muted);}
.ra-app .upload-cta{display:inline-block; margin-top:14px; padding:10px 22px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark)); color:var(--on-accent);
  border:none; border-radius:10px; font-size:13px; font-weight:600; cursor:pointer;}
.ra-app .file-info{background:var(--surface2) !important; border:1px solid rgba(16,185,129,.3) !important;
  border-radius:12px !important; padding:12px 16px !important; margin-top:14px;}
.ra-app .file-name{font-family:var(--ra-mono); font-size:12px; color:var(--text);}
.ra-app .file-size, .ra-app .file-meta{font-size:11px; color:var(--muted);}
.ra-app input[type=text], .ra-app input[type=tel], .ra-app input[type=password], .ra-app input[type=number], .ra-app select, .ra-app textarea{background:var(--surface2) !important; border:1.5px solid var(--border) !important;
  color:var(--text) !important; border-radius:10px !important;
  font-family:inherit!important;}
.ra-app input::placeholder{color:var(--muted) !important;}
.ra-app input:focus, .ra-app select:focus, .ra-app textarea:focus{border-color:var(--accent) !important; outline:none !important;}
.ra-app label{color:var(--text) !important;}
.ra-app .submit-btn{background:linear-gradient(135deg,var(--accent),var(--accent-dark)) !important;
  color:var(--on-accent) !important; border:none !important; border-radius:12px !important;
  font-family:inherit!important; font-weight:600 !important; cursor:pointer; transition:all .3s;}
.ra-app .submit-btn:hover:not(:disabled){transform:translateY(-2px); box-shadow:0 12px 40px rgba(var(--accent-rgb),.4);}
.ra-app .submit-btn:disabled{opacity:.4; cursor:not-allowed; transform:none;}
.ra-app .reset-btn{background:var(--surface2) !important; border:1px solid var(--border) !important;
  color:var(--muted) !important; border-radius:12px !important;}
.ra-app .lang-row{display:flex; background:var(--surface2) !important; border-radius:12px; padding:4px; gap:4px;}
.ra-app .lang-btn{flex:1; padding:9px; font-size:12px; font-weight:600; cursor:pointer;
  background:transparent !important; border:none !important; border-radius:9px;
  color:var(--muted) !important; transition:all .2s; font-family:inherit;}
.ra-app .lang-btn.active{background:var(--surface3) !important; color:var(--accent-text) !important;
  box-shadow:var(--shadow-active);}
.ra-app .error-box{background:rgba(245,158,11,.1) !important; border:1px solid rgba(245,158,11,.25) !important;
  border-radius:10px; padding:10px 14px; font-size:12px; color:var(--accent3) !important;}
.ra-app .progress-card{background:var(--surface) !important; border:1px solid var(--border) !important;
  border-radius:20px; padding:32px;}
.ra-app .result-card{background:var(--surface) !important; border:1px solid rgba(16,185,129,.25) !important;
  border-radius:20px; padding:32px;}
.ra-app .result-banner{background:rgba(16,185,129,.1) !important; border:1px solid rgba(16,185,129,.25) !important;
  border-radius:14px; padding:16px 20px;}
.ra-app [class*="price"]{color:var(--accent-text) !important;}
.ra-app ::-webkit-scrollbar{width:6px;}
.ra-app ::-webkit-scrollbar-track{background:var(--surface);}
.ra-app ::-webkit-scrollbar-thumb{background:var(--border); border-radius:3px;}
.ra-app .file-size{color:var(--success) !important;}
.ra-app .file-info{border-color:var(--success-light) !important;}
.ra-app .result-banner-icon{background:var(--success-light) !important;}
.ra-app .result-banner-sub{color:var(--success) !important;}
.ra-app .score-circle.high{border-color:var(--success) !important;}
.ra-app .score-circle.mid{border-color:var(--warning) !important;}
.ra-app .score-circle.low{border-color:var(--danger) !important;}
.ra-app .download-btn:hover{filter:brightness(.92);}
.ra-app .janggal-block{border-color:var(--warning) !important;}
.ra-app .janggal-label{background:var(--warning-light) !important;color:var(--warning) !important;}
.ra-app .janggal-para{background:var(--surface2) !important;color:var(--text2) !important;}
.ra-app .janggal-saran{background:var(--warning-light) !important;}
.ra-app .error-box{border-color:var(--warning) !important;}
.ra-app ::selection{background:var(--accent);color:var(--on-accent);}
.ra-app .ai-notice{display:flex;gap:12px;align-items:flex-start;background:var(--accent-light);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:.875rem 1.1rem;margin-bottom:.9rem;font-size:12.5px;line-height:1.65;color:var(--text);}
.ra-app .ai-notice-icon{font-size:18px;line-height:1.3;flex-shrink:0;}
.ra-app .ai-note-result{font-size:11.5px;color:var(--muted);margin:.6rem 0 .9rem;line-height:1.6;}
.ra-app .step.active{color:var(--accent-text) !important;}
.ra-app .download-btn{background:var(--success) !important;color:var(--on-success) !important;}
.ra-app .download-btn:hover{filter:brightness(1.06);}
.ra-app .submit-btn:hover:not(:disabled){color:var(--on-accent) !important;}
.ra-app, .ra-app .card, .ra-app .upload-zone, .ra-app input, .ra-app select, .ra-app textarea{transition:background-color .25s,border-color .25s,color .25s;}
/* ===== Penyesuaian plugin: panel di dalam halaman OJS ===== */
.ra-app{
  position:relative;overflow:hidden;box-sizing:border-box;border-radius:14px;
  padding:0 0 1rem;margin:1.25rem auto;max-width:860px;min-height:0;line-height:1.5;
  border:1px solid var(--border);text-align:left;}
.ra-app *, .ra-app *::before, .ra-app *::after{box-sizing:border-box;}
.ra-app a{color:var(--accent-text);}
.ra-app .ra-head{display:flex;align-items:center;gap:12px;padding:14px 20px;
  border-bottom:1px solid var(--border2);background:var(--bg);}
.ra-app .ra-title{font-family:var(--ra-mono);font-size:14px;font-weight:700;color:var(--text);flex:1;}
.ra-app .ra-title small{font-weight:400;color:var(--muted);margin-left:8px;font-size:11px;}
.ra-app .main{padding:1.25rem 1.25rem 1rem;max-width:none;}
.ra-app .ra-ack{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.6;color:var(--text);margin-top:.5rem;}
.ra-app .ra-ack input{margin-top:3px;flex-shrink:0;width:auto;}
.ra-app .ra-disclosure{font-size:12.5px;line-height:1.65;color:var(--text2);background:var(--surface2);
  border:1px solid var(--border);border-radius:9px;padding:.75rem 1rem;white-space:pre-line;}
.ra-app .ra-foot{text-align:center;font-size:11px;color:var(--muted);padding:.5rem 1rem 0;}
.ra-app .ra-disabled-note{padding:1.25rem;font-size:13.5px;color:var(--text);}
.ra-app h1, .ra-app h2, .ra-app h3, .ra-app p{margin-top:0;}
.ra-app button{font-family:inherit;}
.ra-app .card, .ra-app .ai-notice{box-shadow:none;}
/* variabel yang dipakai CSS tetapi belum pernah didefinisikan */

/* Tombol "Pilih file" berupa <label>: jangan ikut aturan warna teks label umum */
.ra-app label.upload-cta{color:var(--on-accent)!important;}

/* ── Mode pop-up (?embed=1): hanya panel asisten yang tampil ─────────────────
   Induk panel ditandai data-ra-path; semua saudara di jalur itu (header, menu, sidebar,
   footer, banner tema) disembunyikan. Latar induk tetap, jadi palet tema tidak berubah. */
html.ra-embed body{visibility:hidden;animation:raEmbedReveal 0s linear 2.5s forwards;}
html.ra-embed.ra-embed-ready body{visibility:visible;animation:none;}
@keyframes raEmbedReveal{to{visibility:visible;}}
html.ra-embed [data-ra-path]>:not([data-ra-path]):not(#ra-app){display:none!important;}
html.ra-embed [data-ra-path]{display:block!important;position:static!important;float:none!important;
  margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;transform:none!important;
  width:auto!important;max-width:none!important;min-width:0!important;min-height:0!important;}
html.ra-embed{overflow-x:hidden;}
html.ra-embed .ra-app{margin:0!important;max-width:none!important;border-radius:0!important;border:0!important;min-height:100vh;}
html.ra-embed .ra-app .ra-head{display:none;}
html.ra-embed .ra-app .main{padding-top:1.25rem;}

/* v1.14: naskah dari OJS & simpan hasil ke bagian Upload langkah 3 */
.ra-app [hidden]{display:none!important;}
.ra-app .ra-ojs-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.ra-app .ra-ojs-row select{flex:1 1 260px;min-width:0;max-width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:var(--text);font:inherit;font-size:13px;}
.ra-app .ra-ojs-status{font-size:12px;color:var(--text2);}
.ra-app .ra-ojs-status.ok, .ra-app .ra-ojs-save-status.ok{color:var(--success);font-weight:600;}
.ra-app .ra-ojs-status.err, .ra-app .ra-ojs-save-status.err{color:var(--danger);font-weight:600;}
.ra-app .ra-ojs-hint{font-size:11px;color:var(--text2);margin-top:6px;line-height:1.5;}
.ra-app .ra-ojs-save{margin-top:1rem;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);}
.ra-app .ra-ojs-save .sec-label{margin-bottom:.4rem;}
.ra-app .ra-ojs-save-status{font-size:13px;color:var(--text);}
.ra-app .ra-ojs-save .reset-btn{margin-top:.6rem;}
.ra-app .ra-font-card .ra-ack{margin-top:.6rem;}
.ra-app .ra-font-card .reset-btn{margin-top:.6rem;}
.ra-app .ra-font-card .reset-btn:disabled{opacity:.45;cursor:not-allowed;}
.ra-app .ra-font-card .ra-ojs-status{display:block;margin-top:.4rem;}
