html,body.session-shell{height:100%;overflow:hidden;margin:0}.session-shell #dashboard{border:0;width:100%;height:100%;display:block}
#portal-dialog{margin:auto;padding:0;border:0;border-radius:9px;background:#fff;color:#001040;width:min(1320px,calc(100vw - 32px));max-height:94vh;overflow:auto;font-family:Lota,Arial,sans-serif;box-shadow:0 20px 70px #00104040}
#portal-dialog::backdrop{background:#001040a6;backdrop-filter:blur(4px)}
.portal-heading{display:flex;gap:1.3rem;align-items:center;background:#001040;color:#fff;padding:1.1rem 1.4rem;position:sticky;top:0;z-index:2}.portal-heading img{flex-shrink:0}.portal-heading h1{font-size:1.35rem;line-height:1.2;margin:3px 0 0;font-weight:600}.portal-eyebrow{font-size:.64rem;letter-spacing:.12em;color:#c5d0e8}
#portal-close{margin-left:auto;background:transparent;border:1px solid #ffffff50;color:white;border-radius:5px;font-size:1.6rem;padding:0;width:34px;height:34px;cursor:pointer}
#portal-welcome,#portal-connected{padding:1.5rem 1.6rem;max-width:700px}#portal-dialog h2{font-size:1.35rem;font-weight:600;margin:0 0 .75rem}#portal-dialog p{line-height:1.5}
#portal-dialog button:not(#portal-close){padding:.7rem 1rem;border-radius:5px;cursor:pointer}#portal-dialog button:disabled{opacity:.6;cursor:wait}
#portal-message{margin:.5rem 1.5rem 1rem;color:#a22b10;min-height:1.4rem}#portal-message:empty{display:none}.portal-note{font-size:.78rem;color:#4c6479;margin:.8rem 0 0}
#portal-remote{padding:0 1rem}.portal-instructions{font-size:.85rem;margin:.8rem 0;color:#4c6479}
#portal-screen{width:100%;height:auto;display:block;border:1px solid #d9e2eb;border-radius:5px;touch-action:pan-y;background:#f6f9fe}#portal-screen:focus{outline:2px solid #3153e4;outline-offset:2px}
#portal-input{position:fixed;opacity:0;width:1px;height:1px;left:0;bottom:0;padding:0;border:0;font-size:16px;pointer-events:none}
.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #d9e2eb;margin-top:1rem;font-size:.82rem;color:#4c6479}#portal-logout{color:#a22b10;background:#fff;border:1px solid #e6c0b6}
[hidden]{display:none!important}@media(max-width:600px){#portal-dialog{width:calc(100vw - 16px);max-height:97vh}.portal-heading{padding:1rem;gap:.8rem}.portal-heading img{width:58px}.portal-heading h1{font-size:1.1rem}#portal-welcome,#portal-connected{padding:1.2rem}#portal-remote{padding:0 .5rem}.portal-instructions{font-size:.76rem}}

.server-settings{margin:0 1.5rem 1.2rem;border:1px solid #d9e2eb;border-radius:6px;background:#f6f9fe;max-width:750px}
.server-settings summary{padding:.95rem 1rem;cursor:pointer;font-size:.93rem;font-weight:600}.server-settings summary:focus-visible{outline:3px solid #ff9040;outline-offset:2px}.server-settings[open] summary{border-bottom:1px solid #d9e2eb}
#server-form,.server-current{margin:0;padding:0 1rem 1rem}.server-current{padding-top:1rem;font-size:.8rem;color:#4c6479;overflow-wrap:anywhere}#server-current{color:#001040}
#server-fields{margin:0;padding:0;border:0;min-width:0}#server-fields label{font-size:.88rem;font-weight:600}#server-help{margin:.3rem 0 .7rem}
#server-url{box-sizing:border-box;display:block;width:100%;min-width:0;padding:.7rem .8rem;border:1px solid #adbec9;border-radius:5px;background:#fff;color:#001040;font-size:.95rem}#server-url:disabled{background:#edf1f6;color:#4c6479}
.server-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem;font-size:.82rem}#portal-dialog .server-secondary{color:#3153e4;background:#fff;border-color:#b6c4ec}#portal-dialog .server-secondary:hover{background:#e8ecff}#portal-dialog .server-reset{background:transparent;color:#4c6479;border-color:transparent}#portal-dialog .server-reset:hover{background:#e8ecff}
#server-feedback{font-size:.83rem;margin:.8rem 0 0;color:#4c6479}#server-feedback:empty{display:none}#server-feedback[data-kind=success]{color:#087b52}#server-feedback[data-kind=error]{color:#a22b10}
@media(max-width:600px){.server-settings{margin:0 1.2rem 1rem}.server-actions button{flex:1 1 auto}#server-url{font-size:16px}}
