:root{--bg:#fffaf0;--ink:#2c2418;--muted:#776d61;--line:#e7dcc9;--card:#fff;--accent:#f0b429}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--ink)}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:24px;padding:14px 22px;background:#fff;border-bottom:1px solid var(--line)}header>div:first-child{display:flex;flex-direction:column}header small,.card small,td small{display:block;color:var(--muted)}nav{display:flex;gap:12px;flex-wrap:wrap;flex:1}a{color:var(--ink);text-decoration:none}nav a:hover{color:#9b6700}.user{text-align:right}.container{max-width:1250px;margin:28px auto;padding:0 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin:18px 0;box-shadow:0 8px 24px rgba(65,43,11,.05)}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth .card{width:min(480px,100%)}.grid{display:grid;gap:12px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}input,select,textarea,button,.button{font:inherit;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}textarea{min-height:90px}button,.button{background:var(--accent);border-color:var(--accent);font-weight:700;cursor:pointer}.button.secondary{background:#fff}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat span{display:block;color:var(--muted)}.stat b{font-size:1.5rem}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#fff7e2}.success,.alert{padding:12px;border-radius:10px;margin:12px 0}.success{background:#eaf8ed}.alert{background:#fff0f0}.invoice{max-width:850px;margin:30px auto}.invoice-head{display:flex;justify-content:space-between}.totals{margin-left:auto;max-width:340px}.totals p{display:flex;justify-content:space-between}.grand{font-size:1.25rem}.no-print{display:flex;gap:10px;margin-top:24px}@media(max-width:900px){header{align-items:flex-start;flex-wrap:wrap}nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.stats{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:1fr 1fr}}@media(max-width:560px){.grid.four{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.container{margin-top:16px}th,td{padding:10px}}@media print{header,.no-print{display:none}.invoice{border:0;box-shadow:none;margin:0;max-width:none}}

/* POS customer autocomplete */
.customer-search-wrap{position:relative;min-width:0}
.customer-search-wrap>input{width:100%}
.customer-suggestions{display:none;position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:1000;max-height:240px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.12)}
.customer-suggestion-item{display:block;width:100%;padding:12px;border:0;border-bottom:1px solid #eee4d4;border-radius:0;background:#fff;color:var(--ink);text-align:left;font-weight:500;cursor:pointer}
.customer-suggestion-item:hover{background:#fff7e2}
.customer-suggestion-item:last-child{border-bottom:0}
.selected-customer-info{grid-column:1/-1;color:var(--muted);min-height:1.2em}


/* POS cart controls */
.cart-actions{display:flex;align-items:center;gap:8px;margin:0}
.qty-button{min-width:34px;padding:7px 10px;background:#fff;border-color:var(--line)}
.qty-button:hover{background:#fff7e2}
.qty-value{display:inline-block;min-width:24px;text-align:center;font-weight:700}
.remove-button{padding:8px 11px;background:#fff0f0;border-color:#e4a6a6;color:#8b1e1e}
.remove-button:hover{background:#ffe2e2}

/* POS Patch v4: GST and discount controls */
.discount-form{display:flex;gap:6px;align-items:center;min-width:130px}.discount-input{width:68px;padding:8px}.small-button{padding:8px 10px;font-size:12px}.pos-summary{max-width:430px;margin-left:auto}.pos-summary p{display:flex;justify-content:space-between;margin:6px 0}.pos-summary h2{text-align:right;margin-top:10px}.invoice-note{margin-top:22px;font-size:12px;color:#6a6257}.invoice td small{display:block;color:#6a6257;margin-top:3px}


.loyalty-preview{grid-column:1/-1;background:#fff8e8;border:1px solid #ead7ad;border-radius:12px;padding:12px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.loyalty-preview p{margin:0;display:flex;flex-direction:column;gap:3px}.settings-card{max-width:680px}.settings-form{display:grid;gap:14px}.percentage-control{display:flex;align-items:center;gap:10px;max-width:240px}.percentage-control input{width:180px}.percentage-control span{font-size:1.2rem;font-weight:700}@media(max-width:700px){.loyalty-preview{grid-template-columns:1fr 1fr}}

/* Patch v6 */
.badge{display:inline-block;padding:8px 10px;border-radius:999px;background:#eef7ff;border:1px solid #b9d8ee}.return-fields{margin-top:16px}.secondary{background:#fff!important}.status-pending{color:#946200}.status-available{color:#16723a}@media(max-width:700px){.return-fields{grid-template-columns:1fr!important}}

/* Patch v6.3: consistent screen navigation */
.screen-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}.screen-nav .nav-next{margin-left:auto}.screen-nav .button{display:inline-flex;align-items:center;justify-content:center;min-height:42px}.screen-nav button.button{color:var(--ink)}@media(max-width:620px){.screen-nav{position:sticky;top:70px;z-index:4;background:var(--bg);padding:8px 0}.screen-nav .button{flex:1;white-space:nowrap;padding:10px 8px;font-size:13px}.screen-nav .nav-next{margin-left:0;flex-basis:100%}}
.button-small{padding:7px 10px;font-size:.88rem;white-space:nowrap}.statement-customer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;align-items:start}.statement-customer h2{margin:0 0 6px}.statement-table table{min-width:1500px}.statement-items{min-width:260px;white-space:normal}.negative{color:#9a2f2f}.statement-summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.statement-summary>div{border:1px solid #eadcc4;border-radius:12px;padding:14px;background:#fffaf0}.statement-summary small{display:block;margin-bottom:7px}.statement-summary b{font-size:1.12rem}@media(max-width:900px){.statement-customer,.statement-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.statement-customer,.statement-summary{grid-template-columns:1fr}}
.dashboard-heading,.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.dashboard-heading h2,.section-title h2{margin:0}.dashboard-heading p,.section-title p{margin:5px 0 0;color:#6b6258}.dashboard-stats .stat small{display:block;margin-top:8px;color:#766d62;font-size:.78rem}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.mini-chart,.analytics-bars{display:flex;align-items:flex-end;gap:10px;min-height:210px;overflow-x:auto;padding:20px 4px 4px}.mini-bar-col,.analytics-bar-col{min-width:58px;flex:1;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.mini-bar,.analytics-bar{width:70%;max-width:48px;min-height:4px;border-radius:8px 8px 2px 2px;background:#f5b51b}.mini-bar-value,.analytics-bar-value{font-size:.72rem;margin-bottom:5px;white-space:nowrap}.mini-bar-col small,.analytics-bar-col small{margin-top:7px;white-space:nowrap;color:#6d655b}.breakdown-list>div,.summary-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #efe4d2}.breakdown-list>div:last-child,.summary-list>div:last-child{border-bottom:0}.breakdown-list small{color:#81776b;margin-left:5px}.analytics-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;align-items:end}.analytics-filter label{display:flex;flex-direction:column;gap:6px;font-weight:600}.analytics-filter input,.analytics-filter select{width:100%}.filter-actions{display:flex;gap:8px;flex-wrap:wrap}.analytics-bars{min-height:270px}.analytics-bar-col{min-width:72px}.analytics-bar{max-width:54px;background:#f5b51b}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.analytics-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-heading{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.analytics-filter{grid-template-columns:1fr}.dashboard-heading .button{width:100%;text-align:center}.dashboard-stats{grid-template-columns:1fr 1fr}.mini-bar-col,.analytics-bar-col{min-width:64px}}

/* Stage 1 financial operations */
.split-payment-panel{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fffaf0}.split-payment-panel h3{margin:0}.muted{color:var(--muted)}.payment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payment-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600}.split-total,.collection-total{display:flex;justify-content:space-between;gap:18px;margin-top:12px;padding-top:12px;border-top:2px solid var(--line)}.closing-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.closing-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.closing-form .wide{grid-column:1/-1}.closing-calculation{display:grid;grid-template-columns:1fr auto 1fr auto;gap:12px;padding:14px;border-radius:12px;background:#fff7e2;align-items:center}@media(max-width:800px){.payment-grid,.closing-form{grid-template-columns:1fr 1fr}.closing-calculation{grid-template-columns:1fr auto}}@media(max-width:520px){.payment-grid,.closing-form{grid-template-columns:1fr}}

/* v6.7 campaigns and report controls */
.campaign-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.campaign-form label{display:flex;flex-direction:column;gap:5px;font-weight:600}.campaign-form .wide{grid-column:1/-1}.campaign-checks{display:flex;gap:18px;flex-wrap:wrap}.campaign-checks label{flex-direction:row}.section-title,.live-report-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.live-report-head h2{margin:0}.live-report-head small{display:block;color:var(--muted)}.report-meta{font-size:14px}@media(max-width:900px){.campaign-form{grid-template-columns:1fr 1fr}}@media(max-width:560px){.campaign-form{grid-template-columns:1fr}.section-title,.live-report-head{align-items:flex-start;flex-direction:column}}

/* v6.8 inventory and CRM */
.danger-text{color:#b42318;font-size:12px;margin-left:6px}.grid textarea{min-height:90px}.table-wrap small{display:block;color:var(--muted)}

/* v6.9 bundles, samples and profit */
.management-only{border-top:1px dashed var(--border);padding-top:12px}.badge-type{font-size:11px;text-transform:capitalize}.table-wrap input[type=number]{min-width:90px}

/* v6.9.6 grouped left sidebar navigation */
.app-body{overflow-x:hidden}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:#251f18;color:#fff;z-index:30;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.08)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{color:#c9c0b4;margin-top:2px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#2c2418;font-weight:900}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:27px;padding:2px 7px}.sidebar-nav{display:block;flex:1;overflow-y:auto;padding:12px 10px}.sidebar-section.single{margin-bottom:8px}.sidebar-group{border-top:1px solid rgba(255,255,255,.08);padding:7px 0}.sidebar-group summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 11px;color:#d8d0c7;font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-radius:9px}.sidebar-group summary::-webkit-details-marker{display:none}.sidebar-group summary:after{content:'›';margin-left:auto;font-size:19px;transform:rotate(0);transition:.2s}.sidebar-group[open] summary:after{transform:rotate(90deg)}.sidebar-group summary:hover{background:rgba(255,255,255,.06);color:#fff}.sidebar-link{display:flex;align-items:center;gap:11px;color:#efeae3;padding:10px 12px;margin:3px 0;border-radius:9px;font-size:.93rem}.sidebar-link:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-link.active{background:var(--accent);color:#2c2418;font-weight:800}.sidebar-icon{width:20px;text-align:center;opacity:.95}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user{display:flex;align-items:center;gap:10px;margin-bottom:11px}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{color:#c9c0b4;margin-top:2px}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#2c2418;font-weight:800}.sidebar-logout{display:block;text-align:center;padding:9px 10px;border:1px solid rgba(255,255,255,.2);border-radius:9px;color:#fff}.sidebar-logout:hover{background:#fff;color:#2c2418}.app-main{margin-left:270px;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line)}.menu-toggle{display:none;background:#fff;border-color:var(--line);padding:8px 11px;font-size:20px}.topbar-title{display:flex;flex-direction:column;min-width:0}.topbar-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title small{color:var(--muted)}.topbar-user{margin-left:auto;text-align:right}.topbar-user span,.topbar-user small{display:block}.topbar-user small{color:var(--muted)}.app-main>.container{max-width:1450px}.sidebar-overlay{display:none}.app-body header:not(.topbar){display:none}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:transform .22s ease}.app-main{margin-left:0}.menu-toggle,.sidebar-close{display:inline-flex}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:25}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-overlay{display:block}.topbar{padding:10px 14px}.topbar-user{display:none}}
@media(max-width:620px){.topbar-title small{display:none}.app-main>.container{padding:0 12px}.screen-nav{top:59px}}
@media print{.sidebar,.topbar,.sidebar-overlay{display:none!important}.app-main{margin-left:0}.app-main>.container{max-width:none;margin:0;padding:0}}
/* Stage 3 access guidance v7.0.1 */
.approval-guidance{margin-top:14px;padding:12px 14px;border:1px solid #ead7ae;border-radius:12px;background:#fff9ea}.span-2{grid-column:span 2}.access-tabs{display:flex;gap:10px;flex-wrap:wrap}.responsibility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 18px}.check-card{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #ead7ae;border-radius:12px;background:#fff}.permission-legend{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge.required{background:#ffe2df;color:#8a1f17}.badge.recommended{background:#fff0bd;color:#6d4a00}.badge.optional{background:#ececec;color:#444}.permission-group-title{margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid #ead7ae}.permission-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,260px) 110px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f0e5cd}.permission-row small{display:block;color:#796f62;margin-top:3px}.role-suggestion{padding:12px 14px;border:1px solid #ead7ae;border-radius:12px;background:#fff9ea;align-self:end}@media(max-width:760px){.permission-row{grid-template-columns:1fr}.span-2{grid-column:auto}}

/* v7.2 product, inventory and digital gift cards */
.tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}.pos-clock{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px}.pos-clock small{margin-left:auto;color:var(--muted)}.message-suggestions{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fffaf0}.message-suggestions h3{margin-top:0}.message-choice{display:block;width:100%;text-align:left;margin:7px 0;white-space:normal}.danger-card{background:#fff0ee!important;border-color:#f4b8b2!important}.warning-card{background:#fff7dc!important;border-color:#edcf72!important}.stock-out-of-stock{background:#fff0ee}.stock-critical{background:#fff2de}.stock-low{background:#fffbe5}.stock-available{background:#f6fff7}.gift-card-art small{display:block}.grid label input,.grid label select{margin-top:5px;width:100%}@media(max-width:700px){.pos-clock small{margin-left:0;width:100%}.tabs .button{flex:1}.gift-card-art{padding:28px!important;min-height:420px!important}.gift-card-art h1{font-size:32px!important}.gift-card-message{font-size:19px!important}}

/* v7.2.1 paid digital greeting cards */
.form-note{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff9e9;color:var(--muted)}
.greeting-view-page{margin:0;background:#f5efe5;color:#2d2218;font-family:Arial,sans-serif}.greeting-view-wrap{max-width:980px;margin:0 auto;padding:36px 18px}.greeting-card-art{position:relative;min-height:650px;padding:64px 72px;border-radius:34px;overflow:hidden;box-shadow:0 22px 60px rgba(67,44,20,.15);display:flex;flex-direction:column;justify-content:center;text-align:center;border:1px solid rgba(155,101,30,.18)}
.greeting-card-art:before,.greeting-card-art:after{content:'';position:absolute;border-radius:50%;opacity:.22}.greeting-card-art:before{width:320px;height:320px;left:-120px;top:-120px;background:#fff}.greeting-card-art:after{width:260px;height:260px;right:-90px;bottom:-100px;background:#fff}.greeting-card-art.bg-sunrise{background:linear-gradient(145deg,#fff6cf,#f6d8bc)}.greeting-card-art.bg-rose{background:linear-gradient(145deg,#fff0f2,#eec4cc)}.greeting-card-art.bg-midnight{background:linear-gradient(145deg,#25203a,#5e436f);color:#fff}.greeting-card-art.bg-celebration{background:linear-gradient(145deg,#fff2b8,#ffd49b)}.greeting-card-art.bg-minimal{background:linear-gradient(145deg,#fff,#efe9df)}.greeting-card-art.bg-travel{background:linear-gradient(145deg,#dff5ef,#c8e3ef)}
.greeting-ornament{position:relative;z-index:1;font-size:30px}.greeting-kicker{position:relative;z-index:1;letter-spacing:.18em;text-transform:uppercase;font-size:13px;font-weight:800;margin:12px 0 20px}.greeting-card-art h1{position:relative;z-index:1;font-family:Georgia,serif;font-size:58px;margin:0 0 18px}.greeting-card-art h2{position:relative;z-index:1;font-size:28px;margin:0 0 34px}.greeting-message{position:relative;z-index:1;font-family:Georgia,serif;font-size:28px;line-height:1.55;max-width:760px;margin:0 auto 38px}.greeting-from{position:relative;z-index:1;font-size:18px;line-height:1.5}.greeting-footer{position:absolute;z-index:1;left:54px;right:54px;bottom:28px;border-top:1px solid currentColor;padding-top:15px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.greeting-footer strong{letter-spacing:.38em}.greeting-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.greeting-view-wrap>.card{margin-top:12px}
@media(max-width:700px){.greeting-card-art{padding:42px 25px;min-height:560px}.greeting-card-art h1{font-size:40px}.greeting-card-art h2{font-size:23px}.greeting-message{font-size:21px}.greeting-footer{left:22px;right:22px;flex-direction:column}.greeting-actions .button{flex:1;text-align:center}}
@media print{.greeting-view-page{background:#fff}.greeting-view-wrap{max-width:none;padding:0}.greeting-card-art{box-shadow:none;border:0;border-radius:0;width:100%;min-height:95vh;page-break-inside:avoid}}

/* v7.2.2 professional blue-and-white theme */
:root{
  --bg:#f8fafc;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --card:#ffffff;
  --accent:#2563eb;
  --accent-dark:#1e3a8a;
  --accent-soft:#eff6ff;
  --success:#15803d;
  --warning:#d97706;
  --danger:#dc2626;
}
body,.app-body{background:var(--bg);color:var(--ink)}
a{color:#1d4ed8}a:hover{color:#1e3a8a}
.card,.stat,.table-wrap{background:#fff;border-color:var(--line);box-shadow:0 8px 24px rgba(15,23,42,.05)}
input,select,textarea,button,.button{border-color:#cbd5e1;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(37,99,235,.14);border-color:#2563eb}
button,.button{background:#2563eb;border-color:#2563eb;color:#fff}
button:hover,.button:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.button.secondary,.secondary{background:#fff!important;border-color:#cbd5e1!important;color:#1e3a8a!important}
.button.secondary:hover,.secondary:hover{background:#eff6ff!important;border-color:#93c5fd!important;color:#1e3a8a!important}
th{background:#eff6ff;color:#1e3a8a}
.customer-suggestion-item:hover,.qty-button:hover{background:#eff6ff}
.loyalty-preview,.message-suggestions,.form-note,.approval-guidance,.role-suggestion{background:#f8fbff;border-color:#bfdbfe}
.mini-bar,.analytics-bar{background:#2563eb}
.sidebar{background:#0f2747;border-right-color:rgba(255,255,255,.10)}
.sidebar-brand small,.sidebar-user small{color:#bfdbfe}
.brand-mark{background:#3b82f6;color:#fff}
.sidebar-group summary{color:#bfdbfe}
.sidebar-link{color:#eaf2ff}
.sidebar-link:hover,.sidebar-group summary:hover{background:rgba(59,130,246,.16);color:#fff}
.sidebar-link.active{background:#2563eb;color:#fff}
.user-avatar{background:#dbeafe;color:#1e3a8a}
.sidebar-logout:hover{background:#eff6ff;color:#1e3a8a}
.topbar{background:#fff;border-bottom-color:var(--line);box-shadow:0 2px 12px rgba(15,23,42,.04)}
.badge{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}
.success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}
.alert{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.warning-card{background:#fffbeb!important;border-color:#fde68a!important}
.danger-card,.stock-out-of-stock{background:#fef2f2!important;border-color:#fecaca!important}
.stock-critical{background:#fff7ed}.stock-low{background:#fffbeb}.stock-available{background:#f0fdf4}
.greeting-view-page{background:#f8fafc;color:#0f172a}
.greeting-view-wrap>.card{background:#fff}
@media print{body,.app-body,.greeting-view-page{background:#fff!important}}

/* v7.2.3 official Solotribe black-and-white logo */
.sidebar-brand{align-items:center}.sidebar-logo-wrap{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.sidebar-logo{display:block;width:174px;max-width:100%;height:64px;object-fit:contain;background:#000;border-radius:9px}.sidebar-logo-wrap small{color:#bfdbfe;font-size:.74rem;padding-left:2px}.sidebar-brand .brand-mark{display:none}@media(max-width:980px){.sidebar-logo{width:164px;height:60px}}

/* v7.3.11 Touch Point Studio */
.touchpoint-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.touchpoint-form label{display:flex;flex-direction:column;gap:5px;font-weight:650}.touchpoint-form label small{font-weight:400}.touchpoint-form .wide{grid-column:1/-1}.touchpoint-form .tp-active{justify-content:flex-end;flex-direction:row;align-items:center;padding:11px 0}.touchpoint-form .tp-active input{width:auto;margin:0}.req{color:#dc2626}.message-editor{border:1px solid var(--line);border-radius:14px;padding:16px;background:#f8fbff}.message-editor>.section-title{margin-bottom:8px}.message-editor label{margin-top:10px}.tp-actions{display:flex;gap:6px}.tp-preview-controls{max-width:980px;margin-left:auto;margin-right:auto}.tp-print-stage{display:grid;place-items:center;padding:20px}.tp-print-card{width:148mm;min-height:210mm;background:#09090b;color:#f5efe8;padding:14mm 14mm 10mm;border-radius:8mm;box-shadow:0 24px 70px rgba(15,23,42,.22);position:relative;display:flex;flex-direction:column;overflow:hidden}.tp-print-card:before{content:'';position:absolute;inset:auto -28mm -35mm auto;width:90mm;height:90mm;border-radius:50%;background:rgba(201,143,138,.12)}.tp-print-top,.tp-print-message,.tp-qr-wrap,.tp-scan,.tp-origin,.tp-print-footer{position:relative;z-index:1}.tp-print-top{display:flex;align-items:center;justify-content:space-between;gap:10mm}.tp-print-logo{display:block;width:39mm;height:20mm;object-fit:contain;background:#000}.tp-brandline{text-align:right;text-transform:uppercase;letter-spacing:.16em;font-size:7pt;line-height:1.5}.tp-brandline span{display:block}.tp-brandline em{display:block;color:#c98f8a;font-family:Georgia,serif;text-transform:none;letter-spacing:0;font-size:10pt}.tp-print-message{margin:10mm 0 6mm}.tp-print-message h1,.tp-print-message h2{margin:0;font-family:Georgia,serif;font-weight:400;line-height:1.05}.tp-print-message h1{font-size:24pt;max-width:112mm}.tp-print-message h2{font-size:18pt;color:#d6aba7;margin-top:4mm;max-width:112mm}.tp-qr-wrap{display:grid;place-items:center;background:#fff;border-radius:7mm;padding:6mm;width:max-content;align-self:center;margin-top:2mm}.tp-qr-wrap img,.tp-qr-wrap canvas{display:block!important;width:70mm!important;height:70mm!important}.tp-scan{text-align:center;margin:5mm auto 0;color:#b7ada5;font-size:9pt}.tp-origin{margin-top:auto;border-top:1px solid #41383b;padding-top:7mm;text-align:center}.tp-origin small{display:block;color:#9d9390;text-transform:uppercase;letter-spacing:.16em;font-size:6.5pt}.tp-origin strong{display:block;font-family:Georgia,serif;font-size:16pt;margin:2mm 0 1mm}.tp-origin span{color:#c7bdb7;font-size:8.5pt}.tp-print-footer{display:flex;justify-content:space-between;border-top:1px solid #2a2426;margin-top:6mm;padding-top:4mm;color:#9b908b;font-size:6.5pt;letter-spacing:.12em}.tp-dashboard-stats{grid-template-columns:repeat(6,1fr)}
@media(max-width:1050px){.touchpoint-form{grid-template-columns:1fr 1fr}.tp-dashboard-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.touchpoint-form{grid-template-columns:1fr}.touchpoint-form .wide{grid-column:auto}.message-editor .section-title{align-items:flex-start;flex-direction:column}.tp-actions{display:grid}.tp-dashboard-stats{grid-template-columns:1fr 1fr}.tp-print-stage{overflow:auto;display:block}.tp-print-card{transform:scale(.72);transform-origin:top left;margin-bottom:-55mm}}
@media print{@page{size:A5 portrait;margin:0}.tp-preview-controls,.no-print{display:none!important}.tp-print-stage{display:block;padding:0}.tp-print-card{width:148mm!important;height:210mm!important;min-height:210mm!important;border-radius:0!important;box-shadow:none!important;page-break-inside:avoid;transform:none!important;margin:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.tp-print-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* v7.3.12 — SoloTribe Touch Point QR Design Lock
   Template ID: ST-TP-QR-v1
   LOCKED BRAND TOKENS. Do not override per Touch Point. */
.tp-template-lock-note{margin-top:12px;padding:11px 12px;border:1px solid #d9c5c2;border-radius:12px;background:#fff8f7;color:#65585a;font-size:.88rem;line-height:1.45}
.tp-template-lock-note strong{color:#3f3436}

.tp-print-card{
  --st-tp-bg:#09090b;
  --st-tp-header:#050506;
  --st-tp-surface:#121216;
  --st-tp-ivory:#f5efe8;
  --st-tp-muted:#b7ada5;
  --st-tp-rose:#c98f8a;
  --st-tp-rose-dark:#9d6663;
  --st-tp-line:#2d292d;
  --st-tp-display:Georgia,serif;
  --st-tp-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  width:148mm;
  height:210mm;
  min-height:210mm;
  padding:11mm 13mm 9mm;
  background:
    radial-gradient(circle at 86% 31%,rgba(201,143,138,.09),transparent 24%),
    linear-gradient(180deg,#070708 0%,var(--st-tp-bg) 58%,#060607 100%);
  color:var(--st-tp-ivory);
  border-radius:8mm;
  box-shadow:0 24px 70px rgba(15,23,42,.22);
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  font-family:var(--st-tp-body);
}
.tp-print-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.012),transparent 34%,rgba(201,143,138,.018));z-index:0}
.tp-print-card:after{content:"";position:absolute;right:-33mm;top:63mm;width:88mm;height:88mm;border:1px solid rgba(201,143,138,.08);border-radius:50%;z-index:0;pointer-events:none}
.tp-template-header,.tp-template-origin,.tp-template-message,.tp-template-qr,.tp-template-footer{position:relative;z-index:1}
.tp-template-header{display:flex;justify-content:center;align-items:center;min-height:25mm}
.tp-print-logo{display:block;width:49mm;height:24mm;object-fit:contain;object-position:center;background:#000;border:0}

.tp-template-origin{text-align:center;margin-top:1mm}
.tp-origin-kicker{margin:0;color:var(--st-tp-rose);font-size:7pt;font-weight:800;letter-spacing:.23em;text-transform:uppercase}
.tp-template-origin h1{margin:2.2mm auto 0;max-width:118mm;color:var(--st-tp-ivory);font-family:var(--st-tp-display);font-size:25pt;font-weight:500;line-height:1.02;letter-spacing:-.025em}
.tp-origin-location{margin:2mm 0 0;color:var(--st-tp-rose);font-size:9pt;letter-spacing:.01em}
.tp-origin-rule{display:block;width:20mm;height:1px;background:var(--st-tp-rose-dark);margin:4mm auto 0;opacity:.9}

.tp-template-message{margin:7mm auto 4mm;width:100%;text-align:center}
.tp-message-block{max-width:118mm;margin:0 auto}
.tp-message-block p{margin:0;font-family:var(--st-tp-display);font-weight:500;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.tp-message-en p{color:var(--st-tp-ivory)}
.tp-message-hi{margin-top:3.2mm}
.tp-message-hi p{font-family:Inter,"Noto Sans Devanagari","Segoe UI",system-ui,sans-serif;color:#d9cfca;font-weight:500;line-height:1.22;letter-spacing:0}
.tp-heart{display:inline-block;margin-left:.18em;color:var(--st-tp-rose);font-family:Georgia,"Times New Roman",serif;font-style:normal;font-weight:400;transform:translateY(-.04em)}
.tp-message-en.tp-copy-sm p{font-size:26pt}.tp-message-en.tp-copy-md p{font-size:23pt}.tp-message-en.tp-copy-lg p{font-size:20pt}.tp-message-en.tp-copy-xl p{font-size:17pt}
.tp-message-hi.tp-copy-sm p{font-size:15pt}.tp-message-hi.tp-copy-md p{font-size:14pt}.tp-message-hi.tp-copy-lg p{font-size:12.8pt}.tp-message-hi.tp-copy-xl p{font-size:11.8pt}
.tp-lang-hi .tp-message-hi{margin-top:0}.tp-lang-hi .tp-message-hi.tp-copy-sm p{font-size:23pt}.tp-lang-hi .tp-message-hi.tp-copy-md p{font-size:21pt}.tp-lang-hi .tp-message-hi.tp-copy-lg p{font-size:18pt}.tp-lang-hi .tp-message-hi.tp-copy-xl p{font-size:16pt}.tp-lang-hi .tp-message-hi p{color:var(--st-tp-ivory);font-weight:600}

.tp-template-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:auto}
.tp-qr-frame{display:grid;place-items:center;padding:3.1mm;background:#fff;border:1.2mm solid var(--st-tp-rose);border-radius:5mm;box-shadow:0 8px 26px rgba(0,0,0,.24)}
.tp-qr-frame #tpQrcode{background:#fff;display:grid;place-items:center}
.tp-qr-frame img,.tp-qr-frame canvas{display:block!important;width:57mm!important;height:57mm!important;image-rendering:auto}
.tp-scan-chevron{margin-top:2.6mm;color:var(--st-tp-rose);font-size:17pt;line-height:.7;font-weight:700}
.tp-scan{margin:1.7mm 0 0;color:var(--st-tp-ivory);font-size:10pt;letter-spacing:.01em}

.tp-template-footer{margin-top:5.5mm;padding-top:4.5mm;border-top:1px solid rgba(201,143,138,.55);text-align:center}
.tp-brandline span{display:block;color:var(--st-tp-ivory);font-size:7.2pt;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.tp-brandline em{display:block;margin-top:1.4mm;color:var(--st-tp-rose);font-family:var(--st-tp-display);font-size:17pt;font-weight:500;font-style:italic;line-height:1.05;letter-spacing:-.01em;text-transform:none}
.tp-site{margin-top:2.6mm;color:var(--st-tp-ivory);font-size:8pt;letter-spacing:.17em;text-transform:lowercase}
.tp-template-meta{display:flex;justify-content:space-between;gap:8mm;margin-top:2.5mm;color:#766e6b;font-size:5.4pt;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:680px){.tp-print-stage{overflow:auto;display:block}.tp-print-card{transform:scale(.72);transform-origin:top left;margin-bottom:-59mm}}
@media print{
  @page{size:A5 portrait;margin:0}
  .tp-preview-controls,.no-print{display:none!important}
  .tp-print-stage{display:block;padding:0}
  .tp-print-card{width:148mm!important;height:210mm!important;min-height:210mm!important;border-radius:0!important;box-shadow:none!important;page-break-inside:avoid;transform:none!important;margin:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tp-print-logo,.tp-qr-frame{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
