/* Product UI only. Report documents and editor iframe styles are independent. */
:root{--ep-rail:264px;--ep-control-height:36px;--ep-radius:8px;--ep-space:24px;--ep-surface:#fff;--ep-subtle:#f7f9fb;--ep-text:#203646;--ep-secondary:#617587;--ep-stroke:#dce5eb;--ep-selected:#edf6f8;--ep-focus:#247f97}
body.with-portal-nav{color:var(--ep-text);background:#f5f7f9;-webkit-font-smoothing:antialiased}
body.portal-collapsed{--ep-rail:68px}
#portal-navigation .portal-brand>img:first-child{width:240px;height:auto}
#portal-navigation .portal-links{gap:4px;padding:10px 12px}
#portal-navigation .portal-links a{min-height:42px;padding:10px 12px;border-radius:7px;font-weight:500}
#portal-navigation .portal-links a[aria-current=page]{color:#1b6f86;background:var(--ep-selected);font-weight:650}
#portal-navigation .portal-links a:hover{background:#f1f6f8}
#portal-navigation .portal-links a .ep-icon{width:19px;height:19px}
#portal-navigation .portal-account{padding:12px}
#portal-account-button{border-radius:7px;min-height:40px}
#portal-account-button:hover{background:var(--ep-subtle)}
#portal-account-panel{padding:18px;border-color:var(--ep-stroke);border-radius:10px}
#portal-account-settings{display:flex;align-items:center;width:100%;padding:10px 12px;border:1px solid var(--ep-stroke);border-radius:6px;background:#fff;color:var(--ep-text);font:inherit;margin-bottom:8px;cursor:pointer;text-align:start}
:is(.ep-page-header,.files-top,.template-editor-top){padding-inline:28px;gap:16px}
.ep-page-heading h1,.ep-page-header h1,#view-title{font-size:22px;font-weight:650;line-height:1.3;letter-spacing:-.5px}
.ep-page-heading p,.ep-page-header>div>p{font-size:12px;line-height:1.5;color:var(--ep-secondary)}
:is(.files-view,.integration-main,.template-main){padding:24px 28px 40px}
:is(.integration-main,.account-main,.setup-shell,.template-main) :is(h2,h3){line-height:1.4;letter-spacing:-.2px;color:var(--ep-text)}
:is(.integration-main,.account-main,.setup-shell) h2{font-size:18px;font-weight:650;margin:0 0 12px}
:is(.integration-main,.account-main,.setup-shell) h3{font-size:14px;font-weight:650;margin:24px 0 10px}
:is(.integration-main,.account-main,.setup-shell) p{font-size:13px;line-height:1.65;color:#526a7b}
/* Consistent controls without changing compact designer tools or report content. */
:is(.integration-main,.account-main,.setup-shell,.template-main) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),
body>dialog :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]){min-height:var(--ep-control-height);padding:8px 11px;border:1px solid #cddae3;border-radius:6px;background:white;color:var(--ep-text);font:inherit;box-sizing:border-box;max-width:100%}
:is(.integration-main,.account-main,.setup-shell) textarea,body>dialog textarea{min-height:88px;line-height:1.55;resize:vertical}
:is(.integration-main,.account-main,.setup-shell) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):hover{border-color:#a8bdca}
:is(.integration-main,.account-main,.setup-shell,body>dialog) :is(input,select,textarea):focus-visible{outline:2px solid var(--ep-focus);outline-offset:2px}
:is(.integration-main,.account-main,.setup-shell,body>dialog) :is(input[type=checkbox],input[type=radio]){width:16px;height:16px;min-height:16px;padding:0;margin:0;flex:0 0 16px;accent-color:var(--ep-focus)}
:is(.integration-main,.account-main,.setup-shell) .btn,body>dialog .btn{min-height:36px;padding:8px 13px;border:1px solid var(--ep-stroke);border-radius:6px;background:white;color:var(--ep-text);font:550 12px/1.4 var(--font,system-ui);display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;cursor:pointer}
:is(.integration-main,.account-main,.setup-shell) .btn.primary,body>dialog .btn.primary{background:var(--ep-focus);border-color:var(--ep-focus);color:white}
:is(.integration-main,.account-main,.setup-shell) .btn:hover:not(:disabled),body>dialog .btn:hover:not(:disabled){background:var(--ep-selected);border-color:#b5ced8}
:is(.integration-main,.account-main,.setup-shell) .btn.primary:hover:not(:disabled),body>dialog .btn.primary:hover:not(:disabled){background:#1d6b80;border-color:#1d6b80;color:white}
:is(.integration-main,.account-main,.setup-shell,body>dialog) button:disabled{opacity:.5;cursor:not-allowed}
:is(.integration-main,.account-main,.setup-shell) :is(label.account-check,label.integration-check),#account-activity .activity-filters>label.account-check{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;font-weight:400;line-height:1.5}
:is(.integration-main,.account-main,.setup-shell) label:has(>input[type=checkbox]):not([hidden]){display:flex;flex-direction:row;align-items:center;gap:9px}
:is(.integration-main,.account-main,.setup-shell) fieldset{border:1px solid var(--ep-stroke);border-radius:8px;padding:16px;margin:0;min-width:0;background:#fff}
:is(.integration-main,.account-main,.setup-shell) legend{font-weight:600;font-size:12px;color:var(--ep-secondary);padding:0 6px}
:is(.integration-main,.account-main) table{font-size:12px;border-collapse:separate;border-spacing:0;background:#fff}
:is(.integration-main,.account-main) :is(th,td){padding:11px 13px;text-align:start;border-bottom:1px solid var(--ep-stroke);line-height:1.55}
:is(.integration-main,.account-main) th{font-size:11px;font-weight:650;color:var(--ep-secondary);background:var(--ep-subtle);white-space:nowrap}
:is(.integration-main,.account-main) td{overflow-wrap:anywhere}
:is(.integration-main,.account-main) tbody tr:hover{background:#f8fbfc}
/* Admin page tabs keep one readable row; overflow stays inside the tab strip. */
.integration-main>.template-page-tabs{display:flex;flex-wrap:nowrap;gap:4px;padding:4px 8px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain;border:1px solid var(--ep-stroke);border-radius:8px;margin-bottom:24px;background:white}
.integration-main>.template-page-tabs button{flex:0 0 auto;min-height:36px;padding:8px 12px;border:0;border-radius:5px;background:transparent;color:var(--ep-secondary);font-size:12px}
.integration-main>.template-page-tabs button.on,.integration-main>.template-page-tabs button[aria-selected=true]{background:var(--ep-selected);color:#1b6f86;font-weight:650}
.integration-main>.template-page-tabs button:hover{background:var(--ep-subtle)}
.integration-main>.template-page-tabs button:focus-visible{outline:2px solid var(--ep-focus);outline-offset:-2px}
.integration-main .operations-form{max-width:680px;gap:16px;background:white;border:1px solid var(--ep-stroke);border-radius:10px;padding:20px}
.integration-main .operations-form>button{justify-self:start}
.integration-main #quality-rules:empty{display:none}
.integration-main #quality-rules{margin:16px 0}
.integration-main #quality-rules fieldset{display:grid;gap:12px;background:var(--ep-subtle)}
.integration-main :is(#status,#quality-status,#health-result):not(:empty){padding:12px 14px;border:1px solid #c8dde5;border-radius:7px;background:#f0f7fa;color:#30596c;line-height:1.6}
.integration-main :is(#status,#quality-status,#health-result):empty{display:none}
.integration-layout{border-color:var(--ep-stroke);border-radius:10px}
.integration-layout>aside{padding:20px;background:#fbfcfd;border-radius:10px 0 0 10px}
.integration-main #detail>h2{margin-top:24px}
.integration-main #detail>h2:first-child{margin-top:0}
.integration-main #detail>p{max-width:900px}
.integration-main #submit-form{display:grid;gap:10px;max-width:680px;margin:20px 0}
.integration-main #submit-form label{display:grid;gap:7px;font-size:12px;font-weight:550}
.integration-main #submit-form button{justify-self:start}
/* Remove the old second rail offset: body already reserves navigation width. */
body.with-portal-nav .account-shell{margin:24px 28px 40px;grid-template-columns:200px minmax(0,1fr);gap:24px;max-width:none}
.account-shell .account-navigation{border-radius:9px;padding:8px;top:24px}
.account-shell .account-navigation button{padding:10px 12px;min-height:40px;font-size:12px;color:var(--ep-secondary);cursor:pointer}
.account-shell .account-navigation button:hover{background:var(--ep-subtle)}
.account-shell .account-navigation button[aria-current=page]{background:var(--ep-selected);color:#1b6f86}
.account-shell .account-panel,.account-shell #account-activity{border:1px solid var(--ep-stroke);border-radius:10px;background:#fff;padding:24px;box-shadow:none;min-width:0}
.account-shell .account-panel>.account-panel{padding:0;border:0}
#account-activity .activity-filters{margin:20px 0;gap:16px;align-items:end}
#account-activity .activity-filters .account-check{grid-column:1/-1;margin:0}
#account-activity .activity-filters .account-check input{width:16px;height:16px;min-height:16px}
.activity-cards{gap:12px;margin:20px 0}
.activity-cards article{border-color:var(--ep-stroke);border-radius:8px;padding:16px;background:var(--ep-subtle)}
.activity-cards strong{font-size:22px;line-height:1.3;margin-top:8px}
.activity-event{gap:16px;padding:14px 0;font-size:12px}
.account-section-bar{align-items:flex-start;margin-bottom:20px}
.account-section-bar p{margin-bottom:0}
/* Keep dataset choices usable when both Data-mode side panels are open. */
.dm-work .dm-toolbar{flex-wrap:wrap;gap:12px}
.dm-toolbar .dm-context-tools{flex:1 1 100%;min-width:0}
.dm-toolbar .dm-add-bar{flex-wrap:wrap;gap:8px}
.dm-toolbar .dm-add-bar label,.dm-toolbar .dm-add-bar .dm-dataset-choice{flex:1 1 160px;min-width:140px;width:auto;max-width:none}
.dm-toolbar .dm-add-bar button{flex-shrink:0}
.dm-toolbar .dm-toolbar-actions{margin-inline-start:auto;flex-wrap:wrap;gap:8px}
.dm-toolbar .dm-add-bar select{width:100%;min-width:0}
/* Run/print controls use the same inset and vertical rhythm. */
.runner-workspace .runner-parameter-scroll{padding:16px}
.runner-workspace .runner-form>label,.runner-workspace .runner-form>div>label{display:grid;gap:7px;margin-block:0 16px;font-size:12px;font-weight:550}
.runner-workspace .runner-form>.btn{margin-bottom:12px}
.runner-workspace .runner-form>.runner-menu{margin-bottom:12px}
.runner-workspace .runner-report-items [data-run-report][aria-pressed=true]{color:#1b6f86;background:var(--ep-selected)}
body>dialog{border-color:var(--ep-stroke);border-radius:10px;max-height:calc(100dvh - 48px);overflow:auto}
body>dialog::backdrop{background:rgb(22 42 57 / 35%)}
body>dialog h2{font-size:18px;letter-spacing:-.2px;margin-top:0}
body>dialog :is(p,small){line-height:1.6}
body>dialog footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:24px}
/* Embed is a separate document, with no portal rail or report-content rules. */
body:not(.with-portal-nav)>main>#parameters :is(input,select){min-height:36px;border-color:#cddae3;border-radius:6px;padding:8px 11px}
body:not(.with-portal-nav)>main>#parameters label{font-weight:550;gap:7px}
body:not(.with-portal-nav)>main>#report-list button[aria-pressed=true]{background:var(--ep-selected);color:#1b6f86;border-color:#bdd7e1}
@media(prefers-reduced-motion:reduce){#portal-navigation *,body>dialog{scroll-behavior:auto!important;transition:none!important}}
.integration-main #detail>label:has(#submission-note){display:grid;gap:8px;max-width:680px;margin:20px 0 12px;font-size:12px;font-weight:550}
.integration-main #detail #submit{margin-bottom:8px}
.integration-main #detail>label:has(#approval){margin:16px 0}
.integration-main>label:has(#reports){display:grid;gap:8px;max-width:420px;margin-bottom:24px;font-size:12px;font-weight:550}
.runner-workspace #runner-form>label,.runner-workspace #runner-form>div>label{display:grid;gap:7px;margin:0 16px 16px;font-size:12px;font-weight:550}
.runner-workspace #runner-form>.btn{margin:0 16px 12px;width:calc(100% - 32px)}
.runner-workspace #runner-form>.runner-menu{margin:0 16px 12px}
body:has(#review-content)>main{padding:28px}
.integration-main .operations-form .operations-form{border:0;border-radius:0;padding:0;background:transparent;max-width:none}
.dm-work .dm-toolbar:has([data-dm-toolbar="diagram"]:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.dm-toolbar .dm-add-bar[data-dm-toolbar="diagram"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.dm-toolbar .dm-add-bar[data-dm-toolbar="diagram"] label,.dm-toolbar .dm-add-bar[data-dm-toolbar="diagram"] .dm-dataset-choice{min-width:0;width:auto;max-width:none}
.dm-toolbar .dm-add-bar[data-dm-toolbar="diagram"] button{justify-self:start;max-width:none;white-space:nowrap}
.dm-work .dm-toolbar:has([data-dm-toolbar="diagram"]:not([hidden])) .dm-toolbar-actions{margin:0 0 0 auto}
.login-screen .login-card{padding:32px;border-radius:12px;border-color:var(--ep-stroke);box-shadow:0 8px 36px rgb(22 42 57 / 6%)}
.login-screen .login-form{gap:16px}
.login-screen .login-form input{min-height:40px;border-color:#cddae3;border-radius:6px}
.login-screen .login-btn{min-height:40px;border-radius:6px}
.login-screen .login-hint{color:var(--ep-secondary);line-height:1.6}
:is(.integration-main,.account-main,.setup-shell,body>dialog) .btn.danger{color:#9b342e;border-color:#e7c4c1;background:#fffafa}
:is(.integration-main,.account-main,.setup-shell,body>dialog) .btn.danger:hover:not(:disabled){background:#fcefed;border-color:#d7a5a0}
:is(.integration-main,.account-main,.setup-shell,body>dialog) :is(input,select,textarea):disabled{background:#f4f7f9;color:#6a7e8b;cursor:not-allowed}
:is(.integration-main,.account-main,.setup-shell,body>dialog) [aria-invalid=true]{border-color:#bb5148!important}
:is(.integration-main,.account-main,.setup-shell,body>dialog) [role=alert]:not(:empty){padding:12px 14px;border:1px solid #e5b8b3;border-radius:7px;background:#fff3f1;color:#8c302a}
.runner-workspace #runner-form>.runner-export-choices{margin:0 16px 12px}
.runner-workspace .runner-export-choices>summary{font-size:12px;color:#405d70;cursor:pointer;padding:4px 0}
body>dialog fieldset{border:1px solid var(--ep-stroke);border-radius:8px;padding:16px;min-width:0;margin-block:16px;background:var(--ep-subtle)}
body>dialog legend{padding:0 6px;font-size:12px;font-weight:600;color:var(--ep-secondary)}
/* Size these panels by their available editor space, not the browser width. */
.dm-work{container-name:ep-data-work;container-type:inline-size}
.dm-work .structure-workspace{grid-template-columns:190px minmax(0,1fr)}
.dm-work .structure-fields{min-width:0}
.dm-work #structure-table{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.dm-work :is(.structure-table-head,.structure-row){min-width:820px}
@container ep-data-work (max-width:720px){
 .parameter-workspace,.dm-work .structure-workspace{grid-template-columns:minmax(0,1fr);gap:16px}
 .parameter-list-panel{max-height:240px;overflow:auto}
 .parameter-editor-panel{min-width:0}
 .parameter-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .parameter-editor-panel .binding{grid-template-columns:minmax(0,1fr)}
}
.dm-work .dm-toolbar:not(:has([data-dm-toolbar="diagram"]:not([hidden]))) .dm-context-tools{flex:1 1 220px}
/* Keep machine-readable values readable in mirrored forms. */
html[dir=rtl] :is(.account-main,.integration-main,.setup-shell,body>dialog) :is(input[type=email],input[type=url],input[type=number]){direction:ltr;text-align:left}
html[dir=rtl] .dm-ai-column{border-left:0;border-inline-start:1px solid var(--line)}
