:root{--ink:#1d2621;--green:#2a3d33;--green2:#3c5546;--gold:#b89a5e;--muted:#717a74;--line:#e3e3df;--soft:#f4f4f1;--bg:#fbfbf9;--red:#b3261e}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;font-size:16px;line-height:1.55}
a{color:var(--green)}
button{font:inherit;cursor:pointer}
.pf-kick{color:var(--gold);font-weight:800;letter-spacing:.28em;font-size:13px;text-transform:uppercase}
h1{font-size:34px;line-height:1.15;letter-spacing:-.02em;margin:6px 0 10px}
.pf-sub{color:var(--muted);margin:0 0 24px}
.pf-narrow{max-width:480px;margin:0 auto;padding:max(36px,6vh) 22px 40px}
.pf-form label{display:block;font-weight:700;font-size:14px;color:#3d4641;margin-bottom:16px}
.pf-form label small{font-weight:500;color:var(--muted)}
.pf-form input,.pf-form select{display:block;width:100%;margin-top:8px;font-size:17px;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);outline:0}
.pf-form input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(42,61,51,.08)}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px;border:0;border-radius:14px;background:var(--green);color:#fff;font-size:17px;font-weight:800}
.pf-btn:disabled{opacity:.6}
.pf-btn.sm{width:auto;padding:10px 16px;font-size:15px;border-radius:12px}
.pf-btn.ghost{background:#fff;color:var(--green);border:1.5px solid var(--line)}
.pf-err{color:var(--red);font-weight:700;min-height:1.2em}
.pf-note{background:var(--soft);border-radius:14px;padding:14px 16px;color:var(--muted);font-size:14px}
.pf-foot{text-align:center;color:var(--muted);font-size:14px;margin-top:22px}
/* top bar */
.pf-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:12px 20px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.pf-logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.04em;color:var(--ink);text-decoration:none;font-size:18px}
.pf-logo i{width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;font-style:normal;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.pf-top .sp{flex:1}
.pf-wrap{max-width:1080px;margin:0 auto;padding:24px 20px 60px}
/* store cards */
.pf-stores{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.pf-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.pf-card h3{margin:0 0 2px;font-size:20px}
.pf-card .meta{color:var(--muted);font-size:13px}
.pf-code{display:inline-block;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.2em;background:var(--soft);border-radius:8px;padding:2px 8px;color:var(--ink)}
.pf-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.pf-links a{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:var(--soft);text-decoration:none;color:var(--ink);font-weight:700;font-size:15px}
.pf-links a:hover{background:#ecece7}
.pf-links a.main{background:var(--green);color:#fff;grid-column:1/-1;justify-content:center;font-size:16px}
.pf-links small{display:block;font-weight:500;color:var(--muted);font-size:11px}
.pf-links a.main small{color:#cfd9d2}
.pf-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:200px;border:2px dashed var(--line);border-radius:18px;background:none;color:var(--muted);font-weight:800;font-size:16px}
.pf-add b{font-size:34px;line-height:1;color:var(--green)}
dialog{border:0;border-radius:18px;padding:0;width:min(440px,94vw)}
dialog::backdrop{background:rgba(0,0,0,.35)}
.pf-dlg{padding:22px}
.pf-dlg h2{margin:0 0 14px}
.pf-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
table.pf-t{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:12px;overflow:hidden}
.pf-t th,.pf-t td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.pf-badge{font-size:11px;font-weight:800;border-radius:6px;padding:1px 6px;background:var(--soft)}
.pf-badge.off{background:#fde8e7;color:var(--red)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;z-index:50}
/* landing */
.pf-hero{max-width:1080px;margin:0 auto;padding:70px 20px 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.pf-hero h1{font-size:48px}
.pf-hero .pf-sub{font-size:18px}
.pf-cta{display:flex;gap:12px;flex-wrap:wrap}
.pf-cta .pf-btn{width:auto;padding:16px 26px}
.pf-feat{max-width:1080px;margin:0 auto;padding:10px 20px 70px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.pf-feat div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.pf-feat b{display:block;font-size:17px;margin:6px 0 4px}
.pf-feat span{font-size:28px}
.pf-feat p{margin:0;color:var(--muted);font-size:14px}
.pf-phone{background:linear-gradient(160deg,var(--green),#18241e);border-radius:34px;padding:22px;color:#fff;min-height:380px;box-shadow:0 30px 60px rgba(29,38,33,.25);display:flex;flex-direction:column;gap:10px}
.pf-phone .r{display:flex;justify-content:space-between;background:rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;font-weight:700}
.pf-phone .r em{font-style:normal;color:var(--gold)}
@media (max-width:760px){
  .pf-hero{grid-template-columns:1fr;padding-top:40px}
  .pf-hero h1{font-size:36px}
  .pf-phone{display:none}
  h1{font-size:30px}
}
.pf-links a{flex-direction:column;align-items:flex-start;gap:2px;line-height:1.3}
.pf-links a.main{flex-direction:row;align-items:center;gap:10px}
.pf-top .pf-btn{white-space:nowrap}
@media (max-width:600px){
  .pf-top{padding:10px 12px;gap:8px}
  .pf-top #who{display:none}
  .pf-top .pf-btn.sm{padding:8px 10px;font-size:13px}
  .pf-wrap{padding:16px 14px 50px}
  .pf-stores{grid-template-columns:1fr}
}

/* super admin */
.sa-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.sa-kpis div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.sa-kpis small{display:block;color:var(--muted);font-size:12px}
.sa-kpis b{font-size:22px}.sa-kpis b span{font-size:14px;color:var(--muted);font-weight:600}
.sa-search{flex:1;min-width:200px;font-size:16px;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px}
.sa-tabs{display:flex;background:var(--soft);border-radius:12px;padding:4px;gap:2px;flex-wrap:wrap}
.sa-tabs button{border:0;background:none;padding:8px 12px;border-radius:9px;font-weight:700;color:var(--muted);font-size:14px}
.sa-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.sa-list{display:flex;flex-direction:column;gap:10px}
.sa-store{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.sa-store.off{opacity:.6}
.sa-h{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.sa-h b{font-size:17px}.sa-h .meta{color:var(--muted);font-size:13px;margin-top:2px}
.sa-act{display:flex;gap:6px;flex-wrap:wrap}
.sa-act .pf-btn.sm{padding:7px 10px;font-size:13px;text-decoration:none}
.sa-stats{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-weight:800;font-size:15px}
.sa-stats small{display:block;font-weight:600;color:var(--muted);font-size:11px}
.sa-stats em{font-style:normal;font-size:11px;color:var(--gold);margin-left:4px}
.sa-off{margin-top:8px;font-size:12px;color:var(--red);font-weight:700}
.sa-sw{display:flex!important;align-items:center;gap:8px;font-weight:600!important}
.sa-sw input{width:20px!important;height:20px;margin:0!important;flex:none}
.sa-sw small{color:var(--muted);font-weight:500}
.sa-feats{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
.sa-frow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.sa-frow small{display:block;color:var(--muted);font-size:12px}
.sa-frow select{width:auto!important;margin:0!important;padding:8px!important;font-size:14px!important}
@media (max-width:600px){ .sa-feats{grid-template-columns:1fr} .sa-kpis b{font-size:18px} }

.pf-ver{text-align:center;color:var(--muted);font-size:12px;letter-spacing:.04em;padding:22px 16px calc(22px + env(safe-area-inset-bottom))}

/* ======================= illustrations */
.art{display:block;width:100%;height:auto}
.hero-art{position:relative;aspect-ratio:1.25/1;width:100%}
.hero-art .ha-pos{position:absolute;left:4%;top:4%;width:92%;filter:drop-shadow(0 30px 40px rgba(20,30,25,.22))}
.hero-art .ha-phone{position:absolute;left:-4%;bottom:-2%;width:27%;filter:drop-shadow(0 22px 30px rgba(20,30,25,.28))}
.hero-art .ha-printer{position:absolute;right:-7%;bottom:-16%;width:25%;filter:drop-shadow(0 22px 30px rgba(20,30,25,.25))}

/* ======================= landing page */
body.lp{background:#fff}
.pf-btn.lg{width:auto;padding:16px 26px;font-size:17px}
.pf-btn.gold{background:var(--gold);color:#1d2621}
.pf-btn.ghost.light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.lp-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:22px;padding:14px max(20px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}
.lp-top .sp{flex:1}.lp-top .pf-btn{white-space:nowrap}
.lp-nav{display:flex;gap:22px}.lp-nav a{color:#3d4641;text-decoration:none;font-weight:700;font-size:15px}.lp-nav a:hover{color:var(--green)}
.lp-hero{max-width:1180px;margin:0 auto;padding:64px 20px 72px;display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.lp-hero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.12;letter-spacing:-.03em;margin:14px 0 18px;font-weight:900}
.lp-hero h1 em{font-style:normal;color:var(--green);background:linear-gradient(transparent 62%,rgba(184,154,94,.35) 62%)}
.lp-lead{font-size:18px;color:#4a524d;margin:0 0 10px;line-height:1.75}.lp-lead.en{font-size:15px;color:var(--muted)}
.lp-cta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 22px}
.lp-ticks{list-style:none;padding:0;margin:0;display:flex;gap:18px;flex-wrap:wrap;color:#4a524d;font-size:14px;font-weight:700}
.lp-ticks li::before{content:"✓";color:var(--green);margin-right:6px}
.lp-strip{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.lp-strip div{background:var(--soft);border-radius:18px;padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.lp-strip b{font-size:26px;letter-spacing:-.02em;color:var(--green)}.lp-strip span{color:#4a524d;font-size:14px;font-weight:600}
.lp-feat{max-width:1180px;margin:0 auto;padding:90px 20px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.lp-feat.rev .lp-pic{order:2}
.lp-pic{background:radial-gradient(120% 120% at 30% 20%,#f1efe7 0,#e9eee9 55%,#e3ebe5 100%);border-radius:28px;padding:44px 40px;position:relative;min-height:340px;display:flex;align-items:center;justify-content:center}
.lp-pic>.art{filter:drop-shadow(0 24px 30px rgba(20,30,25,.18))}
.lp-pic.duo .p1{width:52%;filter:drop-shadow(0 24px 30px rgba(20,30,25,.2))}
.lp-pic.duo .p2{width:36%;margin-left:-4%;align-self:flex-end;filter:drop-shadow(0 20px 26px rgba(20,30,25,.2))}
.lp-pic.duo.k .p1{width:70%}.lp-pic.duo.k .p2{width:34%;margin-left:-12%}
.lp-pic.duo.r .p1{width:68%}.lp-pic.duo.r .p2{width:32%;margin-left:-8%}
.lp-num{display:inline-block;font-weight:900;color:var(--gold);letter-spacing:.12em;font-size:14px;border:1.5px solid var(--gold);border-radius:999px;padding:3px 12px}
.lp-copy h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;margin:14px 0 14px;line-height:1.2}
.lp-copy p{color:#4a524d;font-size:16.5px;line-height:1.85;margin:0 0 16px}
.lp-copy ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.lp-copy li{display:flex;gap:10px;font-weight:600;color:#2f3833;font-size:15px}
.lp-copy li::before{content:"";flex:none;width:20px;height:20px;border-radius:999px;background:#e6f0ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%232a3d33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat;margin-top:1px}
.lp-how{max-width:1180px;margin:110px auto 0;padding:0 20px;text-align:center}
.lp-how h2,.lp-faq h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;margin:10px 0 34px}
.lp-how ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.lp-how li{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 24px}
.lp-how li b{display:inline-flex;width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;align-items:center;justify-content:center;font-size:18px}
.lp-how h3{margin:16px 0 6px;font-size:20px}.lp-how p{margin:0;color:#4a524d;line-height:1.75}
.lp-price{max-width:1180px;margin:100px auto 0;padding:0 20px}
.lp-pcard{background:linear-gradient(135deg,#f6f3ea,#eef2ee);border-radius:32px;padding:54px 44px;text-align:center}
.lp-pcard h2{font-size:clamp(28px,3.4vw,42px);margin:10px 0 6px;letter-spacing:-.02em}.lp-pcard h2 em{font-style:normal;color:var(--green)}
.lp-small{color:var(--muted);margin:0 0 26px}
.lp-pcard ul{list-style:none;padding:0;margin:0 auto 30px;max-width:640px;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;text-align:left}
.lp-pcard li{font-weight:700;color:#2f3833}.lp-pcard li::before{content:"✓";color:var(--green);font-weight:900;margin-right:8px}
.lp-faq{max-width:820px;margin:100px auto 0;padding:0 20px}
.lp-faq details{border-bottom:1px solid var(--line);padding:18px 4px}
.lp-faq summary{cursor:pointer;font-weight:800;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.lp-faq summary::after{content:"+";color:var(--gold);font-size:22px;line-height:1}.lp-faq details[open] summary::after{content:"−"}
.lp-faq details p{color:#4a524d;line-height:1.8;margin:12px 0 0}
.lp-final{margin:110px 0 0;background:radial-gradient(120% 140% at 80% 0,#3c5546 0,#2a3d33 45%,#1d2a23 100%);color:#fff;text-align:center;padding:80px 20px}
.lp-final h2{font-size:clamp(26px,3.4vw,40px);margin:0 0 8px;letter-spacing:-.02em}.lp-final p{color:#cfd9d2;margin:0}
.lp-final .lp-cta{justify-content:center}
.lp-foot{max-width:1180px;margin:0 auto;padding:40px 20px calc(30px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:20px 40px;align-items:flex-start;justify-content:space-between;color:var(--muted);font-size:14px}
.lp-foot p{margin:6px 0 0}.lp-foot nav{display:flex;gap:18px;flex-wrap:wrap}.lp-foot nav a{color:#4a524d;text-decoration:none;font-weight:600}
.lp-copy-r{flex-basis:100%;border-top:1px solid var(--line);padding-top:18px}
@media (max-width:960px){
  .lp-nav{display:none}
  .lp-hero{grid-template-columns:1fr;gap:34px;padding:36px 20px 56px}
  .lp-strip{grid-template-columns:1fr 1fr}
  .lp-feat,.lp-feat.rev{grid-template-columns:1fr;gap:28px;padding-top:64px}
  .lp-feat.rev .lp-pic{order:0}
  .lp-pic{padding:28px 22px;min-height:0;border-radius:22px}
  .lp-how ol{grid-template-columns:1fr}
  .lp-pcard{padding:38px 22px}.lp-pcard ul{grid-template-columns:1fr}
}
@media (max-width:520px){ .lp-top{gap:10px;padding:12px 14px} .lp-top .pf-btn{padding:9px 12px;font-size:13px} .lp-top{gap:8px} .lp-cta .pf-btn{flex:1} .lp-strip b{font-size:22px} .lp-top .pf-logo{white-space:nowrap;font-size:17px} }

/* ======================= sign in / sign up / password: split screen */
.auth{display:grid;grid-template-columns:minmax(380px,1fr) 1.05fr;min-height:100vh;min-height:100dvh;background:#fff}
.auth-main{display:flex;flex-direction:column;justify-content:center;min-width:0}
.auth-aside{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 0,#46624f 0,#2a3d33 45%,#1b2620 100%);color:#fff;padding:44px 48px 0;display:flex;flex-direction:column}
.auth-aside::after{content:"";position:absolute;inset:auto -10% -30% -10%;height:60%;background:radial-gradient(closest-side,rgba(184,154,94,.28),transparent);pointer-events:none}
.aa-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.04em;font-size:18px}
.aa-logo i{width:32px;height:32px;border-radius:10px;background:var(--gold);color:#1d2621;font-style:normal;display:inline-flex;align-items:center;justify-content:center}
.aa-kick{margin-top:min(9vh,80px);color:var(--gold);font-weight:800;letter-spacing:.24em;font-size:12px;text-transform:uppercase}
.auth-aside h2{font-size:clamp(26px,2.6vw,38px);line-height:1.2;letter-spacing:-.02em;margin:10px 0 18px;max-width:520px}
.auth-aside ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;color:#dfe7e2;font-weight:600}
.auth-aside li span{display:inline-flex;width:22px;height:22px;border-radius:999px;background:rgba(184,154,94,.25);color:var(--gold);align-items:center;justify-content:center;font-size:12px;margin-right:10px}
.aa-art{position:relative;flex:1;min-height:300px;margin-top:30px}
.aa-art>div{position:absolute;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.aa-pos{left:0;right:-14%;bottom:-6%}
.aa-printer{right:4%;bottom:4%;width:42%}.aa-printer.sm{right:-2%;bottom:-2%;width:30%}
.aa-phone{left:6%;bottom:-8%;width:38%}.aa-qr{left:46%;bottom:6%;width:30%}
.auth .lg,.auth .pf-narrow{width:100%}
@media (max-width:960px){
  .auth{grid-template-columns:1fr;min-height:0}
  .auth-aside{order:-1;padding:16px 20px 0;height:210px;min-height:0}
  .aa-kick,.auth-aside h2,.auth-aside ul{display:none}
  .aa-art{position:absolute;left:0;right:0;top:58px;bottom:0;margin:0;min-height:0}
  .aa-pos{left:8%;right:auto;width:84%;top:0;bottom:auto}
  .aa-printer.sm{right:3%;left:auto;top:36%;bottom:auto;width:24%}
  .aa-printer{left:34%;right:auto;top:0;bottom:auto;width:32%}
  .aa-phone{left:10%;top:0;bottom:auto;width:30%}.aa-qr{left:52%;top:22%;bottom:auto;width:22%}
  .auth .lg{padding-top:28px}.auth .pf-narrow{padding-top:28px}
}

.pf-btn{text-decoration:none}
.nw{display:inline-block}
body.lp{overflow-x:hidden}
.pf-btn.lg{white-space:nowrap}
@media (max-width:520px){ .pf-btn.lg{padding:15px 16px;font-size:16px} .hero-art .ha-phone{left:0} .hero-art .ha-printer{right:0;bottom:-12%} }

/* show-password button + errors under the field */
.pw-wrap{display:block;position:relative}
.pw-wrap input{padding-right:54px!important}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:10px;background:transparent;color:#6b736e;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pw-eye:hover{background:#f1f2ef;color:#1d2621}
.lg .pw-wrap{margin-bottom:18px}.lg .pw-wrap input{margin-bottom:0}
.pf-form .pw-wrap{margin-top:8px}.pf-form .pw-wrap input{margin-top:0}
input.bad{border-color:#b3261e!important;background:#fff7f6!important;box-shadow:0 0 0 4px rgba(179,38,30,.08)!important}
.field-err{color:#b3261e;font-size:13.5px;font-weight:700;margin:-10px 0 14px;display:flex;gap:6px;align-items:flex-start}
.field-err::before{content:"!";flex:none;width:18px;height:18px;border-radius:999px;background:#b3261e;color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.pf-form .field-err{margin:8px 0 0}

/* language switch */
.lang-sw{display:inline-flex;background:#f1f1ed;border-radius:999px;padding:3px;gap:2px}
.lang-sw button{border:0;background:transparent;border-radius:999px;padding:6px 12px;min-height:40px;min-width:44px;font-size:13px;font-weight:700;color:#6b736e;cursor:pointer}
.lang-sw button.on{background:#fff;color:#1d2621;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.auth-main{position:relative}
.auth-main>.lang-sw{position:absolute;top:18px;right:20px;z-index:2}
@media (max-width:960px){ .auth-main>.lang-sw{top:14px;right:14px} }
.auth-aside+.lang-sw{display:none}

/* ===== sign-in side panel v2: the picture always fits, catchy headline */
.auth-aside{padding:40px 48px 44px;justify-content:flex-start}
.aa-txt{max-width:520px}
.aa-kick{margin-top:min(7vh,64px)}
.auth-aside h2{font-size:clamp(28px,2.8vw,40px);line-height:1.22;margin:12px 0 24px}
.auth-aside ul{gap:14px}
.auth-aside li{display:flex;align-items:center;gap:14px;font-size:16px}
.auth-aside li i{font-style:normal;flex:none;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:19px}
.auth-aside li span{line-height:1.45}
.aa-art{position:relative;flex:none;min-height:0;margin:auto auto 0;padding-top:36px;width:100%;max-width:520px;aspect-ratio:1.45/1}
.aa-art .aa-c{position:absolute;filter:drop-shadow(0 22px 30px rgba(0,0,0,.35))}
.aa-v-pos .aa-c-pos{left:0;top:36px;width:84%}
.aa-v-pos .aa-c-prn{right:0;bottom:0;width:27%}
.aa-v-phone{aspect-ratio:1.3/1}.aa-v-phone .aa-c-phone{left:14%;top:36px;bottom:0;width:auto;height:calc(100% - 36px)}.aa-v-phone .aa-c-phone .art{height:100%;width:auto}
.aa-v-phone .aa-c-qr{right:12%;bottom:0;width:27%}
.aa-v-printer{aspect-ratio:1.5/1}.aa-v-printer .aa-c-printer{left:50%;transform:translateX(-50%);top:36px;bottom:0;height:calc(100% - 36px)}.aa-v-printer .aa-c-printer .art{height:100%;width:auto}
.auth-aside::after{inset:auto -10% -40% -10%}
@media (max-height:780px) and (min-width:961px){ .aa-art{max-width:400px} .auth-aside h2{margin-bottom:16px} .aa-kick{margin-top:28px} }
@media (max-width:960px){
  .auth-aside{display:grid;grid-template-columns:1fr minmax(120px,38%);grid-template-rows:auto 1fr;column-gap:14px;height:auto;padding:16px 18px 18px}
  .aa-logo{grid-column:1/-1}
  .aa-txt{align-self:center}
  .aa-kick,.auth-aside ul{display:none}
  .auth-aside h2{display:block;font-size:19px;line-height:1.35;margin:10px 0 0}
  .aa-art{position:relative;inset:auto;margin:10px 0 0;padding-top:0;max-width:none;width:100%;align-self:center}
  .aa-v-pos .aa-c-pos{top:0}.aa-v-phone .aa-c-phone,.aa-v-printer .aa-c-printer{top:0;height:100%}
  .aa-art .aa-c{filter:drop-shadow(0 10px 14px rgba(0,0,0,.35))}
}
/* v2.1: list text normal width; picture scales into the space that is left (never cut) */
.auth-aside li span{display:block;width:auto;height:auto;background:none;border-radius:0;margin:0;font-size:inherit;color:#dfe7e2;align-items:initial;justify-content:initial}
.auth-aside{height:100vh;height:100dvh;position:sticky;top:0}
.aa-art{flex:1 1 0;min-height:160px;margin:28px 0 0;padding:0;max-width:none;aspect-ratio:auto;container-type:size}
.aa-art>.aa-stage{position:absolute;inset:0;margin:auto;aspect-ratio:1.45/1;width:min(100cqw,145cqh,560px);height:auto}
.aa-v-phone .aa-stage{aspect-ratio:1.3/1;width:min(100cqw,130cqh,480px)}
.aa-v-printer .aa-stage{aspect-ratio:1.2/1;width:min(100cqw,120cqh,380px)}
.aa-v-pos .aa-c-pos{left:0;top:0;width:84%}
.aa-v-pos .aa-c-prn{right:0;bottom:0;width:27%}
.aa-v-phone .aa-c-phone{left:12%;top:0;bottom:0;height:100%}
.aa-v-printer .aa-c-printer{top:0;bottom:0;height:100%}
@media (max-width:960px){
  .auth-aside{height:auto;position:relative}
  .aa-art{flex:none;height:auto;min-height:0;margin:10px 0 0;container-type:normal}
  .aa-art>.aa-stage{position:relative;inset:auto;width:100%}
  .aa-v-phone .aa-stage,.aa-v-printer .aa-stage{width:100%}
}

.aa-art>.aa-stage{filter:none}

/* ===== sign-in form v3 */
.auth-main .lg{max-width:430px;padding-top:max(56px,6vh)}
.lg-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.lg-badge{width:52px;height:52px;border-radius:16px;color:#fff;font-weight:900;font-size:24px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.lg-brand b{display:block;font-size:20px;letter-spacing:.02em}.lg-brand small{color:var(--lg-muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.auth .lg h1{font-size:34px;margin:4px 0 8px}
.auth .lg-sub{font-size:15px;margin-bottom:24px}
.lg-seg button{display:flex;align-items:center;justify-content:center;gap:8px}
.lg-seg button svg{width:19px;height:19px;flex:none}
.lg-field{position:relative;margin-bottom:18px}
.lg-field>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#9aa19c;pointer-events:none;z-index:1}
.lg-field input{padding-left:46px!important;margin-bottom:0!important}
.lg-field .pw-wrap{margin-bottom:0}
.lg-field:focus-within>svg{color:var(--lg-green)}
.lg-field+.field-err{margin:8px 0 14px}
.lg-help{display:flex;gap:10px;align-items:flex-start;color:var(--lg-muted);font-size:13px;line-height:1.55;margin:26px 0 0;padding-top:18px;border-top:1px solid var(--lg-line)}
.lg-help>span:first-child{flex:none;width:18px;height:18px;border-radius:999px;border:1.5px solid #b6bbb7;color:#8b918d;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.lg-or{display:flex;align-items:center;gap:12px;margin:24px 0 12px;color:var(--lg-muted);font-size:13px}
.lg-or::before,.lg-or::after{content:"";flex:1;height:1px;background:var(--lg-line)}
.lg-btn.lg-btn2{background:#fff;color:var(--lg-green);border:1.5px solid var(--lg-line);text-decoration:none;font-size:16px;padding:15px}
.lg-btn.lg-btn2:hover{border-color:var(--lg-green)}
.lg-btn{box-shadow:0 8px 20px rgba(42,61,51,.18);transition:transform .08s}.lg-btn:active{transform:translateY(1px)}
@media (max-width:960px){ .auth-main .lg{padding-top:30px} .auth .lg h1{font-size:28px} }
.lg-seg button span br,.lg-btn2 span br{display:none}
@media (max-width:960px){ .auth-main>.lang-sw{position:static;align-self:flex-end;margin:12px 14px -10px} }

#lgBusy,#ppBusy{position:fixed;inset:0;z-index:99999;background:rgba(255,255,255,.82);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#lgBusy[hidden],#ppBusy[hidden]{display:none}
#lgBusy div,#ppBusy div{display:flex;flex-direction:column;align-items:center;gap:14px;color:#1d2621;font-size:16px}
#lgBusy i,#ppBusy i{width:38px;height:38px;border-radius:50%;border:4px solid #d9e2dc;border-top-color:#2a3d33;animation:ppspin .8s linear infinite}
@keyframes ppspin{to{transform:rotate(360deg)}}
/* ===== platform console (super admin) ===== */
.sa-viewtabs{display:inline-flex;gap:4px;background:var(--soft);border-radius:14px;padding:4px;margin:0 0 20px;flex-wrap:wrap}
.sa-viewtabs button{border:0;background:none;padding:10px 16px;border-radius:11px;font-weight:800;font-size:15px;color:var(--muted);cursor:pointer}
.sa-viewtabs button small{font-weight:600;opacity:.75;margin-left:2px}
.sa-viewtabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.sa-shell{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:start}
.sa-nav{position:sticky;top:76px;background:#1f2e26;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:4px;color:#fff}
.sa-nav button{display:flex;align-items:center;gap:10px;border:0;background:none;color:rgba(255,255,255,.72);padding:11px 12px;border-radius:12px;font-weight:700;font-size:15px;text-align:left;cursor:pointer;position:relative}
.sa-nav button small{display:block;font-size:11px;font-weight:600;opacity:.6}
.sa-nav button .ic{font-size:18px;width:24px;text-align:center}
.sa-nav button:hover{background:rgba(255,255,255,.06);color:#fff}
.sa-nav button.on{background:#fff;color:#1f2e26}
.sa-nav .dot{position:absolute;right:12px;top:50%;width:9px;height:9px;margin-top:-4px;border-radius:50%;background:#f2a33a}
.sa-navfoot{margin-top:10px;padding:10px 12px 4px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.6);line-height:1.7}
.okc{color:#7fd39a}.warnc{color:#f2b45a}
.sa-main{min-width:0}
.sa-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.sa-head>div:first-child{flex:1}
.sa-head h2{margin:4px 0 0;font-size:26px}.sa-head h2 span{font-size:15px;color:var(--muted);font-weight:600}
.sa-headr{display:flex;gap:8px}
.sa-banner{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;border-radius:14px;padding:13px 16px;margin-bottom:14px;cursor:pointer}
.sa-banner.ok{background:#eaf6ee;color:#1f5b35}.sa-banner.warn{background:#fff3e0;color:#7a4a00}
.sa-banner span{font-size:14px;opacity:.85}
.sa-kpis2{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.sa-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.sa-kpi small{display:block;color:var(--muted);font-size:12px;font-weight:700}.sa-kpi small em{font-style:normal;font-weight:600;opacity:.8}
.sa-kpi b{display:block;font-size:26px;margin:4px 0 2px;letter-spacing:-.02em}.sa-kpi b span{font-size:15px;color:var(--muted)}
.sa-kpi>span{font-size:12px;color:var(--muted)}
.sa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sa-grid .sa-wide{grid-column:1/-1}
.sa-ch{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap}.sa-ch small{color:var(--muted);font-size:12px}.sa-ch .sp{flex:1}
.sa-chart{width:100%;height:auto;display:block}
.sa-chart rect{fill:#2a3d33;opacity:.85}.sa-chart rect.today{fill:#b89a5e;opacity:1}
.sa-chart .gl{stroke:#eceee9;stroke-width:1}.sa-chart text{font-size:12px;fill:#8a918c}
.sa-rank{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.sa-rank .n{font-weight:800;color:var(--muted)}
.sa-rank .nm{position:relative;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;padding-bottom:6px}
.sa-rank .nm i{position:absolute;left:0;bottom:0;height:4px;border-radius:4px;background:#b89a5e}
.sa-att{padding:8px 10px;border-radius:10px;margin-bottom:6px;background:var(--soft)}
.sa-att b{display:block;font-size:14px}.sa-att small{color:var(--muted);font-size:12px}
.sa-att.bad{background:#fdeceb}.sa-att.mid{background:#fff6e8}
.sa-empty{color:var(--muted);font-size:14px;padding:6px 0}
.sa-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.sa-tools select{padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;font-size:14px;background:#fff}
.sa-chips{display:flex;gap:6px;flex-wrap:wrap}
.sa-chips button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}
.sa-chips button b{color:var(--ink);margin-left:2px}
.sa-chips button.on{background:var(--ink);border-color:var(--ink);color:#fff}.sa-chips button.on b{color:#fff}
.sa-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.sa-t{border-radius:0}.sa-t th{font-size:12px;color:var(--muted);background:var(--soft);white-space:nowrap}.sa-t tr.off td{opacity:.6}
.sa-rowact{white-space:nowrap}.sa-rowact .pf-btn{margin:2px}
.sa-status{display:flex;gap:16px;align-items:flex-start}
.sa-status .big{flex:none;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900}
.sa-status.ok .big{background:#eaf6ee;color:#2e7d4f}.sa-status.warn .big{background:#fff3e0;color:#b26a00}
.sa-status>div:last-child{flex:1;min-width:0}
.sa-status b{font-size:17px}.sa-status p{margin:4px 0 10px;color:var(--muted);font-size:14px}
.sa-status dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 12px;font-size:14px}
.sa-status dt{color:var(--muted)}.sa-status dd{margin:0;font-weight:700}
.sa-files{list-style:none;padding:0;margin:8px 0;max-height:220px;overflow:auto;font-size:13px}
.sa-files li{display:flex;gap:8px;padding:3px 0}.sa-files li span{flex:none;width:96px;color:#b26a00;font-weight:700}
.sa-done{margin-top:12px;background:#eaf6ee;color:#1f5b35;border-radius:12px;padding:12px 14px;font-weight:800}
.sa-done small{display:block;font-weight:500;font-size:12px;margin-top:4px;opacity:.85}
.sa-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.sa-kv div{background:var(--soft);border-radius:12px;padding:10px 12px;min-width:0}
.sa-kv small{display:block;color:var(--muted);font-size:12px}.sa-kv b{font-size:14px;word-break:break-all}
@media (max-width:900px){
  .sa-shell{grid-template-columns:1fr;gap:12px}
  .sa-nav{position:static;flex-direction:row;overflow-x:auto;padding:6px;border-radius:14px;-webkit-overflow-scrolling:touch}
  .sa-nav button{flex:none;padding:9px 12px}.sa-nav button small{display:none}.sa-navfoot{display:none}
  .sa-nav .dot{position:static;margin:0}
  .sa-grid{grid-template-columns:1fr}
}
@media (max-width:520px){ .sa-kpis2{grid-template-columns:1fr 1fr} .sa-kpi b{font-size:20px} .sa-head h2{font-size:22px} .sa-status{flex-direction:column} }

.lp-news{max-width:1120px;margin:0 auto;padding:56px 20px 10px}
.lp-news h2{margin:6px 0 22px;font-size:32px}
.lp-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lp-news article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.lp-news .ic{display:inline-flex;width:44px;height:44px;border-radius:14px;background:#eef3ef;align-items:center;justify-content:center;font-size:22px}
.lp-news h3{margin:12px 0 6px;font-size:17px}.lp-news p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.lp-top .lp-lang{margin-right:4px}
@media (max-width:900px){ .lp-news-grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .lp-news-grid{grid-template-columns:1fr} .lp-news h2{font-size:26px} .lp-top .lp-lang button{padding:5px 7px;font-size:11px} }
@media (max-width:560px){ .lp-top .pf-logo{font-size:0;gap:0} .lp-top .pf-logo i{font-size:16px} .lp-top{gap:6px;padding:10px 12px} .lp-top .pf-btn{padding:8px 10px;font-size:12px} }
@media (max-width:560px){ .lp-top .pf-btn:not(.ghost){display:none} .lp-nav{display:none} }

.pf-top .lo-only{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px}
@media (max-width:640px){ .hide-sm{display:none!important} .pf-top{gap:6px} .pf-top .lang-sw button{padding:5px 8px;font-size:12px} .pf-top .pf-logo{font-size:0} .pf-top .pf-logo i{font-size:16px} .sa-viewtabs button{padding:9px 11px;font-size:14px} .sa-viewtabs button small{display:none} }

.lang-sw{flex:none;white-space:nowrap;padding:2px}
.lang-sw button{padding:4px 9px;font-size:12px;letter-spacing:.04em;line-height:1.3;min-width:32px}
@media (max-width:640px){ .pf-top .lang-sw button,.lp-top .lang-sw button{padding:4px 8px;font-size:11px} }

/* logo: QR-code P mark + "Prime POS" wordmark */
.pf-logo i,.aa-logo i{font-size:0!important;color:transparent!important;background:url(logo-mark.svg) center/cover no-repeat!important;border-radius:9px}
.pf-logo .pos,.aa-logo .pos{color:var(--gold)}
.pf-logo{letter-spacing:.01em}
.aa-logo i{box-shadow:0 0 0 1.5px rgba(255,255,255,.22)}
.aa-logo .pos{color:#d8bf8a}

.sa-bkinfo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.sa-bkinfo div{background:var(--soft);border-radius:12px;padding:10px 12px}.sa-bkinfo small{display:block;color:var(--muted);font-size:12px}.sa-bkinfo b{font-size:14px}
.warnc2{color:#b26a00}
.sa-tip{margin:12px 0 0;font-size:13px;color:var(--muted);line-height:1.7;background:#f3f7f4;border-radius:12px;padding:10px 12px}
.sa-backup code{font-size:12px}
@media (max-width:640px){ .sa-bkinfo{grid-template-columns:1fr} }

.sa-restorefile{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.sa-restorefile small{color:var(--muted)}
.sa-busy{position:fixed;inset:0;z-index:99999;background:rgba(255,255,255,.88);display:flex;align-items:center;justify-content:center}
.sa-busy div{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:16px}
.sa-busy i{width:40px;height:40px;border-radius:50%;border:4px solid #d9e2dc;border-top-color:#2a3d33;animation:ppspin .8s linear infinite}

/* home: search keywords line in the main heading */
.lp-hero h1 .h1k{display:block;font-size:clamp(14px,1.5vw,17px);letter-spacing:.02em;font-weight:800;color:var(--gold);margin-bottom:10px;line-height:1.4}
.lp-copy-r a{color:inherit}
.lp-how ol.s4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.lp-how ol.s4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.lp-how ol.s4{grid-template-columns:1fr}}
.lp-merit{padding-top:80px}
.lp-upd .lp-updl{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.lp-updl li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;line-height:1.6;color:#4a524d;font-size:15px}
.lp-updl li b{font-size:20px;line-height:1.2}.lp-updl strong{color:var(--ink)}
@media (max-width:760px){.lp-upd .lp-updl{grid-template-columns:1fr}}
.lp-notice{background:#2a3d33;color:#fff;text-align:center;padding:10px 16px;font-size:14px;line-height:1.6}.lp-notice a{color:#e9cf8f;font-weight:700;white-space:nowrap}
.sa-hcard{margin-bottom:16px}.sa-hcard textarea,.sa-hin,.sa-hq{width:100%;font:inherit;font-size:14px;padding:9px 11px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);resize:vertical;box-sizing:border-box}
.sa-hcard textarea:focus,.sa-hin:focus,.sa-hq:focus{outline:0;border-color:var(--green)}
.sa-h2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}@media (max-width:760px){.sa-h2{grid-template-columns:1fr}}
.sa-hq{max-width:260px}.sa-hin{margin-top:2px}
.sa-hgrp{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.sa-hgrp button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.sa-hgrp button.on{background:var(--green);color:#fff;border-color:var(--green)}.sa-hgrp small{color:#c2410c;font-weight:800}.sa-hgrp button.on small{color:#ffd9a8}
.sa-hrow{border-top:1px solid var(--line);padding:10px 0 2px}.sa-hrow.chg{background:linear-gradient(90deg,rgba(184,154,94,.10),transparent 60%)}
.sa-hrh{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;color:var(--muted)}.sa-hrh .sp{flex:1}
.sa-hrh button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.sa-hrh button.danger{color:#b42318}
.sa-hchg{background:#b89a5e;color:#fff;border-radius:6px;padding:1px 7px;font-weight:700}.sa-hic{width:56px!important;text-align:center;font-size:18px!important;padding:4px!important;border:1.5px solid var(--line);border-radius:8px}
.sa-tip{color:var(--muted);font-size:12px;margin:0 0 6px}.sa-dirty{color:#b45309;font-weight:700;margin:-4px 0 12px}.sa-hfoot{display:flex;justify-content:flex-end;margin:4px 0 30px}
.lp-sns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:28px 16px 6px;background:#fff}.lp-sns .sns{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;background:#fff}.lp-sns .sns i{font-style:normal;font-weight:800;color:#b89a5e}
.sa-snsf{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center;margin-bottom:6px}.sa-snsf span{font-size:13px;color:var(--muted)}
.sa-update .sa-uptxt{color:var(--muted);font-size:14px;margin:0 0 12px}.sa-update .pf-btn{cursor:pointer}.sa-upmax{display:inline-block;margin-left:10px;color:var(--muted);font-size:12px}
.pf-badge.warn{background:#fff4e5;color:#b45309;border:1px solid #f5c58a}.sa-lic{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f6f6f4;max-height:60vh;overflow:auto;margin:8px 0}.sa-lic img{display:block;max-width:100%;margin:0 auto}.sa-lic iframe{width:100%;height:60vh;border:0}
.pf-lic{display:block;border:1.5px dashed var(--line);border-radius:14px;padding:12px 14px;margin:0 0 16px;font-weight:700;font-size:14px;color:#3d4641}.pf-lic input{margin-top:8px;font-size:14px;padding:8px}.pf-lic small{display:block;font-weight:500;color:var(--muted);margin-top:4px}
.pf-addnote{background:#f6f1e6;border-radius:12px;padding:10px 12px;margin:0 0 14px;font-size:13.5px;line-height:1.6;color:#3d4641}.pf-addnote small{color:var(--muted)}
.pf-review{background:#fff8eb;border:1px solid #f5d39b;color:#7a4b06;border-radius:12px;padding:10px 12px;font-size:14px;margin:10px 0}.pf-review.no{background:#fdecec;border-color:#f3b4b4;color:#8a1c1c}
.pf-plan{margin:10px 0 2px;padding:10px 12px;border-radius:12px;background:#f4f5f2;font-size:14px;line-height:1.5}.pf-plan a{font-size:12px;margin-left:6px}
.pf-plan.pro{background:#fff7e3;border:1px solid #f0d68f}.pf-plan.locked{background:#fdecec;border:1px solid #f3b4b4}
.pf-planbtns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pf-cmp{overflow-x:auto}.pf-cmp table{width:100%;border-collapse:collapse;font-size:14px}
.pf-cmp th,.pf-cmp td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.pf-cmp th:nth-child(3),.pf-cmp td:nth-child(3){background:#fffaf0;font-weight:600}
.pf-badge.pro{background:#fff1cc;color:#8a5a00}
/* ---- homepage v2: section heads, line icons, plans */
body.lp h1,body.lp h2,body.lp h3{word-break:auto-phrase;text-wrap:balance}
body.lp .pf-kick{letter-spacing:.14em;font-size:12.5px}
.lp-head{max-width:1180px;margin:0 auto 34px}.lp-head.c{text-align:center}
.lp-head h2{font-size:clamp(25px,2.8vw,34px);letter-spacing:-.01em;line-height:1.35;margin:10px 0 0;font-weight:800}
.lp-head .lp-small{margin:12px 0 0}
.ic{width:24px;height:24px;flex:none}
.lp-strip div{background:#fff;border:1px solid var(--line)}
.lp-strip b{font-size:24px}
.lp-merit{max-width:1180px;margin:0 auto;padding:100px 20px 0}
.lp-m3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.lp-m3 article{padding:30px 30px 6px 0}.lp-m3 article+article{padding-left:30px;border-left:1px solid var(--line)}
.lp-m3 .ic{width:30px;height:30px;color:var(--green)}
.lp-m3 h3{font-size:18px;margin:16px 0 10px;line-height:1.45}.lp-m3 p{margin:0;color:#4a524d;line-height:1.85;font-size:15px}
.lp-more{max-width:1180px;margin:0 auto;padding:110px 20px 0}
.lp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lp-cols>div{background:var(--soft);border-radius:20px;padding:26px 24px 10px}
.lp-cols h3{font-size:15px;margin:0 0 6px;color:var(--green);letter-spacing:.04em}
.lp-cols ul{list-style:none;margin:0;padding:0}
.lp-cols li{display:flex;gap:14px;padding:16px 0;border-top:1px solid #e2e3dd}.lp-cols li:first-child{border-top:0}
.lp-cols li .ic{color:var(--green2);margin-top:2px}
.lp-cols li span{font-size:14px;color:#5b635e;line-height:1.7}.lp-cols li b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:2px}
.lp-pro{font-style:normal;display:inline-block;vertical-align:2px;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#7a5f22;background:#f3ead4;border-radius:5px;padding:1px 6px;margin-left:4px}
.lp-legend{margin:16px 0 0;color:var(--muted);font-size:13px}
.lp-price{max-width:1000px;margin:0 auto;padding:110px 20px 0}
.lp-plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.lp-plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 30px 28px;display:flex;flex-direction:column}
.lp-plan.pro{border:2px solid var(--green);box-shadow:0 18px 40px rgba(29,38,33,.08)}
.lp-plan .tag{position:absolute;top:-13px;left:28px;background:var(--green);color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:4px 12px}
.lp-plan h3{margin:0;font-size:20px}.lp-plan .who{margin:4px 0 18px;color:var(--muted);font-size:14px}
.lp-plan .pr{display:flex;align-items:baseline;gap:8px}.lp-plan .pr b{font-size:44px;letter-spacing:-.02em;line-height:1}.lp-plan .pr span{color:var(--muted);font-weight:700;font-size:14px}
.lp-plan .yr{margin:8px 0 0;font-size:14px;color:#4a524d;font-weight:600}
.lp-plan .pf-btn{margin:22px 0 22px}
.lp-plan:not(.pro) .pr{margin-bottom:22px}.lp-plan:not(.pro) .pf-btn{margin-top:0}
.lp-plan ul{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.lp-plan li{display:flex;gap:10px;font-size:14.5px;color:#2f3833;line-height:1.55}
.lp-plan li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10.5l3.5 3.5 7.5-8' fill='none' stroke='%232a3d33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.lp-plan li.all{font-weight:800}.lp-plan li.all::before{visibility:hidden;width:0;margin:0}
.lp-cmp{margin:26px 0 0;border:1px solid var(--line);border-radius:18px;background:#fff}
.lp-cmp summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:800;display:flex;justify-content:space-between}
.lp-cmp summary::after{content:"+";color:var(--gold);font-size:22px;line-height:1}.lp-cmp[open] summary::after{content:"−"}
.lp-tw{overflow-x:auto;padding:0 20px 18px}
.lp-cmp table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.lp-cmp th,.lp-cmp td{padding:11px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.lp-cmp thead th{border-top:0;font-size:13px;color:var(--muted)}
.lp-cmp td{width:28%;color:#2f3833}.lp-cmp tbody th{font-weight:600;color:#2f3833}
.lp-cmp td.y{color:var(--green);font-weight:900}.lp-cmp td.n{color:#b7bcb8}
.lp-cmp tr.grp th{background:var(--soft);font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--muted);padding:7px 10px}
.lp-calc{margin:26px 0 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 30px;display:grid;grid-template-columns:1.1fr 1fr;gap:18px 34px;align-items:center}
.lp-calc h3{margin:0 0 14px;font-size:20px}
.lp-rule{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.lp-rule li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55;color:#2f3833}
.lp-rule li b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--green);font-size:12.5px;display:grid;place-items:center;margin-top:1px}
.lp-rule strong{color:var(--ink)}
.lp-calc-r{background:var(--soft);border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.lp-step{display:flex;align-items:center;gap:10px}
.lp-step button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;font-weight:700;color:var(--green);cursor:pointer;line-height:1}
.lp-step button:hover{border-color:var(--green)}
.lp-step output{font-size:34px;font-weight:900;min-width:44px;line-height:1}.lp-step span{font-weight:700;color:var(--muted);margin-left:-4px}
.lp-seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}
.lp-seg button{border:0;background:none;border-radius:999px;padding:7px 13px;font-weight:700;font-size:13px;font-family:inherit;color:var(--muted);cursor:pointer}
.lp-seg button.on{background:var(--green);color:#fff}
.lp-chk{font-size:13.5px;color:#2f3833;display:flex;align-items:center;gap:6px;cursor:pointer}
.lp-total{display:flex;align-items:baseline;gap:6px}.lp-total b{font-size:40px;letter-spacing:-.02em;line-height:1.1;color:var(--green)}.lp-total span{color:var(--muted);font-weight:700;font-size:14px}
.lp-break{margin:0;font-size:13px;color:#4a524d}
.lp-ex{grid-column:1/-1;overflow-x:auto}
.lp-ex table{width:100%;border-collapse:collapse;font-size:14px}
.lp-ex th,.lp-ex td{padding:9px 10px;border-top:1px solid var(--line);text-align:left}
.lp-ex thead th{border-top:0;font-size:12.5px;color:var(--muted)}.lp-ex td{font-weight:800;color:var(--ink)}.lp-ex td small{font-weight:600;color:var(--muted);margin-left:2px}
@media (max-width:760px){.lp-calc{grid-template-columns:1fr;padding:22px 18px}.lp-total b{font-size:34px}}
.lp-pnote{margin:20px 0 0;padding:0 0 0 18px;color:#5b635e;font-size:13.5px;line-height:1.8}
.lp-how{margin-top:110px}.lp-how .lp-head{margin-bottom:30px}
.lp-upd{max-width:1180px;margin:0 auto;padding:100px 20px 0}
.lp-upd .lp-updl{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.lp-upd .lp-updl li{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 0;font-size:14.5px}
.lp-faq{margin-top:100px}
@media (max-width:960px){
  .lp-m3{grid-template-columns:1fr}.lp-m3 article,.lp-m3 article+article{padding:24px 0;border-left:0;border-top:1px solid var(--line)}.lp-m3 article:first-child{border-top:0}
  .lp-cols{grid-template-columns:1fr}.lp-plans{grid-template-columns:1fr;gap:28px}
  .lp-merit,.lp-more,.lp-price,.lp-upd{padding-top:72px}.lp-how,.lp-faq{margin-top:72px}
}
@media (max-width:760px){ .lp-upd .lp-updl{grid-template-columns:1fr} .lp-plan{padding:28px 22px 24px} .lp-tw{padding:0 12px 14px} }
.sa-stripe{background:var(--soft);border-radius:14px;padding:14px 16px;margin:4px 0 8px}.sa-stripe .ok{margin:0;font-weight:700}.sa-stripe label{margin-top:10px}
/* ---- homepage support chat */
.pc{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;font-size:15px}
.pc-open{display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--green);color:#fff;font-weight:800;font-size:15px;padding:13px 18px 13px 15px;box-shadow:0 10px 28px rgba(29,38,33,.28);cursor:pointer}
.pc-open svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linejoin:round}
.pc.on .pc-open{display:none}
.pc-win{position:absolute;right:0;bottom:0;width:370px;height:min(560px,calc(100vh - 110px));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px rgba(20,30,25,.22);display:flex;flex-direction:column;overflow:hidden}
.pc-win[hidden]{display:none}
.pc-win header{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 18px;background:var(--green);color:#fff}
.pc-win header div{flex:1}.pc-win header b{display:block;font-size:15px}.pc-win header small{color:#cfd9d2;font-size:12px}
.pc-x{border:0;background:rgba(255,255,255,.12);color:#fff;width:32px;height:32px;border-radius:10px;font-size:20px;line-height:1;cursor:pointer}
.pc-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#fafaf8}
.pc-m{max-width:88%;padding:10px 13px;border-radius:14px;line-height:1.7;font-size:14px;word-break:break-word}
.pc-m.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-top-left-radius:4px;color:#2f3833}
.pc-m.bot.sub{background:none;border:0;padding:0 2px;color:var(--muted);font-size:12.5px}
.pc-m.me{align-self:flex-end;background:var(--green);color:#fff;border-top-right-radius:4px}
.pc-m a{color:var(--green);font-weight:700}
.pc-m.typing{display:flex;gap:4px;padding:13px 14px}.pc-m.typing i{width:6px;height:6px;border-radius:50%;background:#b8beba;animation:pcdot 1s infinite}
.pc-m.typing i:nth-child(2){animation-delay:.15s}.pc-m.typing i:nth-child(3){animation-delay:.3s}
@keyframes pcdot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.pc-chips{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px}
.pc-chips button{border:1px solid #cdd8d0;background:#fff;color:var(--green);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;text-align:left;cursor:pointer;line-height:1.4}
.pc-chips button:hover{background:#eef3ef}
.pc-c{margin:8px 0 0;font-size:13px}
.pc-f{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}
.pc-f input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;font-size:16px;outline:0}.pc-f input:focus{border-color:var(--green)}
.pc-f button{border:0;background:var(--green);border-radius:12px;width:46px;cursor:pointer}.pc-f svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}
@media (max-width:520px){ .pc{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))} .pc.on{left:0;right:0;bottom:0} .pc-win{position:fixed;inset:auto 0 0 0;width:auto;height:min(78vh,620px);border-radius:20px 20px 0 0} .pc-open span{display:none} .pc-open{padding:14px} }
/* console: chat questions */
.sa-chat{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:12px}
.sa-chat div{display:flex;gap:10px;padding:8px 12px;border-top:1px solid var(--line);font-size:14px}.sa-chat div:first-child{border-top:0}
.sa-chat small{flex:none;color:var(--muted);width:130px}.sa-chat .miss{background:#fff8ec}
/* ---- legal pages */
.lg-lang{display:flex;gap:4px;background:var(--soft);border-radius:999px;padding:3px}.lg-lang a{display:inline-flex;align-items:center;min-height:40px;padding:5px 14px;border-radius:999px;font-size:13px;font-weight:700;color:var(--muted);text-decoration:none}.lg-lang a.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.lg-main{max-width:800px;margin:0 auto;padding:48px 20px 20px;color:#2f3833;line-height:1.9;font-size:15.5px}
.lg-main h1{font-size:clamp(24px,3vw,32px);margin:0 0 28px;letter-spacing:-.01em;line-height:1.4}
.lg-main h2{font-size:17px;margin:34px 0 8px;padding-top:18px;border-top:1px solid var(--line)}
.lg-main ol,.lg-main ul{padding-left:1.4em}.lg-main li{margin:4px 0}
.lg-note{background:var(--soft);border-radius:12px;padding:10px 14px;font-size:13.5px;color:var(--muted)}
.lg-t{width:100%;border-collapse:collapse;font-size:15px}.lg-t th,.lg-t td{text-align:left;vertical-align:top;padding:14px 12px;border-top:1px solid var(--line)}
.lg-t tr:last-child th,.lg-t tr:last-child td{border-bottom:1px solid var(--line)}.lg-t th{width:30%;background:#fafaf8;font-weight:700}
.lg-date{margin-top:40px;color:var(--muted);font-size:14px;text-align:right}
.lg-foot{border-top:1px solid var(--line);margin-top:40px}
.lp-legal{display:flex;flex-wrap:wrap;gap:6px 18px;flex-basis:100%;font-size:13px}.lp-legal a{color:var(--muted);text-decoration:none}.lp-legal a:hover{color:var(--green)}
@media (max-width:600px){ .lg-t th,.lg-t td{display:block;width:auto}.lg-t th{border-bottom:0;padding-bottom:4px}.lg-t td{border-top:0;padding-top:0} }
.pf-agree{font-size:12.5px;color:var(--muted);line-height:1.6;margin:10px 0 0}
.sa-legal{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (max-width:640px){.sa-legal{grid-template-columns:1fr}}
html[lang=en] [data-l=ja],html[lang=ja] [data-l=en]{display:none}
/* ---- owner dashboard: plan box v2 */
.pf-plan{margin:12px 0 4px;padding:14px;border-radius:16px;background:#f4f5f2;border:1px solid var(--line);font-size:15px;line-height:1.55}
.pf-plan .pf-ph{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.pf-pchip{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 12px}
.pf-pchip.pro{background:#2a3d33;border-color:#2a3d33;color:#fff}
.pf-pst{color:#4a524d;font-size:14px;font-weight:600}
.pf-plan a.pf-pcmp{margin-left:auto;font-size:13.5px;font-weight:700}
.pf-plan.pro{background:#fbf7ec;border-color:#ecdcb2}.pf-plan.pro.warn{background:#fff3e6;border-color:#f3c48c}
.pf-plan.pro .pf-btn{width:100%;margin-top:12px;font-size:15px;padding:12px}
.pf-plan.up{background:linear-gradient(160deg,#f3f7f4,#fbf7ec);border-color:#dfe6e1}
.pf-plan.locked{background:#fff6f5;border-color:#f3c4c0}
.pf-grow{margin:12px 0 4px}.pf-grow b{display:block;font-size:17px;line-height:1.45;color:var(--ink)}.pf-grow p{margin:6px 0 0;color:#4a524d;font-size:14px;line-height:1.7}
.pf-plan .pf-trial{width:100%;margin-top:12px;font-size:16px;padding:14px;flex-direction:column;gap:2px}
.pf-plan .pf-trial small{font-size:12px;font-weight:600;opacity:.8}
.pf-buyh{margin:14px 0 0;font-weight:800;font-size:14.5px;color:var(--ink);text-align:center}
.pf-buy2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.pf-buy2 .pf-btn{flex-direction:column;gap:0;padding:11px 8px;font-size:15px;background:#fff;width:100%}
.pf-buy2 small{font-size:12px;color:#8a6d2b;font-weight:700}
.pf-ptax{margin:8px 0 0;color:var(--muted);font-size:12.5px;text-align:center}
/* in-page payment form */
#dlg.pay{width:min(560px,calc(100vw - 16px));max-width:none;padding:0}
#dlg.pay .pf-dlg{max-width:none;width:auto;padding:16px}
.pf-payh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pf-payh b{font-size:16px}
#payMount{min-height:320px}
.pf-plan p.pf-pst{margin:10px 0 0}
.sa-pt{width:100%;border-collapse:collapse;font-size:13.5px;margin:6px 0 10px}.sa-pt th,.sa-pt td{text-align:left;padding:6px 8px;border-top:1px solid var(--line);vertical-align:top}.sa-pt th{width:34%;color:var(--muted);font-weight:600}.sa-pt code{font-size:12px;word-break:break-all}
.sa-pact{background:var(--soft);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.sa-prow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sa-prow input{padding:7px 9px;border:1.5px solid var(--line);border-radius:10px;font-size:15px}
.sa-plog{margin-top:10px;font-size:13px}.sa-plog summary{cursor:pointer;font-weight:700}.sa-plog div{padding:5px 0;border-top:1px solid var(--line)}
.pf-badge.warn{background:#fff1d6;color:#8a5a00}
.pf-pronote{background:#fbf7ec;border:1px solid #ecdcb2;border-radius:14px;padding:12px 14px;margin:0 0 6px;font-size:13.5px;line-height:1.65;color:#4a524d;display:flex;flex-direction:column;gap:4px}.pf-pronote b{font-size:15px;color:var(--ink)}.pf-pronote a{font-size:13px;font-weight:700}
.pf-pronote{background:#fbf7ec;border:1px solid #ecdcb2;border-radius:14px;padding:12px 14px;margin:0 0 6px;font-size:13.5px;line-height:1.65;color:#4a524d;display:flex;flex-direction:column;gap:4px}.pf-pronote b{font-size:15px;color:var(--ink)}.pf-pronote a{font-size:13px;font-weight:700}
.pf-start{border:1px solid #ecdcb2;background:#fbf7ec;border-radius:14px;padding:10px 12px 6px;margin:0 0 6px;display:grid;gap:8px;min-width:0}.pf-start legend{font-weight:800;font-size:15px;padding:0 6px;color:var(--ink)}
.pf-form .pf-sopt{display:flex;flex-direction:row;align-items:flex-start;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;margin:0;font-weight:400}.pf-form .pf-sopt:has(input:checked){border-color:#b89a5e;box-shadow:0 0 0 2px #f1e5c6}
.pf-form .pf-sopt input{width:20px;height:20px;min-height:0;padding:0;border:0;box-shadow:none;margin:2px 0 0;flex:0 0 auto;accent-color:#2a3d33}.pf-sopt span{display:flex;flex-direction:column;gap:2px;min-width:0}.pf-sopt b{font-size:15px;color:var(--ink)}.pf-sopt small{font-size:12.5px;color:#5c645f;line-height:1.5}
.pf-sfree{margin:2px 0 4px;font-size:13.5px;font-weight:700;text-align:center}
/* ---- console store cards v2 */
.sa-store{padding:16px 18px}
.sa-top{display:flex;gap:12px 16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.sa-id{flex:1 1 320px;min-width:0}
.sa-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.sa-name b{font-size:18px;margin-right:2px}
.sa-name .pf-badge{white-space:nowrap}
.sa-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.6}
.sa-meta>span{white-space:nowrap}.sa-meta .pf-code{font-size:12px;letter-spacing:.12em}
.sa-open{display:flex;gap:6px;flex:none}
.sa-open .pf-btn.sm{padding:8px 14px;font-size:13.5px;text-decoration:none;width:auto}
.sa-store .sa-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:14px;padding:12px 14px;background:var(--soft);border-radius:12px}
.sa-store .sa-stats span{white-space:nowrap}
.sa-store .sa-act{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.sa-store .sa-act .sp{flex:1}
.sa-store .sa-act .pf-btn.sm{width:auto;padding:7px 11px;font-size:13px}
.sa-store .pf-btn.danger{color:#b42318}
@media (max-width:640px){ .sa-open{width:100%} .sa-open .pf-btn.sm{flex:1} .sa-store .sa-act .sp{display:none} }
@media (min-width:1000px){ .sa-store .sa-stats{grid-template-columns:repeat(7,minmax(0,1fr))} .sa-store .sa-stats span{white-space:normal} }
/* ---- public guide pages (機能・料金・FAQ・ガイド) */
.sx-crumbs{max-width:1080px;margin:0 auto;padding:14px 20px 0;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sx-crumbs a{color:var(--muted);text-decoration:none}.sx-crumbs a:hover{color:var(--green);text-decoration:underline}
.sx-main{max-width:1080px;margin:0 auto;padding:20px 20px 0}
.sx-head{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;padding:14px 0 10px}
.sx-head.has-art{grid-template-columns:1.1fr .9fr}
.sx-head h1{font-size:clamp(26px,3.6vw,40px);line-height:1.3;letter-spacing:-.01em;margin:10px 0 14px;font-weight:900;word-break:auto-phrase;text-wrap:balance}
.sx-lead{font-size:17px;color:#4a524d;line-height:1.85;margin:0}
.sx-date{color:var(--muted);font-size:13px;margin:12px 0 0}
.sx-pic{background:radial-gradient(120% 120% at 30% 20%,#f1efe7 0,#e9eee9 55%,#e3ebe5 100%);border-radius:24px;padding:28px;display:flex;justify-content:center;aspect-ratio:4/3;align-items:center}
.sx-pic>*{max-width:100%;height:auto}
.sx-body{max-width:780px;margin:24px 0 0;font-size:16px;line-height:1.95;color:#2f3833}
.sx-art .sx-body,.sx-art .sx-head{max-width:780px}
.sx-body h2{font-size:clamp(20px,2.4vw,25px);line-height:1.45;margin:40px 0 12px;padding-top:6px;word-break:auto-phrase;text-wrap:balance}
.sx-body h3{font-size:18px;margin:26px 0 6px}
.sx-body p{margin:0 0 14px}
.sx-body a,.sx-faq a,.sx-lead a{color:var(--green);font-weight:700}
.sx-list{padding-left:1.3em;margin:0 0 16px}.sx-list li{margin:6px 0}
.sx-steps{list-style:none;counter-reset:s;padding:0;margin:0 0 16px;display:grid;gap:10px}
.sx-steps li{counter-increment:s;background:var(--soft);border-radius:14px;padding:14px 16px 14px 56px;position:relative}
.sx-steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:9px;background:var(--green);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.sx-steps b{display:block}.sx-steps span{color:#4a524d;font-size:15px}
.sx-toc{max-width:780px;margin:22px 0 0;background:var(--soft);border-radius:14px;padding:14px 18px}.sx-toc b{font-size:14px}.sx-toc ol{margin:6px 0 0;padding-left:1.3em;line-height:1.9}.sx-toc a{color:var(--green)}
.sx-faq{max-width:780px;margin:40px 0 0}.sx-faq h2{font-size:22px;margin:0 0 8px}
.sx-faq details{border-bottom:1px solid var(--line);padding:16px 4px}
.sx-faq summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:12px}
.sx-faq summary::after{content:"+";color:var(--gold);font-size:20px;line-height:1}.sx-faq details[open] summary::after{content:"−"}
.sx-faq details p{color:#4a524d;line-height:1.85;margin:10px 0 0}
.sx-rels{margin:48px 0 0}.sx-rels h2{font-size:20px;margin:0 0 14px}
.sx-relg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.sx-relg.big{margin:14px 0 24px}
.sx-rel{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.sx-rel:hover{border-color:var(--green)}.sx-rel b{display:block;font-size:16px;margin-bottom:4px}.sx-rel span{color:var(--muted);font-size:13.5px;line-height:1.6;display:block}
.sx-plans{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 20px}.sx-plans>div{border:1px solid var(--line);border-radius:18px;padding:20px}.sx-plans>div.pro{border:2px solid var(--green)}
.sx-plans h2{margin:0;font-size:20px;padding:0}.sx-plans .pr{font-size:32px;font-weight:900;margin:6px 0 8px}.sx-plans .pr small{font-size:13px;color:var(--muted);font-weight:700;margin-left:4px}
.sx-tw{overflow-x:auto;margin:6px 0 14px}.sx-table{width:100%;border-collapse:collapse;font-size:15px}.sx-table th,.sx-table td{padding:10px 12px;border-top:1px solid var(--line);text-align:left}.sx-table thead th{border-top:0;font-size:13px;color:var(--muted)}.sx-table td{font-weight:800}
.sx-cta{margin:56px -20px 0;background:radial-gradient(120% 140% at 80% 0,#3c5546 0,#2a3d33 45%,#1d2a23 100%);color:#fff;text-align:center;padding:52px 20px;border-radius:0}
.sx-cta h2{font-size:clamp(22px,3vw,30px);margin:0 0 8px}.sx-cta p{color:#cfd9d2;margin:0}.sx-cta .lp-cta{justify-content:center}
.sx-foot{background:#fff;border-top:1px solid var(--line);margin-top:0;padding:36px 20px calc(24px + env(safe-area-inset-bottom))}
.sx-fcols{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:24px}
.sx-fcols b{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;letter-spacing:.06em}
.sx-fcols a{display:block;color:#3d4641;text-decoration:none;font-size:14px;padding:3px 0}.sx-fcols a:hover{color:var(--green)}
.sx-fcols p{color:var(--muted);font-size:13px;margin:8px 0 0}
.sx-copy{max-width:1080px;margin:24px auto 0;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line);padding-top:14px}
.sx-404{text-align:left;padding-top:48px;padding-bottom:60px}
.lp-more-link{display:inline-block;margin-top:16px;font-weight:800;color:var(--green);text-decoration:none}.lp-more-link:hover{text-decoration:underline}
.lp-guides{max-width:1180px;margin:0 auto;padding:100px 20px 0}.lp-guides-more{margin:0}.lp-guides-more a{font-weight:800;color:var(--green)}
@media (max-width:900px){ .sx-head.has-art{grid-template-columns:1fr} .sx-pic{order:-1;aspect-ratio:auto;padding:18px} .sx-fcols{grid-template-columns:1fr 1fr} .sx-plans{grid-template-columns:1fr} .lp-guides{padding-top:72px} }
@media (max-width:520px){ .sx-fcols{grid-template-columns:1fr} .sx-lead{font-size:16px} }
.sx-pic{aspect-ratio:auto;max-height:460px;overflow:hidden}.sx-pic>.art,.sx-pic>svg{max-height:400px;width:auto;max-width:100%}

.sa-notes{background:#f6f2e8;border-radius:12px;padding:10px 14px;margin:8px 0 10px;font-size:14px}.sa-notes ul{margin:6px 0 0;padding-left:20px}.sa-notes li{margin:3px 0}

/* ---- home page: light 3D feel (perspective tilt, layered depth, floating glossy shapes). Off for "reduce motion". */
.lp-hero{position:relative}
.lp-hero .hero-art{transform-style:preserve-3d;transform:perspective(1400px) rotateX(var(--rx,4deg)) rotateY(var(--ry,-9deg));transition:transform .5s cubic-bezier(.2,.7,.2,1);will-change:transform}
.lp-hero .hero-art .ha-pos{transform:translateZ(0)}
.lp-hero .hero-art .ha-phone{transform:translateZ(70px);animation:lp-float 6s ease-in-out infinite}
.lp-hero .hero-art .ha-printer{transform:translateZ(50px);animation:lp-float 7s ease-in-out -2s infinite}
@keyframes lp-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
.lp-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(.2px);animation:lp-drift 12s ease-in-out infinite}
.lp-orb.g{width:120px;height:120px;right:6%;top:6%;background:radial-gradient(circle at 32% 28%,#fff6dc 0,#e4c98f 22%,#b89a5e 58%,#7d6534 100%);box-shadow:0 30px 50px rgba(125,101,52,.28);opacity:.85}
.lp-orb.d{width:64px;height:64px;left:44%;bottom:10%;background:radial-gradient(circle at 32% 28%,#9fc2ae 0,#4f7a63 45%,#2a3d33 100%);box-shadow:0 18px 30px rgba(42,61,51,.3);animation-delay:-5s;opacity:.8}
.lp-orb.c{width:86px;height:86px;border-radius:24px;right:44%;top:7%;background:linear-gradient(145deg,#f4efe2,#ddd3bd);box-shadow:inset -8px -10px 18px rgba(0,0,0,.08),inset 8px 8px 16px rgba(255,255,255,.9),0 22px 36px rgba(20,30,25,.14);transform:rotate(18deg);animation-name:lp-drift-r;opacity:.9}
@keyframes lp-drift{0%,100%{translate:0 0}50%{translate:0 -16px}}
@keyframes lp-drift-r{0%,100%{transform:rotate(18deg) translateY(0)}50%{transform:rotate(26deg) translateY(-14px)}}
.lp-hero-txt,.lp-hero .hero-art{position:relative;z-index:1}
/* feature pictures tilt toward the pointer; the two devices sit at different depths */
.lp-pic{transform-style:preserve-3d;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 26px 50px -24px rgba(20,35,28,.28)}
.lp-pic .p1,.lp-pic>.art{transform:translateZ(30px)}.lp-pic .p2{transform:translateZ(70px)}
/* cards lift with a soft layered shadow */
.lp-plan,.lp-m3 article{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.lp-plan{box-shadow:0 1px 2px rgba(20,35,28,.05),0 14px 34px -18px rgba(20,35,28,.25)}
.lp-plan:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:0 2px 4px rgba(20,35,28,.06),0 34px 60px -24px rgba(20,35,28,.38)}
.lp-m3 article:hover{transform:translateY(-4px)}
/* buttons: a little depth, pressed on click */
.lp .pf-btn{box-shadow:0 2px 0 rgba(0,0,0,.12),0 10px 22px -10px rgba(42,61,51,.55);transition:transform .15s,box-shadow .15s}
.lp .pf-btn.ghost{box-shadow:0 2px 0 rgba(0,0,0,.05),0 8px 18px -12px rgba(42,61,51,.35)}
.lp .pf-btn:hover{transform:translateY(-2px)}.lp .pf-btn:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.12),0 4px 10px -8px rgba(42,61,51,.5)}
@media (max-width:900px){ .lp-hero .hero-art{transform:perspective(1400px) rotateX(3deg) rotateY(-5deg)} .lp-orb.c{display:none} .lp-orb.g{width:70px;height:70px;top:auto;bottom:4%;right:4%} .lp-orb.d{left:auto;right:30%;bottom:1%} }
@media (prefers-reduced-motion:reduce){ .lp-hero .hero-art,.lp-pic{transform:none!important} .lp-orb,.lp-hero .hero-art .ha-phone,.lp-hero .hero-art .ha-printer{animation:none} .lp-plan:hover,.lp-m3 article:hover,.lp .pf-btn:hover{transform:none} }

/* real screenshots inside guide articles */
.sx-shot{margin:28px 0 30px;padding:0}
.sx-shot img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(20,35,28,.06),0 22px 44px -22px rgba(20,35,28,.35);background:#fff}
.sx-shot.tall img{max-width:300px;margin:0 auto;border-radius:22px}
.sx-shot figcaption{margin-top:10px;font-size:13.5px;color:#5c655f;line-height:1.6;text-align:center}
.lp-pic.shot{padding:30px 26px}.lp-pic.shot img{width:100%;height:auto;border-radius:14px;box-shadow:0 18px 40px rgba(29,38,33,.16);transform:translateZ(40px)}
.pf-copyset{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 14px;display:flex;flex-direction:column;gap:6px}.pf-copyset legend{font-size:13px;font-weight:700;color:var(--muted);padding:0 4px}
.pf-chk{display:flex!important;gap:8px;align-items:flex-start;font-weight:600;font-size:14px;margin:0!important}.pf-chk input{width:auto!important;margin-top:3px}
.sa-t td.nw{white-space:nowrap}.sa-t td.sa-ostores{min-width:190px;max-width:320px}.sa-cnt{display:block;font-weight:800;margin-bottom:4px}
.sa-schip{display:inline-block;background:var(--soft);border-radius:999px;padding:2px 9px;margin:0 4px 4px 0;font-size:12.5px;line-height:1.5;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;vertical-align:top}
/* My stores: one long row per store (same size whatever the name), the buttons in one line */
@media (min-width:900px){
  .pf-stores{grid-template-columns:1fr;gap:14px}
  .pf-stores>.pf-card{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.7fr);grid-template-areas:"head links" "plan links";column-gap:26px;row-gap:4px;align-items:start;padding:20px 22px}
  .pf-stores>.pf-card>.pf-row{grid-area:head;min-width:0}
  .pf-stores>.pf-card>.pf-plan,.pf-stores>.pf-card>.pf-review{grid-area:plan;margin:8px 0 0}
  .pf-stores>.pf-card>.pf-links{grid-area:links;align-self:center;margin-top:0;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));grid-auto-rows:minmax(64px,auto)}
  .pf-stores>.pf-card>.pf-links a.main{grid-column:auto;flex-direction:column;gap:4px;text-align:center;justify-content:center}
  .pf-stores>.pf-card>.pf-links a{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:4px;font-size:13.5px;line-height:1.3;padding:10px 8px}
  .pf-stores>.pf-card>.pf-links a .li{font-size:20px;line-height:1}
  .pf-stores>.pf-card>.pf-links a.main{font-size:15px}
  .pf-stores>.pf-card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:21px;line-height:1.35}
  .pf-stores>.pf-add{min-height:76px;flex-direction:row;gap:12px}.pf-stores>.pf-add b{font-size:28px}
}
.pf-stores>.pf-card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-price{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:6px 0 12px;display:flex;flex-direction:column;gap:8px}
.as-seg{display:flex;gap:16px;margin:0 0 12px}.as-seg label{display:flex!important;gap:6px;align-items:center;font-weight:700;margin:0!important}.as-seg input{width:auto!important}
/* My stores: tidy rows, POS button + ⋯ menu (everything else lives in the menu) */
.pf-stores>.pf-card.srow{display:block;padding:16px 18px}
.sr-main{display:flex;align-items:center;gap:14px}.sr-info{flex:1;min-width:0}.sr-info h3{margin:0 0 4px;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-info .meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sr-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:800;background:var(--soft);color:#4a524d;white-space:nowrap}.sr-chip.pro{background:#2a3d33;color:#fff}
.sr-chipbtn{border:1.5px solid #b89a5e;background:#fbf7ec;color:#5a4417;cursor:pointer;font:inherit;font-size:12.5px;font-weight:800;min-height:30px;padding:3px 12px}.sr-chipbtn:hover{background:#f4e9cc}.sr-chipbtn.pro{background:#2a3d33;color:#fff;border-color:#2a3d33}
.sr-acts{display:flex;align-items:center;gap:8px;flex:none}.sr-pos{white-space:nowrap}
.sr-more{position:relative}.sr-dots{width:44px;height:44px;padding:0!important;font-size:20px;line-height:1;display:grid;place-items:center}
.sr-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(20,30,25,.16);padding:6px;display:flex;flex-direction:column}
.sr-menu[hidden]{display:none}.sr-menu a,.sr-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;border-radius:10px;padding:11px 12px;font:inherit;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;cursor:pointer}
.sr-menu a:hover,.sr-menu button:hover{background:var(--soft)}.sr-menu .li{width:22px;text-align:center}.sr-menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}
.srow .pf-plan,.srow .pf-review{margin:12px 0 0}
@media (max-width:560px){.sr-main{flex-wrap:wrap}.sr-acts{width:100%}.sr-pos{flex:1;justify-content:center}}
/* platform console: one compact row per store, every action in the ⋯ menu */
.sa-rows{display:flex;flex-direction:column;gap:8px}
.sa-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.sa-row.off{opacity:.65}.sa-row .sa-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sa-row .sa-name b{font-size:16px}
.sa-row .sa-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted);margin-top:3px}.sa-row .sa-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.sa-row .sa-off{font-size:12px;color:#b3261e;margin-top:3px}
.sa-rstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sa-rstats span{display:flex;flex-direction:column;font-weight:800;font-size:14px;white-space:nowrap}.sa-rstats small{font-weight:600;font-size:11px;color:var(--muted)}.sa-rstats em{font-style:normal;font-size:11px;color:var(--gold);margin-left:4px}
.sr-menu .danger{color:#b3261e}
@media (max-width:820px){.sa-row{grid-template-columns:minmax(0,1fr) auto}.sa-rstats{grid-column:1/-1;grid-row:2}}
.sa-revbtn{border:0;font:inherit;font-size:12px;cursor:pointer}.sa-revbtn:hover{filter:brightness(.95)}
.pc-wa,.pc-wah{display:inline-flex;align-items:center;gap:6px;background:#25d366;color:#fff!important;font-weight:700;border-radius:999px;padding:7px 12px;text-decoration:none}.pc-wah{margin-top:6px;padding:4px 10px;font-size:12px}

button,a,[role=button],input[type=checkbox],input[type=radio],label{touch-action:manipulation}   /* no double-tap zoom on fast taps */

/* the owner dashboard and platform console use the width of the screen (up to 1600px) instead of a narrow middle column */
.pf-wrap.pf-app{max-width:1600px;padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}

/* homepage: Android app (APK) download */
.lp-apk{max-width:1180px;margin:70px auto 0;padding:0 20px}
.lp-apk-card{display:flex;gap:22px;align-items:flex-start;background:linear-gradient(135deg,#eef6f0,#fff);border:1px solid #dfe9e2;border-radius:24px;padding:28px}
.lp-apk-ic{flex:none;width:64px;height:64px;border-radius:18px;background:#3ddc84;color:#fff;display:flex;align-items:center;justify-content:center}
.lp-apk-txt h2{margin:6px 0 8px;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.01em}
.lp-apk-txt p{margin:0 0 14px;color:#4a544e;line-height:1.7}
.lp-apk-note{font-size:13px;color:#6b736e!important;margin:12px 0 0!important}
@media (max-width:600px){.lp-apk-card{flex-direction:column;padding:22px}}

/* motion (v1.4.9) */
dialog[open]{animation:ppPop .24s cubic-bezier(.2,.8,.2,1)}dialog[open]::backdrop{animation:ppFade .22s ease}
@keyframes ppPop{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}@keyframes ppFade{from{opacity:0}to{opacity:1}}
.sr-menu:not([hidden]){animation:ppMenu .16s ease-out;transform-origin:top right}@keyframes ppMenu{from{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:none}}
.pf-btn{transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease}.pf-btn:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.sa-no{display:inline-flex;align-items:center;margin-right:8px;padding:2px 8px;border-radius:999px;background:#eef1ef;color:#4a544e;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
#splan,#ssort{max-width:100%}

/* account dialog: two-step sign-in (1.7.4) */
.pf-otp{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.pf-otp h3{margin:0 0 6px;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pf-otp ol{padding-left:20px;font-size:13.5px}.pf-otp #otpQr canvas,.pf-otp #otpQr img{display:block}

/* 1.7.4 off-site backup + restore test (System) */
.sa-offf{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px;margin-top:10px}.sa-offf .k-s3,.sa-offf .k-sftp{display:contents}.sa-offf .k-s3[hidden],.sa-offf .k-sftp[hidden]{display:none}
.sa-offf .sa-chk{display:flex;align-items:center;gap:8px;grid-column:1/-1}.sa-offf .sa-tip,.sa-offf .pf-row{grid-column:1/-1}
.sa-cmd{display:block;white-space:pre-wrap;word-break:break-all;background:#f4f4f1;border-radius:8px;padding:8px 10px;font-size:12.5px}
.sa-check{padding-left:22px;line-height:1.7}.okc{color:#2f7d4f}
.sa-safe{background:#f3f7f4;border:1px solid #d6e4da;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.7}.sa-safe ul{margin:6px 0;padding-left:20px}
.sa-offf .sa-chk{flex-direction:row!important;justify-content:flex-start;align-items:center;gap:10px}.sa-offf .sa-chk input,.sa-ntf .sa-chk input{width:auto!important;flex:none;min-height:0}.sa-ntf .sa-chk{display:flex;flex-direction:row!important;align-items:center;gap:10px}
/* 1.7.9 WhatsApp inbox (Platform console) */
.wa-box{display:grid;grid-template-columns:280px 1fr;padding:0;overflow:hidden;min-height:480px}
.wa-list{border-right:1px solid var(--line);overflow:auto;max-height:620px}
.wa-c{display:grid;gap:2px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:12px 14px;font:inherit;cursor:pointer;min-height:44px}
.wa-c.on{background:#eef5f0}.wa-c b{display:flex;align-items:center;gap:6px}.wa-c span{color:#555;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wa-c small{color:var(--muted);font-size:12px}
.wa-un{font-style:normal;background:#25d366;color:#fff;border-radius:999px;font-size:11px;padding:1px 7px}
.wa-th{display:flex;flex-direction:column;min-width:0}.wa-thh{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.wa-thh .sp{flex:1}.wa-back{display:none}
.wa-msgs{flex:1;overflow:auto;padding:14px;background:#efeae2;max-height:520px;display:flex;flex-direction:column;gap:6px}
.wa-m{max-width:78%;display:flex;flex-direction:column}.wa-m.in{align-self:flex-start}.wa-m.out{align-self:flex-end;align-items:flex-end}
.wa-b{background:#fff;border-radius:12px;padding:8px 11px;white-space:pre-wrap;word-break:break-word;font-size:14.5px;box-shadow:0 1px 1px rgba(0,0,0,.08)}.wa-m.out .wa-b{background:#d9fdd3}
.wa-m small{font-size:11px;color:#667;margin:2px 4px}
.wa-send{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);margin:0}.wa-send textarea{flex:1 1 auto;width:auto;min-width:0;border:1px solid var(--line);border-radius:12px;padding:10px;font:inherit;resize:vertical;min-height:44px}.wa-send button{flex:0 0 auto;width:auto;align-self:flex-end;min-height:44px;padding:0 20px}
.wa-closed{margin:0;padding:12px 14px;background:#fff7e6;color:#5a3a00;font-size:13.5px}.wa-none{align-items:center;justify-content:center}.wa-set{margin-top:14px}.wa-set summary{cursor:pointer;display:flex;gap:8px;align-items:center}
@media (max-width:760px){.wa-box{grid-template-columns:1fr}.wa-box.open .wa-list{display:none}.wa-box:not(.open) .wa-th{display:none}.wa-back{display:inline-flex}.wa-list{border-right:0;max-height:none}.wa-m{max-width:90%}}
/* store address on sign-up / Add store: pos.primehub.co.jp/s/[slug]/ */
.slug-box{display:flex;align-items:center;margin-top:8px;border:1.5px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.slug-box:focus-within{border-color:var(--green);box-shadow:0 0 0 4px rgba(42,61,51,.08)}
.slug-pre{flex:none;padding:0 4px 0 12px;color:var(--muted);font-weight:600;font-size:13.5px;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}
.slug-pre:last-child{padding:0 12px 0 0}
.pf-form .slug-box input{border:0;box-shadow:none;margin:0;padding:14px 2px;min-width:0;flex:1;border-radius:0}
.slug-note{display:block;margin-top:6px;font-weight:500;color:#7a5a12;line-height:1.5}.slug-msg{color:#1f7a3f;font-weight:700}.slug-msg.bad{color:#c0392b}
/* standby server card (System) */
.sa-standby .sa-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:10px 0 12px;font-size:14px}.sa-standby .sa-dl dt{color:var(--muted)}.sa-standby .sa-dl dd{margin:0;min-width:0;word-break:break-word}
.sa-copy{display:flex;gap:8px;align-items:center;margin:6px 0 12px;min-width:0}.sa-copy code{flex:1;min-width:0;background:#f4f4f1;border-radius:8px;padding:9px 10px;font-size:12.5px;word-break:break-all}
.sa-stbopts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}.sa-stbopts .sa-form{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:14px;padding:14px;margin:0}
.sa-standby .sa-form label{margin-bottom:4px}.sa-okbox{background:#eef7f0;border:1px solid #cfe5d4;border-radius:12px;padding:10px 12px;margin:8px 0;font-size:14px}
@media (max-width:760px){.sa-stbopts{grid-template-columns:1fr}.sa-standby .sa-dl{grid-template-columns:1fr}}
/* phones: the name "Prime レジ / Prime POS" stays next to the logo (before, only the icon was left); everything else gets a little smaller to fit */
@media (max-width:640px){
  .lp-top .pf-logo,.pf-top .pf-logo{font-size:16px;gap:7px;white-space:nowrap;letter-spacing:.02em;flex:none}
  .lp-top .pf-logo i,.pf-top .pf-logo i{width:28px;height:28px}
}
@media (max-width:400px){ .lp-top .pf-logo,.pf-top .pf-logo{font-size:14.5px;gap:6px} .lp-top .lp-lang button,.pf-top .lang-sw button{padding:4px 6px} .lp-top .pf-btn{padding:7px 9px} .pf-top{gap:5px;padding-left:10px;padding-right:10px} }
.sa-autof{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:8px}.sa-autof .sa-chk,.sa-autof .pf-row,.sa-autof .sa-tip{grid-column:1/-1}@media (max-width:760px){.sa-autof{grid-template-columns:1fr}}
.sa-autof .sa-chk{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:700}.sa-autof .sa-chk input{width:auto;margin:0}
/* 🟢🟡🔴 store status (store_live): a blinking dot only, the words are in the tooltip */
.live-dot{display:inline-flex;vertical-align:middle;margin-right:8px;padding:3px}
.live-dot i{width:11px;height:11px;border-radius:50%;flex:none;--c:217,83,79;background:rgb(var(--c));animation:livePulse 1.6s ease-in-out infinite}
.live-dot.yellow i{--c:230,168,23}.live-dot.green i{--c:47,168,79}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(var(--c),.55);opacity:1}70%{box-shadow:0 0 0 7px rgba(var(--c),0);opacity:.55}100%{box-shadow:0 0 0 0 rgba(var(--c),0);opacity:1}}
@media (prefers-reduced-motion:reduce){.live-dot i{animation:none}}
/* My stores and the all-store sales: the same green design as the POS cash screen (green bar on the left, green icon badge) */
.pf-stores>.pf-card.srow,.sa-main .pf-card{border-left:4px solid #2f7d4f}
.gbadge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 5px;margin-right:8px;border-radius:6px;background:#2f7d4f;color:#fff;font-size:14px;line-height:1;vertical-align:-2px}
/* user manual (/manual/): tips in the green block design, previous / next links, numbered page cards */
.sx-tip{margin:12px 0 18px;padding:12px 16px;border-radius:12px;background:#eef5f0;border-left:4px solid #2f7d4f;color:#1d2621;font-size:15px;line-height:1.7}
.sx-pn{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:28px 0 8px}.sx-pn a{font-weight:700;color:#2a3d33;text-decoration:none;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.sx-man .sx-rel{border-left:4px solid #2f7d4f}
