/* 登录与邀请注册沿用已批准稿；选择器隔离，工作台继续使用原有app.css。 */
body.is-access-screen>.rail,body.is-access-screen>.main,body.is-access-screen>.skip-link{display:none}
#access-root{min-height:100svh;width:100%;font:15px/1.6 "Microsoft YaHei",sans-serif}
body.is-access-screen{display:block}
/* 工作台账户入口与素材管理沿用同一绿色按钮、细边框与留白节奏；不改变原创建页布局。 */
.topbar>.demo-badge{margin-left:auto}
.account-area{position:relative;flex-shrink:0;margin-left:16px}
.account-trigger{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #dce1dc;border-radius:7px;background:#fff;color:#2f6456;font:inherit;font-size:12px;cursor:pointer}
.account-trigger svg{width:16px;height:16px}
.account-menu{position:absolute;right:0;top:48px;width:244px;max-width:calc(100vw - 32px);padding:18px;border:1px solid #dce1dc;border-radius:9px;background:#fff;box-shadow:0 8px 24px #20352615;z-index:30}
.account-menu[hidden]{display:none}
.account-menu>strong{display:block;font-size:14px}
.account-menu>p{margin:7px 0 12px;font-size:11px;line-height:1.7}
.account-menu>button{display:flex;align-items:center;gap:9px;width:100%;padding:10px 0;border-top:1px solid #e7eae5;text-align:left}
.account-menu svg{width:16px;height:16px}
.access-dialog{width:min(700px,calc(100vw - 40px));max-height:85svh;margin:auto;padding:30px;border:1px solid #dce1dc;border-radius:12px;background:#fff;color:#202723;box-shadow:0 20px 70px #172c1b25}
.access-dialog::backdrop{background:#172c1b55}
.asset-manager-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.asset-manager-head h2{margin:0;font-size:23px;line-height:1.5}
.asset-manager>p{font-size:13px;line-height:1.85;margin:10px 0 18px}
.asset-manager>section{margin-top:24px}
.asset-manager>section>h3{font-size:13px;margin:0 0 12px}
.asset-grid{display:grid;gap:12px}
.managed-asset{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #dce1dc;border-radius:8px}
.managed-asset-image{width:58px;height:72px;flex-shrink:0;object-fit:cover;background:#e6ebe3;border-radius:5px;display:grid;place-items:center}
.managed-asset-meta{flex:1;min-width:0;margin:14px 0}
.managed-asset .managed-asset-meta{margin:0}
.managed-asset-meta h3,.managed-asset-meta strong{margin:0;font-size:13px;overflow-wrap:anywhere}
.managed-asset-meta p{margin:5px 0 0;font-size:11px;line-height:1.7;color:#626c66}
.access-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid #e7eae5}
.danger-button{color:#a13e32}
.access-dialog-actions .danger-button{background:#a13e32;color:#fff;border-color:#a13e32}
.access-dialog-actions .danger-button:hover{background:#88352b}
@media(max-width:760px){.account-area{margin-left:8px}.account-trigger{padding:7px;max-width:155px}.account-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-dialog{padding:23px;width:calc(100vw - 28px)}.managed-asset{gap:10px;padding:11px}.managed-asset-image{width:45px;height:59px}.topbar>.demo-badge{max-width:130px;font-size:10px}.asset-manager-head h2{font-size:21px}}
#access-root{ --ink:#202723; --muted:#626c66; --green:#2f6456; --green-dark:#244d42; --green-wash:#eaf1ed; --page:#f5f6f4; --line:#dce1dc; --white:#fff; --error:#a13e32; --error-wash:#fff3f0; }
#access-root *{ box-sizing:border-box; }
body.is-access-screen{ margin:0; color:var(--ink); background:var(--page); font:15px/1.6 "PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif; }
#access-root h1,#access-root h2,#access-root h3,#access-root p{ margin:0; }
#access-root button,#access-root input{ font:inherit; color:inherit; }
#access-root button{ cursor:pointer; -webkit-tap-highlight-color:transparent; }
#access-root button:disabled{ cursor:default; }
#access-root a{ color:inherit; text-decoration:none; }
#access-root svg{ display:block; width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
#access-root button:focus-visible,#access-root a:focus-visible,#access-root input:focus-visible,#access-root summary:focus-visible{ outline:3px solid var(--green); outline-offset:4px; }
#access-root ::selection{ background:#d5e4da; color:#183d31; }
#access-root [hidden]{ display:none !important; }
#access-root .muted{ color:var(--muted); }
#access-root .small{ font-size:12px; }
#access-root .symbol-sheet{ position:absolute; width:0; height:0; overflow:hidden; }
#access-root .preview-bar{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:58px; padding:10px 32px; background:#eaf0e9; border-bottom:1px solid #d6dfd5; }
#access-root .preview-label{ display:flex; align-items:center; gap:9px; color:#3d5142; font-size:12px; }
#access-root .preview-label strong{ font-size:13px; font-weight:600; white-space:nowrap; }
#access-root .preview-label svg{ width:16px; height:16px; }
#access-root .preview-tabs{ display:flex; gap:4px; flex-shrink:0; }
#access-root .preview-tabs button{ min-height:34px; padding:6px 13px; border:1px solid transparent; border-radius:6px; background:none; color:#566359; font-size:12px; white-space:nowrap; }
#access-root .preview-tabs button[aria-pressed="true"]{ background:#fff; border-color:#d8e0d6; color:var(--green-dark); font-weight:600; }
#access-root .site-header{ display:flex; align-items:center; justify-content:space-between; gap:18px; max-width:1264px; margin:auto; padding:30px 32px; }
#access-root .brand{ display:inline-flex; align-items:center; gap:10px; font-size:17px; font-weight:650; white-space:nowrap; }
#access-root .brand-mark{ display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:var(--ink); color:#fff; }
#access-root .brand-mark svg{ width:22px; height:22px; }
#access-root .header-note{ display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; }
#access-root .header-note svg{ width:15px; height:15px; }
#access-root .auth-layout{ display:grid; grid-template-columns:minmax(0,1fr) 420px; align-items:center; gap:clamp(48px,8vw,120px); max-width:1180px; min-height:calc(100svh - 214px); margin:0 auto; padding:20px 32px 52px; }
#access-root .story{ max-width:510px; padding-bottom:10px; }
#access-root .eyebrow{ display:flex; align-items:center; gap:9px; color:var(--green); font-size:12px; font-weight:550; }
#access-root .eyebrow:before{ content:""; width:22px; height:1px; background:#8ca798; }
#access-root .story h1{ margin-top:20px; font-size:38px; line-height:1.45; letter-spacing:-.045em; font-weight:600; }
#access-root .story-copy{ margin-top:16px; max-width:380px; color:var(--muted); font-size:14px; line-height:1.9; }
#access-root .contact-sheet{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-top:35px; padding:16px; background:#fff; border:1px solid var(--line); border-radius:10px; }
#access-root .contact-frame{ min-width:0; }
#access-root .matte{ position:relative; display:grid; place-items:center; aspect-ratio:3/4; background:#e8eae4; border-radius:3px; color:#7b897b; }
#access-root .contact-frame:nth-child(2) .matte{ background:#e4e9e3; }
#access-root .contact-frame:nth-child(3) .matte{ background:#dce5de; color:#61796b; }
#access-root .matte:before,#access-root .matte:after{ content:""; position:absolute; width:14px; height:14px; border-color:#9eafa0; border-style:solid; }
#access-root .matte:before{ left:11px; top:11px; border-width:1px 0 0 1px; }
#access-root .matte:after{ right:11px; bottom:11px; border-width:0 1px 1px 0; }
#access-root .matte svg{ width:27px; height:27px; opacity:.8; }
#access-root .frame-caption{ display:flex; align-items:center; justify-content:space-between; gap:5px; margin-top:9px; font-size:11px; color:var(--muted); }
#access-root .frame-caption b{ color:#46554a; font-weight:500; }
#access-root .frame-caption span{ font-variant-numeric:tabular-nums; font-size:10px; }
#access-root .sheet-caption{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:7px; margin-top:12px; font-size:11px; color:var(--muted); }
#access-root .sheet-caption span:first-child{ color:#4e6154; }
#access-root .form-column{ width:100%; min-width:0; }
#access-root .form-card{ padding:32px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 7px 28px #20272304; }
#access-root .form-heading{ margin-bottom:25px; }
#access-root .form-heading .overline{ margin-bottom:7px; color:var(--green); font-size:12px; }
#access-root .form-heading h2{ font-size:25px; line-height:1.4; font-weight:650; letter-spacing:-.025em; }
#access-root .form-heading p{ margin-top:9px; color:var(--muted); font-size:13px; line-height:1.8; }
#access-root .field{ margin-bottom:18px; }
#access-root .field label{ display:block; margin-bottom:7px; font-size:13px; font-weight:550; }
#access-root .input-wrap{ position:relative; }
#access-root input{ display:block; width:100%; min-width:0; height:46px; padding:11px 13px; border:1px solid #d5ddd2; border-radius:7px; background:#fff; caret-color:var(--green); font-size:14px; }
#access-root input:hover{ border-color:#9aae9d; }
#access-root input::placeholder{ color:#788179; opacity:1; font-size:12px; }
#access-root input[aria-invalid="true"]{ border-color:#b95f52; background:#fffdfc; }
#access-root .input-wrap input{ padding-right:47px; }
#access-root .eye-button{ position:absolute; top:1px; right:1px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:7px; background:none; color:#748077; }
#access-root .eye-button:hover{ color:var(--green); background:#f1f5f0; }
#access-root .eye-button svg{ width:18px; height:18px; }
#access-root .field-hint{ margin-top:6px; color:var(--muted); font-size:11px; line-height:1.75; }
#access-root .field-error{ display:flex; align-items:flex-start; gap:6px; margin-top:7px; font-size:12px; line-height:1.7; color:var(--error); }
#access-root .field-error svg{ width:14px; height:14px; margin-top:3px; }
#access-root .form-error{ display:flex; gap:9px; align-items:flex-start; margin-bottom:20px; padding:11px 12px; border:1px solid #efdbd5; border-radius:7px; background:var(--error-wash); color:var(--error); font-size:12px; line-height:1.8; }
#access-root .form-error svg{ width:16px; height:16px; margin-top:3px; }
#access-root .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:9px 16px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:14px; font-weight:550; line-height:1.4; }
#access-root .btn:hover{ background:#eef1ed; }
#access-root .btn-primary{ background:var(--green); border-color:var(--green); color:#fff; }
#access-root .btn-primary:hover{ background:var(--green-dark); border-color:var(--green-dark); }
#access-root .btn-primary:disabled{ opacity:.7; }
#access-root .btn-wide{ width:100%; min-height:46px; }
#access-root .btn-quiet{ border:0; background:none; padding:7px 0; color:var(--green); font-size:13px; }
#access-root .btn-quiet:hover{ text-decoration:underline; text-underline-offset:4px; background:none; }
#access-root .invite-divider{ display:flex; align-items:center; gap:14px; margin:23px 0 14px; color:var(--muted); font-size:11px; }
#access-root .invite-divider:before,#access-root .invite-divider:after{ content:""; flex:1; height:1px; background:#e7eae5; }
#access-root .invite-caption{ margin-top:10px; text-align:center; color:var(--muted); font-size:11px; }
#access-root .back-line{ display:flex; align-items:center; justify-content:center; gap:5px; padding-top:14px; margin-top:18px; border-top:1px solid #e8ece7; font-size:12px; color:var(--muted); }
#access-root .privacy-note{ display:flex; align-items:flex-start; gap:9px; margin:19px 0; padding:13px; background:#f3f6f1; border-radius:7px; color:#5c695f; font-size:11px; line-height:1.8; }
#access-root .privacy-note>svg{ width:15px; height:15px; margin-top:2px; }
#access-root .privacy-note strong{ display:block; margin-bottom:3px; color:#3d5142; font-size:12px; font-weight:550; }
#access-root .privacy-note details{ margin-top:6px; }
#access-root .privacy-note summary{ cursor:pointer; width:fit-content; color:var(--green); }
#access-root .privacy-note details p{ margin-top:6px; }
#access-root .form-footnote{ display:flex; align-items:flex-start; justify-content:center; gap:6px; padding:16px 8px 0; color:var(--muted); font-size:11px; text-align:center; }
#access-root .form-footnote svg{ margin-top:2px; width:13px; height:13px; }
#access-root .state-tools{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px; margin-top:15px; padding:12px 0 0; border-top:1px dashed #d8dfd5; }
#access-root .state-tools>span{ margin-right:4px; color:#68756b; font-size:10px; }
#access-root .state-tools button{ min-height:29px; padding:4px 8px; border:1px solid #dce3d9; border-radius:5px; background:transparent; color:#647167; font-size:10px; }
#access-root .state-tools button[aria-pressed="true"]{ color:var(--green-dark); background:#e4ede5; border-color:#b6c9ba; }
#access-root .spinner{ width:14px; height:14px; border:1.5px solid #ffffff6b; border-top-color:#fff; border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin{ to { transform:rotate(360deg); } }
#access-root .site-footer{ display:flex; justify-content:space-between; gap:15px; max-width:1264px; margin:auto; padding:10px 32px 23px; font-size:11px; color:#6f796f; }
@media (max-width:900px){#access-root .preview-label>span{ display:none; }
#access-root .auth-layout{ grid-template-columns:minmax(0,1fr) 380px; gap:40px; }
#access-root .story h1{ font-size:31px; }
#access-root .contact-sheet{ padding:11px; gap:8px; }
#access-root .frame-caption{ display:block; }
#access-root .frame-caption span{ display:none; }
#access-root .matte:before{ left:7px; top:7px; }
#access-root .matte:after{ right:7px; bottom:7px; }
#access-root .sheet-caption span:last-child{ display:none; }
}
@media (max-width:760px){#access-root .preview-bar{ flex-direction:column; align-items:flex-start; gap:8px; padding:11px 20px; }
#access-root .preview-label{ gap:7px; }
#access-root .preview-label>span{ display:inline; font-size:10px; }
#access-root .preview-tabs{ display:grid; grid-template-columns:1fr 1fr 1.2fr; width:100%; }
#access-root .preview-tabs button{ min-height:33px; padding:6px 7px; }
#access-root .site-header{ padding:21px 22px; }
#access-root .header-note{ font-size:11px; }
#access-root .auth-layout{ display:block; min-height:0; max-width:480px; padding:2px 20px 30px; }
#access-root .story{ display:none; }
#access-root .form-card{ padding:27px 24px; border-radius:10px; }
#access-root .form-heading{ margin-bottom:24px; }
#access-root .form-heading h2{ font-size:25px; }
#access-root .field{ margin-bottom:17px; }
#access-root input{ height:48px; font-size:16px; }
#access-root .eye-button{ height:46px; }
#access-root .btn-wide{ min-height:48px; }
#access-root .site-footer{ display:block; padding:0 22px 23px; text-align:center; font-size:10px; }
#access-root .site-footer span{ display:block; margin-top:4px; }
#access-root .workspace-preview{ padding:6px 20px 36px; }
#access-root .fragment-heading{ margin-bottom:22px; }
#access-root .fragment-heading h1{ font-size:23px; }
#access-root .fragment-heading p{ font-size:12px; }
#access-root .header-fragment{ min-height:238px; }
#access-root .work-topbar{ gap:9px; padding:0 14px; min-height:66px; }
#access-root .work-title{ gap:7px; font-size:12px; }
#access-root .work-title .brand-mark{ display:none; }
#access-root .account-button{ gap:6px; padding:5px 7px; font-size:11px; }
#access-root .account-popover{ top:48px; width:220px; }
#access-root .crop-explanation{ max-width:135px; padding:24px 14px; align-items:flex-start; font-size:11px; line-height:1.9; }
#access-root .crop-explanation svg{ display:none; }
#access-root .material-fragment{ display:block; padding:20px 17px; }
#access-root .material-row{ gap:10px; padding:12px; }
#access-root .material-thumb{ width:45px; height:59px; }
#access-root .material-info strong{ font-size:12px; }
#access-root .delete-trigger{ width:34px; height:34px; }
#access-root .delete-outline{ margin-top:20px; padding:16px; }
#access-root .delete-outline .btn{ width:100%; }
#access-root dialog{ padding:24px; }
#access-root .dialog-actions{ display:grid; grid-template-columns:1fr 1fr; }
#access-root .dialog-actions .btn{ padding:10px 8px; }
#access-root .toast{ left:20px; right:20px; bottom:20px; text-align:center; }
}
@media (prefers-reduced-motion:reduce){#access-root .spinner{ animation:none; }
}

/* 登录前同样可读价格与公告；只在新实例声明支持时显示，不影响旧入口。 */
#access-root .access-public-links{display:flex;align-items:center;gap:22px;margin-left:auto;color:#2f6456;font-size:12px}#access-root .access-public-links a{padding:8px 0;white-space:nowrap}#access-root .access-public-links a:focus-visible{outline:2px solid #2f6456;outline-offset:4px}
@media(max-width:700px){#access-root .site-header{flex-wrap:wrap;gap:10px}#access-root .site-header>.brand{width:100%;margin:0}#access-root .access-public-links{margin:0;gap:18px;font-size:11px}#access-root .site-header>.header-note{margin-left:auto;font-size:10px}}

/* 成象品牌登录与注册：沿用原表单及错误状态，只替换已批准的视觉层。 */
body.is-access-screen{background:#f5f6f2}#access-root{--green:#294e42;--green-dark:#213d34;--ink:#1e2e28;--line:#dfe5de;background:#f5f6f2}#access-root .site-header{height:96px;background:#fcfdf9;padding:0 54px}#access-root .brand{margin:0}#access-root .cx-logo{width:165px;height:65px}#access-root .header-note{font-size:11px;color:#78847b}#access-root .auth-layout{grid-template-columns:minmax(0,1.3fr) minmax(340px,.85fr);gap:70px;max-width:1220px;padding:46px 44px 32px;margin:0 auto;align-items:center}#access-root .story{align-self:stretch;min-width:0;padding:8px 0 0}#access-root .eyebrow{font-size:10px;letter-spacing:.2em;color:#78847b}#access-root .story h1{font-family:"SimSun","Songti SC",serif;font-size:45px;letter-spacing:.05em;line-height:1.35;font-weight:500;margin:12px 0 15px}#access-root .story-copy{font-size:12px;line-height:1.95;color:#738075}#access-root .cx-contact-sheet{position:relative;height:430px;margin-top:24px}#access-root .cx-contact-sheet figure{position:absolute;margin:0;padding:7px;background:#fff;border:1px solid #e0e6dd;box-shadow:0 12px 30px #223e2e0c}#access-root .cx-photo-main{left:10px;top:0;width:290px;height:390px;transform:rotate(-3deg);z-index:2}#access-root .cx-photo-original{right:0;top:75px;width:200px;height:277px;transform:rotate(5deg);z-index:3}#access-root .cx-contact-sheet img{width:100%;height:calc(100% - 24px);object-fit:cover;object-position:center 28%;display:block}#access-root .cx-contact-sheet figcaption{font-size:10px;line-height:25px;color:#78847b;letter-spacing:.1em}#access-root .cx-art-word{position:absolute;right:0;top:-22px;font-family:"SimSun","Songti SC",serif;font-size:120px;color:#e3e9df;line-height:1;z-index:0}#access-root .cx-sheet-note{font-size:11px;color:#78847b}#access-root .form-card{padding:32px;border-radius:8px;box-shadow:none}#access-root .form-heading h2{font-family:"SimSun","Songti SC",serif;font-weight:500;font-size:27px;letter-spacing:.03em}#access-root .form-heading .overline{letter-spacing:.12em;font-size:11px}#access-root .form-heading p{font-size:12px}#access-root .field{margin-bottom:15px}#access-root input{height:45px;border-radius:5px;background:#fdfefa}#access-root .btn-primary{border-radius:5px;background:#294e42}#access-root .site-footer{font-size:11px;border-top:1px solid #dfe5de;padding:20px 54px;color:#7a847e}
@media(max-width:1050px){#access-root .auth-layout{gap:35px;padding:35px 28px;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}#access-root .cx-photo-main{width:245px;height:335px}#access-root .cx-photo-original{width:155px;height:218px;top:100px}#access-root .cx-contact-sheet{height:355px}#access-root .story h1{font-size:36px}}
@media(max-width:760px){#access-root .site-header{height:78px;padding:0 22px}#access-root .cx-logo{width:133px;height:56px}#access-root .header-note{display:none}#access-root .auth-layout{display:flex;flex-direction:column;gap:22px;padding:25px 22px 30px}#access-root .story{width:100%;padding:0}#access-root .story h1{font-size:31px;line-height:1.4}#access-root .story-copy{font-size:11px}#access-root .cx-contact-sheet{height:255px;max-width:430px;margin:20px auto 0}#access-root .cx-photo-main{width:185px;height:248px;left:10px}#access-root .cx-photo-original{width:130px;height:178px;right:4px;top:55px}#access-root .cx-art-word{font-size:90px;right:0;top:-5px}#access-root .cx-sheet-note{margin-top:10px;font-size:10px}#access-root .form-column{max-width:440px}#access-root .form-card{padding:26px 23px}#access-root .form-heading h2{font-size:25px}#access-root .site-footer{padding:18px 22px;flex-wrap:wrap;gap:7px}}

/* 登录标题承接切页播报焦点，抑制默认轮廓；表单控件保留键盘焦点环。 */
#access-root #login-title:focus{ outline:none; }
/* 登录标题采用已批准的600字重，保持原字号、行高和间距。 */
#access-root #login-title{ font-weight:600; }
