.user-page{max-width:1280px;margin:24px auto;padding:0 18px}.user-page h1{font-size:24px}.user-page h2{font-size:18px}.user-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.user-tabs button[aria-selected=true]{background:#176b51;color:#fff}.user-page .table-card{padding:20px;margin-bottom:18px}.user-page label{display:flex;flex-direction:column;gap:6px;margin:12px 0;min-width:0}.user-page input,.user-page select,.user-page textarea{max-width:100%;padding:9px;border:1px solid #c9d7d0;border-radius:6px;background:#fff;color:#17382a;font:inherit}.user-page textarea{min-height:130px;resize:vertical}.user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.user-page button{min-height:36px}.user-page .user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.user-page .scroll-table{overflow:auto}.user-page table{width:100%;border-collapse:collapse}.user-page td,.user-page th{text-align:left;padding:10px;border-bottom:1px solid #e1e8e3}.user-page .sample-controls{max-width:600px}.user-page .ranges{display:flex;gap:12px;flex-wrap:wrap}.user-page fieldset input{width:90px}.user-page .error{color:#a02929}.user-page [role=status]{min-height:24px}.plan-members{list-style:none;padding:0;max-height:320px;overflow:auto}.plan-members li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e4ece7}.plan-frame{width:100%;height:780px;border:1px solid #dce7df;border-radius:10px;background:#f7faf7}

/* Account controls share typography with the top navigation. */
.user-account{margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0;max-width:420px;font-family:inherit;font-size:var(--nav-font-size,13px);line-height:1.3;color:var(--nav-text-color,var(--ink));font-weight:400}
.user-account .account-name{min-width:0;max-width:210px;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-account .working-plan{display:block;min-width:0;max-width:230px;min-height:36px;padding:9px 8px;border-radius:7px;font:inherit;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.user-account .account-exit{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:36px;margin:0;padding:9px 8px;border:0;border-radius:7px;background:transparent;font:inherit;color:inherit;white-space:nowrap;cursor:pointer}
.user-account .working-plan:hover,.user-account .account-exit:hover{background:var(--pale);color:var(--green)}
.user-account .working-plan:focus-visible,.user-account .account-exit:focus-visible{outline:3px solid #55a58e;outline-offset:2px}
.login-page{max-width:550px}.plan-context{margin:12px 16px;padding:12px;border:1px solid #c9ded0;background:#eef6f0;border-radius:8px}.plan-context strong{margin-right:12px}.embedded-plan .top-nav{display:none}.embedded-plan{--navigation-height:0px}.embedded-plan .research-sidebar,.embedded-plan .group-panel{top:8px}.embedded-plan .plan-context{margin-top:8px}.entry-plan-action{font-size:12px;margin:6px 0}.usage-bars{display:grid;gap:5px}.usage-row{display:grid;grid-template-columns:90px minmax(50px,1fr) 100px;align-items:center;gap:10px;font-size:12px}.usage-track{height:14px;background:#edf3ef;border-radius:3px;overflow:hidden}.usage-fill{height:100%;background:#277657}.usage-heat{display:grid;grid-template-columns:45px repeat(24,minmax(18px,1fr));gap:3px;min-width:660px;font-size:10px}.usage-heat>span{padding:5px 1px;text-align:center}.usage-heat .cell{background:rgba(23,107,81,var(--intensity,.05));border-radius:3px}.usage-metrics{display:flex;gap:22px;flex-wrap:wrap}.usage-metrics strong{display:block;font-size:24px;color:#176b51}.usage-filter select[multiple]{min-height:130px}.user-page dialog{max-width:min(900px,95vw);max-height:85vh;overflow:auto}.user-page [hidden]{display:none!important}@media(max-width:760px){.user-page{margin:12px auto;padding:0 10px}.user-page .table-card{padding:14px}.plan-frame{height:1050px}.user-page .ranges{display:block}.user-page .user-grid{grid-template-columns:1fr}.plan-context{font-size:12px}.usage-row{grid-template-columns:70px minmax(40px,1fr) 75px}}

.plan-members li span{min-width:0;overflow-wrap:anywhere}.user-page pre{white-space:pre-wrap;overflow-wrap:anywhere}.embedded-plan{--nav-height:0px}.embedded-plan .research-sidebar.table-card{top:70px}.user-page .sample-controls label{min-width:0}.user-page .compact-ranges{display:grid;gap:8px}.user-page .compact-ranges fieldset{display:grid;grid-template-columns:48px minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}.user-page .compact-ranges legend{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.user-page .compact-ranges input{width:100%;min-width:0}.user-page .filter-year{display:flex;flex-direction:row;align-items:center;justify-content:space-between}@media(max-width:1100px){.top-nav .user-account{grid-column:2;grid-row:1;max-width:min(420px,60vw)}}
@media(max-width:760px){.top-nav .user-account{gap:4px;max-width:60vw}.user-account .working-plan,.user-account .account-exit{min-height:44px;padding-block:14px}}
@media(max-width:360px){.top-nav .user-account{max-width:52vw}}
@media(pointer:coarse){.user-account .working-plan,.user-account .account-exit{min-height:44px}}

.user-dialog{width:min(480px,calc(100vw - 28px));max-height:85vh;padding:22px;border:1px solid #c9d7d0;border-radius:12px;box-sizing:border-box}.user-dialog::backdrop{background:#1236}.user-dialog h2{margin-top:0}.user-dialog input,.user-dialog textarea{width:100%;box-sizing:border-box}

/* Match the embedded research context to the compact plan toolbar. */
.embedded-plan .plan-context{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:6px 10px;border-color:#dce7df;background:#f3f8f5;color:#536b62;font-size:12px;line-height:1.5}
.embedded-plan .plan-context strong{max-width:100%;margin:0;color:#365e4c;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.embedded-plan .plan-context .text-button,.embedded-plan .plan-context>a{display:inline-flex;align-items:center;min-height:28px;padding:3px 6px;border-radius:4px;color:#365e4c;font-size:12px;line-height:1.5}
.embedded-plan .plan-context .text-button:hover,.embedded-plan .plan-context>a:hover{background:#e5efe8}
.embedded-plan .plan-context>p{flex-basis:100%;margin:0;font-size:12px}
@media(max-width:760px),(pointer:coarse){.embedded-plan .plan-context .text-button,.embedded-plan .plan-context>a{min-height:44px}}
/* Embedded plan context is presented by the parent toolbar. */
.embedded-plan .research-sidebar.table-card,.embedded-plan .group-panel{top:14px}

/* Membership status and the single active-plan action share a stable detail row. */
.entry-plan-controls{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:6px 0;color:#536b62;font-size:12px;line-height:1.6}
.entry-plan-status{min-width:0;overflow-wrap:anywhere;color:#65786d}
.entry-plan-controls .entry-plan-action{flex:none;margin:0;padding:4px 7px;min-height:30px;border:1px solid #dce5df;border-radius:5px;background:#f5f9f6;color:#365e4c;font:inherit;line-height:20px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
.entry-plan-controls .entry-plan-action:hover:enabled{background:#e7f0ea;border-color:#b9d0c3}
.entry-plan-controls .entry-plan-remove{background:transparent;border-color:transparent;color:#9b6256}
.entry-plan-controls .entry-plan-remove:hover:enabled{background:#fbefec;border-color:#e2c4bd;color:#944e42}
.entry-plan-controls .entry-plan-action:disabled{opacity:.55;cursor:default}
.entry-plan-feedback{flex-basis:100%;font-size:11px;color:#65786d}.entry-plan-feedback.error{color:#a35446}
.entry-plan-action:focus-visible{outline:2px solid #55a58e;outline-offset:2px}
#user-status:empty{display:none}
.user-page .login-directory-toggle{flex-direction:row;align-items:center;gap:8px}
.user-page .login-directory-toggle input{flex:none;width:18px;height:18px;min-height:0;padding:0}
.personal-page #user-status{position:fixed;z-index:1100;right:18px;bottom:18px;display:flex;align-items:center;gap:12px;max-width:min(420px,calc(100vw - 36px));min-height:0;margin:0;padding:10px 12px;border:1px solid #c8dbcf;border-radius:8px;background:#f2f8f4;color:#365e4c;box-shadow:0 3px 16px #17382a18;font-size:13px;overflow-wrap:anywhere}
.personal-page #user-status.error{border-color:#e2c4bd;background:#fff7f5;color:#944e42}
.personal-page #user-status button{flex:none;min-width:32px;min-height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font-size:20px;cursor:pointer}
.personal-page #user-status button:focus-visible{outline:2px solid #55a58e;outline-offset:2px}
.personal-page #user-status:empty{display:none}
@media(max-width:760px),(pointer:coarse){.personal-page #user-status button{min-width:44px;min-height:44px}}
/* Let the embedded controls grow fully; the parent matches the frame height. */
.embedded-plan .research-sidebar.table-card{bottom:auto;max-height:none}
.embedded-plan .research-sidebar-body{flex:none;overflow:visible}
@media(max-width:760px),(pointer:coarse){.entry-plan-controls .entry-plan-action{min-height:44px}}
/* Fixed limits avoid a viewport/iframe feedback loop when the panels stack. */
@media(max-width:1050px){.embedded-plan.research-page .chart-scroll{max-height:600px}.embedded-plan.research-page .group-panel #group-body{max-height:640px}}
