.shell-page { height:100dvh; margin:0; display:flex; flex-direction:column; overflow:hidden; background:#fff; font:15px/1.46667 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.shell-page [hidden] { display:none!important; }
.shell-top { height:40px; flex:0 0 40px; display:flex; align-items:center; gap:16px; padding:0 16px; background:#fff; border-bottom:1px solid #e5e5e5; min-width:0; }
.shell-brand { display:flex; align-items:center; gap:8px; color:#1d1c1d; text-decoration:none; flex-shrink:0; }
.shell-brand > span { font-size:26px; font-weight:750; }
.shell-brand > span > span { color:#611f69; }
.shell-brand b { font-size:14px; }
#shell-module-label { color:#616061; font-size:13px; }
#shell-account { margin-left:auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.shell-layout { flex:1; min-height:0; display:grid; grid-template-columns:68px minmax(0,1fr); overflow:hidden; }
.shell-nav { display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:8px 6px; overflow:auto; background:#f3f1f4; border-right:1px solid #e5e5e5; }
.shell-nav > a { min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:6px 2px; color:#454245; font-size:12px; text-decoration:none; border-radius:6px; }
.shell-nav > a:hover { background:#eae5ec; }
.shell-nav [aria-current=page] { background:#f4e8f7; color:#3b173f; font-weight:700; }
.shell-nav svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.shell-tools { margin-top:auto; border-top:1px solid #e5e5e5; padding:10px 2px 2px; font-size:11px; }
.shell-tools summary { cursor:pointer; font-weight:650; }
.shell-tools a { display:block; padding:8px 2px; overflow-wrap:anywhere; }
.shell-tools p { margin:8px 0; color:#616061; }
.shell-main { position:relative; display:block; min-height:0; min-width:0; width:100%; overflow:hidden; background:#fff; border-radius:0; }
.shell-stage { position:absolute; inset:0; overflow:hidden; }
.shell-stage iframe { position:absolute; inset:0; width:100%; height:100%; border:0; display:block; background:#fff; }
.shell-panel { position:absolute; inset:0; padding:20px; overflow:auto; background:#fff; }
.shell-panel h1 { margin:0 0 8px; font-size:20px; }
.shell-panel p { margin:8px 0 16px; }
.shell-panel .shell-muted { color:#616061; font-size:13px; }
.shell-panel-list { display:grid; gap:12px; max-width:900px; }
.shell-panel-card { border:1px solid #e5e5e5; border-radius:8px; padding:16px; overflow-wrap:anywhere; }
.shell-panel-card h2 { margin:0 0 8px; font-size:16px; }
.shell-panel-card p { font-size:13px; margin:8px 0; }
.shell-module-status { position:absolute; inset:0; padding:16px 20px; background:#fff; }
.shell-status-card { width:100%; border-bottom:1px solid #e5e5e5; padding:0 0 16px; }
.shell-status-card h1 { font-size:15px; margin:0; }
.shell-status-card p { color:#616061; }
.shell-auth { flex:1; min-height:0; overflow:auto; display:grid; align-items:start; justify-items:center; padding:48px 16px; }
.shell-auth-card { width:min(100%,420px); padding:24px; border:1px solid #e5e5e5; border-radius:8px; }
.shell-auth-card h1 { font-size:20px; }
.shell-auth-card p { color:#616061; font-size:13px; }
#shell-login-form { display:grid; gap:16px; margin-bottom:16px; }
#shell-login-form label { display:grid; gap:6px; font-size:13px; }
.shell-page input { font:inherit; font-size:16px; padding:10px 12px; border:1px solid #a9a9a9; border-radius:8px; width:100%; min-width:0; }
.shell-page input:focus-visible { outline:3px solid #1d9bd1; outline-offset:2px; }
.shell-panel-card button { margin-top:8px; }
@media(max-width:680px) {
 .shell-top { gap:8px; padding:0 12px; height:48px; flex-basis:48px; }.shell-brand b { display:none; }#shell-module-label { font-size:12px; }#shell-account { font-size:12px; max-width:135px; }
 .shell-layout { display:flex; flex-direction:column; }
 .shell-nav { flex:0 0 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:4px; border-right:0; border-bottom:1px solid #e5e5e5; gap:2px; min-height:0; overflow:visible; }
 .shell-nav > a { min-width:0; min-height:36px; flex-direction:row; padding:4px 2px; font-size:11px; gap:4px; overflow-wrap:anywhere; }
 .shell-nav svg { width:18px; height:18px; }
 .shell-tools { min-width:0; margin:0; padding:5px; border-top:0; font-size:11px; }
 .shell-tools[open] { grid-column:1/-1; max-height:110px; overflow:auto; }
 .shell-tools p { margin:4px 0; }.shell-tools a { padding:4px 0; }

 .shell-main { flex:1 1 0; min-height:0; width:100%; }.shell-panel { padding:16px 12px; }.shell-module-status { padding:12px; }.shell-status-card { padding:20px; }.shell-auth { padding:24px 12px; }.shell-auth-card { padding:20px; }
}
#shell-connection-status { color:#974b00; font-size:11px; flex-shrink:0; }
@media(max-width:680px) { #shell-session-retry { font-size:11px; padding:4px 6px; }#shell-connection-status { max-width:58px; overflow-wrap:anywhere; font-size:10px; } }

.shell-customer-search { display:grid; gap:6px; max-width:480px; margin:20px 0 8px; font-size:13px; }
.shell-customer-group { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 0; border-top:1px solid #e5e5e5; }
.shell-customer-group span { flex:1 1 160px; min-width:0; overflow-wrap:anywhere; }
.shell-customer-group small { color:#616061; }
.shell-customer-group button { margin:0; }
.shell-panel-card summary { cursor:pointer; font-size:13px; padding:8px 0; }

.shell-nav > a > span { white-space:nowrap; }
