/* Iverian Cards · Noir merchant workspace. Route-scoped to preserve other workspaces. */
.mobile-nav,.portal-switch{display:none}
body.merchant-noir{--bg:#090909;--paper:#1d1d1d;--ink:#f0e9d9;--muted:#b0b0b0;--line:#393939;--lime:#d2b578;--purple:#282828;--green:#c1c1c1;--gold:#d2b578;--radius:14px;background:var(--bg);color:var(--ink);color-scheme:dark}
.merchant-noir .main{min-height:100vh;background:radial-gradient(ellipse at 80% 0,#a88c4f08,transparent 50%)}
.merchant-noir .sidebar{background:#161616;border-color:#3a3a3a;padding:34px 21px;width:246px}
.merchant-noir .main{margin-left:246px}
.merchant-noir .brand{padding-bottom:35px;gap:13px}
.merchant-noir .brand>img{width:41px;height:41px}
.merchant-noir .brand img.brand-wordmark{width:112px;height:16px}
.merchant-noir .brand .brand-lettering>span{color:#d2b578;font-size:8px;letter-spacing:5px}
.merchant-noir .workspace{background:#202020;border-color:#393939;border-radius:10px;padding:13px 11px;margin-bottom:29px}
.merchant-noir .workspace strong{font-size:12px;color:#ece7d8}
.merchant-noir .workspace small{font-size:10px;color:#a6a6a6}
.merchant-noir .avatar{background:#323232;color:#d7bd87;border:1px solid #474747;border-radius:9px}
.merchant-noir .navlabel{color:#999999;font-size:9px;letter-spacing:1.8px;font-weight:500}
.merchant-noir .nav{gap:6px}
.merchant-noir .nav a{color:#b4b4b4;border:1px solid transparent;border-radius:8px;font-size:12px;padding:13px 11px;min-height:45px}
.merchant-noir .nav a.active{color:#e0c38b;background:#2a2a2a;border-color:#524a31;font-weight:500}
.merchant-noir .nav a:hover{background:#282828;color:#e5d6b8}
.merchant-noir .nav a .ico{width:17px;height:17px}
.merchant-noir .nav a .ico svg{width:17px;height:17px;stroke-width:1.4}
.merchant-noir .helpbox{background:transparent;border-color:#3b3b3b;padding:16px;margin-top:25px}
.merchant-noir .helpbox strong{font-family:Georgia,serif;font-size:15px;color:#d9c294;font-weight:400;line-height:1.5}
.merchant-noir .helpbox p{color:#a7a7a7;font-size:11px}
.merchant-noir .account{border-color:#383838;color:#e6ddc8}
.merchant-noir .account small{color:#a6a6a6;font-size:10px}
.merchant-noir .topbar{background:#151515dd;border-color:#343434;height:84px;backdrop-filter:blur(16px);padding:0 42px}
.merchant-noir .crumb{color:#999999;font-size:11px}
.merchant-noir .crumb b{color:#d1c5ab;font-size:11px}
.merchant-noir .modes{border:1px solid #383838;background:#1b1b1b;padding:4px;gap:4px;border-radius:8px}
.merchant-noir .modes a{font-size:10px;color:#aaaaaa;padding:8px 10px;border-radius:4px}
.merchant-noir .modes a.selected{color:#e4c58a;background:#2c2c2c;box-shadow:none}
.merchant-noir .demo{color:#c0aa7a;font-size:9px;letter-spacing:1px;white-space:nowrap}
.merchant-noir .content{padding:36px 42px 32px;max-width:1500px}
.merchant-noir .pagehead{margin-bottom:28px}
.merchant-noir .eyebrow,.merchant-noir .tiny-label{color:#c2a66c;font-size:9px;letter-spacing:2px;font-weight:400}
.merchant-noir h1{font:400 36px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-1.1px;margin:0 0 11px;color:#f0e8d7}
.merchant-noir h2{font:400 19px/1.35 Georgia,'Times New Roman',serif;letter-spacing:-.2px;color:#e4d8bf}
.merchant-noir h3{color:#e3d6b8;font-weight:500}
.merchant-noir .subtitle{color:#b1b1b1;font-size:12px;line-height:1.75}
.merchant-noir .btn{border:1px solid #555139;background:#242424;color:#dfd2b4;min-height:43px;border-radius:7px;font-weight:500;font-size:11px;padding:11px 15px;letter-spacing:.1px}
.merchant-noir .btn:hover{background:#303030;border-color:#968455}
.merchant-noir .btn.primary,.merchant-noir .btn.lime{background:#d2b578;color:#1b1b1b;border-color:#d2b578;box-shadow:0 3px 12px #0002}
.merchant-noir .btn.primary:hover,.merchant-noir .btn.lime:hover{background:#e4c98e;border-color:#e4c98e}
.merchant-noir button:disabled{opacity:.4;box-shadow:none}
.merchant-noir .btn:focus-visible,.merchant-noir a:focus-visible,.merchant-noir summary:focus-visible{outline:2px solid #e0c487;outline-offset:4px}
.merchant-noir .hero{background:radial-gradient(ellipse at 80% 70%,#6d633323,transparent 50%),linear-gradient(115deg,#252525,#1a1a1a);border:1px solid #62573a;min-height:265px;border-radius:13px;margin-bottom:23px;grid-template-columns:1.1fr 1fr}
.merchant-noir .hero-copy{padding:34px 32px}
.merchant-noir .hero .eyebrow{font-size:8px;letter-spacing:2.4px;margin-bottom:15px}
.merchant-noir .hero h2{font:400 34px/1.18 Georgia,serif;letter-spacing:-.7px;color:#e8d3a6;max-width:400px;margin-bottom:15px}
.merchant-noir .hero p{color:#b6b6b6;max-width:350px;font-size:11px;line-height:1.8}
.merchant-noir .hero .btn{font-size:10px;min-height:37px;padding:9px 12px;background:#1d1d1d;border-color:#565137}
.merchant-noir .noir-card-art{min-height:260px;padding:35px 15px;isolation:isolate;overflow:hidden}
.merchant-noir .noir-orbit{position:absolute;width:330px;height:330px;border:1px solid #9a84411c;border-radius:50%}
.merchant-noir .noir-orbit:after{content:'';position:absolute;inset:-43px;border:1px solid #9a844116;border-radius:50%}
.merchant-noir .noir-card{width:min(285px,90%);padding:20px 22px;aspect-ratio:1.65;border:1px solid #ad925b;border-radius:12px;background:linear-gradient(120deg,#292929,#171717);box-shadow:0 20px 30px #0006;transform:rotate(-7deg);position:relative;z-index:1;color:#dbc38c}
.merchant-noir .noir-card:before,.merchant-noir .noir-card:after{content:'';position:absolute;inset:-12px 9px 12px -9px;border:1px solid #796b43;border-radius:12px;transform:rotate(-6deg);background:#262626;z-index:-1}
.merchant-noir .noir-card:after{inset:-20px 18px 20px -16px;transform:rotate(-10deg);border-color:#5d5737;z-index:-2}
.merchant-noir .noir-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;font:400 19px Georgia,serif}
.merchant-noir .noir-card-label{font-size:6px;letter-spacing:1.6px;color:#b7ad8c;margin-top:7px}
.merchant-noir .noir-card .stamp-mini{gap:5px;margin:19px 0 15px}
.merchant-noir .stamp-mini span{background:transparent;color:#cfb47a;border-color:#b79a5355;width:19px;height:19px;font-size:11px}
.merchant-noir .stamp-mini span.filled{background:#cfb47a;color:#252525;border:0}
.merchant-noir .noir-card footer{font-size:7px;display:flex;justify-content:space-between;gap:10px;color:#c2baa1}
.merchant-noir .noir-card footer b{white-space:nowrap;font-weight:500;color:#dbc58f}
.merchant-noir .metrics{gap:15px}
.merchant-noir .metric,.merchant-noir .panel{background:linear-gradient(140deg,#1f1f1f,#1c1c1c);border-color:#3b3b3b;border-radius:12px;box-shadow:none}
.merchant-noir .metric{padding:22px 22px 19px;position:relative}
.merchant-noir .metric:before{content:'';position:absolute;top:0;left:22px;width:22px;height:1px;background:#ae9256}
.merchant-noir .metric-top{color:#b3b3b3;font-size:10px}
.merchant-noir .metric-top .ico{color:#bba16c}
.merchant-noir .metric-value{font:400 33px Georgia,serif;color:#ebdab4;margin:13px 0 9px;letter-spacing:-.5px;font-variant-numeric:lining-nums}
.merchant-noir .metric-note{font-size:9px;color:#a0a0a0;line-height:1.6}
.merchant-noir .metric-note b{color:#c6c6c6}
.merchant-noir .panel{padding:25px}
.merchant-noir .table-panel{padding:0}
.merchant-noir .panelhead p{color:#a7a7a7;font-size:10px;line-height:1.6}
.merchant-noir .pill{background:#282828;border-color:#484848;color:#c7b687;font-size:9px}
.merchant-noir .chart line{stroke:#444444}
.merchant-noir .chart path[stroke]{stroke:#cfb579}
.merchant-noir .chart stop{stop-color:#cfb579}
.merchant-noir .chart text{fill:#a8a8a8}
.merchant-noir .chartlabels{color:#a5a5a5}
.merchant-noir .chart-columns div{background:#6b603b}
.merchant-noir .chart-columns div:nth-child(3n){background:#c1a56d}
.merchant-noir .chart-columns small{color:#b4b4b4}
.merchant-noir .statusline{border-color:#3b3b3b;color:#dfd8c5;font-size:12px;line-height:1.6}
.merchant-noir .statusline>.ico{color:#a48d59}
.merchant-noir .statusline small{color:#aaaaaa;font-size:10px;line-height:1.7}
.merchant-noir .activity{border-color:#3b3b3b;padding:13px 0}
.merchant-noir .activity b{font-size:12px;font-weight:400;color:#e1d8c0}
.merchant-noir .activity p,.merchant-noir .activity time{color:#aaaaaa;font-size:10px}
.merchant-noir .activity .avatar{background:#2e2e2e;color:#c8ae73}
.merchant-noir .info{background:#2a2a2a;border-color:#504932;border-radius:8px;color:#c9bc98;line-height:1.8;font-size:11px}
.merchant-noir .note,.merchant-noir .back{color:#a9a9a9;font-size:10px}
.merchant-noir .link{color:#c9b681;min-height:28px}
.merchant-noir .link:hover{color:#f3da9d}
.merchant-noir .footnote{border-top:1px solid #3a3a3a;margin-top:30px;padding-top:18px;color:#989898;font-size:9px}
.merchant-noir .badge{background:#2e2e2e;color:#c8c8c8;border:1px solid #515151;font-size:9px;border-radius:5px;white-space:nowrap;line-height:1.3}
.merchant-noir .badge.pending,.merchant-noir .badge.purple{background:#2e2e2e;color:#e0c48d;border-color:#655533}
.merchant-noir .badge.gray{background:#2c2c2c;color:#bababa;border-color:#484848}
.merchant-noir input,.merchant-noir select,.merchant-noir textarea{background:#161616;border:1px solid #4a4a4a;border-radius:7px;color:#ece4cf;font-size:13px;min-height:45px;padding:12px 13px}
.merchant-noir input:focus,.merchant-noir select:focus,.merchant-noir textarea:focus{outline:2px solid #c7ac6c;outline-offset:2px}
.merchant-noir input::placeholder,.merchant-noir textarea::placeholder{color:#939393}
.merchant-noir label{color:#cfc7ac;font-weight:400;font-size:11px;letter-spacing:.15px}
.merchant-noir .formsection{border-color:#3c3c3c}
.merchant-noir .formsection>p{color:#ababab;line-height:1.8}
.merchant-noir th{background:#272727;color:#c2b691;border-color:#414141;font-size:10px;padding:15px 23px}
.merchant-noir td{border-color:#3b3b3b;padding:19px 23px;color:#dad7c4}
.merchant-noir tbody tr:hover{background:#2a2a2a}
.merchant-noir .wallet{border:1px solid #76623c;box-shadow:0 20px 45px #0005}
.merchant-noir .wallet .stamp.filled{background:#d0b477;color:#252525}
.merchant-noir .wallet-code{background:#e9e2cf;color:#272727}
.merchant-noir .wallet-code p{color:#656565}
.merchant-noir .wallet-main p{opacity:1;color:#e5e5e5}
.merchant-noir .wallet-top small{opacity:1;color:#dddcc2}
.merchant-noir dialog{background:#222222;border-color:#6b5a35;color:#eee2c7;border-radius:13px}
.merchant-noir dialog h2{font-size:25px}
.merchant-noir dialog p{color:#c0c0c0;line-height:1.85}
.merchant-noir dialog::backdrop{background:#060606bd}
.merchant-noir #toast{background:#e0c58d;color:#222222;border:1px solid #f5dda5;box-shadow:0 8px 35px #0007;max-width:calc(100vw - 32px);font-size:12px;line-height:1.5}
/* Scanner: one compact work surface with a clear result and reachable actions. */
.merchant-noir .scan-workspace{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1040px}
.merchant-noir .scan-entry .panelhead{margin-bottom:14px;align-items:center}
.merchant-noir .scan-entry .panelhead h2{margin:0}
.merchant-noir .scanner{background:radial-gradient(ellipse at center,#34343450,transparent 65%),#151515;border:1px solid #474747;min-height:200px;margin:0 0 19px;border-radius:9px}
.merchant-noir .scanbox{border-color:#c6aa6b88;width:160px;height:105px;border-radius:9px;position:relative;display:grid;place-items:center}
.merchant-noir .scanbox:after{width:135px;background:#ddc184;box-shadow:0 0 17px #c3a35e88}
.merchant-noir .scanbox .ico{color:#c8b176;opacity:.45}
.merchant-noir .scan-caption{position:absolute;bottom:14px;font-size:9px;letter-spacing:.4px;color:#a1a1a1}
.merchant-noir .scan-entry .field{margin-bottom:14px}
.merchant-noir .scan-condition{display:flex;align-items:center;gap:9px;margin:0;color:#c2bea2;font-size:11px;line-height:1.7}
.merchant-noir .scan-condition .ico{color:#bca36c}
.merchant-noir .scan-result .panelhead{margin-bottom:22px;align-items:center}
.merchant-noir .scan-result .eyebrow{font-size:8px;margin-bottom:7px}
.merchant-noir .scan-result .panelhead h2{font:400 20px Manrope,sans-serif;letter-spacing:.7px}
.merchant-noir .scan-balance{display:flex;align-items:center;gap:20px}
.merchant-noir .scan-balance .subtitle{max-width:150px;font-size:11px}
.merchant-noir .card-counter{font:400 53px Georgia,serif;color:#e4cb92;white-space:nowrap}
.merchant-noir .card-counter span{font-size:21px;color:#a1a1a1}
.merchant-noir .scan-result .stamps{gap:9px;margin:20px 0}
.merchant-noir .scan-result .stamp{border-color:#686868;color:#aaa889;font-size:14px}
.merchant-noir .scan-result .stamp.filled{border:1px solid #d0b478;background:#c9ad70;color:#252525}
.merchant-noir .scan-reward{border-top:1px solid #444444;padding-top:17px;display:flex;align-items:center;gap:10px;color:#d9c494;font-size:12px}
.merchant-noir .scan-rule{margin:14px 0 0;font-size:9px;line-height:1.8}
.merchant-noir .booking-actions{max-width:1040px;display:flex;justify-content:space-between;align-items:center;margin:20px 0 26px;padding:15px 0;border-bottom:1px solid #424242;gap:15px}
.merchant-noir .booking-actions>p{font-size:10px;color:#aeaeae;display:flex;align-items:center;gap:8px;margin:0}
.merchant-noir .booking-actions .btn{min-height:48px;font-size:12px;padding:13px 19px}
.merchant-noir .scan-history{max-width:1040px}
@media(min-width:1600px){.merchant-noir .content{padding-top:45px}.merchant-noir .hero{min-height:300px}.merchant-noir .hero-copy{padding:40px}.merchant-noir .hero h2{font-size:41px}}
@media(max-width:1200px) and (min-width:851px){.merchant-noir .sidebar{width:218px;padding:30px 15px}.merchant-noir .main{margin-left:218px}.merchant-noir .topbar{padding-inline:27px}.merchant-noir .content{padding:30px 27px}.merchant-noir .demo{font-size:8px}.merchant-noir .crumb{display:none}.merchant-noir .hero h2{font-size:30px}.merchant-noir .noir-card{width:235px;padding:18px}.merchant-noir .noir-card .stamp-mini{gap:4px}.merchant-noir .stamp-mini span{width:16px;height:16px}.merchant-noir .metric{padding:18px 16px}}
@media(max-width:850px){
 .merchant-noir .sidebar{display:none}.merchant-noir .main{margin-left:0}.merchant-noir .topbar{height:72px;min-height:72px;position:sticky;top:0;z-index:20;padding:12px 22px;justify-content:space-between;gap:15px}.merchant-noir .topbar>.crumb,.merchant-noir .topbar>.modes{display:none}.merchant-noir .mobile-brand{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:3px;color:#ddc89d}.merchant-noir .mobile-brand>img{width:38px;height:38px}.merchant-noir .mobile-brand small{font-size:8px;letter-spacing:4px;display:block;margin-top:4px;text-align:center;color:#b3a17c}.merchant-noir .topbar>.demo{margin-left:auto;font-size:8px;letter-spacing:.5px}.merchant-noir .portal-switch{display:block;position:relative;order:3}.merchant-noir .portal-switch summary{list-style:none;display:grid;place-items:center;width:38px;height:38px;color:#c0ab7f;border:1px solid #474747;border-radius:8px;cursor:pointer}.merchant-noir summary::-webkit-details-marker{display:none}.merchant-noir .portal-switch nav{position:absolute;right:0;top:47px;background:#282828;border:1px solid #655739;box-shadow:0 10px 30px #0009;border-radius:10px;min-width:210px;padding:8px;z-index:30}.merchant-noir .portal-switch nav a{padding:13px;display:block;font-size:12px;color:#e0d3b2;border-radius:5px}.merchant-noir .portal-switch nav a:hover{background:#373737}
 .merchant-noir .content{padding:28px 24px 125px}.merchant-noir .pagehead{margin-bottom:24px;flex-direction:row;align-items:center}.merchant-noir h1{font-size:32px}.merchant-noir .hero{grid-template-columns:1.2fr 1fr}.merchant-noir .hero-copy{padding:27px}.merchant-noir .hero h2{font-size:32px}.merchant-noir .hero-art{display:grid}.merchant-noir .noir-card{width:230px;padding:17px}.merchant-noir .stamp-mini span{width:15px;height:15px}.merchant-noir .noir-card .stamp-mini{gap:3px}.merchant-noir .metric{padding:20px}.merchant-noir .panel{padding:23px}.merchant-noir .table-panel{padding:0}.merchant-noir .grid,.merchant-noir .split{grid-template-columns:1fr}.merchant-noir .footnote{margin-top:24px}.merchant-noir .mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;z-index:40;background:#1c1c1cf5;border-top:1px solid #645836;backdrop-filter:blur(18px);padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));gap:3px;min-height:76px}.merchant-noir .mobile-nav>a,.merchant-noir .mobile-more>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:7px 2px;color:#acacac;font-size:9px;letter-spacing:.2px;min-height:55px;list-style:none;cursor:pointer;border-radius:8px;border:1px solid transparent}.merchant-noir .mobile-nav a.active,.merchant-noir .mobile-more[open]>summary{background:#2e2e2e;color:#e6c98b;border-color:#544f32}.merchant-noir .mobile-nav .scan-tab{color:#dec38b}.merchant-noir .mobile-nav .scan-tab .ico{width:26px;height:26px}.merchant-noir .mobile-nav .scan-tab svg{width:25px;height:25px}.merchant-noir .mobile-more nav{position:absolute;right:14px;bottom:calc(100% + 12px);width:240px;padding:8px;background:#2a2a2a;border:1px solid #70603c;border-radius:13px;box-shadow:0 -10px 40px #0008}.merchant-noir .mobile-more nav a{display:flex;align-items:center;gap:13px;padding:15px 13px;color:#e3d5b7;font-size:13px;border-radius:7px}.merchant-noir .mobile-more nav a:hover{background:#3b3b3b}.merchant-noir #toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}.merchant-noir.scan-page #toast{bottom:calc(190px + env(safe-area-inset-bottom,0px))}
 .merchant-noir .scan-workspace{gap:16px}.merchant-noir .scan-entry,.merchant-noir .scan-result{padding:20px}.merchant-noir .scan-result .panelhead{gap:8px}.merchant-noir .scan-balance{gap:15px}.merchant-noir .scan-result .stamps{gap:7px}
}
@media(max-width:620px){
 .merchant-noir .content{padding:23px 18px 120px}.merchant-noir .topbar{padding:10px 18px;height:68px;min-height:68px;gap:10px}.merchant-noir .mobile-brand{font-size:12px;gap:8px;letter-spacing:2.4px}.merchant-noir .mobile-brand>img{width:34px;height:34px}.merchant-noir .mobile-brand small{font-size:7px;letter-spacing:3.5px}.merchant-noir .topbar>.demo{font-size:7px;max-width:100px;white-space:normal;line-height:1.7;letter-spacing:.5px}.merchant-noir .portal-switch summary{width:33px;height:33px}.merchant-noir .portal-switch summary .ico svg{width:17px;height:17px}.merchant-noir .pagehead{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:22px}.merchant-noir .pagehead .eyebrow{font-size:8px;letter-spacing:1.8px}.merchant-noir h1{font-size:31px;letter-spacing:-.7px}.merchant-noir .subtitle{font-size:12px;line-height:1.75}.merchant-noir .pagehead .actions .btn{min-height:44px}.merchant-noir .hero{grid-template-columns:1fr;min-height:unset;margin-bottom:18px}.merchant-noir .hero-copy{padding:27px 24px 11px}.merchant-noir .hero h2{font-size:35px}.merchant-noir .hero p{font-size:11px;max-width:100%}.merchant-noir .hero .actions{gap:8px}.merchant-noir .hero .btn{font-size:10px;min-height:39px;padding:9px 11px}.merchant-noir .noir-card-art{min-height:220px;padding:38px 20px 30px}.merchant-noir .noir-card{width:255px;padding:20px}.merchant-noir .noir-card .stamp-mini{gap:5px}.merchant-noir .stamp-mini span{width:17px;height:17px}.merchant-noir .noir-card header{font-size:20px}.merchant-noir .metrics{gap:11px;margin-bottom:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-noir .metric{padding:18px 16px}.merchant-noir .metric-top{font-size:10px;gap:6px;line-height:1.6}.merchant-noir .metric-top .ico{display:flex;width:16px;height:16px}.merchant-noir .metric-top .ico svg{width:16px;height:16px}.merchant-noir .metric-value{font-size:31px;margin:11px 0 6px}.merchant-noir .metric-note{font-size:9px}.merchant-noir .panel{padding:20px}.merchant-noir .table-panel{padding:0}.merchant-noir .panelhead{gap:12px;margin-bottom:20px}.merchant-noir .panelhead h2{font-size:19px}.merchant-noir .panelhead .pill{font-size:8px}.merchant-noir .formgrid{grid-template-columns:1fr}.merchant-noir .formgrid .full{grid-column:auto}.merchant-noir input,.merchant-noir select,.merchant-noir textarea{font-size:16px;min-height:47px}.merchant-noir .formsection>p{font-size:11px}.merchant-noir .info{font-size:11px;line-height:1.8}.merchant-noir .btn{min-height:44px;white-space:normal;font-size:12px}.merchant-noir .panel .actions{gap:10px}.merchant-noir .panel .actions>.btn{flex:1}.merchant-noir .footnote{flex-direction:column;gap:8px;font-size:9px;line-height:1.9}.merchant-noir .statusline{gap:12px}.merchant-noir .statusline .badge{font-size:8px}.merchant-noir th,.merchant-noir td{padding:16px;font-size:11px}.merchant-noir .table-wrap{scrollbar-color:#7a7049 #1d1d1d}.merchant-noir dialog{padding:24px}.merchant-noir dialog .actions{display:grid;grid-template-columns:1fr 1fr}.merchant-noir dialog .btn{padding:11px;font-size:11px}.merchant-noir dialog h2{font-size:25px}
 .merchant-noir.scan-page .content{padding-top:19px;padding-bottom:220px}.merchant-noir.scan-page .pagehead{gap:0;margin-bottom:17px}.merchant-noir.scan-page h1{font-size:30px;margin-bottom:8px}.merchant-noir.scan-page .pagehead .subtitle{font-size:11px}.merchant-noir .scan-workspace{grid-template-columns:1fr;gap:13px}.merchant-noir .scan-entry{padding:17px}.merchant-noir .scan-entry .panelhead{margin-bottom:12px}.merchant-noir .scan-entry .panelhead h2{font-size:17px}.merchant-noir .scanner{min-height:118px;margin-bottom:13px}.merchant-noir .scanbox{height:67px;width:123px;border-radius:7px;transform:translateY(-7px)}.merchant-noir .scanbox:after{width:100px;animation:scan-mobile 2.4s infinite alternate}.merchant-noir .scanbox .ico,.merchant-noir .scanbox svg{width:29px;height:29px}.merchant-noir .scan-caption{font-size:8px;bottom:10px}.merchant-noir .scan-entry .field{margin-bottom:11px}.merchant-noir .scan-entry label{font-size:10px;margin-bottom:7px}.merchant-noir .scan-entry select{font-size:14px;min-height:43px;padding:11px}.merchant-noir .scan-condition{font-size:10px;gap:7px;line-height:1.6}.merchant-noir .scan-condition .ico{width:15px;height:15px}.merchant-noir .scan-condition .ico svg{width:15px;height:15px}.merchant-noir .scan-result{padding:17px}.merchant-noir .scan-result .panelhead{margin-bottom:10px}.merchant-noir .scan-result .panelhead h2{font-size:16px}.merchant-noir .scan-result .eyebrow{font-size:7px;margin-bottom:5px}.merchant-noir .scan-result .badge{font-size:8px}.merchant-noir .scan-balance{gap:18px}.merchant-noir .card-counter{font-size:37px;margin:0}.merchant-noir .card-counter span{font-size:17px}.merchant-noir .scan-balance .subtitle{font-size:10px;max-width:none}.merchant-noir .scan-result .stamps{gap:8px;margin:12px 0;grid-template-columns:repeat(10,minmax(0,1fr))}.merchant-noir .scan-result .stamp{font-size:9px;min-width:0}.merchant-noir .scan-reward{font-size:10px;padding-top:10px;gap:8px}.merchant-noir .scan-reward .ico{width:15px;height:15px}.merchant-noir .scan-rule{font-size:8px;margin-top:8px}.merchant-noir .booking-actions{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:35;background:#1c1c1cf5;backdrop-filter:blur(18px);border-top:1px solid #494949;border-bottom:0;padding:9px 18px 12px;display:flex;flex-direction:column;gap:7px;margin:0;max-width:none}.merchant-noir .booking-actions>p{font-size:8px;gap:6px}.merchant-noir .booking-actions>p .ico{width:12px;height:12px}.merchant-noir .booking-actions>p .ico svg{width:12px;height:12px}.merchant-noir .booking-actions .actions{width:100%;display:grid;grid-template-columns:1.1fr 1fr;gap:9px}.merchant-noir .booking-actions .btn{min-height:46px;padding:11px 8px;font-size:11px;gap:6px}.merchant-noir .booking-actions .btn .ico{width:15px;height:15px}.merchant-noir .booking-actions .btn svg{width:15px;height:15px}.merchant-noir .scan-history{margin-top:18px}.merchant-noir .scan-history .activity b{font-size:11px}.merchant-noir .scan-history .activity p{font-size:9px}
}
@keyframes scan-mobile{from{transform:translateY(-15px)}to{transform:translateY(15px)}}
@media(max-width:360px){.merchant-noir .topbar{padding-inline:14px;gap:8px}.merchant-noir .content{padding-inline:14px}.merchant-noir .topbar>.demo{max-width:88px;font-size:6.5px}.merchant-noir h1{font-size:29px}.merchant-noir .hero h2{font-size:31px}.merchant-noir .metric-top .ico{display:none}.merchant-noir .hero-copy{padding-inline:20px}.merchant-noir .hero .actions .btn{font-size:9px;gap:5px;padding-inline:8px}.merchant-noir .noir-card{width:225px}.merchant-noir .stamp-mini span{width:15px;height:15px}.merchant-noir .noir-card .stamp-mini{gap:4px}.merchant-noir .mobile-nav>a,.merchant-noir .mobile-more>summary{font-size:8px}.merchant-noir .booking-actions{padding-inline:14px}.merchant-noir .booking-actions .btn{font-size:10px}}
@media(prefers-reduced-motion:reduce){.merchant-noir .scanbox:after{animation:none}}

/* Pure black, charcoal and gold palette. */
body.merchant-noir{--bg:#090909;--paper:#151515;--ink:#f5f0e5;--muted:#b8b8b8;--line:#343434;--gold:#d2b578;--lime:#d2b578;--green:#d2b578;--purple:#25211a;background:#090909}.merchant-noir .sidebar{background:#0d0d0d}.merchant-noir .topbar{background:#0c0c0cee}.merchant-noir .metric,.merchant-noir .panel{background:linear-gradient(140deg,#181818,#121212);border-color:#35312a}.merchant-noir .hero{background:radial-gradient(ellipse at 80% 70%,#b28b3220,transparent 58%),linear-gradient(115deg,#1b1916,#0c0c0c);border-color:#74603c}.merchant-noir .noir-card{background:linear-gradient(120deg,#24211b,#0e0e0e)}.merchant-noir .btn.primary,.merchant-noir .btn.lime{color:#101010}.merchant-noir .mobile-nav,.merchant-noir .booking-actions{background:#111111f5}.merchant-noir .badge{background:#27221a;color:#dec38d;border-color:#605132}

/* Iverian website reference: deep black, strong white sans-serif and selective gold. */
body.merchant-noir{--bg:#09090b;--paper:#131315;--ink:#f6f6f7;--muted:#aaa9ae;--line:#303034;--gold:#d6bd88;--lime:#d6bd88;background:#09090b}
.merchant-noir .main{background:radial-gradient(ellipse at 85% 0,#b7964b08,transparent 48%)}
.merchant-noir .sidebar{background:#0b0b0d;border-color:#29292d}
.merchant-noir .topbar{background:#0b0b0def;border-color:#29292d}
.merchant-noir h1{font:700 34px/1.15 Manrope,'DM Sans',sans-serif;letter-spacing:-1.3px;color:#f5f5f7}
.merchant-noir h2{font:650 17px/1.45 Manrope,'DM Sans',sans-serif;letter-spacing:-.35px;color:#efeff2}
.merchant-noir .hero{background:radial-gradient(ellipse at 75% 15%,#c5a15a10,transparent 55%),#0d0d0f;border-color:#45403a;isolation:isolate;position:relative;overflow:hidden}
.merchant-noir .hero:before{content:'';position:absolute;inset:0;background:url('assets/brand/iverian-pattern.svg?v=sharp-logo1') center/720px 360px;pointer-events:none;opacity:.7;z-index:-1}
.merchant-noir .hero-copy{z-index:1}
.merchant-noir .hero h2{font:750 36px/1.22 Manrope,'DM Sans',sans-serif;letter-spacing:-1.1px;color:#f4f4f5}
.merchant-noir .hero h2 em{color:#dfc590;font-style:italic;font-weight:750}
.merchant-noir .hero .eyebrow{display:flex;align-items:center;gap:12px;color:#d1b886;letter-spacing:2px}
.merchant-noir .hero .eyebrow:before{content:'';width:23px;height:1px;background:#cbb17d;flex-shrink:0}
.merchant-noir .hero p,.merchant-noir .subtitle{color:#aaa9ae}
.merchant-noir .panel,.merchant-noir .metric{background:linear-gradient(135deg,#151517,#101012);border-color:#323236}
.merchant-noir .metric-value{font:600 31px/1.2 Manrope,'DM Sans',sans-serif;letter-spacing:-1px;color:#f0dfbc}
.merchant-noir .helpbox strong{font:600 13px/1.7 Manrope,sans-serif;color:#d2bd93}
.merchant-noir .workspace{background:#161618;border-color:#353437}
.merchant-noir .avatar{background:#29261f;border-color:#494132}
.merchant-noir .nav a{color:#b5b3bb}
.merchant-noir .nav a.active{background:#25211a;border-color:#5c4b30;color:#e3c68f}
.merchant-noir .nav a:hover{background:#202022}
.merchant-noir .noir-card{background:linear-gradient(115deg,#201e19,#0d0d0f);border-color:#b59a63}
.merchant-noir .noir-card:before{background:#18181a}.merchant-noir .noir-card:after{background:#111113}
.merchant-noir .btn{background:#18181b;border-color:#49443a;color:#e0d1b2}
.merchant-noir .btn:hover{background:#242427}
.merchant-noir .btn.primary,.merchant-noir .btn.lime{background:#d6bd88;color:#101012;border-color:#d6bd88}
.merchant-noir .hero .btn{background:#161618;border-color:#4b4436;color:#e5d4b0}
.merchant-noir .scanner{background:radial-gradient(ellipse at center,#b1975730,transparent 65%),#09090b;border-color:#45403a}
.merchant-noir input,.merchant-noir textarea,.merchant-noir select{background:#0d0d10;border-color:#3e3d42;color:#f1eee7}
.merchant-noir .mobile-nav,.merchant-noir .booking-actions{background:#101012f5}
.merchant-noir .scan-result .panelhead h2{color:#f4f4f5}.merchant-noir .card-counter{color:#e2c795}
.merchant-noir dialog{background:#171719;border-color:#5d4f37}.merchant-noir .portal-switch nav,.merchant-noir .mobile-more nav{background:#1b1b1e}
@media(min-width:1600px){.merchant-noir .hero h2{font-size:43px}}
@media(max-width:620px){.merchant-noir h1{font-size:29px;letter-spacing:-1px}.merchant-noir .hero h2{font-size:34px}.merchant-noir h2{font-size:17px}.merchant-noir.scan-page h1{font-size:29px}.merchant-noir .metric-value{font:600 29px/1.2 Manrope,sans-serif}}
