:root{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;color:#3e281a;background:#fff8f0}*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}.login-shell{position:relative;display:grid;min-height:100vh;grid-template-columns:1.2fr .8fr;overflow:hidden;background:#ff9215 url("/login-orange-flow-v1.png") center/cover no-repeat}.brand{position:relative;z-index:1;display:flex;min-height:680px;flex-direction:column;justify-content:space-between;padding:42px 7vw 40px;color:#fff}.brand-lockup{display:flex;align-items:center;gap:18px;font-size:24px;font-weight:800;letter-spacing:.13em}.brand>b{display:grid;place-items:center;width:84px;height:84px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:rgba(255,255,255,.08);color:#ff9123;font-family:Georgia,"Songti SC",serif;font-size:44px;font-weight:500;letter-spacing:0;text-shadow:0 1px 0 #fff}.brand-copy{margin:auto 0 18px}.brand p,.card>p,#role{letter-spacing:.13em;font-size:14px;font-weight:800}.brand p{margin:0 0 38px}.brand h1{margin:0 0 32px;font-family:Georgia,"Songti SC",serif;font-size:clamp(50px,5.1vw,76px);font-weight:500;letter-spacing:.035em;line-height:1.18;white-space:nowrap}.brand strong{font-family:Georgia,"Songti SC",serif;font-size:clamp(22px,2vw,32px);font-weight:500;letter-spacing:.055em;white-space:nowrap}.card{position:relative;z-index:1;align-self:center;width:min(390px,calc(100% - 56px));margin:auto;padding:42px 42px 36px;border-radius:42px 42px 0 0;background:rgba(255,250,243,.95);box-shadow:0 20px 60px rgba(116,50,8,.18);display:grid;gap:12px}.card-tab{position:absolute;top:0;left:50%;width:112px;height:12px;border-radius:0 0 10px 10px;background:#ff971b;transform:translateX(-50%)}.card>p{margin:16px 0 0;color:#ff6d20;font-family:Georgia,"Songti SC",serif;font-size:20px;letter-spacing:.08em}.card h2{margin:0;color:#4a2819;font-family:Georgia,"Songti SC",serif;font-size:42px;font-weight:500;letter-spacing:.06em}.card small{color:#8f7460;font-size:16px;line-height:1.7}.card label{display:grid;gap:11px;margin-top:28px;color:#673619;font-size:17px;font-weight:800}.card input,.form input{font:inherit;border:2px solid #f1cba5;border-radius:22px;padding:19px 20px;background:rgba(255,255,255,.8);font-size:20px}.card input::placeholder{color:#9c9b9a;font-weight:700}.card button,aside button{font:inherit;border:0;border-radius:20px;padding:17px;cursor:pointer}.card button,.add{background:linear-gradient(180deg,#ff8730,#f56c20);color:white;font-size:18px;font-weight:800;letter-spacing:.02em}.card button:disabled{opacity:.65;cursor:wait}.card em,.error{min-height:18px;margin:0;color:#b42318;font-size:13px;font-style:normal}.login-note{margin-top:10px;border-top:2px solid #f7e1cf;padding-top:23px}.app{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.app aside{background:#fff3e5;padding:28px 16px;display:flex;flex-direction:column;border-right:1px solid #eddbc8}.app aside h2{margin:0 8px 30px}.app aside small{color:#99785f}.app nav{display:grid;gap:6px}.app nav button{background:transparent;text-align:left}.app nav button.active,.app nav button:hover{background:#ffdfbd;color:#9d450d;font-weight:800}#logout{margin-top:auto;background:transparent;text-align:left;color:#a4511d}.app>section{padding:30px clamp(22px,5vw,64px)}header{border-bottom:1px solid #edddcf}header h1{margin:5px 0 20px}#content{padding-top:28px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tile,.empty,.form{background:white;border:1px solid #f0dfd0;border-radius:20px;padding:20px}.tile{cursor:pointer;text-align:left}.tile h3{margin:10px 0}.tile p{color:#8b705a;line-height:1.6}.badge{font-size:12px;color:#a54e16;background:#fff0df;border-radius:20px;padding:5px 9px}.empty{text-align:center;color:#8b705a}.add{border:0;border-radius:12px;padding:12px 16px;cursor:pointer;margin-bottom:18px}.form{max-width:520px;display:grid;gap:14px}.form h3{margin:0}.form label{display:grid;gap:7px;font-weight:700}.form button[type=button]{border:0;background:#fff0df;border-radius:12px;padding:12px;margin-right:8px;font:inherit;cursor:pointer}.form input,.form select,.form textarea{font:inherit;border:1px solid #ead2bd;border-radius:12px;padding:12px;background:#fff;min-width:0}.form textarea{min-height:94px;resize:vertical}.experience-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:12px 14px;border:1px solid #ffd6aa;border-radius:14px;background:#fff7ed;color:#825117;font-size:13px;line-height:1.55}.experience-notice strong{color:#a54e16}.support-link{display:inline-block;white-space:nowrap;color:#9d450d;font-weight:800}.experience-intro{margin:0 0 18px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#fff0df,#fff9f2);color:#71523b;line-height:1.7}.experience-intro h3{margin:0 0 4px;color:#6b3513}.experience-intro p{margin:4px 0}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.result-actions button{border:1px solid #ead2bd;border-radius:12px;padding:10px 14px;background:white;font:inherit;cursor:pointer}.result-actions .add{border:0;margin:0}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.brand{min-height:510px;padding:38px 8vw}.card{margin:-48px auto 40px}.brand h1{font-size:clamp(44px,8vw,66px)}}@media(max-width:560px){.login-shell{background-position:42% center}.brand{min-height:410px;padding:28px 24px}.brand-lockup{gap:10px;font-size:16px;letter-spacing:.06em}.brand>b{width:50px;height:50px;font-size:28px}.brand p{margin-bottom:21px;font-size:10px}.brand h1{margin-bottom:20px;font-size:37px}.brand strong{font-size:16px;white-space:normal;line-height:1.55}.card{width:calc(100% - 28px);margin:-36px auto 20px;padding:30px 24px;border-radius:30px 30px 0 0}.card h2{font-size:32px}.card>p{font-size:17px}.card small{font-size:14px}.card label{margin-top:17px;font-size:15px}.card input{padding:15px;font-size:17px}.card button{font-size:16px}.app{grid-template-columns:1fr}.app aside{position:fixed;bottom:0;left:0;right:0;z-index:2;height:64px;padding:6px;background:white}.app aside h2,#logout{display:none}.app nav{display:flex;overflow:auto;gap:2px}.app nav button{white-space:nowrap;font-size:12px;padding:10px}.app>section{padding:24px 18px 85px}.cards{grid-template-columns:1fr}.experience-notice{align-items:flex-start;flex-direction:column;gap:5px}}

/* 以已确认的高保真登录页为唯一视觉基准。 */
@media (min-width:901px){
  .login-shell{grid-template-columns:minmax(0,1fr) 48.5rem;background-position:center;background-size:cover}
  .brand{min-height:100vh;padding:5.4vh 7.2vw 8vh;justify-content:flex-start}
  .brand-lockup{position:relative;z-index:2;gap:1rem;font-family:Georgia,"Songti SC",serif;font-size:1.55rem;font-weight:500;letter-spacing:.18em}
  .brand-lockup>b{display:grid;place-items:center;width:4rem;height:4rem;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(255,255,255,.06);color:#ff9825;font-size:2.1rem;line-height:1;text-shadow:0 1px 0 #fff}
  .brand-copy{position:relative;z-index:2;margin:clamp(15rem,29vh,25rem) 0 0}
  .brand-copy p{margin:0 0 2.25rem;font-size:1rem;letter-spacing:.16em}
  .brand-copy h1{margin:0 0 2rem;font-size:clamp(3.6rem,4.15vw,5.7rem);line-height:1.15;letter-spacing:.055em}
  .brand-copy strong{font-size:clamp(1.75rem,2vw,2.65rem);letter-spacing:.075em}
  .login-ripple{position:absolute;z-index:1;border:1px solid rgba(255,235,213,.22);border-radius:50%;pointer-events:none}
  .ripple-one{left:56%;top:33%;width:15rem;height:15rem}
  .ripple-two{left:60%;top:37%;width:10rem;height:10rem}
  .login-star{position:absolute;z-index:2;color:white;font-size:2rem;line-height:1;text-shadow:0 2px 10px rgba(235,89,13,.15)}
  .login-star-one{left:26%;bottom:22%}.login-star-two{right:-2%;top:27%;font-size:2.6rem}
  .card{align-self:center;width:min(31.5rem,calc(100% - 6rem));min-height:0;margin:0 5.5rem 0 0;padding:3.2rem 3.25rem 2.7rem;border-radius:2.4rem;background:rgba(255,250,244,.97);box-shadow:0 2rem 5rem rgba(108,48,7,.13);gap:0}
  .card-tab{width:5rem;height:.45rem;border-radius:0 0 .55rem .55rem}
  .card>p{margin:1.35rem 0 .55rem;font-size:1.1rem}
  .card h2{margin:0 0 .7rem;font-size:2.4rem;letter-spacing:.08em}
  .card small{font-size:1rem;line-height:1.85}
  .card label{gap:.65rem;margin-top:2.8rem;font-size:1.05rem}
  .card input{border-width:1px;border-radius:1.05rem;padding:1rem 1.05rem;font-size:1.2rem}
  .recent-login{margin:.7rem 0 .85rem;color:#9a8270;font-size:.88rem}
  .recent-login>div:first-child{display:flex;align-items:center;justify-content:space-between}
  .recent-login button{border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;color:#f47b20!important;font-size:.88rem!important;font-weight:700!important}
  .phone-history{display:flex;min-height:2.2rem;align-items:center;gap:.5rem;padding-top:.45rem}
  .phone-history:empty::after{content:"登录后会显示在这里";color:#b49a87;font-size:.83rem}
  .phone-history button{border:1px solid #f0d6c1!important;border-radius:1.15rem!important;background:#fff8f1!important;padding:.38rem .7rem!important;color:#73533c!important;font-size:.9rem!important;font-weight:500!important}
  .card em{min-height:1rem;margin:0 0 .25rem}
  .card>#loginButton{border-radius:1rem;padding:1rem 1.1rem;font-size:1.05rem}
  .login-note{margin-top:1.5rem;border-top:1px solid #f1dccb;padding-top:1.25rem}
  .request-store{justify-self:start!important;margin-top:1.3rem;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;color:#df5e18!important;font-size:1rem!important;font-weight:800!important}
}
@media (max-width:900px){
  .login-ripple,.login-star{display:none}.brand-lockup>b{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.9);border-radius:50%;color:#ff9825;font-family:Georgia,"Songti SC",serif;font-size:1.7rem}.recent-login{margin:8px 0;color:#9a8270;font-size:13px}.recent-login>div:first-child{display:flex;justify-content:space-between}.recent-login button,.request-store{border:0!important;background:transparent!important;padding:0!important;color:#e66c1d!important;font-size:13px!important}.phone-history{display:flex;min-height:26px;align-items:center;gap:6px;padding-top:5px}.phone-history button{border:1px solid #f0d6c1!important;border-radius:20px!important;background:#fff8f1!important;padding:4px 8px!important;color:#73533c!important}.phone-history:empty::after{content:"登录后会显示在这里";color:#b49a87;font-size:12px}.request-store{justify-self:start;margin-top:8px;font-weight:800!important}
}
/* 登录页动态水波层：不拦截鼠标和触摸事件。 */
.login-ripple-canvas{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.login-ripple-canvas{display:none}}

/* Phase 1 人物海报工作台：沿用已确认的原版人物主视觉，不使用普通表格式后台首页。 */
.portrait-app{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:radial-gradient(circle at 89% 0,rgba(255,207,161,.35),transparent 28%),#fff5e8;color:#583523}
.portrait-app>.portrait-sidebar{display:flex;min-height:100vh;flex-direction:column;border-right:1px solid #efd9c0;background:rgba(255,250,243,.96);padding:26px 16px;box-shadow:8px 0 25px rgba(129,74,36,.06)}
.portrait-brand{display:flex;align-items:center;gap:11px;margin:3px 8px 30px;color:#583523;line-height:1.22}.portrait-brand>span{display:grid;place-items:center;width:43px;height:43px;border:1px solid #edb887;border-radius:50%;background:#fff2e4;color:#e96b24;font-family:Georgia,"Songti SC",serif;font-size:23px}.portrait-brand b{font-family:Georgia,"Songti SC",serif;font-size:17px;font-weight:600;letter-spacing:.04em}.portrait-brand small{color:#9b7964;font-family:"PingFang SC",sans-serif;font-size:11px;font-weight:600;letter-spacing:.09em}
.portrait-tenant{display:flex;align-items:center;gap:10px;margin:0 0 22px;border:1px solid #efd5b7;border-radius:16px;background:#fff8ee;padding:12px;box-shadow:inset 2px 2px 6px rgba(157,91,43,.06)}.portrait-tenant i{display:block;width:9px;height:9px;border-radius:50%;background:#ee6c24;box-shadow:0 0 0 4px #ffe4cc}.portrait-tenant b,.portrait-tenant small{display:block}.portrait-tenant b{font-size:13px}.portrait-tenant small{margin-top:3px;color:#9b7964;font-size:11px}
.portrait-nav{display:grid;gap:5px}.portrait-nav button{display:flex;align-items:center;gap:11px;border:0;border-radius:13px;background:transparent;padding:12px 13px;color:#76513b;font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:.18s}.portrait-nav button>span{display:grid;place-items:center;width:20px;color:#c4602a;font-size:16px}.portrait-nav button:hover,.portrait-nav button.active{background:linear-gradient(90deg,#ffe4cc,#fff4e8);color:#583523;font-weight:800}.portrait-nav button.active:before{width:3px;height:22px;margin-left:-13px;border-radius:0 4px 4px 0;background:#ee6c24;content:""}
.portrait-side-note{display:grid;gap:5px;margin:auto 4px 16px;border:1px solid #efd5b7;border-radius:15px;background:#fff8ee;padding:13px;color:#76513b}.portrait-side-note b{font-size:12px}.portrait-side-note span{color:#9b7964;font-size:11px}.portrait-logout{border:0;border-radius:13px;background:transparent;padding:11px 13px;color:#a45b38;font:inherit;text-align:left;cursor:pointer}.portrait-logout:hover{background:#fff0e1}
.portrait-app>.portrait-main{min-width:0;padding:0 clamp(20px,4vw,58px) 42px}.portrait-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:104px;border-bottom:1px solid #efd9c0}.portrait-topbar h1{margin:5px 0 0;font-family:Georgia,"Songti SC",serif;font-size:29px;font-weight:500;letter-spacing:.04em}.portrait-topbar #role{color:#b85c39;font-size:10px;font-weight:800;letter-spacing:.12em}.portrait-user{display:flex;align-items:center;gap:9px}.portrait-user>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#f69654,#e56621);color:#fffaf3;font-family:Georgia,"Songti SC",serif;font-size:17px}.portrait-user b,.portrait-user small{display:block}.portrait-user b{font-size:13px}.portrait-user small{margin-top:2px;color:#9b7964;font-size:10px}
.portrait-app #content{padding-top:27px}.portrait-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 20px}.portrait-intro p{margin:0 0 7px;color:#c94d14;font-size:10px;font-weight:800;letter-spacing:.13em}.portrait-intro h2{margin:0;font-family:Georgia,"Songti SC",serif;font-size:31px;font-weight:500;letter-spacing:.03em}.portrait-intro>span{border-radius:999px;background:#ffe1c9;padding:8px 12px;color:#b85524;font-size:11px;font-weight:800}
.portrait-hub-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.portrait-card{position:relative;display:block;min-height:408px;overflow:hidden;border:1px solid #f0d4b6;border-radius:26px;background:#fff8ee;padding:0;color:#5f4030;text-align:left;isolation:isolate;transition:transform .2s,box-shadow .2s,border-color .2s}.portrait-card:not(:disabled){cursor:pointer}.portrait-card:not(:disabled):hover,.portrait-card:not(:disabled):focus-visible{border-color:#ed9b64;box-shadow:inset 1px 1px 2px rgba(255,255,255,.95),0 18px 34px rgba(143,87,39,.16);outline:none;transform:translateY(-4px)}.portrait-card:disabled{cursor:not-allowed}.portrait-card-art{position:absolute;inset:0;background-position:center var(--portrait-y,15%);background-repeat:no-repeat;background-size:var(--portrait-size,112% auto)}.portrait-card-art:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,249,242,0) 33%,rgba(255,248,239,.08) 49%,rgba(255,247,238,.92) 100%);content:""}.portrait-card-copy{position:absolute;right:0;bottom:0;left:0;z-index:1;display:grid;gap:5px;min-height:148px;padding:19px 20px 20px}.portrait-card-copy small{color:#a66d49;font-size:10px;font-weight:800;letter-spacing:.08em}.portrait-card-copy b{font-size:18px;line-height:1.25}.portrait-card-copy span{color:#7e5c48;font-size:11px;line-height:1.45}.portrait-card-entry{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:4px;border-radius:999px;background:linear-gradient(180deg,#f47d33,#ee6c24);padding:8px 12px;color:#fffdf9;font-size:12px;font-weight:800;box-shadow:0 7px 15px rgba(201,77,20,.22)}.portrait-card.locked .portrait-card-art{filter:saturate(.72) brightness(.95)}.portrait-card.locked .portrait-card-copy{padding-bottom:23px}.portrait-lock{position:absolute;z-index:2;top:15px;right:15px;border:1px solid rgba(108,72,49,.13);border-radius:999px;background:rgba(255,250,243,.9);padding:7px 10px;color:#79523c;font-size:11px;font-weight:800;backdrop-filter:blur(5px)}
.portrait-card-overview .portrait-card-art{--portrait-size:cover;--portrait-mobile-size:cover;--portrait-y:0%;background-image:url("/assets/partner-bafei-full-v1.png")}.portrait-card-copywriter .portrait-card-art{--portrait-y:15%;background-image:url("/assets/partner-zanzan-full-v3.png")}.portrait-card-admin .portrait-card-art{--portrait-y:11%;background-image:url("/assets/partner-ahao-full-v3.png")}.portrait-card-billing .portrait-card-art{--portrait-y:15%;background-image:url("/assets/partner-longlong-full-v3.png")}.portrait-card-training .portrait-card-art{--portrait-size:cover;--portrait-mobile-size:cover;--portrait-y:0%;background-image:url("/assets/brother-full-shilan-v3.png")}.portrait-card-sales .portrait-card-art{--portrait-y:0%;background-image:url("/assets/brother-full-bobo-v1.png")}.portrait-card-heart .portrait-card-art{--portrait-y:2%;background-image:url("/assets/brother-full-hehe-v1.png")}.portrait-card-community .portrait-card-art{--portrait-size:124% auto;--portrait-y:15%;background-image:url("/assets/brother-full-qianzhizhe-v3.png")}.portrait-card-salon .portrait-card-art{--portrait-y:0%;background-image:url("/assets/brother-full-bobo-v1.png")}
.portrait-footnote{display:flex;align-items:center;gap:9px;margin-top:17px;border:1px solid #efd5b7;border-radius:14px;background:#fff8ee;padding:13px 15px;color:#7e5c48;font-size:12px;line-height:1.55}.portrait-footnote b{color:#e66c24;font-size:16px}.portrait-billing{max-width:780px;border:1px solid #efd5b7;border-radius:22px;background:#fffaf3;padding:26px;box-shadow:0 14px 32px rgba(131,77,37,.1)}.portrait-billing small{color:#b85c39;font-weight:800;letter-spacing:.1em}.portrait-billing h2{margin:8px 0;font-family:Georgia,"Songti SC",serif;font-size:29px;font-weight:500}.portrait-billing p{color:#7e5c48;line-height:1.7}.portrait-billing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.portrait-billing-grid div{border:1px solid #efd9c0;border-radius:14px;background:#fff8ee;padding:14px}.portrait-billing-grid b,.portrait-billing-grid span{display:block}.portrait-billing-grid b{font-size:17px}.portrait-billing-grid span{margin-top:5px;color:#9b7964;font-size:11px}.portrait-safe-note{margin-top:18px!important;border-left:3px solid #ee6c24;background:#fff0e1;padding:10px 12px;font-size:12px}
.admin-console-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;border:1px solid #efd5b7;border-radius:22px;background:#fff8ee;padding:24px;box-shadow:0 12px 28px rgba(131,77,37,.08)}.admin-console-head small,.admin-module-group>small{color:#c45b2a;font-size:10px;font-weight:800;letter-spacing:.12em}.admin-console-head h2{margin:7px 0;color:#5b3825;font-family:Georgia,"Songti SC",serif;font-size:30px;font-weight:500}.admin-console-head p{max-width:760px;margin:0;color:#80604a;font-size:13px;line-height:1.7}.admin-console-badge{border-radius:999px;background:#ffe1c9;padding:8px 12px;color:#b85524;font-size:11px;font-weight:800;white-space:nowrap}.admin-module-grid{display:grid;gap:18px}.admin-module-group>small{display:block;margin-bottom:9px}.admin-module-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.admin-module-card{display:grid;gap:8px;min-height:166px;border:1px solid #efd9c0;border-radius:18px;background:#fffaf3;padding:17px;color:#5f4030;text-align:left;font:inherit;box-shadow:0 8px 20px rgba(129,74,36,.06)}.admin-module-card.active{cursor:pointer}.admin-module-card.active:hover,.admin-module-card.active:focus-visible{border-color:#ed9b64;box-shadow:0 13px 27px rgba(143,87,39,.14);outline:none;transform:translateY(-2px)}.admin-module-card.locked{opacity:.7;cursor:not-allowed}.admin-module-card .badge{width:max-content}.admin-module-card h3{margin:0;font-size:17px}.admin-module-card p{margin:0;color:#80604a;font-size:12px;line-height:1.55}.admin-module-card strong{margin-top:auto;color:#e66c24;font-size:12px}@media(max-width:900px){.admin-console-head{flex-direction:column}.admin-module-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.admin-console-head{padding:18px}.admin-console-head h2{font-size:25px}.admin-module-list{grid-template-columns:1fr}.admin-module-card{min-height:145px}}
.admin-back{margin:0 0 16px;border:0;background:transparent;padding:0;color:#a95127;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-page-head small{color:#c45b2a;font-size:10px;font-weight:800}.admin-page-head h2{margin:5px 0;color:#5b3825;font-family:Georgia,"Songti SC",serif;font-size:28px;font-weight:500}.admin-page-head p{margin:0;color:#80604a;font-size:13px;line-height:1.6}.admin-filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) auto;align-items:end;gap:12px;margin-bottom:18px}.admin-filter-bar label{display:grid;gap:6px;color:#76513b;font-size:12px;font-weight:800}.admin-filter-bar input,.admin-filter-bar select,.admin-wizard input,.admin-wizard select{min-width:0;border:1px solid #edc69f;border-radius:10px;background:#fffdf9;padding:10px;color:#5f4030;font:inherit}.admin-filter-bar button{min-height:41px;border:0;border-radius:10px;background:#ee6c24;padding:0 18px;color:#fff;font-weight:800}.admin-table-wrap{overflow:auto;border:1px solid #efd9c0;border-radius:8px;background:#fffaf3}.admin-table{width:100%;min-width:900px;border-collapse:collapse}.admin-table th,.admin-table td{padding:13px 14px;border-bottom:1px solid #f0dfce;text-align:left;vertical-align:middle}.admin-table th{background:#fff4e8;color:#89583c;font-size:11px}.admin-table td{color:#654534;font-size:12px}.admin-table td b,.admin-table td small{display:block}.admin-table td small{margin-top:4px;color:#9b7964}.admin-table td button{border:1px solid #edc69f;border-radius:8px;background:#fffaf3;padding:7px 10px;color:#9e4e24;font:inherit;font-weight:800;cursor:pointer}.admin-table td button:disabled{opacity:.45;cursor:not-allowed}.admin-id{font-size:12px!important;overflow-wrap:anywhere}.admin-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:16px;border-bottom:1px solid #efd9c0}.admin-tabs button{flex:none;border:0;border-bottom:3px solid transparent;background:transparent;padding:11px 13px;color:#80604a;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.admin-tabs button.active{border-color:#ee6c24;color:#bd5120}.admin-detail-body{min-height:260px}.admin-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.admin-detail-grid article{display:grid;gap:7px;border:1px solid #efd9c0;border-radius:8px;background:#fffaf3;padding:16px}.admin-detail-grid small{color:#a66d49}.admin-detail-grid b{font-size:16px}.admin-section-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.admin-section-actions p{margin:0;color:#80604a;font-size:12px}.admin-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.admin-feature-list p{display:flex;justify-content:space-between;gap:12px;margin:0;border:1px solid #efd9c0;border-radius:8px;background:#fffaf3;padding:13px;color:#654534}.admin-rule-box{border:1px solid #edcf7a;border-radius:8px;background:#fff8dc;padding:17px}.admin-rule-box b{color:#8f5f0b}.admin-rule-box p{margin:7px 0 0;color:#765f35;line-height:1.65}.admin-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none}.admin-steps li{display:flex;align-items:center;gap:7px;border-bottom:3px solid #edddcc;padding:8px 4px;color:#9b7964;font-size:11px}.admin-steps li b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f3e4d5}.admin-steps li.active{border-color:#ee6c24;color:#a94c20;font-weight:800}.admin-steps li.active b{background:#ee6c24;color:#fff}.admin-wizard{border:1px solid #efd9c0;border-radius:8px;background:#fffaf3;padding:22px}.admin-wizard h3{margin-top:0}.admin-wizard fieldset{margin:0 0 12px;border:1px solid #efd9c0;border-radius:8px;padding:14px}.admin-wizard legend{padding:0 7px;color:#a95127;font-weight:800}.admin-wizard-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.admin-confirm-list{display:grid;gap:8px;margin-bottom:15px}.admin-confirm-list p{display:grid;grid-template-columns:100px 1fr;margin:0;border-bottom:1px solid #f0dfce;padding:9px 0}.admin-confirm-list span{color:#80604a}@media(max-width:900px){.admin-page-head,.admin-section-actions{align-items:stretch;flex-direction:column}.admin-filter-bar{grid-template-columns:1fr 1fr}.admin-filter-bar button{grid-column:1/-1}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:430px){.admin-filter-bar,.admin-detail-grid,.admin-feature-list{grid-template-columns:1fr}.admin-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-wizard{padding:15px}.admin-page-head .add{width:100%}}
.feature-toggle{display:flex!important;align-items:center;gap:10px;border:1px solid #efd9c0;border-radius:13px;background:#fffaf3;padding:13px}.feature-toggle input{width:18px;height:18px;accent-color:#ee6c24}
.profile-head{display:flex;align-items:center;gap:18px;max-width:860px;border:1px solid #efd5b7;border-radius:24px;background:#fffaf3;padding:25px;box-shadow:0 12px 28px rgba(131,77,37,.08)}.profile-avatar{display:grid;place-items:center;width:76px;height:76px;border:4px solid #ffe0c2;border-radius:50%;background:#fff0df;color:#e66c24;font-family:Georgia,"Songti SC",serif;font-size:34px}.profile-head small,.profile-grid small,.profile-plan-card small{color:#b85c39;font-size:11px;font-weight:800;letter-spacing:.1em}.profile-head h2{margin:5px 0;color:#5b3825;font-family:Georgia,"Songti SC",serif;font-size:29px;font-weight:500}.profile-head p{margin:0;color:#80604a}.profile-status,.profile-plan-status{display:inline-block;margin-top:8px;border-radius:999px;background:#e5f6e8;padding:5px 10px;color:#2e8144;font-size:11px;font-weight:800}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;max-width:860px;margin-top:17px}.profile-grid article{display:grid;gap:8px;min-height:125px;border:1px solid #efd9c0;border-radius:17px;background:#fffaf3;padding:17px;box-shadow:0 8px 20px rgba(129,74,36,.06)}.profile-grid b{color:#5f4030;font-size:17px;line-height:1.4}.profile-grid span{color:#80604a;font-size:12px;line-height:1.5}.profile-plan-card{max-width:860px;margin-top:17px;border:1px solid #edcf7a;border-radius:20px;background:linear-gradient(135deg,#fffaf0,#fff4cf);padding:20px}.profile-plan-card h2{margin:6px 0;color:#5b3825;font-family:Georgia,"Songti SC",serif;font-size:25px;font-weight:500}.profile-plan-card p{color:#80604a;line-height:1.6}.profile-plan-status{float:right;margin-top:-34px;background:#fff0c4;color:#a56a0a}@media(max-width:900px){.profile-grid{grid-template-columns:1fr}.profile-plan-status{float:none;margin-top:5px}}
.portrait-app .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait-app .tile,.portrait-app .empty,.portrait-app .form{border-color:#efd9c0;background:#fffaf3;box-shadow:0 8px 20px rgba(129,74,36,.06)}.portrait-app .add{background:linear-gradient(180deg,#f47d33,#ee6c24)}.portrait-app .experience-intro{background:#fff0df}.portrait-app .experience-notice{margin-top:18px}
@media(max-width:1180px){.portrait-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.portrait-app{grid-template-columns:1fr}.portrait-app>.portrait-sidebar{position:fixed;z-index:8;right:0;bottom:0;left:0;min-height:0;height:70px;flex-direction:row;align-items:center;padding:7px 10px;border-top:1px solid #efd9c0;border-right:0}.portrait-brand,.portrait-tenant,.portrait-side-note,.portrait-logout{display:none}.portrait-nav{display:flex;width:100%;justify-content:space-around}.portrait-nav button{min-width:0;flex:1;justify-content:center;gap:5px;padding:10px 5px;font-size:11px}.portrait-nav button.active:before{display:none}.portrait-app>.portrait-main{padding:0 20px 90px}.portrait-topbar{min-height:80px}.portrait-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portrait-card{min-height:345px;border-radius:20px}.portrait-card-copy{min-height:133px;padding:15px 13px}.portrait-card-copy b{font-size:14px}.portrait-card-copy span{font-size:10px}.portrait-card-entry{padding:7px 10px;font-size:10px}.portrait-intro h2{font-size:25px}.portrait-intro>span{display:none}.portrait-app .cards{grid-template-columns:1fr}.portrait-billing-grid{grid-template-columns:1fr}}@media(max-width:430px){.portrait-app>.portrait-main{padding-right:13px;padding-left:13px}.portrait-topbar h1{font-size:24px}.portrait-user div{display:none}.portrait-nav button{min-height:54px;flex-direction:column;gap:2px;padding:5px 2px;white-space:normal;line-height:1.15}.portrait-nav button>span{width:auto}.portrait-hub-grid{grid-template-columns:1fr}.portrait-card{min-height:316px}.portrait-card-copy{min-height:123px}.portrait-card-art{background-size:var(--portrait-mobile-size,119% auto)}}
.platform-preview-picker{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 20px;border:1px solid #efd5b7;border-radius:18px;background:linear-gradient(135deg,#fffaf3,#fff0df);padding:17px 18px;box-shadow:0 8px 20px rgba(129,74,36,.06)}.platform-preview-picker.needs-attention{border-color:#ef7c38;box-shadow:0 0 0 3px rgba(239,124,56,.14),0 8px 20px rgba(129,74,36,.06)}.platform-preview-picker small,.platform-preview-head small{display:block;color:#c45b2a;font-size:10px;font-weight:800;letter-spacing:.12em}.platform-preview-picker b{display:block;margin:6px 0;color:#5f4030;font-size:15px}.platform-preview-picker span{display:block;max-width:620px;color:#80604a;font-size:12px;line-height:1.55}.platform-preview-picker label{display:grid;min-width:220px;gap:7px;color:#76513b;font-size:12px;font-weight:800}.platform-preview-picker select{border:1px solid #edc69f;border-radius:11px;background:#fffdf9;padding:10px;color:#5f4030;font:inherit}.platform-preview-head{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:20px}.platform-preview-head h2{margin:6px 0 7px;color:#5b3825;font-family:Georgia,"Songti SC",serif;font-size:27px;font-weight:500}.platform-preview-head p{max-width:680px;margin:0;color:#80604a;font-size:13px;line-height:1.7}.platform-preview-head button{flex:none;border:1px solid #edc69f;border-radius:11px;background:#fffaf3;padding:10px 13px;color:#9e4e24;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.platform-preview-grid,.platform-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.platform-preview-grid article,.platform-template-grid article{display:grid;gap:8px;min-height:130px;border:1px solid #efd9c0;border-radius:17px;background:#fffaf3;padding:17px;box-shadow:0 8px 20px rgba(129,74,36,.06)}.platform-preview-grid small,.platform-template-grid small{color:#b85c39;font-size:11px;font-weight:800}.platform-preview-grid b{color:#5f4030;font-family:Georgia,"Songti SC",serif;font-size:27px;font-weight:500}.platform-preview-grid span,.platform-template-grid span{color:#80604a;font-size:12px;line-height:1.5}.platform-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-template-grid article{min-height:150px}.platform-template-grid b{color:#5f4030;font-size:15px;line-height:1.45}@media(max-width:900px){.platform-preview-picker,.platform-preview-head{align-items:stretch;flex-direction:column;gap:13px}.platform-preview-picker label{min-width:0}.platform-preview-grid,.platform-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-preview-head h2{font-size:23px}}@media(max-width:430px){.platform-preview-grid,.platform-template-grid{grid-template-columns:1fr}.platform-preview-picker{padding:15px}.platform-preview-head button{width:100%}}
/* Phase 1 restored copywriter flow and clickable store overview cards. */
.platform-preview-grid button,.copywriter-category-card,.copywriter-template-card{display:grid;gap:8px;min-height:130px;border:1px solid #efd9c0;border-radius:17px;background:#fffaf3;padding:17px;color:#5f4030;text-align:left;font:inherit;box-shadow:0 8px 20px rgba(129,74,36,.06);cursor:pointer;transition:.18s}
.platform-preview-grid button:hover,.platform-preview-grid button:focus-visible,.copywriter-category-card:hover,.copywriter-category-card:focus-visible,.copywriter-template-card:hover,.copywriter-template-card:focus-visible{border-color:#ed9b64;box-shadow:0 13px 27px rgba(143,87,39,.14);outline:none;transform:translateY(-2px)}
.platform-preview-grid button small,.copywriter-category-card small,.copywriter-template-card small{color:#b85c39;font-size:11px;font-weight:800}
.platform-preview-grid button b{font-family:Georgia,"Songti SC",serif;font-size:27px;font-weight:500}
.platform-preview-grid button span,.copywriter-category-card span,.copywriter-template-card span{color:#80604a;font-size:12px;line-height:1.5}
.copywriter-flow-head{display:flex;align-items:flex-start;gap:16px;margin:0 0 19px}
.copywriter-flow-head>button{flex:none;border:1px solid #edc69f;border-radius:11px;background:#fffaf3;padding:10px 13px;color:#9e4e24;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.copywriter-flow-head h2,.copywriter-brother-stage h2{margin:4px 0 7px;color:#5b3825;font-family:Georgia,"Songti SC",serif;font-size:27px;font-weight:500}
.copywriter-flow-head p,.copywriter-brother-stage>p{margin:0;color:#80604a;font-size:13px;line-height:1.7}
.copywriter-eyebrow{color:#c45b2a!important;font-size:10px!important;font-weight:800;letter-spacing:.12em}
.copywriter-brother-stage{max-width:1100px;border:1px solid #efd5b7;border-radius:24px;background:linear-gradient(135deg,#fffaf3,#fff0df);padding:28px;box-shadow:0 14px 32px rgba(131,77,37,.1)}
.copywriter-stage-head{display:flex;align-items:flex-start;gap:16px}
.copywriter-back-button{min-height:44px;flex:none;border:1px solid #edc69f;border-radius:11px;background:#fffaf3;padding:10px 13px;color:#9e4e24;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.copywriter-companion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}
.copywriter-companion-card{position:relative;display:block;min-height:370px;overflow:hidden;border:1px solid #edb887;border-radius:20px;background:#fff8ee;padding:0;color:#5f4030;text-align:left;font:inherit;cursor:pointer;isolation:isolate}
.copywriter-companion-card:hover,.copywriter-companion-card:focus-visible{border-color:#e87531;box-shadow:0 18px 33px rgba(143,87,39,.17);outline:none;transform:translateY(-2px)}
.copywriter-companion-art{position:absolute;inset:0;background-position:center var(--copywriter-focus,14%);background-repeat:no-repeat;background-size:cover}
.copywriter-companion-art:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,249,242,0) 30%,rgba(255,248,239,.08) 49%,rgba(255,247,238,.94) 100%);content:""}
.copywriter-companion-copy{position:absolute;z-index:1;right:0;bottom:0;left:0;display:grid;gap:6px;min-height:126px;padding:17px}
.copywriter-companion-copy small{color:#b85c39;font-size:10px;font-weight:800;letter-spacing:.08em}
.copywriter-companion-copy b{font-family:Georgia,"Songti SC",serif;font-size:24px;font-weight:500}
.copywriter-companion-copy em{color:#e66c24;font-size:12px;font-style:normal;font-weight:800}
.copywriter-template-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.copywriter-template-filters button{border:1px solid #edc69f;border-radius:999px;background:#fffaf3;padding:8px 12px;color:#80604a;font:inherit;font-size:12px;cursor:pointer}.copywriter-template-filters button:hover,.copywriter-template-filters button:focus-visible,.copywriter-template-filters button.active{border-color:#e87531;background:#fff0df;color:#9e4e24;outline:none;font-weight:800}
.copywriter-generation-status{margin:0;border-left:3px solid #ee6c24;background:#fff0e1;padding:10px 12px;color:#76513b;font-size:12px;line-height:1.6}
.copywriter-brother-card{position:relative;display:block;width:100%;min-height:340px;margin-top:20px;overflow:hidden;border:1px solid #edb887;border-radius:20px;background:#fff8ee;color:#5f4030;text-align:left;font:inherit;cursor:pointer;isolation:isolate}
.copywriter-brother-card:hover,.copywriter-brother-card:focus-visible{border-color:#e87531;box-shadow:0 18px 33px rgba(143,87,39,.17);outline:none}
.copywriter-brother-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,239,0) 28%,rgba(255,248,239,.35) 53%,rgba(255,248,239,.98) 100%),url("/assets/partner-zanzan-full-v3.png") left 18%/62% auto no-repeat}
.copywriter-brother-card>span:last-child{position:absolute;z-index:1;right:28px;bottom:31px;display:grid;gap:9px;max-width:44%}
.copywriter-brother-card small{color:#b85c39;font-size:11px;font-weight:800;letter-spacing:.08em}
.copywriter-brother-card b{font-family:Georgia,"Songti SC",serif;font-size:30px;font-weight:500}
.copywriter-brother-card em{color:#e66c24;font-size:13px;font-style:normal;font-weight:800}
@media(max-width:900px){.copywriter-flow-head,.copywriter-stage-head{flex-direction:column}.copywriter-brother-stage{padding:20px}.copywriter-companion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.copywriter-companion-card{min-height:340px}.copywriter-companion-copy{min-height:118px;padding:14px}.copywriter-companion-copy b{font-size:21px}.copywriter-brother-card{min-height:300px}.copywriter-brother-art{background-size:74% auto;background-position:left 18%}.copywriter-brother-card>span:last-child{right:18px;bottom:23px;max-width:48%}.copywriter-brother-card b{font-size:24px}}
@media(max-width:430px){.copywriter-brother-stage{padding:15px}.copywriter-companion-grid{gap:10px}.copywriter-companion-card{min-height:286px;border-radius:16px}.copywriter-companion-copy{min-height:108px;padding:12px}.copywriter-companion-copy b{font-size:18px}.copywriter-companion-copy em{font-size:10px}.copywriter-brother-card{min-height:270px}.copywriter-brother-art{background-size:87% auto}.copywriter-brother-card>span:last-child{max-width:51%;right:14px}.copywriter-brother-card b{font-size:21px}}
.portrait-app .admin-tabs{display:flex}
@media(max-width:430px){.portrait-app .admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:visible}.admin-tabs button{min-width:0;min-height:44px;padding:9px 6px;text-align:center}}
