/* Research Studio v3.2.3 — whole-workspace design system.
   Pure presentation; keeps existing backend, form IDs, data, role checks and workflows. */
:root{
 --accent:#175d70; --accent-2:#237d8b; --soft:#edf7f7;
 --rs-ink:#173745; --rs-quiet:#5e7783;
 --rs-canvas:#f4f8f9; --rs-surface:#ffffff; --rs-stroke:#dbe6ea;
 --rs-shadow-sm:0 5px 18px rgba(19,54,65,.05);
 --rs-shadow-md:0 16px 38px rgba(18,53,63,.08);
}
/* Typography and base controls across both legacy and generated module content */
body{font-family:Inter,"Noto Sans Thai","Segoe UI",Tahoma,sans-serif;font-size:14px;line-height:1.62;color:var(--rs-ink)}
:where(.content,.dialog-card) :where(p,li,dd,.small-note){line-height:1.65}
:where(.content,.dialog-card) :where(h2,h3,h4,strong,b){overflow-wrap:break-word}
:where(.content,.dialog-card) h3{letter-spacing:-.008em;color:#173c4a}
:where(.content,.dialog-card) h4{color:#235160}
:where(.content,.dialog-card) a{color:#1a697d;text-underline-offset:3px}
:where(.content,.dialog-card) a:hover{color:#124f61}
button,.button{letter-spacing:.005em}
.button{min-height:39px;border-radius:11px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.35;white-space:normal}
.button.primary{background:linear-gradient(145deg,#196579,#155469);box-shadow:0 5px 13px rgba(21,84,105,.10)}
.button.primary:hover:not(:disabled){background:linear-gradient(145deg,#22758a,#155a70);box-shadow:0 8px 18px rgba(21,84,105,.16);transform:translateY(-1px)}
.button.ghost{border-color:#d3e0e5;color:#315767;background:#fff}
.button.ghost:hover:not(:disabled){background:#f2f8fa;border-color:#9fbfca}
.button:focus-visible{outline:3px solid #77bdcb;outline-offset:2px}
.button.small{min-height:33px;padding:6px 11px}
:where(input,textarea,select){background:#fff;border-color:#cadbe1;color:#233d4a;border-radius:11px;line-height:1.5;max-width:100%;min-width:0}
:where(input,textarea,select):focus{border-color:#3a91a0;box-shadow:0 0 0 3px rgba(53,143,160,.13)}
:where(input,textarea,select):disabled{background:#f1f4f6;cursor:not-allowed}
:where(input,textarea,select)::placeholder{color:#91a0a7;opacity:1}
input[type="checkbox"],input[type="radio"]{accent-color:#18687a;min-width:auto;min-height:auto}
label{color:#334f5c;font-weight:670}
textarea{line-height:1.7;min-height:85px}
select{background-color:white}
/* Harmonize all workflow screens: title, cards, forms, useful whitespace */
body:not(.rs-view-home) .workspace{max-width:1710px;gap:26px}
body:not(.rs-view-home) .content{max-width:100%;min-width:0}
body:not(.rs-view-home) .content>.panel.active>.section-heading{
 position:relative;padding:27px 29px 24px;border-radius:19px;border:1px solid #dfebec;
 background:linear-gradient(120deg,#fff 0%,#f8fcfc 74%,#f1f9f8 100%);
 box-shadow:var(--rs-shadow-sm);overflow:hidden
}
body:not(.rs-view-home) .content>.panel.active>.section-heading:before{
 content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:0 4px 4px 0;
 background:linear-gradient(180deg,#1c6979,#5cbbb0)
}
body:not(.rs-view-home) .content>.panel.active>.section-heading .kicker{font-size:.69rem;letter-spacing:.13em;color:#4d8893;margin-bottom:7px}
body:not(.rs-view-home) .content>.panel.active>.section-heading h2{font-size:clamp(1.36rem,1.85vw,1.76rem);color:#173949;line-height:1.35;letter-spacing:-.018em}
body:not(.rs-view-home) .content>.panel.active>.section-heading p{font-size:.89rem;color:#637d87;max-width:860px;margin-top:6px;line-height:1.7}
.content>.panel.active>.card,.content>.panel.active .card{border-color:#dce8eb;border-radius:17px;box-shadow:var(--rs-shadow-sm)}
.content>.panel.active>.card{padding:clamp(19px,2.1vw,27px);margin-bottom:20px}
.content .card h3{font-size:1.07rem;line-height:1.45;margin-bottom:15px}
.content .card-title-row{gap:15px;margin-bottom:14px;align-items:flex-start}
.content .card-title-row h3{margin:0}
.content .card-title-row .small-note{margin-top:3px}
.content .muted-card{background:#f8fbfc!important;border-color:#d9e6e9!important}
.content .grid{gap:16px 18px}
.content .grid label{min-width:0}
.content .grid label :where(input,select,textarea){font-weight:450}
.content .choice-strip{margin-top:19px;padding-top:17px;border-color:#e3ecef}
.content .action-row{gap:10px;align-items:center}
.content .small-note{color:#657e89;line-height:1.6}
.content .source-tag,.content .status-key{font-weight:720;border:1px solid rgba(63,120,138,.08)}
.content .pill{font-size:.73rem;padding:5px 9px}
/* Contextual compass: helps orientation in long multi-step workflows */
.rs-workflow-compass[hidden]{display:none!important}
.rs-workflow-compass{
 display:flex;align-items:center;justify-content:space-between;gap:18px;
 padding:13px 17px 13px 20px;margin-bottom:15px;border:1px solid #dfe9ed;
 border-radius:15px;background:rgba(255,255,255,.95);
 box-shadow:0 3px 13px rgba(18,55,69,.035)
}
.rs-compass-location{min-width:0}
.rs-compass-overline{font-size:.62rem;letter-spacing:.13em;font-weight:850;color:#82a0a9}
.rs-compass-trail{display:flex;align-items:center;gap:10px;margin-top:2px;font-size:.89rem}
.rs-compass-trail strong{color:#174c5d;font-weight:790;line-height:1.4;overflow-wrap:anywhere}
.rs-compass-home{background:transparent;border:0;color:#296f81;font-weight:750;cursor:pointer;padding:4px 0}
.rs-compass-home:hover{text-decoration:underline;text-underline-offset:3px}
.rs-compass-chevron{color:#b2c5cb}
.rs-compass-location p{font-size:.74rem;color:#76909a;margin:0}
.rs-compass-tools{flex:0 0 auto}
.rs-focus-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#f5fafb;border:1px solid #d9e8eb;border-radius:10px;color:#2d6472;font-size:.78rem;font-weight:720;cursor:pointer;white-space:nowrap}
.rs-focus-toggle:hover{background:#ebf6f7;border-color:#bad5db}
.rs-focus-toggle[aria-pressed="true"]{background:#dff2f3;border-color:#a9d1d8}
.rs-focus-toggle-icon{font-size:1.05rem;line-height:1}
@media(min-width:981px){
 body.rs-focus-workspace:not(.rs-view-home) .workspace{grid-template-columns:minmax(0,1fr)!important;max-width:1440px}
 body.rs-focus-workspace:not(.rs-view-home) .sidebar{display:none!important}
}
/* Data and generated reports: legibility without changing semantic statuses */
.table-wrap{border:1px solid #dce8eb;border-radius:14px;background:#fff;box-shadow:var(--rs-shadow-sm);max-width:100%;overflow:auto}
.data-table th,.data-table td{line-height:1.62;padding:12px 13px;border-color:#e9eff1;overflow-wrap:anywhere}
.data-table th{background:#eef6f7;color:#2a5867;font-weight:790;border-bottom:1px solid #d9e9ed;vertical-align:middle}
.data-table tbody tr:hover{background:#f7fbfc}
.data-table th:first-child,.data-table td:first-child{padding-left:17px}
.summary-grid{gap:13px}
.summary-box{padding:17px;border-radius:15px;border-color:#dce8eb;box-shadow:var(--rs-shadow-sm)}
.summary-box strong{color:#174d60;letter-spacing:-.025em}
.direction-card,.proposal-section,.proposal-title{border:1px solid #dce8eb;box-shadow:var(--rs-shadow-sm);border-radius:17px}
.direction-card{transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}
.direction-card:hover{transform:translateY(-2px);box-shadow:var(--rs-shadow-md)}
.direction-card.selected{border:2px solid #258497;background:#f6fbfb}
.blueprint-item{background:#f5fafb;border-left-color:#69abb4;padding:13px 15px;border-radius:0 12px 12px 0}
.definition-row{gap:16px;padding:11px 0;border-color:#e8eef0}
.empty-state{background:#f8fbfc;border-color:#cbdfe5;border-radius:15px;padding:29px 20px;line-height:1.8}
.empty-state.compact{padding:16px}
.notice,.workspace-load-status,.proposal-status{border-radius:12px;line-height:1.65;overflow-wrap:anywhere}
/* Proposal authoring, citations, evidence and review */
.full-toolbar{background:linear-gradient(135deg,#fff,#f7fbfc);border:1px solid #d9e7e9!important}
.full-proposal-chapters :where(.proposal-chapter,.proposal-section){min-width:0}
.full-proposal-chapters textarea{min-height:150px;line-height:1.8}
.review-tab,.article-lens-tab,.report-flow-step,.article-flow-step{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.review-tab:focus-visible,.article-lens-tab:focus-visible,.report-flow-step:focus-visible,.article-flow-step:focus-visible{outline:3px solid #83c9d5;outline-offset:2px}
.review-mode-tabs{background:#f1f6f8;border:1px solid #e1eaed;border-radius:13px;padding:6px;gap:6px}
.review-mode-tabs .review-tab{border-radius:9px}
.article-lens-tabs{gap:8px}
.article-lens-tab{border-color:#cfdee4;color:#385d6b;border-radius:11px;padding:9px 13px}
.article-lens-tab.active{background:#1a6074;border-color:#1a6074;color:#fff;box-shadow:0 5px 12px rgba(20,85,107,.12)}
.reviewer-block{border-radius:0 13px 13px 0;padding:17px 18px}
.revision-studio-item,.article-library-row,.review-section-list>.card,.evidence-list>.card{border-radius:13px;border-color:#dce7eb}
.article-library-row{padding:13px}
.article-workspace-shell,.report-workspace-shell{min-width:0;max-width:100%}
.article-workspace-toolbar,.report-workspace-toolbar{border-radius:14px}
.article-layout,.report-revision-grid{min-width:0}
.pdf-viewer{border-radius:15px;background:#edf3f6;border-color:#dae5ea}
.article-inspector,.report-revision-inspector{min-width:0}
/* Instrument Builder generated content (keep fields/exports intact) */
#instrumentBuilderRoot{min-width:0}
#instrumentBuilderRoot .card{padding:22px;border-color:#dce8eb;background:#fff;box-shadow:var(--rs-shadow-sm)}
#instrumentBuilderRoot :where(.ib-item-card,.ib-tile){border-radius:14px;box-shadow:0 4px 14px rgba(14,48,61,.035)}
#instrumentBuilderRoot .ib-editor{background:linear-gradient(180deg,#fff 0%,#fbfdfd 100%)}
#instrumentBuilderRoot .ib-document-preview{background:#fff;border:1px solid #dce7eb;border-radius:14px;padding:18px;line-height:1.8;overflow-wrap:anywhere}
#instrumentBuilderRoot .ib-help{color:#617985;line-height:1.7}
#instrumentBuilderRoot .ib-toolbar{gap:9px;flex-wrap:wrap}
/* Report findings and long reviewer panes: keep independent scrolling on desktop */
@media(min-width:1101px){
 #reportStageRevision .report-revision-grid{align-items:start}
 #reportStageRevision .report-revision-inspector{position:relative;max-height:calc(100dvh - 156px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 #reportRevisionQueue{max-height:calc(100dvh - 302px);overflow-y:auto;overscroll-behavior:contain}
}
/* Dialogs including authentication, project creation and endpoint settings */
dialog{width:min(660px,calc(100vw - 26px));max-height:calc(100dvh - 35px);border:1px solid #d6e3e7;border-radius:19px;box-shadow:0 26px 90px rgba(9,34,47,.25);overflow-y:auto;overscroll-behavior:contain}
dialog::backdrop{background:rgba(16,42,53,.48);backdrop-filter:blur(3px)}
.dialog-card{padding:clamp(20px,3vw,28px)}
.dialog-card h2,.dialog-card h3{letter-spacing:-.02em}
.dialog-actions{border-top:1px solid #e7eef0;padding-top:17px;gap:10px}
.dialog-header{gap:14px;margin-bottom:13px}
.icon-close{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#4a6c79;background:#f2f7f8}
.icon-close:hover{background:#e4f1f4}
/* Home refinement: fuller, no accidental single-word last line, clearer preview */
.rs-home-intro h1{max-width:none;font-size:clamp(2.15rem,3vw,3.25rem);line-height:1.3;letter-spacing:-.028em}
.rs-home-highlights{gap:10px}
.rs-home-highlights span{background:rgba(255,255,255,.77);box-shadow:0 6px 18px rgba(18,59,69,.035)}
.rs-current-insight{font-size:.76rem;line-height:1.6}
.rs-home-welcome{box-shadow:0 20px 54px rgba(16,56,66,.075)}
.rs-home-panel .studio-module-card{border-color:#dce8ea}
.rs-home-panel .studio-module-card:nth-child(2):before{background:linear-gradient(180deg,#6285b1,#a3b7e0)}
.rs-home-panel .studio-module-card:nth-child(3):before{background:linear-gradient(180deg,#3a9a87,#8dd5be)}
.rs-home-panel .studio-module-card:nth-child(4):before{background:linear-gradient(180deg,#797eac,#b3a9d3)}
.rs-home-panel .studio-module-card:nth-child(5):before{background:linear-gradient(180deg,#c49b56,#e5cc98)}
.rs-home-panel .studio-module-card:nth-child(2) .module-icon{background:#eff2fa;color:#586da2}
.rs-home-panel .studio-module-card:nth-child(4) .module-icon{background:#f2eff8;color:#75689c}
.rs-home-panel .studio-module-card:nth-child(5) .module-icon{background:#fbf5e9;color:#96723c}
.rs-home-project-library .project-row:focus-within{border-color:#a6cfd6}
/* Responsive: component grids do not force horizontal overflow */
@media(max-width:1250px){
 .rs-workflow-compass{padding:12px 15px}
 .rs-compass-tools .rs-focus-toggle{font-size:.72rem}
 .content .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .direction-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
 .rs-workflow-compass{padding:12px 14px}
 .rs-focus-toggle{display:none}
 body:not(.rs-view-home) .content>.panel.active>.section-heading{padding:20px 22px}
 .sidebar{box-shadow:18px 0 46px rgba(14,43,55,.15)}
}
@media(max-width:700px){
 body{font-size:13.5px}
 .rs-workflow-compass{padding:12px 14px;border-radius:12px}
 .rs-compass-overline{font-size:.57rem}
 .rs-compass-trail{font-size:.84rem;gap:8px}
 .rs-compass-location p{font-size:.71rem}
 body:not(.rs-view-home) .content>.panel.active>.section-heading{padding:18px 17px;border-radius:15px;gap:10px}
 body:not(.rs-view-home) .content>.panel.active>.section-heading:before{top:19px;bottom:19px;width:3px}
 body:not(.rs-view-home) .content>.panel.active>.section-heading h2{font-size:1.35rem}
 .content>.panel.active>.card{padding:17px 15px}
 .content .card-title-row{flex-wrap:wrap}
 .grid.two,.grid.three,.two-col{grid-template-columns:1fr}
 .direction-list,.summary-grid,.content .summary-grid{grid-template-columns:1fr}
 .table-wrap{margin-left:0;margin-right:0}
 .review-mode-tabs{flex-wrap:wrap}
 .dialog-card{padding:20px 17px}
 .dialog-actions{flex-wrap:wrap}
 .rs-home-intro h1{font-size:clamp(1.85rem,7.7vw,2.25rem);line-height:1.34}
 .rs-home-highlights{grid-template-columns:1fr}
 #reportStageRevision .report-revision-inspector,#reportRevisionQueue{max-height:none;overflow:visible}
}
@media(prefers-reduced-motion:reduce){.button,.direction-card{transition:none!important}}
