:root{
  --sos-bg:#f6f7f9;
  --sos-surface:#ffffff;
  --sos-panel:#fbfcfe;
  --sos-ink:#111827;
  --sos-muted:#64748b;
  --sos-line:#d9e0ea;
  --sos-soft:#eef2f7;
  --sos-orange:#f97316;
  --sos-blue:#2563eb;
  --sos-green:#16a34a;
  --sos-red:#dc2626;
  --sos-shadow:0 12px 34px rgba(15,23,42,.08);
  --sos-radius:12px;
}

html[data-sundine-product-os="8.0"]{
  background:var(--sos-bg);
  color:var(--sos-ink);
}

body.sundine-product-os{
  justify-content:center;
  background:
    linear-gradient(180deg,#f8fafc 0%,#f3f5f8 42%,#eef2f7 100%);
  color:var(--sos-ink);
  letter-spacing:0;
}

body.sundine-product-os:before{display:none!important}
body.sundine-product-os .phone,
body.sundine-product-os .phone.wide{
  width:min(100vw,1360px);
  min-height:100vh;
  background:var(--sos-bg);
  border:0;
  box-shadow:none;
}

body.sundine-product-os .topbar{
  position:sticky;
  top:0;
  z-index:120;
  min-height:58px;
  padding:10px clamp(12px,2vw,22px);
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--sos-line);
  box-shadow:0 8px 26px rgba(15,23,42,.06);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

body.sundine-product-os .title{
  color:var(--sos-ink);
  font-size:16px;
  font-weight:900;
  letter-spacing:0;
}

body.sundine-product-os .title:before{display:none!important}
body.sundine-product-os .icon-btn,
body.sundine-product-os .capsule{
  min-height:40px;
  border-radius:10px;
  border:1px solid var(--sos-line);
  background:var(--sos-surface);
  color:var(--sos-ink);
  box-shadow:none;
}
body.sundine-product-os .capsule button,
body.sundine-product-os .capsule a{color:var(--sos-ink)}
body.sundine-product-os .hamb:before,
body.sundine-product-os .hamb:after{background:var(--sos-ink)}

body.sundine-product-os .main{
  padding:clamp(12px,2vw,22px);
  padding-bottom:96px;
}

body.sundine-product-os .hero{
  margin:0 0 12px;
  padding:0;
}
body.sundine-product-os .hero h1{
  margin:0 0 6px;
  font-size:clamp(21px,2.2vw,30px);
  line-height:1.18;
  letter-spacing:0;
}
body.sundine-product-os .hero p{
  max-width:880px;
  color:var(--sos-muted);
  font-size:13px;
  line-height:1.55;
}
body.sundine-product-os .pos007-hero-inline-art,
body.sundine-product-os .pos007-page-visual,
body.sundine-product-os .smart-dock,
body.sundine-product-os .smart-workspace-card,
body.sundine-product-os .flow-coach-card,
body.sundine-product-os .device-fit-banner{
  display:none!important;
}

body.sundine-product-os .card,
body.sundine-product-os .list-card,
body.sundine-product-os .launcher-card,
body.sundine-product-os .auth-card{
  border-radius:var(--sos-radius);
  border:1px solid var(--sos-line);
  background:var(--sos-surface);
  color:var(--sos-ink);
  box-shadow:var(--sos-shadow);
}
body.sundine-product-os .card h2,
body.sundine-product-os .section-title h2{
  color:var(--sos-ink);
  font-size:16px;
  letter-spacing:0;
}
body.sundine-product-os .section-title{
  margin:16px 0 10px;
}

.sos-command-center{
  container-type:inline-size;
  display:grid;
  gap:12px;
  margin:0 0 16px;
  padding:12px;
  border:1px solid var(--sos-line);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--sos-shadow);
}
.sos-command-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.sos-kicker{
  color:var(--sos-muted);
  font-size:12px;
  font-weight:800;
}
.sos-command-title{
  margin:2px 0 0;
  font-size:18px;
  font-weight:950;
  color:var(--sos-ink);
}
.sos-command-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.sos-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid var(--sos-line);
  background:var(--sos-soft);
  color:var(--sos-muted);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.sos-pill[data-tone="ok"]{background:#ecfdf3;color:#15803d;border-color:#bbf7d0}
.sos-pill[data-tone="warn"]{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.sos-pill[data-tone="info"]{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.sos-layout{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.sos-nav,
.sos-actions,
.sos-vitals,
.sos-workflow-strip{
  display:grid;
  gap:8px;
}
.sos-nav{
  grid-template-columns:1fr;
}
.sos-main-area{
  display:grid;
  gap:10px;
}
.sos-actions{
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
}
.sos-vitals{
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
}
.sos-nav a,
.sos-action,
.sos-workflow-button{
  min-height:42px;
  border:1px solid var(--sos-line);
  border-radius:12px;
  background:var(--sos-panel);
  color:var(--sos-ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  font-weight:850;
  cursor:pointer;
  box-shadow:none;
}
.sos-nav a[aria-current="page"],
.sos-action.primary,
.sos-workflow-button[aria-pressed="true"]{
  border-color:rgba(249,115,22,.38);
  background:#fff7ed;
  color:#9a3412;
}
.sos-action.primary{
  justify-content:center;
  background:linear-gradient(135deg,#fb923c,#f97316);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 24px rgba(249,115,22,.22);
}
.sru-clean-command .sos-action.active,
.sru-clean-command .sos-action[aria-pressed="true"]{
  border-color:rgba(249,115,22,.52);
  background:#fff7ed;
  color:#9a3412;
  box-shadow:0 0 0 3px rgba(249,115,22,.12);
}
.sru-action-status{
  min-height:24px;
  color:#7c2d12;
  font-size:13px;
  font-weight:850;
}
.sos-action:hover,
.sos-nav a:hover,
.sos-workflow-button:hover{
  border-color:#cbd5e1;
  transform:translateY(-1px);
}
.sos-vital{
  min-height:66px;
  border:1px solid var(--sos-line);
  border-radius:12px;
  padding:10px 11px;
  background:var(--sos-panel);
}
.sos-vital span{
  display:block;
  color:var(--sos-muted);
  font-size:12px;
  font-weight:800;
}
.sos-vital b{
  display:block;
  margin-top:4px;
  color:var(--sos-ink);
  font-size:17px;
  font-weight:950;
}

.sos-workflow-strip{
  margin:0 0 14px;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.sos-workflow-strip .sos-workflow-button{
  min-height:52px;
  justify-content:center;
}

body.sundine-product-os .btn,
body.sundine-product-os .chip,
body.sundine-product-os .search,
body.sundine-product-os input,
body.sundine-product-os select,
body.sundine-product-os textarea{
  border-radius:10px;
  letter-spacing:0;
}
body.sundine-product-os .btn{
  min-height:42px;
  box-shadow:none;
}
body.sundine-product-os .btn.primary{
  background:linear-gradient(135deg,#fb923c,#f97316);
  color:#fff;
}
body.sundine-product-os .btn.green{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
}
body.sundine-product-os .btn.red{
  background:linear-gradient(135deg,#ef4444,#dc2626);
  color:#fff;
}
body.sundine-product-os .btn.ghost,
body.sundine-product-os .chip,
body.sundine-product-os .search,
body.sundine-product-os input,
body.sundine-product-os select,
body.sundine-product-os textarea{
  background:#fff;
  border:1px solid var(--sos-line);
  color:var(--sos-ink);
}
body.sundine-product-os .chip.active,
body.sundine-product-os .chip:hover{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
  box-shadow:none;
}
body.sundine-product-os .badge{
  border-radius:999px;
  border:1px solid var(--sos-line);
  background:var(--sos-soft);
  color:var(--sos-muted);
}
body.sundine-product-os .badge.blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
body.sundine-product-os .badge.green{background:#ecfdf3;color:#15803d;border-color:#bbf7d0}
body.sundine-product-os .badge.orange{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
body.sundine-product-os .badge.red{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
body.sundine-product-os .price{color:#ea580c}

body.sundine-product-os.surface-pos .pos-layout,
body.sundine-product-os.sos-surface-pos .pos-layout{
  grid-template-columns:minmax(560px,1.55fr) minmax(360px,.9fr);
  gap:14px;
}
body.sundine-product-os .pos-menu-panel.card,
body.sundine-product-os .pos-cart-panel.card{
  padding:14px;
}
body.sundine-product-os .pos-cart-panel{
  top:76px;
}
body.sundine-product-os .pos-menu-grid{
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:10px;
}
body.sundine-product-os .pos-menu-button{
  min-height:118px;
  border-radius:12px;
  background:var(--sos-surface);
  border:1px solid var(--sos-line);
  color:var(--sos-ink);
  box-shadow:none;
}
body.sundine-product-os .pos-menu-button:hover{
  border-color:#fdba74;
  box-shadow:0 8px 20px rgba(249,115,22,.10);
}
body.sundine-product-os .pos-menu-button .pos-emoji,
body.sundine-product-os .food-img,
body.sundine-product-os .modal-img{
  background:var(--sos-soft);
  border-radius:10px;
}
body.sundine-product-os .pos-total strong{
  color:var(--sos-green);
}
body.sundine-product-os #posItemModal .modal{
  border-radius:16px;
  background:var(--sos-surface);
}

body.sundine-product-os.surface-customer .phone,
body.sundine-product-os.sos-surface-customer .phone{
  width:min(100vw,1040px);
}
body.sundine-product-os .menu-page{
  grid-template-columns:repeat(auto-fill,minmax(142px,1fr));
  grid-template-rows:auto;
}
body.sundine-product-os .food-card{
  min-height:128px;
  border-radius:12px;
  background:var(--sos-surface);
  border:1px solid var(--sos-line);
  color:var(--sos-ink);
}

body.sundine-product-os .dropdown{
  border-radius:14px;
  border:1px solid var(--sos-line);
  background:rgba(255,255,255,.98);
  color:var(--sos-ink);
  box-shadow:var(--sos-shadow);
}
body.sundine-product-os .drop-item{
  border-radius:10px;
  color:var(--sos-ink);
}
body.sundine-product-os .drop-item:hover,
body.sundine-product-os .drop-item.active{
  background:#fff7ed;
  color:#9a3412;
}

@media(max-width:980px){
  .sos-layout{grid-template-columns:1fr}
  .sos-nav{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
  body.sundine-product-os.surface-pos .pos-layout,
  body.sundine-product-os.sos-surface-pos .pos-layout{grid-template-columns:1fr}
  body.sundine-product-os .pos-cart-panel{position:static}
}

@media(max-width:620px){
  body.sundine-product-os .main{padding:10px;padding-bottom:92px}
  .sos-command-center{padding:10px;border-radius:14px}
  .sos-command-head{grid-template-columns:1fr}
  .sos-command-meta{justify-content:flex-start}
  .sos-actions,.sos-vitals,.sos-workflow-strip{grid-template-columns:1fr}
  .sos-nav{grid-template-columns:1fr 1fr}
  body.sundine-product-os .pos-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.sundine-product-os .menu-page{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){
  .sos-action:hover,.sos-nav a:hover,.sos-workflow-button:hover{transform:none}
}

/* 8.1 readable-copy layer: hide legacy mojibake and render a clean SaaS workspace. */
.sru-garbled-hidden{display:none!important}
body.sru-readable-copy .topbar,
body.sru-readable-copy .dropdown,
body.sru-readable-copy .capsule{
  display:none!important;
}
body.sru-readable-copy:not(.sos-surface-pos):not(.sos-surface-customer):not(.sos-surface-deploy) main.main > :not(.sru-page-summary):not(.sos-command-center):not(.sru-ops-guide){
  display:none!important;
}
.sru-readable-root{
  display:grid;
  gap:16px;
  color:var(--sos-ink);
}
.sru-readable-root .sru-hero,
.sru-page-summary,
.sru-module-card{
  border:1px solid var(--sos-line);
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--sos-shadow);
}
.sru-readable-root .sru-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:16px;
  align-items:center;
  padding:clamp(18px,3vw,32px);
}
.sru-kicker{
  color:#ea580c;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sru-readable-root h1,
.sru-page-summary h1{
  margin:8px 0 10px;
  color:#111827;
  font-size:clamp(30px,4.6vw,58px);
  line-height:1.05;
  letter-spacing:0;
}
.sru-readable-root p,
.sru-page-summary p,
.sru-module-card p{
  color:#475569;
  line-height:1.68;
  margin:0;
}
.sru-hero-panel{
  display:grid;
  gap:10px;
  padding:16px;
  border-radius:14px;
  border:1px solid #fed7aa;
  background:linear-gradient(180deg,#fff7ed,#ffffff);
}
.sru-hero-panel strong{font-size:24px;color:#c2410c}
.sru-link-grid,
.sru-module-grid,
.sru-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
}
.sru-link,
.sru-module-card,
.sru-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:48px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--sos-line);
  background:#fff;
  color:#111827;
  text-decoration:none;
  font-weight:900;
}
.sru-link.primary,
.sru-action.primary{
  border-color:#fb923c;
  background:linear-gradient(135deg,#fb923c,#f97316);
  color:#fff;
}
.sru-module-card{
  align-items:flex-start;
  flex-direction:column;
  min-height:128px;
}
.sru-module-card b{font-size:17px;color:#111827}
.sru-page-summary{
  display:grid;
  gap:14px;
  margin:0 0 16px;
  padding:18px;
}
.sru-page-summary h1{
  font-size:clamp(24px,2.7vw,38px);
}
.sru-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.sru-ops-guide{
  display:grid;
  gap:12px;
  margin:0 0 18px;
}
.sru-ops-guide-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:2px 0;
}
.sru-ops-guide-head h2{
  margin:4px 0 0;
  color:#111827;
  font-size:18px;
  line-height:1.25;
  letter-spacing:0;
}
.sru-ops-guide-head p{
  margin:4px 0 0;
  max-width:780px;
  color:#64748b;
  font-size:13px;
  line-height:1.55;
}
.sru-ops-status{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #bbf7d0;
  background:#ecfdf3;
  color:#15803d;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.sru-ops-status[data-tone="warn"]{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#c2410c;
}
.sru-ops-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}
.sru-ops-card,
.sru-ops-metric{
  min-height:104px;
  border:1px solid var(--sos-line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  color:#111827;
}
.sru-ops-card{
  display:grid;
  align-content:start;
  gap:8px;
  padding:13px;
}
.sru-ops-card span,
.sru-ops-metric span{
  color:#64748b;
  font-size:12px;
  font-weight:900;
}
.sru-ops-card b{
  color:#111827;
  font-size:15px;
  line-height:1.35;
}
.sru-ops-card p{
  margin:0;
  color:#475569;
  font-size:13px;
  line-height:1.55;
}
.sru-ops-metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.sru-ops-metric{
  display:grid;
  align-content:center;
  gap:5px;
  min-height:76px;
  padding:12px;
}
.sru-ops-metric b{
  overflow-wrap:anywhere;
  color:#0f172a;
  font-size:18px;
  line-height:1.2;
}
.sru-clean-command .sos-command-title,
.sru-clean-command .sos-kicker,
.sru-clean-command .sos-pill,
.sru-clean-command a,
.sru-clean-command button{
  letter-spacing:0;
}

body.sundine-product-os.sundine-login-route .auth-shell.sundine-login-repaired{
  display:grid!important;
  grid-template-columns:minmax(320px,430px) minmax(420px,680px);
  align-items:start!important;
  justify-content:center!important;
  gap:18px;
  width:100%;
  min-height:100vh!important;
  padding:clamp(16px,3vw,34px)!important;
}
body.sundine-product-os.sundine-login-route .auth-shell.sundine-login-repaired > .sos-command-center{
  width:100%;
  max-width:430px;
  margin:0;
}
body.sundine-product-os.sundine-login-route .auth-shell.sundine-login-repaired > .sru-page-summary{
  display:none!important;
}
body.sundine-product-os.sundine-login-route .auth-shell.sundine-login-repaired > .auth-card{
  width:100%!important;
  max-width:680px!important;
}

@container (max-width:560px){
  .sos-layout{
    grid-template-columns:1fr;
  }
  .sos-actions,
  .sos-vitals,
  .sos-workflow-strip{
    grid-template-columns:1fr;
  }
}

@media(max-width:820px){
  .sru-readable-root .sru-hero{grid-template-columns:1fr}
  .sru-ops-guide-head{display:grid;align-items:start}
  .sru-page-actions{display:grid;grid-template-columns:1fr}
  body.sundine-product-os.sundine-login-route .auth-shell.sundine-login-repaired{
    grid-template-columns:minmax(0,680px);
  }
}
