:root{color-scheme:light;--ink:#29252b;--paper:#f7f3f1;--surface:#fffdfc;--pink:#e797ae;--mint:#6ec1b0;--blue:#6889ad;--muted:#685e65;--line:#ddd3d6;--error:#a42e3f;--focus:#315e85;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scrollbar-color:#a3979f var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}input,textarea{caret-color:var(--focus)}::selection{background:#efd1db;color:var(--ink)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}.skip-link{position:absolute;left:16px;top:-70px;background:var(--ink);color:white;padding:12px;z-index:10}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.site-header{max-width:1280px;margin:auto;display:flex;align-items:center;gap:36px;padding:24px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:750;font-size:20px}.brand small{font-size:12px;font-weight:500;color:var(--muted);display:block;margin-top:2px}.brand-bars{display:flex;align-items:flex-end;gap:4px;height:34px}.brand-bars i{width:10px;border-radius:4px;background:var(--pink);height:34px}.brand-bars i:first-child{height:25px;background:var(--blue)}.brand-bars i:last-child{height:20px;background:var(--mint)}nav{display:flex;gap:24px;margin-left:auto}nav a{font-size:14px;color:var(--muted);padding:12px 0;text-decoration:none}nav a[aria-current=page]{color:var(--ink);box-shadow:0 2px 0 var(--ink);font-weight:700}
main{max-width:1200px;margin:auto;padding:32px 40px 60px;min-height:calc(100svh - 190px)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.025em;line-height:1.3;text-wrap:balance;margin-bottom:18px}h2{font-size:22px;line-height:1.35;letter-spacing:-.015em;margin-bottom:12px}h3{font-size:17px}.secondary,.field-help,.form-footnote{color:var(--muted);line-height:1.7}.secondary{font-size:15px}.notice{border:1px solid var(--line);border-radius:12px;padding:14px 18px;line-height:1.6;font-size:14px;margin:0 0 24px}.notice:empty{display:none}.notice.error,.form-message.error{color:var(--error)}
.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start;padding-top:32px}.intro{padding-top:32px}.intro-copy{font-size:17px;line-height:1.9;max-width:29rem;color:var(--muted)}.chord-line{display:flex;gap:10px;margin:34px 0;max-width:340px}.chord-line span{display:grid;place-items:center;width:70px;height:84px;border-radius:12px;background:var(--pink);font-size:30px;font-weight:700}.chord-line span:nth-child(2){background:#b5cbdc}.chord-line span:nth-child(3){background:var(--mint)}.chord-line span:nth-child(4){background:#f0c0cf}.access-note{display:grid;grid-template-columns:106px 1fr;gap:12px;font-size:14px;line-height:1.75;padding-top:24px;border-top:1px solid var(--line);margin:0 0 24px}.access-note dt{font-weight:650}.access-note dd{margin:0;color:var(--muted)}.text-link{font-size:14px;font-weight:600}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:30px}.switcher{display:flex;background:#ece6e7;border-radius:8px;padding:4px;gap:4px;margin-bottom:30px}.switcher button{flex:1;border:0;background:transparent;padding:11px 8px;color:var(--muted);border-radius:6px}.switcher button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:650}
form label{display:block;font-size:14px;font-weight:650;margin:18px 0 8px}input,textarea,select{max-width:100%;width:100%;border:1px solid #b9adb3;border-radius:8px;padding:12px;color:var(--ink);background:white;min-height:46px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#766970;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-help{font-size:13px;margin:8px 0 12px}.form-footnote{font-size:12px;margin:18px 0 0}.form-message{font-size:14px;line-height:1.6;min-height:0;margin:14px 0}.form-message:empty{display:none}.primary-button,.secondary-button,.quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:8px;font-size:14px;font-weight:650;padding:12px 18px;text-decoration:none;text-align:center}.primary-button{border:1px solid transparent;background:var(--ink);color:var(--surface)}.primary-button:hover{background:#454048}.secondary-button{border:1px solid #b9adb3;background:var(--surface);color:var(--ink)}.secondary-button:hover{background:#eee7e9}.quiet-button{border:0;background:transparent;color:var(--muted)}.quiet-button:hover{background:#e9e1e4;color:var(--ink)}form>.primary-button{width:100%;margin-top:20px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0 32px}.section-heading h1{font-size:34px;margin-bottom:8px}.section-heading p{margin-bottom:0}.status-chip{display:inline-block;border-radius:5px;padding:5px 8px;font-size:12px;font-weight:650;white-space:nowrap;background:#ebe5e7;color:#5d4b54}.status-chip.active{background:#d2eee5;color:#23594b}.status-chip.pending{background:#f6e6b9;color:#715013}.status-chip.disabled,.status-chip.rejected{background:#f2dade;color:#902e40}.workspace-layout{display:grid;grid-template-columns:1.4fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.performance-entry{padding:36px 48px 36px 0}.performance-entry p,.trial-entry p{line-height:1.85;max-width:42ch;font-size:15px;color:var(--muted)}.performance-entry .primary-button{background:var(--pink);color:var(--ink);min-width:220px}.performance-entry .primary-button:hover{background:#ebacc0}.trial-entry{padding:36px;border-left:1px solid var(--line)}.url-label{font-variant-numeric:tabular-nums;word-break:break-all;color:var(--ink)!important;font-weight:600}.password-section{margin-top:36px;max-width:480px}.password-section summary{cursor:pointer;padding:14px 0;font-weight:650}.password-section form{padding:22px 0}
.section-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.admin-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:0}.admin-tabs button{border:0;background:none;min-height:48px;padding:12px 0;color:var(--muted)}.admin-tabs button[aria-pressed=true]{color:var(--ink);font-weight:700;box-shadow:0 2px 0 var(--ink)}#pending-count:not(:empty){border-radius:4px;background:var(--pink);color:var(--ink);padding:2px 6px;margin-left:5px;font-size:12px}.review-layout{display:grid;grid-template-columns:1.35fr 1fr;min-height:420px;border-bottom:1px solid var(--line)}.users-list{padding:24px 28px 32px 0}.list-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;font-size:14px}.list-tools select{width:auto;min-width:125px;min-height:42px;padding:8px 12px}.user-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:14px;padding:18px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px}.user-row:hover{background:#eee6e9}.user-row[aria-pressed=true]{background:#eedce4}.user-row strong,.user-row small{display:block}.user-row strong{font-size:15px;overflow-wrap:anywhere}.user-row small{color:var(--muted);font-size:12px;margin-top:5px;overflow-wrap:anywhere}.user-detail{border-left:1px solid var(--line);padding:30px;overflow-wrap:anywhere}.user-detail dl{margin:28px 0;display:grid;grid-template-columns:86px 1fr;gap:14px;font-size:14px;line-height:1.7}.user-detail dt{color:var(--muted)}.user-detail dd{margin:0}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left;font-variant-numeric:tabular-nums}th{color:var(--muted);font-size:12px;font-weight:600}th,td{padding:17px 12px;border-bottom:1px solid var(--line);vertical-align:top}td{overflow-wrap:anywhere}th:first-child,td:first-child{padding-left:0;min-width:165px}.admin-note{color:var(--muted);font-size:13px;line-height:1.7;margin-top:24px}.empty-state{padding:65px 12px;text-align:center}.empty-state p{color:var(--muted);line-height:1.8}.empty-list{padding:40px 16px;color:var(--muted);line-height:1.8}.empty-list strong{display:block;color:var(--ink);font-size:18px;margin-bottom:8px}.site-footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:24px 40px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}dialog{max-width:440px;width:calc(100% - 36px);padding:28px;border:0;border-radius:16px;box-shadow:0 16px 60px rgb(30 20 30 / .2);background:var(--surface);color:var(--ink)}dialog::backdrop{background:rgb(25 20 25 / .4)}dialog p{line-height:1.8;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}
@media(min-width:761px){.user-detail>h2{animation:detail-in .18s ease-out}@keyframes detail-in{from{transform:translateY(4px);clip-path:inset(0 0 7% 0)}to{transform:translateY(0);clip-path:inset(0)}}}
@media(max-width:760px){.site-header{padding:18px 20px;gap:12px;flex-wrap:wrap}.brand{font-size:18px}nav{gap:18px}.site-header>.quiet-button{margin-left:auto;min-height:36px;padding:8px}main{padding:22px 20px 40px}.auth-layout{grid-template-columns:1fr;gap:24px;padding-top:0}.intro{padding-top:8px}.intro h1{font-size:30px}.intro-copy{font-size:15px}.intro .chord-line{margin:22px 0}.intro .chord-line span{height:58px;width:56px;font-size:24px}.access-note{font-size:13px;grid-template-columns:92px 1fr;padding-top:16px}.auth-panel{padding:24px}.section-heading{align-items:flex-start;margin:12px 0 24px;gap:14px;flex-wrap:wrap}.section-heading h1{font-size:28px}.section-heading .secondary-button{white-space:nowrap;padding:10px 12px}.section-heading-actions{width:100%;justify-content:flex-start}.section-heading .status-chip{margin-top:10px}.workspace-layout,.review-layout{grid-template-columns:1fr}.performance-entry{padding:28px 0}.trial-entry{padding:28px 0;border-left:0;border-top:1px solid var(--line)}.users-list{padding:20px 0}.user-detail{border-left:0;border-top:1px solid var(--line);padding:24px 0}.admin-tabs{gap:20px;font-size:14px}.site-footer{padding:22px 20px;flex-wrap:wrap}.form-row{grid-template-columns:1fr;gap:0}.form-row label{margin-top:18px}th,td{padding:14px 10px}.empty-state{padding:42px 0}}
.trial-management{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:32px 0;border-bottom:1px solid var(--line)}.trial-summary{min-width:0}.trial-times{display:grid;grid-template-columns:140px 1fr;gap:14px;margin:24px 0;font-size:14px;line-height:1.7;font-variant-numeric:tabular-nums}.trial-times dt{color:var(--muted)}.trial-times dd{margin:0;overflow-wrap:anywhere}#trial-form{border-left:1px solid var(--line);padding-left:32px}#trial-close{margin-top:16px;width:100%}.trial-summary .url-label{font-size:14px;margin:12px 0 24px}.admin-tabs{flex-wrap:wrap;column-gap:24px}
@media(max-width:760px){.trial-management{grid-template-columns:1fr;gap:28px;padding:24px 0}#trial-form{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.trial-times{grid-template-columns:122px 1fr;gap:12px}.site-header nav{flex-wrap:wrap}.admin-tabs{column-gap:18px}.admin-tabs button{font-size:14px}}
.site-header{flex-wrap:wrap}.header-actions{display:flex;align-items:center;gap:12px;min-width:0}.header-actions select{width:auto;min-width:108px}.account-identity{display:inline-flex;align-items:baseline;gap:4px;min-width:0;max-width:230px;color:var(--muted);font-size:14px;white-space:nowrap}.account-identity strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:700}.auth-panel,.intro{min-width:0}.auth-panel p{overflow-wrap:anywhere}.auth-panel input,.auth-panel textarea{font-size:16px}
@media(max-width:760px){.site-header .header-actions{width:100%;margin-left:0}.site-header nav{order:3;flex-basis:100%;margin-left:0}.auth-panel{grid-row:1}.intro{grid-row:2}.header-actions{gap:6px}.header-actions .account-identity{flex:1 1 130px}.header-actions .quiet-button{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
.performance-shell{position:fixed;inset:0;z-index:1000;width:100%;height:100%;height:100dvh;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.workspace-choice{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:8px 0 0}.workspace-choice button{flex:1;min-width:0;text-align:left;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:18px 8px 16px;min-height:80px}.workspace-choice strong{display:block;font-size:22px;line-height:1.4}.workspace-choice span{display:block;font-size:14px;line-height:1.6;margin-top:4px}.workspace-choice button:hover{background:var(--surface)}.workspace-choice button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
.workspace-layout{grid-template-columns:1fr 1fr}.songwriting-entry{padding:36px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.songwriting-entry p{font-size:15px;line-height:1.85;color:var(--muted);max-width:42ch}.songwriting-entry .primary-button{background:var(--mint);color:var(--ink);margin:16px 0;min-width:220px}.songwriting-entry .primary-button:hover{background:#8bd0c0}.workspace-layout>.trial-entry{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:28px 0}.workspace-layout>.trial-entry p{max-width:70ch}
@media(max-width:760px){.workspace-choice{gap:12px}.workspace-choice strong{font-size:20px}.workspace-choice span{font-size:13px}.workspace-choice button{padding:12px 4px}.workspace-layout{grid-template-columns:1fr}.songwriting-entry{padding:28px 0;border-left:0;border-top:1px solid var(--line)}.workspace-layout .primary-button{max-width:100%;min-width:0;width:100%}}
.performance-shell[hidden]{display:none}
/* Keep session controls available in native fullscreen so every workspace
   always exposes the active account and a sign-out action. */
.performance-shell:fullscreen{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0}
.performance-shell:-webkit-full-screen{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0}
/* 【中文导读】乐理入口已彻底移除：桌面端两列布局，邀请卡横跨整行；移动端单列堆叠。 */
.workspace-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-layout>section{min-width:0;padding:28px 20px;justify-content:flex-start}.workspace-layout>section h2{font-size:24px}.workspace-layout>section .primary-button{min-width:0;max-width:100%;width:100%;margin-top:auto}.workspace-layout .chord-line{gap:8px}.workspace-layout .chord-line span{width:48px;height:64px;font-size:26px}
@media(min-width:761px){.workspace-layout>.homepage-invitations{grid-column:1/-1;border-top:1px solid var(--line)}}
.feature-trial-entry{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 0;border-bottom:1px solid var(--line)}.feature-trial-entry h2{font-size:18px;margin:0 0 6px}.feature-trial-entry p{font-size:14px;line-height:1.7;margin:0;color:var(--muted);max-width:64ch}.feature-trial-entry>div:last-child{max-width:30ch}.feature-trial-entry .field-help{margin-top:8px}
@media(max-width:760px){.workspace-choice{gap:8px}.workspace-choice strong{font-size:17px}.workspace-choice span{font-size:12px}.workspace-layout{grid-template-columns:1fr}.workspace-layout>section{padding:28px 0}.feature-trial-entry{align-items:flex-start;gap:16px}.feature-trial-entry>div{flex:1}.feature-trial-entry h2{font-size:16px}}
/* 【中文导读】门户不再显示工作区工具栏（返回工作区/全屏/退出登录一行）：
   账号已展示在产品页横条内，用户用浏览器返回即可离开工作区。
   JS 仍引用这些按钮，故用 display:none 隐藏而不删 DOM。 */
.performance-toolbar{display:none}
.performance-toolbar button{min-height:44px;flex-shrink:0;padding:8px 12px}.performance-toolbar p{margin:0;flex:1;font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:var(--muted)}.performance-session-controls{display:flex;align-items:center;gap:8px;min-width:0}.performance-session-controls select{width:auto;min-width:96px;min-height:40px;padding:8px}.performance-session-controls .account-identity{max-width:200px}.performance-session-controls .quiet-button{min-height:40px}
#performance-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:var(--surface)}
@media(max-width:760px){.performance-toolbar{flex-wrap:wrap;gap:4px 8px}.performance-toolbar p{order:4;flex-basis:100%}.performance-toolbar #performance-fullscreen{margin-left:auto}.performance-session-controls{order:3;flex-basis:100%;justify-content:flex-end}.performance-session-controls .account-identity{margin-right:auto;max-width:min(200px,45vw)}}

[aria-disabled="true"].access-disabled{opacity:.5;cursor:not-allowed;}

/* Share content rows so entry buttons stay aligned when descriptions wrap. */
@media(min-width:761px){
  .workspace-layout>:is(.performance-entry,.songwriting-entry){display:grid;grid-row:1 / span 5;grid-template-rows:subgrid;align-items:stretch}
  .workspace-layout>:is(.performance-entry,.songwriting-entry)>h2{grid-row:1}
  .workspace-layout>:is(.performance-entry,.songwriting-entry)>p:not(.field-help){grid-row:2}
  .workspace-layout>.performance-entry>.chord-line{grid-row:3}
  .workspace-layout>:is(.performance-entry,.songwriting-entry)>.primary-button{grid-row:4;margin:0}
  .workspace-layout>:is(.performance-entry,.songwriting-entry)>.field-help{grid-row:5}
}

/* Keep the workspace in the document viewport while the root owns native fullscreen. */
:root:fullscreen .performance-shell{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0}
:root:-webkit-full-screen .performance-shell{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0}

.audit-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:18px}
.audit-page-summary{font-size:14px;color:var(--muted)}
.audit-page-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.audit-page-controls button{min-width:40px;min-height:40px;padding:8px 12px}
.audit-page-controls button[aria-current=page]{background:#eed8e1;color:var(--ink);border-color:#c7a4b4;opacity:1}
@media(max-width:650px){.audit-pagination{align-items:flex-start;flex-direction:column}.audit-page-controls{gap:6px}}

.account-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line)}
.account-summary button{min-width:0;padding:18px 12px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:13px;text-align:left}
.account-summary button:hover{background:#eee7e9;color:var(--ink)}
.account-summary button[aria-pressed=true]{border-bottom-color:var(--ink);background:#eedce4;color:var(--ink)}
.account-summary strong{display:block;color:var(--ink);font-size:24px;margin-bottom:4px}
.list-tools input{flex:1;min-width:0;min-height:42px;padding:8px 12px}
@media(max-width:760px){.account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.account-summary>button:first-child{grid-column:1/-1}.list-tools{align-items:stretch;flex-direction:column}.list-tools select{width:100%}}

#apply-contact-choice{margin-bottom:10px}
