/* 基础样式：沿用小工坊的木板、纽扣与柔和自然配色。 */
:root{font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#253c34;background:#f7f8f5;font-synthesis:none;--green:#294b3e;--muted:#829087;--line:#e5e9e1}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #a4c27e;outline-offset:4px}[hidden]{display:none!important}svg{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:19px;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2.4px;font-weight:500;margin-top:5px}.brand-light{color:#f1f4e9}.brand-light small{color:#a6b8aa}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:650}.login-layout{display:grid;grid-template-columns:46% 54%;min-height:100svh}.brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;background:#233e33;color:#f5f6e9;padding:46px 54px 32px}.brand-panel:after{content:"";position:absolute;width:540px;height:540px;border:1px solid #ffffff06;border-radius:50%;right:-360px;top:-320px;box-shadow:0 0 0 70px #ffffff02;pointer-events:none}.brand-story{max-width:440px;width:100%;margin:auto; padding-top:48px}.brand-story>.eyebrow{color:#b9cbaa}.brand-story h1{font-size:clamp(32px,3.25vw,49px);line-height:1.5;font-weight:550;letter-spacing:2px;margin:18px 0 15px}.brand-story>p{color:#b0c0b3;font-size:14px;letter-spacing:.5px}.brand-footer{font-size:11px;letter-spacing:.8px;color:#a4b9a7;display:flex;align-items:center;gap:9px;padding-top:30px}.form-panel{background:#fafbf8;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:110px 52px 85px}.corner-label{position:absolute;right:44px;top:45px;font-size:11px;letter-spacing:1px;color:#829087}.corner-label span{margin:0 12px;color:#bdc5bb}.login-content{width:100%;max-width:368px}.welcome-icon{width:48px;height:48px;display:grid;place-items:center;background:#ebefdf;border:1px solid #e1e6d2;border-radius:14px;margin-bottom:28px;color:#4f684a}.welcome-icon svg{width:24px;height:24px}.form-eyebrow{color:#738865;font-size:10px;letter-spacing:2px}.login-content h2{font-size:29px;letter-spacing:1px;margin:12px 0;font-weight:650}.form-description{font-size:13px;color:#859087;line-height:1.8;margin-bottom:35px}.field{margin:0 0 23px}.field label{display:block;font-size:13px;font-weight:550;margin-bottom:10px;color:#415348}.input-wrap{display:flex;align-items:center;height:52px;border:1px solid #dfe5da;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s}.input-wrap:focus-within{border-color:#819a6a;box-shadow:0 0 0 3px #a8be8021}.input-wrap>svg{width:18px;height:18px;margin:0 13px 0 16px;flex-shrink:0;color:#95a08f}.input-wrap input{width:100%;min-width:0;height:100%;border:0;background:transparent;outline:none;font-size:13px;color:#253c34;padding:0 12px 0 0}.input-wrap input::placeholder{color:#a7afa2}.password-toggle{border:0;background:none;font-size:11px;white-space:nowrap;color:#73816c;height:100%;padding:0 15px}.primary-button{border:0;background:var(--green);color:#fff;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:18px;width:100%;height:52px;font-size:14px;letter-spacing:1px;margin-top:31px;box-shadow:0 5px 12px #294b3e12;transition:background .15s,transform .15s}.primary-button:hover{background:#365b47}.primary-button:active{transform:translateY(1px)}.primary-button>span:last-child{font-size:21px;font-weight:400}.access-note{display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px;color:#97a08f;margin:22px 0 0}.form-error{border:1px solid #f0d2c9;background:#fff2ee;color:#ad5542;padding:11px 13px;border-radius:7px;font-size:12px;line-height:1.7}.form-footer{position:absolute;bottom:30px;font-size:10px;letter-spacing:1.2px;color:#9aa491}.form-footer span{margin:0 10px}
/* 验证码输入和可点击图片在窄屏内并排显示。 */
.captcha-row{display:flex;gap:12px}.captcha-row .input-wrap{flex:1;min-width:0}.captcha-row input{padding-left:14px}.captcha-refresh{width:144px;height:52px;flex-shrink:0;padding:0;border:1px solid #dfe5da;border-radius:9px;overflow:hidden;background:#eef3e5;color:#73816c;font-size:12px}.captcha-refresh img{display:block;width:100%;height:100%;object-fit:contain}.captcha-help{font-size:11px;color:#859087;line-height:1.7;margin:9px 0 0}
@media(max-width:360px){.captcha-row{gap:8px}.captcha-refresh{width:124px}.captcha-row input{padding-left:10px;font-size:12px}}
/* 纯 CSS 工坊插画，无外部图片或字体依赖。 */
.workshop-art{height:280px;position:relative;width:100%;max-width:395px;margin:24px 0 4px}.art-grid{position:absolute;inset:0;background-image:radial-gradient(#99ae8f38 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(ellipse,#000 10%,transparent 72%)}.plate{position:absolute;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;width:235px;height:78px;border-radius:17px;box-shadow:0 7px 0 #0000001f,0 20px 35px #0e231d40;border:1px solid #ffffff15}.plate:after{content:"";position:absolute;inset:8px;border:1px dashed #ffffff2e;border-radius:10px;pointer-events:none}.plate-back{background:#709188;transform:rotate(-34deg);left:45px;top:92px}.plate-middle{background:#a9b886;transform:rotate(25deg);left:80px;top:68px}.plate-front{background:#ccae82;transform:rotate(-10deg);left:52px;top:129px}.nail{width:37px;height:37px;border-radius:50%;position:relative;box-shadow:inset 0 2px 1px #ffffff50,inset 0 -4px 1px #00000018,0 4px 5px #00000020;border:5px solid #ffffff14}.nail:before,.nail:after{content:"";position:absolute;left:7px;top:12px;width:13px;height:3px;background:#00000035;border-radius:3px}.nail:after{transform:rotate(90deg)}.coral{background:#e6937e}.cream{background:#ece6cb}.yellow{background:#e6be68}.blue{background:#86aeae}.art-spark{position:absolute;font-size:27px;color:#afc595;font-weight:200}.spark-one{left:30px;top:45px}.spark-two{right:35px;top:190px;font-size:20px}.art-caption{position:absolute;bottom:0;left:20px;font-size:8px;letter-spacing:2.2px;color:#98ac97}
/* 管理首页：真实账号信息和后续功能的空状态。 */
.dashboard-page{display:flex;min-height:100svh;background:#f6f8f4}.sidebar{width:240px;flex-shrink:0;background:#233e33;padding:32px 23px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.sidebar .brand{font-size:16px;gap:10px}.sidebar .brand small{font-size:8px;letter-spacing:1.6px}.nav-label{font-size:10px;color:#9caf9e;letter-spacing:1.5px;margin:52px 13px 15px}.nav-item{display:flex;gap:13px;align-items:center;padding:14px 16px;font-size:13px;border-radius:8px}.nav-item.active{background:#ffffff0d;color:#e1ebc7;border:1px solid #ffffff0c}.nav-item>span{font-size:21px}.sidebar-footer{margin-top:auto;padding:18px 8px 0;font-size:11px;color:#8fa491;border-top:1px solid #ffffff0e;display:flex;justify-content:space-between}.workspace{margin-left:240px;flex:1;min-width:0}.topbar{height:86px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:12px;color:#8c988d}.topbar strong{font-weight:500;color:#3e5445}.breadcrumb-divider{margin:0 13px;color:#c6cec1}.account{display:flex;align-items:center;gap:10px;color:#4a5d4f}.avatar{width:32px;height:32px;display:grid;place-items:center;background:#edf1e5;border:1px solid #e2e8d9;border-radius:50%;font-size:12px}.text-button{font-size:12px;color:#7b8777;border:0;border-left:1px solid var(--line);background:none;margin-left:12px;padding-left:20px}.text-button:hover{color:#253c34}.dashboard-main{max-width:1190px;margin:0 auto;padding:42px}.dashboard-main>h1{font-size:28px;letter-spacing:.5px;margin:12px 0;font-weight:600}.dashboard-description{font-size:13px;color:#8a9687;margin-bottom:30px}.welcome-card{background:#eaf0dd;border:1px solid #dfe7cc;border-radius:14px;display:flex;justify-content:space-between;align-items:center;padding:32px 36px;gap:24px}.status-pill{display:inline-flex;align-items:center;gap:7px;color:#698254;font-size:10px;letter-spacing:.7px}.welcome-card h2{font-size:24px;letter-spacing:.5px;margin:16px 0 12px;font-weight:550}.welcome-card p{font-size:12px;color:#7b8c6d;line-height:1.9;margin:0}.welcome-card img{transform:rotate(10deg);box-shadow:0 12px 24px #5b754114;border-radius:30px;margin-right:13px}.info-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:24px;padding:25px 28px}.card-heading{display:flex;align-items:center;justify-content:space-between}.card-heading h2{font-size:14px;margin:0;font-weight:600}.card-heading>span{font-size:9px;letter-spacing:1.8px;color:#a1aa9a}.account-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:26px 0 4px}.account-details dt{font-size:11px;color:#92a08c;margin-bottom:10px}.account-details dd{font-size:13px;margin:0;color:#425741;overflow-wrap:anywhere}.empty-card{margin-top:24px;text-align:center;border:1px dashed #dce4d5;border-radius:12px;padding:30px;background:#f9fbf6}.empty-icon{font-size:29px;color:#a5b69a}.empty-card h2{font-size:14px;font-weight:500;margin:12px 0}.empty-card p{font-size:12px;color:#92a08a}.dashboard-footer{color:#a7b09f;font-size:10px;letter-spacing:1px;text-align:center;margin:35px 0 0}
/* 右上角账号菜单：密码设置统一从当前账号入口进入。 */
.account-menu{position:relative}.account-toggle{display:flex;align-items:center;gap:9px;max-width:220px;padding:4px 6px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:12px}.account-toggle:hover,.account-toggle[aria-expanded="true"]{background:#f1f5eb}.account-toggle #header-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-toggle .avatar{flex-shrink:0}.account-chevron{width:13px;height:13px;flex-shrink:0;transition:transform .15s}.account-toggle[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:160px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #233e331a}.account-dropdown a{display:block;padding:13px 14px;border-radius:6px;font-size:13px;color:#415348}.account-dropdown a:hover,.account-dropdown a:focus-visible{background:#edf3e7}
/* 小屏幕保留完整登录与退出操作，不产生横向滚动。 */
@media(min-height:900px){.brand-story{padding-top:0}.workshop-art{margin-top:45px;margin-bottom:25px}}
@media(max-width:1050px){.brand-panel{padding:34px 30px 28px}.brand-story h1{font-size:35px}.workshop-art{transform:scale(.88);transform-origin:left center}.form-panel{padding-left:36px;padding-right:36px}.sidebar{width:210px;padding:28px 18px}.workspace{margin-left:210px}.dashboard-main{padding:30px}.topbar{padding:0 30px}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.brand-panel{padding:24px;min-height:auto}.brand-panel>.brand{font-size:17px}.brand-story,.brand-footer{display:none}.form-panel{padding:50px 28px 75px;min-height:calc(100svh - 88px)}.corner-label{top:18px;right:24px;font-size:9px}.welcome-icon{margin-bottom:22px}.login-content{max-width:400px}.login-content h2{font-size:27px}.form-footer{bottom:22px}.sidebar{position:static;width:100%;padding:20px 22px}.sidebar .brand{font-size:16px}.nav-label,.sidebar nav,.sidebar-footer{display:none}.dashboard-page{display:block}.workspace{margin-left:0}.topbar{height:auto;min-height:65px;padding:16px 22px;gap:14px;flex-wrap:wrap}.account{margin-left:auto}.dashboard-main{padding:28px 20px}.dashboard-main>h1{font-size:24px}.welcome-card{padding:25px;gap:15px}.welcome-card h2{font-size:20px}.welcome-card img{width:65px;height:65px;border-radius:18px;margin-right:0}.info-card{padding:23px}.account-details{column-gap:20px;row-gap:24px}.account-details dd{font-size:12px}.empty-card{padding:24px 15px}}
/* 共用管理入口与按钮，手机端保留管理导航。 */
.form-success{border:1px solid #d9e7c9;background:#f1f7e9;color:#526f3e;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.8}
.sidebar .nav-item{color:#b5c6b5;margin-bottom:8px}.sidebar .nav-item.active{color:#e1ebc7}.sidebar .nav-item:hover{background:#ffffff0d}
.secondary-button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #dce5d3;background:#fff;color:#58704b;border-radius:8px;padding:10px 15px;font-size:12px;white-space:nowrap;cursor:pointer}.secondary-button:hover{background:#f4f7ee}.dashboard-entry{margin-top:8px}
@media(max-width:760px){.sidebar nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}.sidebar .nav-item{margin:0;padding:8px 13px;font-size:12px}.sidebar .nav-item>span{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
