/* Shared shell geometry. Both customer and workbench pages use these controls. */
.shell>aside{position:sticky;top:0;height:100dvh;overflow-y:auto;gap:0;padding:var(--sp-6) var(--sp-5) var(--sp-5)}
.space-field{position:relative;margin-top:var(--sp-6);margin-bottom:var(--sp-4)}
.space-btn{width:100%;min-height:72px;height:auto;padding:var(--sp-3);gap:var(--sp-3);border:var(--border);border-radius:var(--r-md);background:var(--c-panel);text-align:left;white-space:normal}
.space-btn:hover{background:var(--c-raised);border-color:var(--c-line-strong)}
.space-av{flex:none;width:var(--sp-6);height:var(--sp-6);display:grid;place-items:center;border-radius:var(--r-sm);background:var(--c-brand-tint);color:var(--c-brand-ink);font-size:var(--fs-sm)}
.space-meta{flex:1;min-width:0;display:block}
.space-meta b{display:block;font-size:var(--fs-sm);font-weight:var(--fw-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-meta span{display:block;margin-top:var(--sp-1);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--c-muted)}
.space-btn>.ic,.space-opt>.ic{flex:none;width:var(--sp-4);height:var(--sp-4)}
.space-pop{position:absolute;top:calc(100% + var(--sp-2));left:0;right:0;z-index:25;padding:var(--sp-2);border:var(--border);border-radius:var(--r-md);background:var(--c-panel);box-shadow:var(--sh-2);max-height:60vh;overflow:auto}
.space-pop-head{padding:var(--sp-2);font-size:var(--fs-xs);color:var(--c-muted)}
.space-opt{display:flex;align-items:center;width:100%;padding:var(--sp-3) var(--sp-2);gap:var(--sp-3);border:0;border-radius:var(--r-sm);background:transparent;white-space:normal;text-align:left}
.space-opt:hover{background:var(--c-raised)}
.space-opt[aria-checked=true]{background:var(--c-brand-tint)}
.space-opt[aria-checked=true] b{color:var(--c-brand-ink)}
.shell>aside>nav{margin-bottom:var(--sp-5);flex:1;min-height:0;overflow-y:auto}
.shell>aside>.brand,.shell>aside>.space-field,.shell>aside>.space-create,.shell>aside>.mobile-nav{flex-shrink:0}
.identity{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4) 0 0;border-top:var(--border);margin-top:auto}
.identity-person{display:flex;align-items:center;gap:var(--sp-2);min-width:0;flex:1;margin:0}
.identity-person>span:last-child{min-width:0;overflow:hidden}
.identity-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:var(--fw-medium)}
.identity-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--c-muted)}
.identity .row{margin:0;flex:none}.identity-av{flex:none}
.iconbtn{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:var(--border);border-radius:var(--r-full);background:var(--c-panel);color:var(--c-muted);flex:none}
.iconbtn:hover{background:var(--c-raised);color:var(--c-ink)}
.iconbtn .dot{position:absolute;top:var(--sp-0);right:var(--sp-0);width:var(--sp-2);height:var(--sp-2);padding:0;min-width:0;border-radius:var(--r-full);background:var(--c-danger);overflow:hidden;text-indent:100%}
.logout-icon{border:0;background:transparent}
.notice-pop{position:fixed;top:var(--sp-8);right:var(--sp-5);z-index:30;width:340px;max-height:70vh;overflow-y:auto;padding:var(--sp-4);border:var(--border);border-radius:var(--r-md);background:var(--c-panel);box-shadow:var(--sh-2)}
.notice-pop h2{font-size:var(--fs-lg)}.notice-pop>p{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--c-muted)}
.notice-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2);color:var(--c-ink);border-bottom:var(--border);border-radius:var(--r-xs)}
.notice-link:hover{background:var(--c-raised);text-decoration:none}.notice-main{flex:1;min-width:0}.notice-main b{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.notice-main small{display:block;color:var(--c-muted);font-size:var(--fs-xs)}
.notice-link>.ic{flex:none;width:var(--sp-4);height:var(--sp-4)}.notice-dot{flex:none;width:var(--sp-2);height:var(--sp-2);border-radius:var(--r-full);background:var(--c-info)}
.notice-pop-foot{display:flex;justify-content:flex-end;margin-top:var(--sp-3)}
.notice-target{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--r-sm)}
.notice-detail{margin-top:var(--sp-2);font-size:var(--fs-sm)}
.notice-detail summary{cursor:pointer;color:var(--c-brand-ink);padding:var(--sp-1) 0}
.notice-detail p{white-space:pre-line;overflow-wrap:anywhere;margin:var(--sp-2) 0;line-height:var(--lh-base)}
.notice-main,.notice-main small{overflow-wrap:anywhere}
.mobile-nav,.nav-shade{display:none}
button:focus-visible,a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
@media(max-width:720px){
 .shell{display:block}.shell>aside{position:fixed;inset:0 auto 0 0;z-index:50;width:280px;max-width:calc(100vw - var(--sp-7));height:100dvh;padding:var(--sp-5);display:flex;transform:translateX(-100%);visibility:hidden;transition:transform var(--dur-2) var(--ease-1)}
 .shell>aside nav{display:block;overflow-y:auto;min-height:0;flex:1}.shell>aside .nav-group{display:block}.shell>aside .nav-title{display:block}.shell>aside nav a{display:flex;height:44px;white-space:nowrap}.shell>aside .identity{flex-wrap:nowrap}
 body[data-nav-open=true] .shell>aside{transform:translateX(0);visibility:visible}
 body[data-nav-open=true]{overflow:hidden}.mobile-nav{display:inline-grid}
 #nav-close{align-self:flex-end;margin-bottom:var(--sp-3)}
 body[data-nav-open=true] .nav-shade{display:block;position:fixed;inset:0;z-index:45;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:var(--c-scrim)}
 .workspace>header{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:60px}.header-actions{gap:var(--sp-2);flex-wrap:nowrap}.crumbs{flex:1;font-size:var(--fs-xs)}
 .notice-pop{left:var(--sp-4);right:var(--sp-4);width:auto}.cmd-trigger-text{display:none}
 main{padding:var(--sp-5) var(--sp-4) var(--sp-7)}
 .sec-row{flex-wrap:wrap}.sec-acts{width:100%;justify-content:flex-end}.notice-row:not(.notice-link){flex-wrap:wrap}.notice-acts{width:100%;justify-content:flex-end}
}
@media(prefers-reduced-motion:reduce){.shell>aside{transition:none}}

.recharge-help{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4);border:var(--border);border-radius:var(--r-md);background:var(--c-panel)}.recharge-help p{margin:0}
.recharge-help+.panel{margin-top:var(--sp-5)}
@media(max-width:720px){.recharge-help{align-items:flex-start;flex-direction:column}}

.product-logo{width:var(--sp-6);height:var(--sp-6);object-fit:contain}

.organization-action-reminder{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-5);border:1px solid var(--c-warning);border-radius:var(--r-md);background:var(--c-warning-tint);color:var(--c-ink)}
.organization-action-reminder p{margin:var(--sp-1) 0 0;color:var(--c-muted);font-size:var(--fs-sm);line-height:var(--lh-base)}
.organization-action-reminder .button{flex-shrink:0}
@media(max-width:720px){.organization-action-reminder{align-items:flex-start;flex-direction:column}}

/* Inline first-visit notification: content gets space instead of an overlay. */
.workspace>.notification-toast{position:static;align-self:stretch;width:auto;max-width:var(--content-max);margin:var(--sp-4) var(--sp-7) 0;padding:var(--sp-3) var(--sp-4);box-shadow:none;justify-content:space-between;gap:var(--sp-4);border:var(--border)}
.workspace>.notification-toast>div{min-width:0;overflow-wrap:anywhere}
.workspace>.notification-toast p{margin:var(--sp-1) 0}
.workspace>.notification-toast>button{flex:none}
@media(max-width:720px){
 .crumbs{overflow:hidden}
 .crumbs b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .workspace>.notification-toast{margin:var(--sp-3) var(--sp-4) 0;font-size:var(--fs-sm)}
}
