/* SmartPOS 2.0 – 2026 design system. Loaded after legacy CSS; scoped to the app shell.
   Brand palette is scoped per authenticated business. Print-specific rules remain in their original files. */
:root{--sp-primary:#805477;--sp-accent:#CF9860;--sp-ink:#1c2739;--sp-muted:#637188;--sp-line:#e5e9ef;--sp-bg:#f6f8fb;--sp-card:#fff;--sp-radius:16px;--sp-soft:#f7f3f6}
html,body,#app{min-height:100%;font-family:Inter,'Segoe UI',Arial,sans-serif!important}
body{background:#f6f8fb!important;color:#1c2739!important}
.sp-app{min-height:100vh;background:var(--sp-bg);color:var(--sp-ink)}
.sp-app a{color:var(--sp-primary)}
.sp-app .sp-appbar,.sp-app .main-appbar,.sp-app .mud-appbar{background:#fff!important;background-image:none!important;border-bottom:1px solid var(--sp-line)!important;color:var(--sp-ink)!important;box-shadow:none!important;min-height:70px}
.sp-app .sp-appbar .mud-icon-root{color:var(--sp-ink)!important}
.sp-app .sp-menu-button{border:1px solid #edf0f5;border-radius:12px!important;margin-right:14px}
.sp-topbar-brand{display:flex;align-items:center;gap:11px;min-width:0}
.sp-brand-logo{max-height:40px;max-width:46px;width:auto;object-fit:contain;background:#fff;border-radius:9px}
.sp-logo-fallback{display:grid;place-items:center;font-size:15px;font-weight:800;color:white;background:#28344a;width:40px;height:40px;border-radius:12px}
.sp-topbar-title{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.sp-topbar-title strong{font-size:15px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#202a3c}
.sp-topbar-title small{color:#7b8595;font-size:11px;margin-top:3px}
.sp-topbar-sale,.sp-topbar-help{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none!important;white-space:nowrap}
.sp-app .sp-topbar-sale{background:var(--sp-primary);color:white!important;margin:0 12px}.sp-app .sp-topbar-sale .mud-icon-root{color:#fff!important}
.sp-app .sp-topbar-help{color:#66758a!important;margin:0 12px}.sp-app .sp-topbar-help:hover{background:#f2f4f8}
.sp-user-avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#f0e7ed;color:var(--sp-primary);font-weight:800;font-size:14px}
.sp-app .sp-drawer,.sp-app .main-drawer{background:#fff!important;border-right:1px solid var(--sp-line)!important;box-shadow:none!important;width:250px}
.sp-navigation{display:flex;flex-direction:column;height:calc(100vh - 70px);min-height:350px;padding:15px 10px 12px;background:#fff}
.sp-navigation .sp-nav-overline{font-size:10px;letter-spacing:.12em;color:#929ca9;font-weight:800;margin:8px 14px 12px}
.sp-navigation .sp-nav-items{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:12px}
.sp-navigation .mud-nav-link{margin:2px 3px!important;min-height:41px!important;border-radius:10px!important;padding:8px 12px!important;color:#465365!important;font-size:13px!important;font-weight:550!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.sp-navigation .mud-nav-link:hover{background:#f6f7fa!important;color:var(--sp-primary)!important}
.sp-navigation .mud-nav-link.active{background:var(--sp-soft)!important;color:var(--sp-primary)!important;font-weight:750!important;border-left:3px solid var(--sp-primary)!important}
.sp-navigation .mud-nav-link .mud-icon-root{font-size:19px!important;color:#758294!important;margin-right:12px!important}
.sp-navigation .mud-nav-link.active .mud-icon-root{color:var(--sp-primary)!important}
.sp-nav-group{margin-top:15px;border:0}.sp-nav-group>summary{font-size:10px;letter-spacing:.1em;color:#8b94a3;font-weight:850;padding:12px 14px 7px;cursor:pointer;list-style:none}.sp-nav-group>summary::after{content:'⌄';float:right;color:#9ca6b6;font-size:14px}.sp-nav-group:not([open])>summary::after{content:'›'}.sp-nav-group>summary::-webkit-details-marker{display:none}
.sp-plan-nav-note{margin:12px 6px;background:#fff6e9;color:#7b5425;border:1px solid #f2e0c1;padding:12px;border-radius:11px;font-size:11px;line-height:1.6}.sp-plan-nav-note .mud-icon-root{vertical-align:middle;margin-right:4px;font-size:15px!important}.sp-plan-nav-note a{font-weight:800;display:block}
.sp-nav-bottom{margin-top:auto;border-top:1px solid var(--sp-line);padding:12px 4px 0}.sp-nav-user{display:flex;align-items:center;gap:10px;padding:6px}.sp-nav-user div{display:flex;flex-direction:column;min-width:0}.sp-nav-user strong{color:#2b3444;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sp-nav-user small{color:#8792a0;font-size:11px;margin-top:3px}.sp-logout{width:100%;display:flex;align-items:center;gap:10px;padding:11px;border-radius:10px;border:0;background:transparent;color:#af4753;font-size:12px;cursor:pointer;text-align:left}.sp-logout:hover{background:#fff3f3}
.sp-app .sp-main-content,.sp-app .main-content,.sp-app .mud-main-content{background:#f6f8fb!important;background-image:none!important;color:var(--sp-ink)!important;min-height:calc(100vh - 70px)!important}
.sp-content-container{padding:clamp(18px,2.5vw,36px);margin:0 auto;max-width:1550px}
.sp-app :is(h1,h2,h3,h4,.mud-typography-h3,.mud-typography-h4,.mud-typography-h5,.mud-typography-h6){color:#1f2b3d!important;text-shadow:none!important}
.sp-app .mud-typography-body2,.sp-app .mud-typography-caption{color:#66758a}
.sp-app .dashboard-title,.sp-app .report-page .dashboard-title{color:#233045!important}
.sp-app .report-brand-strip{background:#fff!important;border:1px solid var(--sp-line)!important;box-shadow:none!important;color:var(--sp-ink)!important;border-radius:14px!important;min-height:88px}
.sp-app .report-brand-name,.sp-app .report-brand-copy{color:#1f2b3d!important}
.sp-app .stats-card,.sp-app .stat-card,.sp-app .p2-panel,.sp-app .business-panel,.sp-app .business-metric,.sp-app .p2-kpis>div,.sp-app .mud-paper:not(.mud-popover):not(.mud-dialog){background:#fff!important;color:#1f2b3d!important;box-shadow:0 3px 18px rgba(29,42,62,.035)!important;border:1px solid #e4e8ee!important;border-radius:14px!important}
.sp-app .stats-card,.sp-app .stat-card{background-image:none!important;border-left:1px solid #e4e8ee!important;border-top:1px solid #e4e8ee!important;min-height:140px;transform:none!important}
.sp-app .stats-card *, .sp-app .stat-card *{text-shadow:none!important}
.sp-app :is(.stats-value,.stat-value){color:#1c2b41!important;font-size:clamp(25px,2.5vw,35px)!important;font-weight:750!important}
.sp-app :is(.stats-label,.stat-label,.stats-trend,.stat-subtitle){color:#657388!important}
.sp-app .stats-icon,.sp-app .stat-icon{opacity:1!important;color:var(--sp-primary)!important;background:#f6eff4!important;border-radius:10px!important;width:42px;height:42px;display:grid;place-items:center}
.sp-app .stats-icon .mud-icon-root,.sp-app .stat-icon .mud-icon-root{color:var(--sp-primary)!important;font-size:22px!important;width:22px;height:22px}
.sp-app .mud-icon-root{max-width:1.35em;max-height:1.35em;flex-shrink:0}
.sp-app .mud-table,.sp-app .mud-table-container,.sp-app .business-table-scroll{background:#fff!important;border-radius:12px!important;max-width:100%;overflow-x:auto}
.sp-app .mud-table-head th,.sp-app .business-table th{background:#f8f9fb!important;color:#667286!important;font-weight:750!important;font-size:12px!important}
.sp-app .mud-table td,.sp-app .business-table td{color:#263347!important;border-bottom:1px solid #edf0f3!important}
.sp-app :is(input,select,textarea){color:#1f2b3d}
.sp-app .mud-button-filled-primary,.sp-app .p2-button:not(.p2-outline),.sp-app .business-primary{background:var(--sp-primary)!important;border-color:var(--sp-primary)!important;color:#fff!important;box-shadow:none!important}
.sp-app .p2-link,.sp-app .business-secondary,.sp-app a{transition:background .15s,color .15s}
.sp-app .p2-screen,.sp-app .business-admin-shell{color:#263245!important}
.sp-app .p2-head h1,.sp-app .business-admin-heading h1{font-size:clamp(25px,2.7vw,33px)!important;color:#263245!important}
.sp-app .p2-panel p,.sp-app .p2-head p,.sp-app .business-admin-heading p{color:#728094!important}
.sp-app .sp-plan-banner{display:flex;gap:12px;align-items:flex-start;background:#fff9ed;color:#79561f;border:1px solid #eadaba;border-radius:13px;padding:14px 17px;margin-bottom:22px;font-size:13px;line-height:1.55}.sp-plan-banner strong{color:#705021}.sp-plan-banner a{font-weight:750}
.sp-page{max-width:1400px;margin:0 auto;color:#1f2b3d}.sp-eyebrow{letter-spacing:.14em;color:var(--sp-primary);font-size:10px;font-weight:850;margin-bottom:9px}.sp-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:4px 0 27px}.sp-page-heading h1{font-size:clamp(26px,3vw,34px)!important;line-height:1.2;font-weight:760;margin:2px 0 8px!important}.sp-page-heading p{font-size:14px;line-height:1.6;color:#69778a;max-width:640px;margin:0}
.sp-button-primary,.sp-button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:10px;border:1px solid transparent;text-decoration:none!important;font-size:13px;font-weight:750;cursor:pointer;white-space:nowrap}.sp-app .sp-button-primary{background:var(--sp-primary)!important;color:#fff!important}.sp-app .sp-button-primary .mud-icon-root{color:#fff!important}.sp-app .sp-button-secondary{background:#fff;color:var(--sp-primary)!important;border-color:#dfe4eb}.sp-app .sp-button-secondary .mud-icon-root{color:var(--sp-primary)!important}.sp-button-primary:disabled{opacity:.6;cursor:not-allowed}
.sp-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.sp-metric{padding:21px 22px;background:white;border:1px solid #e4e8ee;border-radius:15px;box-shadow:0 3px 18px #27364a06;display:flex;flex-direction:column;gap:8px;min-width:0}.sp-metric-label{display:flex;align-items:center;justify-content:space-between;color:#788598;font-size:12px;font-weight:650}.sp-metric-label .mud-icon-root{color:var(--sp-primary);background:#f7eef3;padding:6px;box-sizing:content-box;border-radius:9px}.sp-metric>span{color:#788598;font-size:13px}.sp-metric strong{font-size:clamp(23px,2.1vw,31px);color:#1e2b3e;line-height:1.25;overflow-wrap:anywhere}.sp-metric small{color:#8b96a6;font-size:11px}
.sp-dashboard-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:20px;align-items:start}.sp-panel{background:#fff;border:1px solid #e4e8ee;border-radius:16px;padding:clamp(18px,2vw,26px);box-shadow:0 3px 18px #27364a06;min-width:0;margin-bottom:18px}.sp-panel h2{color:#1e2b3e!important;font-size:19px;margin:0 0 13px;font-weight:750}.sp-panel>p{color:#69778a;font-size:13px;line-height:1.65}.sp-panel-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:14px}.sp-panel-heading h2{margin:0}
.sp-quick-links{display:flex;flex-direction:column;gap:3px}.sp-app .sp-quick-links>a{display:flex;align-items:center;gap:13px;text-decoration:none!important;padding:13px 9px;border-radius:11px;color:#2b3547!important}.sp-quick-links>a:hover{background:#f6f7fa}.sp-quick-links>a>.mud-icon-root{color:var(--sp-primary)!important;flex-shrink:0}.sp-quick-links>a>div{display:flex;flex-direction:column;gap:3px;flex:1}.sp-quick-links strong{font-size:13px;color:#293649}.sp-quick-links span{font-size:12px;color:#8692a0}.sp-stock-count{display:flex;align-items:center;gap:12px;padding:15px 0;color:#3a715a}.sp-stock-count strong{font-size:32px;color:#1e2b3e}.sp-stock-count>span{font-size:13px;color:#7f8a99}.sp-stock-warning{color:#b7782a}.sp-help-prompt{border-top:1px solid var(--sp-line);padding:17px 0 0;margin:20px 0 0;display:flex;align-items:center;gap:10px;font-size:12px;color:#788599}.sp-help-prompt .mud-icon-root{color:#b48d42}
.sp-form-error{background:#fff2f2;color:#9b3744;border:1px solid #ecc9cb;border-radius:11px;padding:13px 15px;margin:14px 0;font-size:13px;line-height:1.6}.sp-success{background:#ecf8f1;color:#27744d;border:1px solid #cbe9d6;border-radius:11px;padding:13px 15px;margin:14px 0;font-size:13px}.sp-loading{display:flex;align-items:center;gap:12px;color:#738094}.sp-plan-banner .mud-icon-root{color:#b18037!important}
.sp-brand-preview{display:flex;align-items:center;gap:17px;background:#f8f9fb;border-radius:12px;padding:17px;margin-bottom:22px}.sp-brand-preview-img{max-width:85px;max-height:80px;object-fit:contain}.sp-brand-preview>div{display:flex;flex-direction:column;gap:6px}.sp-brand-preview>div strong{font-size:16px}.sp-brand-preview>div span{font-size:12px;color:#738094;line-height:1.5}.sp-label{display:block;color:#3c485a;font-size:13px;font-weight:750;margin-bottom:9px}.sp-field-help{font-size:12px!important;color:#8691a0!important;line-height:1.6;margin:12px 0!important}.sp-color-settings{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:20px 0}.sp-color-settings label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:12px;color:#4d596e}.sp-color-settings input{width:100%;height:43px;cursor:pointer;border:1px solid #e1e4e9;border-radius:8px;background:white;padding:5px}.sp-color-settings small{font-size:11px;color:#919cab}.sp-theme-preview{border:1px solid #e5e8ed;border-radius:12px;overflow:hidden}.sp-theme-preview-top{background:var(--sp-primary);color:white;padding:12px 14px;display:flex;align-items:center;gap:10px}.sp-theme-swatch{width:23px;height:23px;border-radius:6px;background:white}.sp-theme-preview-body{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8f9fb;font-size:12px}.sp-theme-preview-body button{background:var(--sp-primary);color:white;border:0;border-radius:8px;padding:10px;font-size:11px}.sp-theme-preview-body i{color:var(--sp-accent);font-style:normal;font-weight:800}.sp-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.sp-next-steps{margin-top:6px}
.sp-onboarding-steps{display:flex;flex-direction:column;gap:16px;margin:15px 0 25px}.sp-onboarding-steps>div{display:flex;align-items:flex-start;gap:13px}.sp-onboarding-steps>div>span{display:grid;place-items:center;min-width:29px;height:29px;border-radius:9px;background:#f3eaf0;color:var(--sp-primary);font-size:12px;font-weight:850}.sp-onboarding-steps>div>div{display:flex;flex-direction:column;gap:5px}.sp-onboarding-steps strong{font-size:13px;color:#304053}.sp-onboarding-steps small{font-size:12px;color:#7b8899;line-height:1.5}.sp-onboarding-steps a{font-weight:750;font-size:12px}.sp-faq>details{padding:15px 0;border-bottom:1px solid var(--sp-line)}.sp-faq summary{font-size:13px;font-weight:700;cursor:pointer;color:#334257}.sp-faq p{font-size:12px;line-height:1.7;color:#697789;margin:12px 0 0}
/* Standalone login deliberately uses the platform identity, not one tenant's brand. */
.sp-login-layout{width:100%;min-height:100vh;background:#f8f9fc!important}.sp-login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(400px,1fr) minmax(430px,1fr);font-family:Inter,'Segoe UI',sans-serif;color:#223046}.sp-login-intro{background:#242c3c;color:#fff;min-height:100vh;padding:clamp(35px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.sp-login-intro::after{content:'';position:absolute;width:480px;height:480px;border:1px solid #ffffff12;border-radius:50%;right:-250px;bottom:-150px;pointer-events:none}.sp-login-brand{display:flex;align-items:center;gap:12px;font-size:22px}.sp-login-brand img{height:48px;width:48px;border-radius:12px;object-fit:contain;background:#fff}.sp-login-brand strong{letter-spacing:-.035em}.sp-login-kicker{font-size:11px;color:#e0b9d0;font-weight:850;letter-spacing:.14em}.sp-login-intro h1{font-size:clamp(39px,4.3vw,62px);line-height:1.14;color:#fff!important;margin:17px 0;font-weight:780;letter-spacing:-.045em}.sp-login-intro p{color:#c6ceda;line-height:1.8;font-size:15px;max-width:450px}.sp-login-capabilities{display:flex;flex-wrap:wrap;gap:11px;margin-top:31px}.sp-login-capabilities span{display:flex;align-items:center;gap:6px;border:1px solid #ffffff31;border-radius:20px;padding:8px 11px;font-size:11px;color:#e3e7ed}.sp-login-intro>small{font-size:12px;color:#9faabe}.sp-login-form-panel{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px 24px;background:#fafbfd}.sp-login-card{width:100%;max-width:420px}.sp-login-eyebrow{color:#805477;font-size:11px;font-weight:900;letter-spacing:.14em}.sp-login-card h2{font-size:32px;line-height:1.22;color:#222e40!important;margin:12px 0 10px;font-weight:780;letter-spacing:-.03em}.sp-login-card>p{color:#798596;line-height:1.6;font-size:14px;margin-bottom:27px}.sp-login-form{display:flex;flex-direction:column;gap:11px}.sp-login-form label{font-size:12px;font-weight:740;color:#465266;margin-top:8px}.sp-login-form input{height:49px;border-radius:10px;border:1px solid #dbe1e8;background:#fff;padding:0 15px;font-size:14px;outline:0;color:#26344a}.sp-login-form input:focus{border-color:#805477;box-shadow:0 0 0 3px #80547715}.sp-login-submit{margin-top:15px;width:100%;height:49px;background:#805477!important;color:#fff!important;justify-content:center}.sp-login-footnote{display:flex;align-items:center;gap:6px;color:#8b96a6;margin-top:27px;font-size:11px;line-height:1.6}.sp-login-copyright{color:#9aa5b3;margin-top:48px;text-align:center;font-size:11px}
@media(max-width:1180px){.sp-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-dashboard-columns{grid-template-columns:1fr}.sp-topbar-title strong{max-width:160px}}
@media(max-width:830px){.sp-login-screen{grid-template-columns:1fr}.sp-login-intro{min-height:auto;padding:24px}.sp-login-intro>div:nth-child(2),.sp-login-intro>small{display:none}.sp-login-form-panel{min-height:calc(100vh - 96px)}.sp-topbar-help span{display:none}}
@media(max-width:680px){.sp-content-container{padding:14px}.sp-metric-grid{gap:10px}.sp-metric{padding:16px}.sp-metric strong{font-size:23px}.sp-page-heading{flex-direction:column;gap:15px}.sp-panel{padding:17px}.sp-topbar-title small{display:none}.sp-topbar-brand{gap:5px}.sp-brand-logo{max-width:36px}.sp-topbar-sale{display:none}.sp-color-settings{grid-template-columns:1fr}}
@media print{.sp-appbar,.sp-drawer,.sp-navigation,.sp-plan-banner,.sp-topbar-sale,.sp-topbar-help,.sp-button-primary,.sp-button-secondary{display:none!important}.sp-app .sp-main-content{margin:0!important;padding:0!important;background:white!important}.sp-content-container{padding:0!important;max-width:none!important}}

/* Point of sale – compact action-first workspace */
.sp-app .pos-container{max-width:1450px!important;margin:0 auto;color:#243246!important}
.sp-app .pos-container .pos-title{font-size:30px!important;color:#263449!important}
.sp-app .pos-container .scanner-paper,.sp-app .pos-container .cart-paper,.sp-app .pos-container .receipt-paper{background:#fff!important;border:1px solid #e3e8ee!important;border-radius:16px!important;box-shadow:0 3px 15px #25385208!important;padding:24px!important}
.sp-app .pos-container .scanner-header{text-align:left!important;margin-bottom:20px!important;padding:0!important}
.sp-app .pos-container .scanner-icon-wrapper{background:#f5eff4!important;color:var(--sp-primary)!important;width:42px;height:42px;border-radius:11px!important;margin:0 0 12px!important;display:grid;place-items:center}
.sp-app .pos-container .scanner-icon-wrapper .mud-icon-root{font-size:23px!important;color:var(--sp-primary)!important}
.sp-app .pos-container .scanner-header .mud-typography-h6{font-size:18px!important;font-weight:750!important}
.sp-app .pos-container .search-input-wrapper,.sp-app .pos-container .barcode-input-wrapper{margin:0 0 12px}
.sp-app .pos-container .add-button,.sp-app .pos-container .complete-button,.sp-app .pos-container .print-button{background:var(--sp-primary)!important;color:white!important;border-radius:10px!important;min-height:48px!important;box-shadow:none!important}
.sp-app .pos-container .complete-button{font-size:14px!important}
.sp-app .pos-container .cart-header{border-bottom:1px solid #edf0f4;padding-bottom:16px;margin-bottom:14px}
.sp-app .pos-container .summary-paper{background:#f7f8fa!important;border-radius:12px!important}
.sp-app .pos-container .total-row .mud-typography-h4{font-size:24px!important;color:var(--sp-primary)!important}
.sp-app .pos-container .empty-cart{padding:44px 12px!important;background:#fafbfc;border:1px dashed #dfe5ec;border-radius:13px!important}
.sp-app .pos-container .empty-cart-icon .mud-icon-root{font-size:30px!important;max-height:40px!important;max-width:40px!important}
.sp-app .sp-pos-tips{background:#f8f9fc;border-radius:10px;padding:11px 13px;font-size:12px;color:#7e8a99}
.sp-app .sp-pos-tips summary{cursor:pointer;font-weight:650;color:#647287}.sp-app .sp-pos-tips[open] summary{margin-bottom:10px}
.sp-app .pos-container .header-stats .mud-chip{background:#fff!important;color:#4d5b70!important;border-color:#e4e8ee!important}
.sp-app .pos-container .quantity-controls{display:flex;justify-content:center;align-items:center;gap:2px}
.sp-app .pos-container .quantity-btn{border:1px solid #e5e8ed;border-radius:8px!important}
.sp-app .report-page .mud-icon-root{max-height:28px!important;max-width:28px!important}
.sp-app .report-page .stats-icon .mud-icon-root,.sp-app .report-page .stat-icon .mud-icon-root{max-height:23px!important;max-width:23px!important}
.sp-app .report-page .mud-svg-icon{width:1.25em!important;height:1.25em!important}
@media(max-width:800px){.sp-app .pos-container .scanner-paper,.sp-app .pos-container .cart-paper{padding:16px!important}}
