/* Shared admin header: scoped away from public pages, PDF and print layouts. */
.portal-admin-host{--pc-green:#173e35;--pc-bg:#fff;--pc-ink:#20382f;--pc-line:#dfe4db;--pc-soft:#edf4f1;font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--pc-ink);background:var(--pc-bg);width:min(1600px,100%);margin:0 auto 24px;isolation:isolate;border-bottom:1px solid var(--pc-line)}
html[data-theme=dark] .portal-admin-host,html[data-redentore-theme=dark] .portal-admin-host,body[data-theme=dark] .portal-admin-host{--pc-bg:#15231e;--pc-ink:#eef3ee;--pc-line:#34463c;--pc-soft:#26372e}
.portal-admin-host *{box-sizing:border-box}.portal-admin-host .cms-account-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 24px;background:var(--pc-green);color:#fff;border:0;border-radius:0;margin:0}.portal-admin-host .editorial-user-name{margin-right:auto;overflow-wrap:anywhere}.portal-admin-host .cms-account-bar :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #ffffff80;border-radius:9px;background:transparent;color:#fff;font:600 14px/1.4 Arial,Helvetica,sans-serif;text-decoration:none;cursor:pointer}.portal-admin-host .cms-account-bar :is(button,a):hover{background:#ffffff16}
.portal-admin-host .cms-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding:20px 24px;min-height:90px;height:auto;background:var(--pc-bg);color:var(--pc-ink);border:0;margin:0}.portal-admin-host .cms-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;font:650 23px/1.25 Arial,sans-serif}.portal-admin-host .cms-brand img{display:block;flex:none;width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.portal-admin-host .cms-brand small{display:block;letter-spacing:.1em;font-size:10px;line-height:1.7;font-weight:650;margin-top:5px}.portal-area{border:1px solid var(--pc-line);padding:8px 14px;border-radius:99px;font-size:12px;background:var(--pc-soft)}
.portal-admin-host .portal-service-nav{display:flex;flex-wrap:wrap;gap:9px;padding:0 24px 18px;background:var(--pc-bg)}.portal-admin-host .portal-service-nav :is(a,button){min-height:42px;padding:10px 16px;display:inline-flex;align-items:center;border:1px solid var(--pc-line);border-radius:99px;text-decoration:none;color:var(--pc-ink);font:600 13px/1.4 Arial,sans-serif}.portal-admin-host .portal-service-nav a[aria-current=page]{background:var(--pc-green);color:#fff;border-color:var(--pc-green)}.portal-admin-host :is(button,a):focus-visible{outline:3px solid #b87835;outline-offset:4px}
.portal-admin-host .portal-session-warning{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 24px;color:var(--pc-ink);background:var(--pc-soft);border-top:1px solid var(--pc-line);line-height:1.6}.portal-session-warning button{border:1px solid var(--pc-line);background:var(--pc-bg);color:var(--pc-ink);padding:10px 14px;border-radius:9px;font-weight:650;min-height:42px}
body.portal-admin-mode #cms-app :is(.cms-account-bar,.cms-topbar){display:none!important}body.portal-admin-mode #app>.account-bar{display:none!important}
body.portal-admin-mode #cms-app .login-wrap{border-radius:24px}body.portal-admin-mode #app .login{font-family:Arial,Helvetica,sans-serif;max-width:580px;border:1px solid var(--line,#dfe4db);border-radius:24px;padding:28px;margin:32px auto;box-shadow:0 16px 40px #1030290c}
.portal-quick-services{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px;border-bottom:1px solid var(--stroke);background:var(--surface)}.portal-quick-services button{font:600 12px/1.4 Arial,sans-serif;border:1px solid var(--stroke);color:var(--text);background:var(--surface);border-radius:99px;padding:8px 13px;min-height:40px}
@media(max-width:600px){.portal-admin-host .cms-account-bar,.portal-admin-host .cms-topbar{padding:16px}.portal-admin-host .portal-service-nav{padding:0 16px 16px;gap:8px}.portal-admin-host .cms-brand{font-size:19px}.portal-admin-host .cms-brand img{width:42px;height:42px}.portal-admin-host .cms-account-bar .editorial-user-name{flex-basis:100%}.portal-admin-host .portal-service-nav :is(a,button){flex:1 1 125px;justify-content:center}.portal-area{font-size:11px}.portal-admin-host .portal-session-warning{padding:14px 16px}}
@media print{.portal-admin-host,.portal-quick-services{display:none!important}}

/* Login has only the form and service links, with no administrative chrome. */
.portal-admin-host.portal-login-mode{width:min(620px,calc(100% - 32px));border:0;background:transparent;margin:24px auto 0;padding:0}

.portal-login-menu{position:relative;width:min(340px,100%);margin:auto;font-family:Arial,sans-serif}
.portal-login-menu summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border:1px solid var(--pc-line);border-radius:99px;background:var(--pc-green);color:#fff;padding:12px 20px;min-height:46px;font-weight:600}
.portal-login-menu summary::-webkit-details-marker{display:none}
.portal-login-links{display:grid;gap:4px;margin-top:8px;padding:10px;border:1px solid var(--pc-line);border-radius:18px;background:var(--pc-bg);box-shadow:0 12px 32px #10302915}
.portal-login-links :is(a,button){display:flex;align-items:center;min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:transparent;text-decoration:none;text-align:left;font:600 14px/1.4 Arial,sans-serif;color:var(--pc-ink);cursor:pointer}
.portal-login-links :is(a,button):hover{background:var(--pc-soft)}
.portal-app-access{background:#f5f8f7;--cream:#f5f8f7}
.portal-app-login{max-width:540px;margin:30px auto;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--surface,#fff)}
.portal-app-login h1{font-size:34px}.portal-app-login p{margin:16px 0}.portal-app-login label{display:grid;gap:6px;margin:16px 0}.portal-app-login input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);color:var(--ink)}
html[data-theme=dark] .portal-app-access{background:#10221d}html[data-theme=dark] .portal-app-login{background:#18382e}
@media(max-width:600px){.portal-app-login{margin:24px 16px;padding:24px}}

body.portal-auth-page{--background:#f5f5f7;--foreground:#20382f;--card:#fff;--border:#dfe4db;background:var(--background);color:var(--foreground)}
html[data-theme=dark] body.portal-auth-page{--background:#101112;--foreground:#eef3ee;--card:#1c1e20;--border:#34463c;--ink:#eef3ee;--line:#34463c;--surface:#1c1e20;--cream:#101112;color-scheme:dark}
body.portal-auth-page :is(.login,.login-wrap,.portal-app-login){background:var(--card);color:var(--foreground)}
body.portal-auth-page :is(input,select,textarea){background:var(--card);color:var(--foreground);border-color:var(--border)}
.portal-entry-dialog{width:min(1000px,calc(100% - 32px));height:min(850px,90dvh);padding:12px;border:1px solid var(--line);border-radius:22px;background:var(--surface,#fff);color:var(--ink);overflow:hidden}.portal-entry-dialog::backdrop{background:#09251d99;backdrop-filter:blur(5px)}.portal-entry-dialog>button{display:block;margin:0 0 10px auto;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:99px;background:var(--surface,#fff);color:inherit}.portal-entry-dialog iframe{display:block;border:0;width:100%;height:calc(100% - 54px);background:var(--surface,#fff)}@media print{.portal-entry-dialog{display:none}}
