/* CUSMEX Executive: shared visual system for all application surfaces. */
:root{
 --navy:#071d3e;--red:#c72c40;--muted:#53667f;--line:#d7e1ed;
 --surface:#ffffff;--canvas:#edf2f8;--accent:#c72c40;
 font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--navy);background:var(--canvas);
}
body{background:linear-gradient(145deg,#f7f9fc 0%,#edf2f8 65%,#e7eef7 100%);min-height:100vh}
h1{font-weight:750;letter-spacing:-.045em;line-height:1.15}
h2,h3{font-weight:650;line-height:1.3}
.eyebrow{letter-spacing:.13em;font-weight:700}
.brand{letter-spacing:.035em}
.brand img{border-radius:8px;background:white;padding:3px}
.brand small{color:#53667f;font-weight:600}
.public-header{padding-top:26px;padding-bottom:26px;gap:16px;flex-wrap:wrap}
.public-header .brand span{font-weight:800}
.btn{border-radius:12px;min-height:48px;padding:13px 20px;font-size:.9375rem;font-weight:650;box-shadow:0 1px 2px #071d3e06;transition:background .18s,border-color .18s,box-shadow .18s}
.btn:hover{background:#eaf0f8;border-color:#9fb3cd;box-shadow:0 4px 12px #071d3e0b}
.btn.primary{background:var(--navy);border-color:var(--navy);box-shadow:0 4px 12px #071d3e15}
.btn.primary:hover{background:#17365f;border-color:#17365f}
.btn.small{min-height:40px;font-size:.875rem;padding:9px 13px}
.btn.red{color:#ab1f34;border-color:#efd0d6;background:#fff8f9}
.share-link{font-size:.9375rem;padding:10px 12px;border-radius:10px}
.share-link:hover{background:#e5edf7}
.qr-trigger{background:#eef3fa;border:1px solid #b9cae0;color:var(--navy)}
.qr-trigger .icon{width:22px;height:22px}
.identity{border-radius:24px;border-color:#d4e0ee;box-shadow:0 16px 46px #09254a0d}
.identity-content{padding:0 32px 32px}
.identity h1{font-size:2.2rem;margin-top:7px;margin-bottom:12px}
.identity .title{font-size:1.1rem;line-height:1.45}
.identity .eyebrow{color:#a42a3d}
.avatar{background:#e8eef7;color:#153b67;font-family:inherit;font-weight:600}
.contact-links{gap:6px}
.contact-link{padding:12px 0;font-size:1rem}
.contact-link .icon{background:#edf2f8;box-sizing:content-box;padding:9px;border-radius:10px;color:#183e6b}
.exchange{border-radius:24px;padding:32px;box-shadow:0 8px 30px #071d3e05;margin-top:0}
.exchange>.eyebrow{color:#a42a3d}
.exchange h2{font-size:1.8rem}
.field{font-size:.9375rem;font-weight:600;gap:8px;margin-bottom:19px}
.field input,.field select{background:#fbfcfe;border-color:#c4d2e3;border-radius:11px;min-height:48px;padding:12px 14px;font-size:1rem;font-weight:400}
.field input:focus,.field select:focus{border-color:#386895;outline:3px solid #38689519;outline-offset:0;background:white}
.field small{font-size:.8125rem;font-weight:400;line-height:1.5}
.check{font-size:.875rem;line-height:1.6}
.check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--navy);margin-top:3px}
.save-note{font-size:.875rem;line-height:1.65}
.location-panel{border-color:#d7e2ef;background:#f1f5fa;border-radius:14px;padding:18px}
.location-panel p{font-size:.875rem}
.location-panel strong{font-weight:650}
.footer{font-size:.8125rem;line-height:1.65}
.entry{max-width:1040px;padding:54px 28px 80px}
.entry>h1{font-size:2.75rem;margin:12px 0 18px}
.entry>.eyebrow{color:#a42a3d}
.entry-options{gap:26px;margin:42px 0 30px}
.entry-option{padding:34px;border-radius:22px;border-top:4px solid var(--navy);box-shadow:0 10px 30px #071d3e06}
.entry-option:nth-child(2){border-top-color:var(--red)}
.entry-option>.icon{width:40px;height:40px;padding:12px;box-sizing:content-box;background:#edf2f8;border-radius:14px;margin-bottom:25px}
.entry-option:nth-child(2)>.icon{background:#fbecf0;color:#a62237}
.entry-option h2{font-size:1.45rem;letter-spacing:-.025em}
.entry-option p{font-size:1rem;min-height:56px}
.entry-option span{display:inline-block;margin-top:8px;font-size:.9375rem}
.entry-option:hover{border-color:#819ab9;box-shadow:0 16px 35px #071d3e0c}
.registration-panel{padding:36px;border-radius:24px;box-shadow:0 16px 44px #071d3e08}
.registration-panel>.eyebrow{color:#a42a3d}
.login-brand{background:linear-gradient(160deg,#071d3ee8,#102f55f7),url(brand/cusmex-cover.jpg) center/cover}
.login-brand .brand small{color:#d3e0ee}
.login-brand>.brand{padding-bottom:24px;border-bottom:1px solid #ffffff25}
.login-brand h1{font-family:Georgia,"Times New Roman",serif;line-height:1.2}
.login-form h2{font-size:2rem;margin-top:12px}
.sidebar{background:var(--navy);border-right:1px solid #142f50;color:#e8eff8;padding:30px 18px}
.sidebar .brand{color:white;margin-bottom:40px}
.sidebar .brand small{color:#b8c9df}
.nav button{color:#b7c8dd;border-radius:11px;padding:14px 16px;font-weight:500}
.nav button:hover{color:white;background:#ffffff09}
.nav button.active{background:#ffffff12;color:white;box-shadow:inset 3px 0 0 #ec4d5f;font-weight:650}
.sidebar-bottom{border-top-color:#ffffff20}
.sidebar .account{font-size:.875rem;color:#c6d5e7}
.sidebar .account b{color:#ff9aa6}
.sidebar-bottom .btn{background:#ffffff0a;border-color:#ffffff2a;color:white}
.sidebar-bottom .btn:hover{background:#ffffff17}
.topbar{border-bottom-color:#cedbea;font-size:.9375rem}
.topbar .eyebrow{color:#4c637f}
.workspace{padding-top:0}
.page-heading{flex-wrap:wrap}
.page-heading h1{font-size:2.35rem}
.page-heading p{font-size:1rem}
.stats{gap:20px}
.stat{border-radius:16px;padding:24px;border-top:3px solid #234a76;box-shadow:0 4px 18px #071d3e04}
.stat:last-child{border-top-color:var(--red)}
.stat span{font-size:.9375rem}
.stat strong{font-size:2.25rem;line-height:1.15;margin-top:12px}
.mini-card{border-radius:19px;box-shadow:0 6px 22px #071d3e06}
.mini-body{padding:0 24px 24px}
.mini-body h3{font-size:1.3rem}
.mini-body p{font-size:.9375rem}
.badge{font-size:.8125rem;padding:6px 10px;border-radius:7px}
.section-label{font-size:.8125rem;font-weight:700;letter-spacing:.13em;color:#4c637f}
.editor-panel,.panel{border-radius:19px;padding:30px;box-shadow:0 5px 24px #071d3e04}
.toolbar input,.toolbar select{border-radius:11px;font-size:.9375rem;min-height:46px}
.table-wrap{border-radius:17px;box-shadow:0 4px 20px #071d3e04}
table{font-size:.9375rem}
th{background:#edf3fa;color:#3f5775;font-size:.875rem;font-weight:650;padding:17px 20px}
td{padding:20px;border-bottom-color:#e7edf5}
td small{font-size:.875rem}
tbody tr:hover{background:#f8fafd}
.empty{border-radius:19px;padding:60px 24px;background:#ffffffb8}
.empty p{font-size:1rem}
.privacy{border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 8px 30px #071d3e06}
dialog{border-radius:22px;padding:34px;border-color:#d4dfed;box-shadow:0 28px 100px #03132945}
dialog h2{padding-right:28px}
dialog::backdrop{background:#06172c99;backdrop-filter:blur(6px)}
.close{color:#485e7a;border-radius:9px}
.close:hover{background:#edf2f8}
.modal-url{background:#edf3fa;font-size:.875rem;line-height:1.5}
#toast{border:1px solid #ffffff22;border-radius:12px;font-size:.9375rem}
:focus-visible{outline:3px solid #3d78b2;outline-offset:3px}
@media(max-width:1050px){.editor-panel,.panel{padding:25px}.identity-content{padding:0 25px 28px}.exchange{padding:26px}}
@media(max-width:760px){
 .public-header{padding:18px 20px}.public-layout{margin-top:10px}.exchange{margin-top:22px;padding:24px;border-radius:21px}
 .identity{border-radius:21px}.identity h1{font-size:2rem}.identity-content{padding:0 24px 26px}.contact-link{font-size:.9375rem}
 .entry{padding:26px 20px 48px}.entry>h1{font-size:2rem}.entry-options{gap:18px;margin-top:28px}.entry-option{padding:26px}.entry-option p{min-height:0}.entry-option>.icon{margin-bottom:18px}
 .registration-panel{padding:26px;margin:20px 16px}.page-heading h1{font-size:1.9rem}.page-heading p{font-size:.9375rem}
 .sidebar{background:#071d3ef7;border-bottom:1px solid #ffffff20;padding:16px}.sidebar .brand{margin-bottom:14px}
 .nav button{padding:10px 13px;font-size:.875rem}.nav button.active{box-shadow:inset 0 -2px 0 #ec4d5f}
 .stats{gap:9px}.stat{padding:17px 12px}.stat span{font-size:.8125rem}.stat strong{font-size:1.9rem}
 .editor-panel,.panel{padding:23px}.btn{padding:12px 16px}.privacy{padding:26px}.login-brand{min-height:245px}
 .login-brand>.brand{padding-bottom:18px}.login-brand h1{font-size:2rem}dialog{padding:28px 24px}.qr{max-width:100%}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.entry-brand-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.entry-brand-header .business-brand{display:block;flex-shrink:0}.entry-brand-header .business-brand img{display:block;width:120px;height:120px;object-fit:contain;border-radius:12px}.entry-brand-header .council-brand{width:min(420px,48%);height:120px;object-fit:contain}@media(max-width:600px){.entry-brand-header{gap:16px}.entry-brand-header .business-brand img{width:88px;height:88px}.entry-brand-header .council-brand{width:60%;height:88px}}

/* Business Cards welcome page */
body.business-entry{background:#030b17;color:#f8f8f5;min-height:100vh}
.business-entry .entry-brand-header{justify-content:center;padding-top:28px;padding-bottom:0}
.business-entry .entry-brand-header .business-brand img{width:160px;height:160px;border-radius:0}
.business-entry .entry{padding-top:32px;padding-bottom:64px;max-width:1000px}
.business-entry .entry h1{color:#f8f8f5;font-size:clamp(32px,4vw,54px);letter-spacing:-.04em}
.business-entry .entry>.eyebrow{color:#dcc483}
.business-entry .muted,.business-entry .entry>p,.business-entry .save-note{color:#aeb9ca}
.business-entry .entry-options{gap:24px;margin-top:40px}
.business-entry .entry-option,.business-entry .entry-option:nth-child(2){background:#091423;border:1px solid #293447;border-top:1px solid #76643f;border-radius:20px;box-shadow:0 14px 36px #0003;padding:32px;transition:background .2s,border-color .2s,transform .2s}
.business-entry .entry-option:hover{background:#101e30;border-color:#d8bd78;transform:translateY(-3px)}
.business-entry .entry-option h2{color:#f8f8f5;font-size:24px}
.business-entry .entry-option p{color:#aeb9ca}
.business-entry .entry-option>span{color:#e8ce8c}
.business-entry .entry-option>.icon,.business-entry .entry-option:nth-child(2)>.icon{color:#e8ce8c;background:#d6b66a12;border:1px solid #d6b66a30;border-radius:16px}
.business-entry .save-note a{color:#e8ce8c;text-underline-offset:4px}
@media(max-width:600px){.business-entry .entry-brand-header .business-brand img{width:132px;height:132px}.business-entry .entry{padding-top:24px}.business-entry .entry-options{margin-top:30px;gap:18px}.business-entry .entry-option{padding:26px}.business-entry .entry-option h2{font-size:22px}}
body.business-registration{background:#030b17;color:#f8f8f5;min-height:100vh;color-scheme:dark}
.business-registration .registration-panel{background:#091423;border-color:#293447;box-shadow:0 20px 60px #0003}
.business-registration h1,.business-registration .field,.business-registration .brand{color:#f8f8f5}
.business-registration .muted,.business-registration .check,.business-registration .save-note,.business-registration .brand small{color:#aeb9ca}
.business-registration .eyebrow,.business-registration .back-link,.business-registration .check a{color:#e8ce8c}
.business-registration .field input{background:#050f1e;border:1px solid #41516a;color:#f8f8f5}
.business-registration .field input:focus{border-color:#e8ce8c;box-shadow:0 0 0 3px #e8ce8c20;outline:none}
.business-registration .btn{background:#101e30;border-color:#41516a;color:#f8f8f5}
.business-registration .btn.primary{background:#e8ce8c;border-color:#e8ce8c;color:#07101d}
.business-registration .form-error{color:#ffb0aa}
.business-registration .success h2{color:#f8f8f5}
.business-entry .app-credit{margin:28px auto 0;max-width:680px;color:#aeb9ca;font-size:13px;line-height:1.7;text-align:center}
