/* Taro POS's shared light-blue identity. Load after each surface's component styles. */
@font-face {
  font-family: "Taro POS Roboto";
  src: url("/fonts/Roboto-Variable.ttf") format("truetype-variations");
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 75% 100%;
  font-display: swap;
}
@font-face {
  font-family: "Taro POS Roboto";
  src: url("/fonts/Roboto-Variable-Italic.ttf") format("truetype-variations");
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 75% 100%;
  font-display: swap;
}
.trial-offer { padding: 16px; margin: 0 0 18px; border: 1px solid #c5e2f2; border-radius: 12px; background: #e0f2fc; color: #193b53; overflow-wrap: anywhere; }
.trial-offer strong { display: block; color: #07518d; font-size: 14px; }
.trial-offer p { margin: 7px 0 0; font-size: 12px; line-height: 1.6; }
:root {
  color-scheme: light;
  --taro-ui-font: "Taro POS Roboto", Roboto, "Noto Sans", "Noto Sans CJK KR", "Noto Sans CJK JP", "Malgun Gothic", "Yu Gothic", Arial, sans-serif;
  --font: var(--taro-ui-font);
  --sans: var(--taro-ui-font);
  --serif: var(--taro-ui-font);
  --brand-primary: #0969b5;
  --brand-primary-dark: #07518d;
  --brand-sky: #65c2ed;
  --brand-soft: #e0f2fc;
  --brand-canvas: #f3faff;
  --brand-line: #c5e2f2;
  --brand-ink: #193b53;
  --brand-muted: #58748a;
}
/* Keep the supplied artwork intact; frame its generous white margin in CSS. */
img[src*="taro-pos-logo.png"],img[src*="taro-pos-logo.png"],img[src*="marketing-assets/taro-pos-logo.webp"] {
  width: 112px; height: 74px; max-height: none;
  object-fit: cover; object-position: center; background: #fff; filter: none;
}
.logo-viewport { width: 122px; height: 80px; padding: 0; box-shadow: none; }
.logo-viewport img { width: 122px; height: 80px; }
.brand-logo-large .logo-viewport { width: 186px; height: 124px; padding: 0; box-shadow: none; }
.brand-logo-large .logo-viewport img { width: 186px; height: 124px; }
.brand img,.footer-brand img,.legal-brand img { width: 108px; height: 72px; }
.site-header .brand,.site-footer .brand { width: 108px; height: 72px; overflow: visible; }
.legal-brand { width: 108px; height: 72px; overflow: visible; }
.site-header,.legal-header { background: rgb(243 250 255 / 96%); }
.brand-preview { position: relative; width: 100%; padding: 24px; border: 1px solid var(--brand-line); border-radius: 24px; background: #fff; color: var(--brand-ink); box-shadow: 0 24px 65px rgb(9 105 181 / 12%); }
.brand-preview > header { display: grid; grid-template-columns: 100px 1fr; align-items: center; gap: 0 12px; margin-bottom: 22px; }
.brand-preview > header img { grid-row: 1 / 3; width: 100px; height: 66px; aspect-ratio: auto; padding: 0; object-fit: cover; }
.brand-preview > header span { align-self: end; color: var(--brand-muted); font-size: 9px; letter-spacing: .08em; }
.brand-preview > header b { align-self: start; font-size: 22px; }
.brand-preview-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.brand-preview-metrics article { min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--brand-line); border-radius: 14px; background: var(--brand-canvas); }
.brand-preview-metrics small,.brand-preview-metrics span,.brand-preview-chart small { color: var(--brand-muted); font-size: 10px; }
.brand-preview-metrics strong { color: var(--brand-primary); font-size: clamp(15px,2vw,23px); }
.brand-preview-chart { margin-top: 20px; padding: 18px; border: 1px solid var(--brand-line); border-radius: 14px; }
.brand-preview-chart > strong { font-size: 12px; }
.brand-preview-chart > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; height: 146px; margin: 12px 0; border-bottom: 1px solid var(--brand-line); background: repeating-linear-gradient(to top,transparent 0,transparent 35px,#edf7fd 36px); }
.brand-preview-chart i { flex: 1; height: var(--bar); border-radius: 6px 6px 0 0; background: linear-gradient(#65c2ed,#0969b5); }
.brand-preview > footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 20px; font-size: 11px; color: var(--brand-primary); }
.brand-preview > footer small { width: 100%; color: var(--brand-muted); font-size: 9px; }
.brand-preview-store { border-radius: 26px; box-shadow: none; }
.brand-preview-store .brand-preview-metrics { grid-template-columns: 1fr; }
.brand-preview-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.brand-preview-menu article { display: flex; flex-direction: column; gap: 8px; padding: 18px; border: 1px solid var(--brand-line); border-radius: 14px; font-size: 12px; }
.brand-preview-menu article > span { display: grid; place-items: center; height: 100px; background: var(--brand-soft); border-radius: 10px; font-size: 38px; }
.brand-preview-menu small { color: var(--brand-muted); font-size: 10px; }
.work-brand > span,.debug-logo,.register-logo,.login-mark { width: 100px; height: 66px; padding: 0; flex: none; }
.work-brand img,.debug-logo img,.register-logo img,.login-mark img { width: 100px; height: 66px; }
.brand > span:has(>img[src*="taro-pos-logo"]) { width: 100px; height: 66px; padding: 0; }
.cashier-rail-brand img { width: 82px; height: 56px; }
.public-library-brand img { width: 100px; height: 66px; max-height: none; }

/* The approved Taro lockup has no photo margins: show all of its lettering. */
img[src*="taro-pos-logo.png"],img[src*="marketing-assets/taro-pos-logo.webp"]{object-fit:contain;object-position:center;background:transparent;filter:none}
.logo-viewport,.logo-viewport img{width:172px;height:64px}
.brand-logo-large .logo-viewport,.brand-logo-large .logo-viewport img{width:250px;height:86px}
.brand img,.footer-brand img,.legal-brand img{width:166px;height:56px;object-fit:contain}
.site-header .brand,.site-footer .brand,.legal-brand{width:166px;height:64px;overflow:visible}
.brand-preview>header{grid-template-columns:130px 1fr}
.brand-preview>header img{width:130px;height:50px;object-fit:contain}
.work-brand>span,.debug-logo,.register-logo,.login-mark{width:142px;height:60px}
.work-brand img,.debug-logo img,.register-logo img,.login-mark img{width:142px;height:60px;object-fit:contain}
.cashier-rail-brand img{object-fit:contain}
@media(max-width:600px){.site-header .brand,.site-footer .brand,.legal-brand{width:136px}.brand img,.footer-brand img,.legal-brand img{width:136px;height:48px}}

/* Light-blue panels, white working areas, dark text, and blue actions. */
.auth-brand-panel { background: linear-gradient(145deg,#e0f2fc,#f3faff 65%,#fff); color: var(--brand-ink); }
.auth-brand-panel::before { background: radial-gradient(circle,#bce7fb,transparent 70%); }
.auth-brand-panel :is(.eyebrow,.auth-statement p,.auth-metrics span) { color: var(--brand-muted); }
.auth-brand-panel :is(h1,h1 em,.auth-metrics strong) { color: var(--brand-primary); }
.auth-metrics { border-color: var(--brand-line); }
.sidebar,.debug-sidebar { background: #fff; color: var(--brand-ink); border-right: 1px solid var(--brand-line); }
.sidebar :is(.nav-button,.sidebar-note,.identity-card),.debug-nav,.safety-note { color: var(--brand-ink); }
.sidebar .nav-button > b,.debug-nav > span { background: var(--brand-soft); color: var(--brand-primary); }
.sidebar .nav-button:hover,.debug-nav:hover { background: var(--brand-canvas); }
.sidebar .nav-button.active,.debug-nav.active { background: var(--brand-soft); color: var(--brand-primary-dark); }
.sidebar-note,.safety-note { background: var(--brand-canvas); border-color: var(--brand-line); }
.sidebar-note :is(strong,span),.safety-note { color: var(--brand-muted); }
.identity-card > span { color: #fff; }

.cashier-workstation { --cashier-navy: #f3faff; --cashier-deep: #e0f2fc; --cashier-panel: #fff; color: var(--brand-ink); }
.cashier-rail,.cashier-worktop,.cashier-dock { background: #fff; color: var(--brand-ink); border-color: var(--brand-line); box-shadow: none; }
.cashier-rail { border-right: 1px solid var(--brand-line); }
.cashier-rail nav :is(a,button) { color: var(--brand-muted); }
.cashier-rail nav :is(a:hover,button:hover,.active) { color: var(--brand-primary); background: var(--brand-soft); }
.cashier-worktop-actions :is(a,button) { color: var(--brand-primary); background: var(--brand-canvas); border-color: var(--brand-line); }
.cashier-worktop .cashier-store { color: var(--brand-muted); }
.cashier-table-board,.cashier-catalog-board,.cashier-member-board,.cashier-orders-board { background: var(--brand-canvas); color: var(--brand-ink); }
.cashier-table { background: #fff; border: 1px solid var(--brand-line); color: var(--brand-ink); }
.cashier-table.selected { background: var(--brand-soft); border-color: var(--brand-primary); box-shadow: 0 0 0 2px #bce7fb; }
.cashier-table small { color: var(--brand-muted); }
.cashier-table.occupied{border:2px solid #ef9b55;background:linear-gradient(145deg,#fff4e8,#ffe2c4);color:#6e3510;box-shadow:0 7px 18px rgba(130,66,20,.16)}
.cashier-table.occupied .cashier-table-state{display:inline-flex;width:auto;margin:12px auto 8px;padding:4px 8px;border-radius:999px;background:#b84a24;color:#fff;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.cashier-table.occupied>b,.cashier-table.occupied>em{display:block;font-size:10px;font-style:normal;line-height:1.45}.cashier-table.occupied>em{color:#9b4a1e}.cashier-table.occupied small{color:#8c5b3a}
.cashier-filter-rail,.cashier-catalog-categories { background: #e0f2fc; color: var(--brand-ink); }
.cashier-catalog-categories button { color: var(--brand-ink); }
.cashier-catalog-categories small { color: var(--brand-muted); }
.cashier-catalog-categories button.active { background: #fff; color: var(--brand-primary); box-shadow: inset 3px 0 var(--brand-primary); }
.cashier-catalog-toolbar > strong { color: var(--brand-ink); }
.cashier-dock a.active { border-color: var(--brand-primary); outline-color: #97cdeb; }
.cashier-dark-empty { color: var(--brand-muted); }
.cashier-ticket-meta span:nth-child(3) { color: var(--brand-primary-dark); background: var(--brand-soft); }
.cashier-product-grid .product-body { background: rgb(255 255 255 / 96%); color: var(--brand-ink); }
.cashier-product-grid .product-name { color: var(--brand-ink); }
.cashier-product-grid .product-price { color: var(--brand-primary-dark); }

/* Marketing and documentation use the same light surfaces as the product. */
.feature-rust,.feature-dark,.hardware-section,.final-cta,.safety { background: var(--brand-soft); border-color: var(--brand-line); color: var(--brand-ink); }
.feature-rust .feature-icon,.feature-dark .feature-icon { background: #fff; border-color: var(--brand-line); color: var(--brand-primary); }
.feature-rust .feature-number,.feature-dark .feature-number { color: var(--brand-primary); }
.feature-rust p,.feature-dark p,.hardware-section .section-heading > p:last-child,.final-cta p:last-child { color: var(--brand-muted); }
.hardware-section .eyebrow,.final-cta .eyebrow { color: var(--brand-primary); }
.code-window,.code-head,.code-status,.response-shell,.code-block,.sql-editor-card textarea,.sql-card textarea {
  background: #f3faff; color: var(--brand-ink); border-color: var(--brand-line);
}
.code-window :is(pre,code),.response-shell :is(pre,code) { color: var(--brand-ink); }
.login-shell { background: radial-gradient(circle at 15% 20%,#c7ebfc,transparent 45%),linear-gradient(135deg,#f3faff,#fff); color: var(--brand-ink); }
.login-card { background: #fff; border-color: var(--brand-line); box-shadow: 0 22px 65px rgb(9 105 181 / 12%); }
.login-card :is(.eyebrow,.login-copy,label span) { color: var(--brand-muted); }
.login-card input { background: #f3faff; color: var(--brand-ink); border-color: var(--brand-line); }
.hero-status { background: linear-gradient(130deg,#e0f2fc,#fff); color: var(--brand-ink); border: 1px solid var(--brand-line); }
.hero-status :is(p,small,.eyebrow) { color: var(--brand-muted); }

.public-library-shell,.public-library-loading { background: #f3faff; color: var(--brand-ink); }
.public-library-header { background: #fff; color: var(--brand-ink); border-color: var(--brand-line); }
.public-library-brand small,.public-library-clock small { color: var(--brand-muted); }
.public-library-stage { background: var(--brand-soft); }
.public-library-fullscreen { background: var(--brand-soft); color: var(--brand-primary); border-color: var(--brand-line); }
.public-library-queue { background: #fff; }
.public-library-called-list strong:first-child { background: var(--brand-soft); color: var(--brand-primary-dark); }
.guest-header { background: #fff; color: var(--brand-ink); border-bottom: 1px solid var(--brand-line); }
.guest-brand { color: var(--brand-ink); }
.guest-header :is(button,select) { background: var(--brand-canvas); color: var(--brand-ink); border-color: var(--brand-line); }
.guest-hero { background: linear-gradient(125deg,#e0f2fc,#f3faff); color: var(--brand-ink); box-shadow: 0 16px 40px rgb(9 105 181 / 8%); }
.guest-hero :is(p,small) { color: var(--brand-muted); }

@media(max-width:620px) {
  .site-header .brand,.site-footer .brand { width: 84px; height: 56px; }
  .brand img,.legal-brand img { width: 84px; height: 56px; }
  .work-brand > span,.work-brand img,.register-logo,.register-logo img { width: 84px; height: 56px; }
  .cashier-rail-brand img { width: 60px; height: 42px; }
  .public-library-brand img { width: 76px; height: 50px; }
}
/* Admin accents are blue; semantic error/warning colors remain distinct. */
.avatar,.cart-count,.stock-mode.recipe,.product-minimum { background: var(--brand-soft); color: var(--brand-primary-dark); }
.product-visual { background: linear-gradient(145deg,#e0f2fc,#f3faff); color: var(--brand-primary); }
.auth-statement h1 em { color: #67c5f5; }
.dashboard-statistics-grid article:nth-child(3) .dashboard-breakdown-track i { background: linear-gradient(90deg,#0969b5,#67c5f5); }
.finance-footnote,.migration-guide aside { background: var(--brand-soft); color: var(--brand-muted); }

/* Edge-to-edge drawers: only the content scrolls, not the header/actions. */
.modal-backdrop:has(.modal.drawer) { padding: 0; overflow: hidden; }
.modal.drawer { display: flex; flex-direction: column; height: 100vh; height: 100dvh; max-height: 100%; margin: 0 0 0 auto; overflow: hidden; }
.modal.drawer .modal-head,.modal.drawer .modal-foot { flex: 0 0 auto; background: #fff; }
.modal.drawer .modal-body { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.modal.drawer .modal-foot { position: static; padding-bottom: max(14px,env(safe-area-inset-bottom)); }
.modal.drawer .form-grid { align-content: start; }
.modal.drawer .form-grid > * { min-width: 0; }
body:has(.modal-backdrop) { overflow: hidden; }
.customer-menu-settings:has(.outlet-qr-card) { grid-template-areas: "form qr" "form preview"; grid-template-rows: auto 1fr; }
.customer-menu-settings:has(.outlet-qr-card) .customer-menu-form { grid-area: form; min-width: 0; }
.customer-menu-settings:has(.outlet-qr-card) .customer-menu-preview-column { grid-area: preview; position: static; min-width: 0; }
.outlet-qr-card { grid-area: qr; min-width: 0; padding: 20px; }
.outlet-qr-card h2 { margin: 0 0 6px; }
.outlet-qr-card header p { color: var(--brand-muted); }
.outlet-qr-card figure { margin: 18px 0; text-align: center; }
.outlet-qr-card figure img { display: block; width: min(100%,240px); height: auto; margin: 0 auto 12px; background: #fff; }
.outlet-qr-card figcaption { display: grid; gap: 8px; }
.outlet-qr-card figcaption a { overflow-wrap: anywhere; color: var(--brand-primary); }
.outlet-qr-card .store-qr-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.outlet-qr-card .qr-compatibility { margin-top: 16px; }
@media(max-width:1050px) {
  .customer-menu-settings:has(.outlet-qr-card) { display: grid; grid-template-columns: minmax(0,1fr); grid-template-areas: "qr" "form" "preview"; grid-template-rows: auto; }
}
@media(max-width:620px) {
  .modal.drawer .modal-body { padding: 16px; }
  .modal.drawer .modal-head { padding: 16px; }
  .modal.drawer .modal-foot { padding-inline: 16px; }
  .modal.drawer .form-grid { grid-template-columns: minmax(0,1fr); }
}
.integration-coming-soon { padding: 18px 22px; border: 1px solid var(--brand-line); border-radius: 12px; background: var(--brand-soft); color: var(--brand-primary-dark); }
.button.primary { box-shadow: 0 8px 20px rgb(9 105 181 / 14%); }
.integration-coming-soon p { margin: 6px 0 0; color: var(--brand-muted); }
.member-points-settings .point-scope-options label { flex-direction: row; cursor: pointer; }
.member-points-settings .point-scope-options input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
.member-points-settings .member-point-rule-head { align-items: center; }
.member-points-settings .member-point-rule-head > div { flex: 1; min-width: 0; }
.member-points-settings input.switch-control { appearance: none; position: relative; width: 48px; height: 28px; min-height: 28px; flex: 0 0 48px; border: 0; border-radius: 999px; margin: 0; padding: 0; background: #cbd5df; cursor: pointer; }
.member-points-settings input.switch-control::after { content: ''; position: absolute; width: 22px; height: 22px; top: 3px; left: 3px; background: #fff; border-radius: 50%; box-shadow: 0 2px 4px #193b5333; transition: transform .15s; }
.member-points-settings input.switch-control:checked { background: var(--brand-primary); }
.member-points-settings input.switch-control:checked::after { transform: translateX(20px); }
.member-points-settings input.switch-control:focus-visible { outline: 3px solid #67c5f5; outline-offset: 3px; }
.member-points-settings .point-equation { align-items: center; }
.member-points-settings .point-equation label { flex: 1 1 150px; min-width: 0; flex-direction: row; gap: 0; min-height: 48px; }
.member-points-settings .point-equation input { width: 100%; flex: 1; }
.member-points-settings .point-equation label:focus-within { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.item-special-switches > label { flex-direction: row; }
.item-special-switches > label input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }
.qr-preview > p { overflow-wrap: anywhere; }
@media(max-width:560px) {
  .member-points-settings .point-equation { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
  .member-points-settings .point-equation > strong { text-align: center; }
  .modal-foot:has(#copy-table-qr) { flex-wrap: wrap; }
}
@media print {
  body { background: #fff; color: #111; }
  /* Receipts remain high contrast and economical on thermal printers. */
}
.service-trial,.service-payment-help{padding:24px;border:1px solid #b9def7;border-radius:16px;background:#f2faff;color:#163b58;min-width:0}
.service-trial h3,.service-payment-help h3{margin:0 0 12px}.service-payment-help li{margin-bottom:10px}.service-payment-help ol{padding-left:24px}.service-trial p{margin:8px 0}

/* Subscription catalogue and provider billing */
.subscription-period-switch{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;padding:8px;border:1px solid #cbe3f2;border-radius:16px;background:#f6fbfe}.subscription-period-switch button{display:flex;min-height:58px;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:11px;background:transparent;color:#42627a;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.subscription-period-switch button strong{font-size:18px}.subscription-period-switch button small{display:block;margin-left:4px;color:#68859a;font-size:9px}.subscription-period-switch button.active{border-color:#78b8e1;background:#fff;color:#0969b5;box-shadow:0 7px 18px rgba(20,88,132,.1)}.subscription-period-switch.compact{margin:4px 0 18px}
.subscription-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.subscription-plan-choice{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #cce3f1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(24,73,105,.07)}.subscription-plan-choice.featured{border-color:#4d9bd0}.subscription-plan-choice.current:after{content:'Current';position:absolute;right:14px;top:14px;padding:5px 9px;border-radius:999px;background:#e4f3fc;color:#075f9a;font-size:9px;font-weight:850;text-transform:uppercase}.subscription-plan-choice>header{min-height:110px;padding:22px 24px;background:linear-gradient(135deg,#eef8fe,#fff)}.subscription-plan-choice.featured>header{background:linear-gradient(135deg,#0969b5,#2b8bc5);color:#fff}.subscription-plan-choice>header>span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.subscription-plan-choice h3{margin:7px 0 5px;font-size:28px}.subscription-plan-choice header p{margin:0;font-size:11px;line-height:1.45}.subscription-price{display:flex;min-height:82px;align-items:baseline;flex-wrap:wrap;gap:6px;padding:18px 24px;border-bottom:1px solid #e0edf5}.subscription-price del{flex-basis:100%;color:#889aa7;font-size:11px}.subscription-price strong{color:#173b57;font-size:24px}.subscription-price span{color:#6a8191;font-size:10px}.subscription-plan-choice>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;flex:1;margin:0;padding:20px 24px;list-style:none}.subscription-plan-choice>ul li{display:flex;gap:8px;color:#36556b;font-size:10px;line-height:1.4}.subscription-plan-choice>ul i{color:#0969b5;font-style:normal;font-weight:900}.subscription-plan-choice>.button{margin:0 24px 22px}
.subscription-addon-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:13px}.subscription-addon-choice{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;min-height:175px;padding:18px;border:1px solid #cfe5f2;border-radius:14px;background:#fff}.subscription-addon-choice>.service-icon{width:46px;height:46px;border-color:#cbe5f4;background:#edf8fe;color:#0969b5}.subscription-addon-choice h3{margin:3px 0 8px;color:#173b57;font-size:15px}.subscription-addon-choice del{display:block;margin-bottom:2px;color:#8c9ba5;font-size:9px}.subscription-addon-choice strong{display:block;color:#173b57;font-size:14px}.subscription-addon-choice strong small{color:#718594;font-size:8px;font-weight:500}.subscription-addon-choice ul{display:grid;gap:4px;margin:10px 0 0;padding:0;list-style:none;color:#587185;font-size:9px}.subscription-addon-choice>.tiny-button{grid-column:1/-1;align-self:end;justify-self:stretch}.subscription-addon-choice.blocked{background:#f5f7f8;opacity:.72}.subscription-addon-choice button:disabled,.subscription-plan-choice button:disabled{cursor:not-allowed;opacity:.65}.subscription-addons>header{text-align:center;justify-content:center}.subscription-addons>header p{max-width:700px}
.subscription-payment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subscription-payment-form>label{display:grid;gap:6px}.subscription-payment-form>.full,.subscription-outlet-picker{grid-column:1/-1}.subscription-payment-form label>small{color:#738695;font-size:9px}.subscription-payment-summary{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:12px;background:#edf8fe;color:#173b57}.subscription-payment-summary>span{font-weight:800}.subscription-payment-summary strong{font-size:18px}.subscription-payment-summary small{font-size:9px;font-weight:500}.subscription-outlet-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:13px 15px;border:1px solid #d7e6ef;border-radius:10px}.subscription-outlet-picker legend{padding:0 6px;color:#173b57;font-size:10px;font-weight:800}.subscription-outlet-picker label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px;background:#f7fafc;font-size:10px}.subscription-outlet-picker input{width:16px;height:16px;min-height:0}.currency-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid #d7dfda;border-radius:8px;background:#fff}.currency-field span{padding:0 10px;color:#71818b}.currency-field input{border:0!important;box-shadow:none!important}.subscription-payment-total{align-self:end;display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0}.subscription-payment-total strong{color:#0969b5;font-size:19px}.subscription-payment-total small{grid-column:1/-1;color:#718594;text-align:right}
.provider-current-subscription{padding:18px;border:1px solid #cce3f1;border-radius:13px;background:#f7fcff}.provider-current-subscription header{display:flex;align-items:center;justify-content:space-between}.provider-current-subscription header span{color:#728797;font-size:10px}.provider-current-subscription header strong{font-size:18px}.provider-current-subscription p{margin:9px 0;color:#5c7282;font-size:10px}.provider-plan-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.provider-plan-picker .subscription-plan-choice>header{min-height:86px;padding:16px 18px}.provider-plan-picker .subscription-plan-choice h3{font-size:21px}.provider-plan-picker .subscription-price{min-height:62px;padding:12px 18px}.provider-plan-picker .subscription-price strong{font-size:18px}.provider-plan-picker .subscription-plan-choice>ul{padding:15px 18px}.provider-plan-picker .subscription-plan-choice>.button{margin:0 18px 17px}.provider-addon-picker{margin-top:20px}.provider-addon-picker>header h3,.provider-subscription-history h3{margin:0;color:#173b57}.provider-addon-picker>header p{margin:5px 0 12px;color:#718594;font-size:10px}.provider-subscription-history{margin-top:20px}.provider-subscription-history article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e4edf2}.provider-subscription-history article span{display:grid;gap:3px}.provider-subscription-history article small{color:#718594;font-size:9px}.provider-subscription-history article b{color:#173b57;font-size:11px}
@media(max-width:900px){.subscription-addon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.subscription-period-switch{grid-template-columns:repeat(2,1fr)}.subscription-plan-grid,.provider-plan-picker,.subscription-payment-form{grid-template-columns:1fr}.subscription-plan-choice>ul{grid-template-columns:1fr}.subscription-addon-grid{grid-template-columns:1fr}.subscription-payment-form>.full,.subscription-outlet-picker{grid-column:1}.subscription-outlet-picker{grid-template-columns:1fr}}

/* One locally bundled interface face across POS, back office, and public pages. */
html,
body,
body *:not(code):not(pre):not(kbd):not(samp) {
  font-family: var(--taro-ui-font) !important;
}
body :is(code,pre,kbd,samp),
body :is(.code-block,.response-shell,.sql-editor-card) textarea {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace !important;
}
html body .pos-checkout-screen,
html body .pos-checkout-screen * {
  font-family: var(--taro-ui-font) !important;
}

/* Taro uses a tightly framed horizontal lockup. Never apply the previous
   square-artwork zoom or negative offsets to these brand images. */
html body img[src*="taro-pos-logo"] {
  display:block;position:static!important;inset:auto!important;
  width:142px!important;height:56px!important;max-width:100%!important;max-height:100%!important;
  margin:0!important;padding:0!important;transform:none!important;translate:none!important;
  object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;
  clip-path:none!important;filter:none!important;background:transparent!important;
}
.brand-logo .logo-viewport{display:block;width:172px;height:64px;max-width:100%;padding:0;overflow:visible;background:transparent;box-shadow:none}
.brand-logo-large .logo-viewport{width:250px;height:86px}
html body .logo-viewport img[src*="taro-pos-logo"],html body #site-header .brand img[src*="taro-pos-logo"]{width:100%!important;height:100%!important}
#site-header .brand{display:flex;align-items:center;justify-content:center;width:166px;height:64px;overflow:visible}
.brand-preview>header{grid-template-columns:146px minmax(0,1fr);gap:0 14px}
html body .brand-preview>header img[src*="taro-pos-logo"]{width:146px!important;height:54px!important;max-width:146px!important;max-height:54px!important;align-self:center}
@media(max-width:600px){#site-header .brand{width:136px;height:54px}.brand-preview>header{grid-template-columns:116px minmax(0,1fr);gap:0 10px}html body .brand-preview>header img[src*="taro-pos-logo"]{width:116px!important;height:44px!important;max-width:116px!important;max-height:44px!important}}
