/* One product, three deliberately distinct layers. */
[hidden]{display:none!important}
.level-indicator{color:#cbb786;font-size:9px;text-transform:uppercase;letter-spacing:1.4px;padding:7px 10px;border:1px solid #574a31;border-radius:5px;white-space:nowrap}
.merchant-noir .topbar>.crumb{display:none}
/* Merchant: calm, functional charcoal; Iverian remains in the masthead and actions. */
body.merchant-noir:not(.admin-noir){--bg:#111214;background:#111214}
.merchant-noir:not(.admin-noir) .main{background:none}
.merchant-noir:not(.admin-noir) .hero{background:linear-gradient(120deg,#1a1b1e,#141517);border-color:#3b3a34}
.merchant-noir:not(.admin-noir) .hero:before{display:none}
.merchant-noir:not(.admin-noir) .hero h2{font-size:30px;font-weight:650;letter-spacing:-.8px}
.merchant-noir:not(.admin-noir) .hero h2 em{font-style:normal;font-weight:500;color:#cbb993}
.merchant-noir:not(.admin-noir) .hero .eyebrow:before{display:none}
.merchant-noir:not(.admin-noir) .noir-orbit{display:none}
.merchant-noir:not(.admin-noir) .hero .eyebrow{letter-spacing:1.3px;color:#aaa9ac}
.merchant-noir:not(.admin-noir) .panel,.merchant-noir:not(.admin-noir) .metric{background:#191a1d;border-color:#343538}
.merchant-noir:not(.admin-noir) h1{font-size:31px;font-weight:650}
.merchant-noir:not(.admin-noir) .metric-value{color:#ebe9e4}
.merchant-noir:not(.admin-noir) .level-indicator{color:#b8b7b3;border-color:#424346;background:#1d1e20}
.merchant-noir:not(.admin-noir) .metric:before{background:#98815b;width:15px}
.merchant-noir:not(.admin-noir) .sidebar{background:#101113}
.merchant-noir:not(.admin-noir) .helpbox{background:none;border-color:#333437}
.merchant-noir:not(.admin-noir) .helpbox strong{color:#d6d3cb}
/* Internal workspace: graphite grid, richer gold accents and explicit internal label. */
body.admin-noir{--bg:#101017;--paper:#191920;--line:#37353f;background:#101017;color:#f0edf0}
.admin-noir .main{background-image:radial-gradient(ellipse at 90% 0,#ad8b3a18,transparent 48%),radial-gradient(#72674924 .65px,transparent .65px);background-size:auto,19px 19px}
.admin-noir .sidebar{background:#111117;border-color:#37323b}
.admin-noir .topbar{background:#121219f0;border-color:#38323a}
.admin-noir .level-indicator{background:#352b19;color:#e9cb8c;border-color:#8b7042}
.admin-noir .workspace{background:#222129;border-color:#4b4144}
.admin-noir .workspace .avatar{background:#3a2c20;border-color:#77573a;color:#e9c48d}
.admin-noir .nav a.active{background:#352c21;border-color:#896a3c;color:#efd399}
.admin-noir .nav a:hover{background:#29252b}
.admin-noir .hero{background:radial-gradient(ellipse at 90% 30%,#9c773326,transparent 60%),linear-gradient(130deg,#25212a,#17171d);border-color:#796039}
.admin-noir .hero:before{opacity:.36;background-size:600px 300px}
.admin-noir .hero h2{font-size:31px;color:#f3e5cc}
.admin-noir .hero .btn{border-color:#8c7042;color:#e5ca96}
.admin-noir .admin-art{display:flex;flex-direction:column;gap:12px;justify-content:center;align-items:center;min-height:220px}
.admin-noir .admin-art img{filter:drop-shadow(0 15px 25px #0005);transform:rotate(-5deg)}
.admin-noir .admin-art span{font-size:8px;letter-spacing:2.2px;color:#c9ad78}
.admin-noir .panel,.admin-noir .metric{background:linear-gradient(130deg,#1e1d25,#17171d);border-color:#403942}
.admin-noir .metric-top{color:#bbb4b7}.admin-noir .metric-value{color:#e8cd94}
.admin-noir .navlabel{color:#b0a0a4}.admin-noir .modes{background:#1a1920;border-color:#403840}
.admin-noir .modes a.selected{background:#3a2d1d;color:#f0cf91}
.admin-noir input,.admin-noir select,.admin-noir textarea{background:#111117;border-color:#51444c}
.admin-noir .btn.primary{background:#dfbf80;border-color:#dfbf80;color:#181512}
.admin-noir .btn:not(.primary){background:#24212a;border-color:#65514b}
.admin-noir th{background:#27222d;border-color:#443b45;color:#d5bf98}
.admin-noir tbody tr:hover{background:#29232c}.admin-noir td{border-color:#39323e}
.admin-noir .info{background:#2c2623;border-color:#66503b;color:#d5bf9c}
.admin-noir .activity .avatar{background:#342822;color:#dab77c}
.admin-noir .helpbox{background:#211c22;border-color:#46383d}
.admin-noir .mobile-nav{background:#18151df7;border-color:#7f623f}
.admin-noir .mobile-nav a.active{background:#3a2c21;color:#f0cf91}
/* Card artwork upload. */
.design-section{padding-top:5px}.design-section>p{margin-bottom:18px}
.admin-noir input[type=file]{padding:9px;min-height:49px;max-width:100%;font-size:11px;line-height:2}
.admin-noir input[type=file]::file-selector-button{border:1px solid #74603f;background:#3a2e1f;color:#edd4a6;border-radius:5px;padding:8px 12px;margin-right:10px;font:inherit;cursor:pointer}
.upload-error{color:#efb7a6;font-size:11px;line-height:1.8;margin:9px 0;overflow-wrap:anywhere}
.design-preview{margin:17px 0;background:#101015;border:1px solid #6b5540;border-radius:11px;overflow:hidden}
.design-preview>img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;background:repeating-conic-gradient(#242129 0 25%,#1a181e 0 50%) 0/18px 18px;padding:12px}
.design-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;font-size:11px;color:#c7b89d;line-height:1.7}
.design-preview .design-preview-meta{padding:12px 15px}
.design-preview-meta>span{min-width:0;overflow-wrap:anywhere}
.design-preview-meta strong{font-size:12px;font-weight:500}.design-preview-meta small{display:block;font-size:10px;color:#aea3a4;margin-top:3px}
.upload-storage-note{border-left:2px solid #a48048;padding:5px 12px;margin:16px 0 0;color:#c8b49b;font-size:10px;line-height:1.8}
.design-detail{margin-bottom:23px}.saved-design{background:repeating-conic-gradient(#242129 0 25%,#1a181e 0 50%) 0/20px 20px;border:1px solid #4a3c42;border-radius:10px;padding:17px}
.saved-design>img{display:block;width:100%;max-height:340px;height:auto;object-fit:contain}
.saved-design .upload-error,.saved-design .design-loading{padding:15px}.design-detail>.note{margin:0}
/* Customer-facing distribution: warmer and more open, with a small Iverian signature. */
body.public-noir{background:#14110e;color:#f0e9dd;color-scheme:dark}
.public-noir .public{background:radial-gradient(ellipse at 80% 30%,#9f783322,transparent 60%),#14110e;position:relative;isolation:isolate;min-height:100vh}
.public-noir .public:before{content:'';position:absolute;inset:90px 0 0;background:url('assets/brand/iverian-pattern.svg?v=sharp-logo1') top center/800px 400px;opacity:.23;z-index:-1;pointer-events:none}
.public-noir .publicnav{border-bottom:1px solid #554635;padding-bottom:21px;gap:17px}
.public-noir .brand .brand-lettering>span{color:#d6b983}
.public-noir .public-level{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#e6c799;border:1px solid #6f5535;border-radius:30px;padding:7px 12px;margin-right:auto;background:#2d2418}
.public-noir .publicnav>.btn{background:transparent;color:#c5b495;border-color:#574839;font-size:10px}
.public-noir .banner{background:#241e16;border-color:#5b4932;color:#c7b28c;font-size:10px;line-height:1.8}
.public-noir .public h1{font:700 45px/1.2 Manrope,sans-serif;color:#f8f4eb;letter-spacing:-1.7px}
.public-noir .public h1 em{color:#dfc18b;font-style:italic}
.public-noir .public .eyebrow{color:#cdb083;font-size:9px;letter-spacing:1.6px;line-height:1.8}
.public-noir .public .subtitle{color:#bcb2a2;font-size:14px}
.public-noir .publicsteps{color:#d4c9b4;gap:16px;line-height:1.8}
.public-noir .publicsteps b{background:#3b2e1c;color:#e5c38a;border:1px solid #78603b}
.public-noir .btn{background:#28221a;color:#e3c99c;border-color:#6b5337;min-height:46px;line-height:1.6;border-radius:9px;white-space:normal}
.public-noir .btn.primary{background:#ddbd81;color:#1c160d;border-color:#ddbd81}
.public-noir .note,.public-noir .preview-tag{color:#b5a68b;line-height:1.8}
.public-noir .link{color:#d6b886;min-height:35px}.public-noir .footnote{border-top-color:#5c4932!important;color:#a99b82}
.public-noir .panel{background:#272018;border-color:#675035;color:#eee0c8}.public-noir .panel .subtitle{font-size:12px}
.public-noir .wallet{border:1px solid #a98a57;box-shadow:0 25px 55px #0006}
.public-noir .stamp.filled{background:#d3b47b;color:#231c11}.public-noir .wallet-code{background:#f1e5d1;color:#302617}
.public-noir .wallet-code p{color:#7b6a4c}.public-noir .public-grid{gap:65px;margin-top:55px;margin-bottom:65px}
.public-noir dialog{background:#241e18;color:#eee2cc;border-color:#816139}.public-noir dialog p{color:#c6b59b}
.public-noir #toast{background:#ddbd81;color:#211a0e}
@media(max-width:1150px){.level-indicator{font-size:8px;padding:6px 8px;letter-spacing:.9px}.admin-noir .hero h2{font-size:28px}}
@media(max-width:850px){.level-indicator{display:none}.admin-noir .hero-art{display:flex}.admin-noir .topbar>.demo{color:#e3bd83}.admin-noir .content{padding-bottom:125px}.admin-noir .portal-switch summary{color:#e3bd83;border-color:#705138}}
@media(max-width:620px){.merchant-noir:not(.admin-noir) h1{font-size:28px}.merchant-noir:not(.admin-noir) .hero h2{font-size:30px}.admin-noir h1{font-size:28px}.admin-noir .hero h2{font-size:28px}.admin-noir .admin-art{min-height:170px}.admin-noir .admin-art img{width:105px;height:105px}.design-preview-meta{align-items:flex-start;flex-direction:column;gap:9px}.design-preview-meta .btn{min-height:38px;font-size:10px}.saved-design{padding:10px}.admin-noir input[type=file]{font-size:11px}.public-noir .publicnav{flex-wrap:wrap;gap:12px;align-items:center}.public-noir .publicnav .brand{gap:8px}.public-noir .publicnav .brand>span{display:flex}.public-noir .brand img.brand-wordmark{width:95px;height:13px}.public-noir .public-level{margin-left:auto;margin-right:0;font-size:8px;letter-spacing:1px;padding:6px 9px}.public-noir .publicnav>.btn{width:100%;font-size:10px;min-height:35px}.public-noir .public h1{font-size:34px;letter-spacing:-1.2px}.public-noir .public-grid{grid-template-columns:1fr;gap:35px;margin-top:35px;margin-bottom:40px}.public-noir .public .subtitle{font-size:13px}.public-noir .public .actions{display:grid;grid-template-columns:1fr;gap:10px}.public-noir .public .actions .btn{justify-content:center;min-height:49px;font-size:12px}.public-noir .publicsteps{font-size:11px}.public-noir .wallet{max-width:340px}.public-noir .public .footnote{font-size:9px}.upload-error{font-size:11px}.design-section>h2{font-size:20px}}
@media(max-width:360px){.public-noir .public h1{font-size:30px}.public-noir .public{padding-inline:16px}.public-noir .brand img.brand-wordmark{width:83px}.public-noir .public-level{font-size:7px;padding:6px}.admin-noir .mobile-brand{font-size:11px}}
.public-noir .info{background:#30261a;border-color:#715735;color:#e1c89f}
/* Slow brand-pattern drift and light breathing; foreground remains stationary. */
.admin-noir .hero:before,.public-noir .public:before{animation:iverian-pattern-drift 12s ease-in-out infinite alternate;will-change:transform,opacity}
.admin-noir .hero:before{inset:-28px;--pattern-opacity-low:.32;--pattern-opacity-high:.82}
.public-noir .public{overflow:hidden}
.public-noir .public:before{inset:62px -28px -28px;--pattern-opacity-low:.20;--pattern-opacity-high:.52;animation-duration:16s;animation-delay:-4s}
@keyframes iverian-pattern-drift{0%{transform:translate3d(-18px,-8px,0);opacity:var(--pattern-opacity-low)}50%{opacity:var(--pattern-opacity-high)}100%{transform:translate3d(18px,8px,0);opacity:var(--pattern-opacity-low)}}
@media(prefers-reduced-motion:reduce){.admin-noir .hero:before,.public-noir .public:before{animation:none;transform:none;will-change:auto}}

/* Keep the vector logo on the pixel grid, without rasterizing CSS effects. */
.admin-noir .admin-art img{filter:none;transform:none}
