:root{--ink:#18211c;--muted:#66736b;--line:#e4e9e5;--bg:#f5f7f5;--card:#fff;--brand:#1f6a49;--brand2:#0f4c34;--soft:#e9f4ee;--warn:#9a5a00;--danger:#a63838;--radius:18px;--shadow:0 12px 34px rgba(25,52,37,.08)}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#132c22;color:#eaf4ef;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:18px}.brand small{display:block;font-size:10px;letter-spacing:.12em;opacity:.65}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#d8f3e3;color:#154d34;font-weight:900}.business-chip{margin:24px 0 14px;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05)}.business-chip span{display:block;font-size:11px;opacity:.65}.business-chip strong{font-size:13px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:11px 12px;border-radius:12px;color:#d7e7df;display:flex;gap:10px;align-items:center}.sidebar nav a:hover{background:rgba(255,255,255,.08)}.sidebar-bottom{margin-top:auto}.sidebar-bottom a{opacity:.8}.main{min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:4}.topbar h1{font-size:21px;margin:0}.user-pill{background:var(--soft);color:var(--brand2);padding:9px 13px;border-radius:999px;font-size:13px}.content{padding:28px 30px 50px}.footer{text-align:center;color:#849088;font-size:12px;padding:18px}.grid{display:grid;gap:18px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.metric small{color:var(--muted);display:block}.metric strong{font-size:28px;display:block;margin-top:6px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 12px}.section-title h2{font-size:17px;margin:0}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 15px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.btn:hover{background:var(--brand2)}.btn.secondary{background:#edf2ef;color:#244537}.btn.danger{background:#f9ecec;color:var(--danger)}.btn.small{padding:8px 11px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field label{font-size:12px;font-weight:750;color:#4f5d55}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #d7dfda;border-radius:12px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#82b39a;box-shadow:0 0 0 3px #e4f3eb}.span-2{grid-column:span 2}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf0ee;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6d7c73;background:#fafbfa}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#edf3ef;color:#315a45}.badge.gold{background:#fff3cf;color:#765400}.badge.danger{background:#fdeaea;color:#973a3a}.notice{padding:12px 14px;border-radius:12px;margin-bottom:15px;background:#eaf5ee;color:#28513b}.notice.error{background:#fdecec;color:#8d3232}.empty{text-align:center;padding:38px;color:var(--muted)}.public-body{background:#f3f7f4}.public-nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff;border-bottom:1px solid var(--line)}.public-nav>div{display:flex;gap:12px;align-items:center}.hero{padding:90px 7vw 70px;display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.hero h1{font-size:54px;line-height:1.02;margin:0 0 18px;max-width:760px}.hero p{font-size:19px;line-height:1.6;color:#53645a;max-width:680px}.hero-card{background:#17372a;color:#fff;border-radius:28px;padding:28px;box-shadow:0 25px 65px rgba(21,64,43,.18)}.loyalty-card{background:linear-gradient(145deg,#eff9f2,#cdebd8);color:#153e2b;border-radius:22px;padding:22px;margin-top:18px}.loyalty-card .dots{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}.loyalty-card .dot{aspect-ratio:1;border-radius:50%;background:#fff;border:2px solid #72a88b;display:grid;place-items:center;font-weight:900}.loyalty-card .dot.on{background:#1f6a49;color:#fff}.features{padding:40px 7vw 90px}.features h2{font-size:34px}.public-footer{text-align:center;padding:30px;color:#738078}.auth-wrap{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:40px 20px}.auth-card{width:min(520px,100%)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:8px 11px;border-radius:999px;background:#edf3ef;color:#42614f;font-size:12px}.customer-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.avatar{width:62px;height:62px;border-radius:18px;background:var(--soft);display:grid;place-items:center;font-weight:900;font-size:22px;color:var(--brand)}.profile-row{display:flex;gap:14px;align-items:center}.public-card-page{max-width:520px;margin:30px auto;padding:18px}.public-card-page .loyalty-card{box-shadow:var(--shadow)}@media(max-width:1000px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero h1{font-size:42px}}@media(max-width:760px){.app-shell{display:block}.sidebar{height:auto;position:relative}.sidebar nav{grid-template-columns:repeat(2,1fr)}.main{width:100%}.topbar{padding:0 16px}.content{padding:18px}.form-grid,.grid.cols-2,.grid.cols-4{grid-template-columns:1fr}.span-2{grid-column:span 1}.hero{padding:55px 22px}.hero h1{font-size:37px}.public-nav{padding:0 20px}.customer-head{display:block}.sidebar{display:none}}
/* FIDA 0.2 · Controles, seguridad y Admin SaaS */
button,input,select,textarea{font:inherit;color:inherit}
.field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235c6b62' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:16px}
.password-wrap{position:relative}.password-wrap input{padding-right:48px!important}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;cursor:pointer;color:#5f6e65}.password-toggle:hover{background:#edf3ef}.password-toggle svg{width:20px;height:20px}.password-toggle .eye-off{display:none}.password-toggle.is-visible .eye-on{display:none}.password-toggle.is-visible .eye-off{display:block}
.password-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;font-size:11px;color:var(--muted)}.strength{display:flex;align-items:center;gap:7px}.strength-bar{width:88px;height:6px;background:#edf0ee;border-radius:999px;overflow:hidden}.strength-bar:before{content:"";display:block;height:100%;width:0;background:#a63838;transition:.2s}.password-strength[data-level="1"] .strength-bar:before{width:25%}.password-strength[data-level="2"] .strength-bar:before{width:50%;background:#a66a20}.password-strength[data-level="3"] .strength-bar:before{width:75%;background:#5c8b6d}.password-strength[data-level="4"] .strength-bar:before{width:100%;background:var(--brand)}
.input-error{border-color:#c75a5a!important;box-shadow:0 0 0 3px #fbeaea!important}.field-error{font-size:11px;color:#9f3636;font-weight:650}
.notice{transition:opacity .25s,transform .25s}.notice-hide{opacity:0;transform:translateY(-5px)}
.toast-stack{position:fixed;right:22px;bottom:22px;display:grid;gap:10px;z-index:1200;pointer-events:none}.toast{min-width:230px;max-width:380px;background:#17372a;color:#fff;padding:12px 15px;border-radius:13px;box-shadow:0 16px 40px rgba(0,0,0,.16);opacity:0;transform:translateY(10px);transition:.22s}.toast.error{background:#8f3333}.toast.show{opacity:1;transform:none}
.modal-backdrop{position:fixed;inset:0;background:rgba(11,24,18,.48);backdrop-filter:blur(3px);z-index:1100;display:grid;place-items:center;padding:20px;opacity:0;transition:.16s}.modal-backdrop[hidden]{display:none}.modal-backdrop.open{opacity:1}.modal{width:min(540px,100%);max-height:min(82vh,760px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 28px 90px rgba(11,31,22,.24);position:relative;transform:translateY(8px) scale(.99);transition:.16s}.modal-backdrop.open .modal{transform:none}.modal.wide{width:min(760px,100%)}.modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;background:#f1f4f2;border-radius:10px;cursor:pointer;font-size:22px;line-height:1}.modal-icon,.error-icon{width:46px;height:46px;border-radius:14px;background:#f8eeee;color:#983b3b;display:grid;place-items:center;font-weight:900;font-size:21px;margin-bottom:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-open{overflow:hidden}
.error-card{text-align:center}.error-card .error-icon{margin:0 auto 14px}.error-card .btn{margin-top:8px}
.nav-separator{height:1px;background:rgba(255,255,255,.1);margin:10px 5px}.sidebar-bottom{display:flex;justify-content:space-between;align-items:center}.sidebar-bottom .version{font-size:10px;opacity:.5}.business-chip small{display:block;margin-top:4px;font-size:10px;opacity:.6}
.qr-shell{display:inline-grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;min-width:212px;min-height:212px}.qr-shell canvas{display:block;border-radius:10px}.qr-note{font-size:11px;color:var(--muted);margin-top:8px}
.admin-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:20px 0}.admin-filters{display:flex;gap:8px;flex-wrap:wrap}.admin-search{min-width:250px;padding:10px 12px;border:1px solid #d7dfda;border-radius:12px;background:#fff;outline:none}.admin-search:focus{border-color:#82b39a;box-shadow:0 0 0 3px #e4f3eb}.stat-note{display:block;color:var(--muted);font-size:11px;margin-top:5px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#6b8b79}.status-dot.active{background:#2f8b5b}.status-dot.suspended{background:#b34949}.status-dot.expired{background:#9a6c28}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.admin-tabs a{padding:9px 13px;border-radius:999px;background:#edf3ef;color:#3e5b4c;font-size:12px;font-weight:750}.admin-tabs a.active{background:var(--brand);color:#fff}.admin-section{margin-top:24px}.kpi-wide{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.kpi-wide strong{font-size:28px}.kpi-wide .mini{font-size:11px;color:var(--muted)}.admin-note{max-width:280px;white-space:normal}.security-box{background:#f7faf8;border:1px solid #dfe8e2;border-radius:15px;padding:14px;margin-top:16px}.security-box strong{font-size:13px}.security-box ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.7}
.admin-list{display:grid;gap:12px}.admin-item{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(100px,.7fr)) auto;gap:12px;align-items:center}.admin-item small{color:var(--muted);display:block;margin-top:3px}.admin-item .value{font-size:13px}.admin-item .actions{justify-content:flex-end}
.empty-state{padding:38px 20px;text-align:center;color:var(--muted)}
@media(max-width:900px){.admin-item{grid-template-columns:1fr 1fr}.admin-item .actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:560px){.toast-stack{left:14px;right:14px;bottom:14px}.toast{min-width:0;max-width:none}.modal{padding:20px}.admin-item{grid-template-columns:1fr}.admin-item .actions{grid-column:auto}.admin-search{min-width:0;width:100%}.admin-toolbar{align-items:stretch}.admin-filters{width:100%}}
.readonly-line{border:0;background:transparent;color:var(--muted);padding:0;width:min(100%,520px);font:inherit}

/* FIDA 0.3 · Identidad visual, tarjetas y QR HD */
:root{--ink:#13231c;--muted:#6d7b73;--line:#e2e8e4;--bg:#f3f6f4;--card:#fff;--brand:#176b4c;--brand2:#0f5038;--soft:#e9f5ef;--gold:#c6a165;--gold-soft:#f8f0df;--shadow:0 16px 44px rgba(21,52,38,.08);--shadow-soft:0 8px 24px rgba(21,52,38,.06);--business-primary:#176b4c;--business-secondary:#ddf3e7;--business-accent:#c7a86d;--business-text:#12372a}
body.app-body{background:radial-gradient(circle at 82% -10%,rgba(199,168,109,.12),transparent 28%),linear-gradient(180deg,#f7f9f8 0,#f2f5f3 100%)}
.app-shell{grid-template-columns:266px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#102f24 0%,#0d281f 100%);padding:22px 15px 18px;border-right:1px solid rgba(255,255,255,.05)}
.brand{padding:0 4px}.brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#e8fff2,#bfebd2);box-shadow:0 7px 18px rgba(0,0,0,.12)}
.business-chip{margin:24px 0 16px;padding:14px 15px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-color:rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.business-chip strong{display:block;margin-top:3px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-chip small{color:#acd5c0}
.sidebar nav{gap:4px}.sidebar nav a.nav-item{position:relative;border:1px solid transparent;padding:10px 11px}.sidebar nav a.nav-item:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.04)}.sidebar nav a.nav-item.active{background:linear-gradient(90deg,rgba(215,247,228,.16),rgba(215,247,228,.06));border-color:rgba(215,247,228,.13);color:#fff}.sidebar nav a.nav-item.active:before{content:"";position:absolute;left:-16px;top:9px;bottom:9px;width:3px;background:#c9a96d;border-radius:0 4px 4px 0}.nav-icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:13px}.nav-item.active .nav-icon{background:#d8f3e3;color:#123b2a}.admin-link .nav-icon{background:rgba(199,168,109,.17);color:#efd7ac}
.sidebar-bottom{padding:14px 4px 0;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}.logout-link{font-size:12px;padding:6px 8px;border-radius:8px}.logout-link:hover{background:rgba(255,255,255,.06)}
.topbar{height:86px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);padding:0 30px;box-shadow:0 1px 0 rgba(19,47,36,.03)}.topbar-title{display:grid;gap:3px}.topbar .eyebrow{font-size:10px;color:#789087}.topbar h1{font-size:22px;letter-spacing:-.02em}.top-actions{display:flex;align-items:center;gap:8px}.user-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--business-secondary),#fff);color:var(--business-primary);font-weight:850;border:1px solid #e3ece7}.user-pill{background:transparent;padding-left:4px;color:#254c3d}
.content{padding:30px 30px 58px;max-width:1580px;width:100%;margin:0 auto}.footer{padding:22px 18px 28px}.card{border-color:#e2e8e4;box-shadow:var(--shadow-soft);transition:border-color .18s,box-shadow .18s,transform .18s}.card:hover{border-color:#d7e2dc}.rich-metric{position:relative;overflow:hidden;padding:22px}.rich-metric:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-30px;top:-35px;background:var(--business-secondary);opacity:.45}.metric-icon{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--business-secondary),#fff);border:1px solid rgba(23,107,76,.08);display:grid;place-items:center;color:var(--business-primary);margin-bottom:13px;font-weight:900}.rich-metric strong{font-size:24px;position:relative;z-index:1}.rich-metric small{position:relative;z-index:1}
.btn{background:linear-gradient(180deg,#1d7655,#176b4c);box-shadow:0 6px 15px rgba(23,107,76,.15);transition:.15s}.btn:hover{background:linear-gradient(180deg,#176b4c,#11533b);transform:translateY(-1px)}.btn.secondary{background:#eff4f1;color:#274f3f;box-shadow:none;border:1px solid #e0e8e3}.btn.secondary:hover{background:#e7f0eb}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.badge{letter-spacing:.01em}.badge.gold{background:var(--gold-soft);color:#775724;border:1px solid #eedebf}.table-wrap{box-shadow:var(--shadow-soft);border-radius:18px}.table th{background:#f8faf9;padding-top:12px;padding-bottom:12px}.table td{padding-top:15px;padding-bottom:15px}.table tbody tr:hover{background:#fbfcfb}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#6a7f75}.page-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:0 0 24px}.page-intro h2{font-size:28px;letter-spacing:-.035em;margin:5px 0 8px}.page-intro p{max-width:760px;color:var(--muted);line-height:1.65;margin:0}.page-intro.split .stat-pill{margin-left:auto}.stat-pill{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow-soft)}.stat-pill strong{font-size:24px;color:var(--brand)}.stat-pill span{font-size:12px;color:var(--muted)}
.card-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:17px}.card-heading h3{margin:7px 0 0;font-size:18px}.mini-help{font-size:11px;color:var(--muted)}.field-help{font-size:11px;color:#7a8981;line-height:1.45}.field input,.field select,.field textarea,.admin-search{border-color:#dce5df;background:#fcfdfc}.field input:focus,.field select:focus,.field textarea:focus,.admin-search:focus{border-color:#8ab8a2;box-shadow:0 0 0 4px rgba(23,107,76,.08)}
.settings-layout{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:start}.preview-stack{display:grid;gap:18px}.preview-card-panel{overflow:hidden}.brand-card-preview,.program-card-preview,.wallet-program{position:relative;overflow:hidden;color:var(--card-text,#12372a);background:linear-gradient(145deg,var(--card-2,#ddf3e7),#fff);border:1px solid rgba(18,55,42,.08);border-radius:24px;padding:22px;box-shadow:0 18px 42px rgba(18,55,42,.12)}.brand-card-preview:before,.program-card-preview:before,.wallet-program:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-68px;top:-70px;background:var(--card-1,#176b4c);opacity:.11}.theme-gradient{background:linear-gradient(135deg,var(--card-1,#176b4c),var(--card-2,#ddf3e7));}.theme-gradient:before{background:#fff;opacity:.09}.theme-dark{background:linear-gradient(145deg,#132820,var(--card-1,#176b4c));color:#f6fff9;--card-text:#f6fff9}.theme-dark:before{background:var(--card-2,#ddf3e7);opacity:.12}.theme-minimal{background:#fff;border:1px solid color-mix(in srgb,var(--card-1,#176b4c) 22%,#e4e9e5);box-shadow:none}.theme-minimal:before{display:none}
.preview-top,.program-card-top{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.preview-logo,.program-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.58);backdrop-filter:blur(6px);font-weight:900;border:1px solid rgba(255,255,255,.35)}.preview-kicker,.program-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.preview-chip{margin-left:auto;font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;background:var(--card-accent,#c7a86d);color:#fff}.brand-card-preview h3,.program-card-preview h3{font-size:24px;margin:24px 0 4px;position:relative;z-index:1}.brand-card-preview p,.program-card-preview p{margin:0;opacity:.8;font-size:13px;min-height:38px;position:relative;z-index:1}.preview-progress,.wallet-progress{height:7px;background:rgba(255,255,255,.55);border-radius:99px;overflow:hidden;margin:18px 0 8px;position:relative;z-index:1}.preview-progress span,.wallet-progress span{display:block;height:100%;background:var(--card-1,#176b4c);border-radius:inherit}.theme-gradient .preview-progress span,.theme-dark .preview-progress span,.theme-gradient .wallet-progress span,.theme-dark .wallet-progress span{background:#fff}.preview-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;position:relative;z-index:1}.preview-footer{display:flex;justify-content:space-between;margin-top:28px;font-size:10px;opacity:.65;position:relative;z-index:1}.program-balance{display:flex;align-items:baseline;gap:7px;margin-top:18px;position:relative;z-index:1}.program-balance strong{font-size:30px}.program-balance span{font-size:11px;opacity:.7}
.color-field{display:flex;align-items:center;gap:9px}.color-field input{min-width:0}.color-swatch{width:36px;height:36px;border-radius:11px;border:1px solid #dce5df;box-shadow:inset 0 0 0 3px #fff;flex:0 0 auto}.palette-row{display:flex;flex-wrap:wrap;gap:8px}.palette-chip{border:1px solid #dfe7e2;background:#fff;border-radius:12px;padding:7px 10px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;font-weight:750}.palette-chip:hover{background:#f7faf8}.palette-chip>span{width:34px;height:20px;border-radius:8px;background:linear-gradient(90deg,var(--p1) 0 34%,var(--p2) 34% 67%,var(--p3) 67%)}
.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.choice-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-card{position:relative;border:1px solid #dfe7e2;background:#fff;border-radius:14px;padding:12px;cursor:pointer;display:grid;gap:4px;transition:.15s}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card strong{font-size:12px}.choice-card small{font-size:10px;color:var(--muted)}.choice-card.selected{border-color:#6fa88e;box-shadow:0 0 0 3px rgba(23,107,76,.08);background:#f8fcfa}.helper-copy{font-size:11px;line-height:1.55;color:var(--muted);margin:14px 0 0}
.qr-card{text-align:left}.qr-shell{min-width:0;min-height:0;padding:10px;border-radius:18px}.qr-shell svg{display:block;max-width:100%;height:auto}.qr-large{width:max-content;max-width:100%;margin:18px 0}.qr-medium{width:max-content;max-width:100%;margin:16px 0}.qr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.qr-note{display:block;line-height:1.5;margin-top:10px}
.program-builder-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:20px;align-items:start}.sticky-preview{position:sticky;top:112px}.info-callout{margin-top:16px;padding:14px 15px;border:1px solid #e1e7e3;border-radius:15px;background:#f7faf8}.info-callout strong{font-size:12px}.info-callout p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.program-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.program-gallery-item{display:grid;gap:10px}.gallery-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.customer-programs .program-card-preview{min-height:280px}
.customer-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 24px;background:linear-gradient(135deg,#fff,#f7fbf8);border:1px solid #e0e8e3;border-radius:22px;box-shadow:var(--shadow-soft);margin-bottom:20px}.customer-hero h2{margin:2px 0 4px;font-size:28px}.customer-hero p{margin:0 0 8px;color:var(--muted)}.avatar.large{width:70px;height:70px;border-radius:22px;background:linear-gradient(145deg,var(--business-secondary),#fff);color:var(--business-primary);border:1px solid #dfe9e3}.customer-kpis{margin-bottom:8px}.detail-grid{margin-top:22px}.align-end{align-content:end}.soft-rule{border:0;border-top:1px solid #edf1ef;margin:20px 0}.crm-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.crm-facts>div{padding:12px;border-radius:13px;background:#f7faf8;border:1px solid #edf1ef}.crm-facts small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.crm-facts strong{font-size:12px}.benefit-list{display:grid;gap:10px}.benefit-list.compact-list{margin-bottom:8px}.benefit-item{display:flex;gap:11px;align-items:flex-start;padding:12px;border-radius:14px;background:#f8faf9;border:1px solid #edf1ef}.benefit-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--gold-soft);color:#795c2e;flex:0 0 auto}.benefit-item strong{font-size:12px}.benefit-item p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:0 0 16px}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--brand);margin-top:5px;box-shadow:0 0 0 4px #e6f2ec}.timeline-item strong{font-size:12px}.timeline-item p{margin:3px 0;color:var(--muted);font-size:11px}.timeline-item small{font-size:10px;color:#8b9690}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.reward-card{position:relative}.reward-card.eligible{border-color:#cfe1d6}.reward-cost{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1ef;padding-top:12px;margin-top:14px}.reward-cost span,.eligibility{font-size:11px;color:var(--muted)}.reward-cost strong{font-size:18px}.eligible .eligibility{color:#28734f;font-weight:800}
.wallet-page{max-width:1060px;margin:42px auto;padding:0 22px}.wallet-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:22px}.wallet-business{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--wallet-primary)}.wallet-header h1{font-size:34px;letter-spacing:-.04em;margin:5px 0}.wallet-header p{margin:0;color:var(--muted)}.wallet-badges{display:flex;gap:7px;flex-wrap:wrap}.wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wallet-program{min-height:320px;display:flex;flex-direction:column;justify-content:space-between}.wallet-program h2{font-size:25px;margin:22px 0 5px;position:relative;z-index:1}.wallet-program p{margin:0;opacity:.8;position:relative;z-index:1}.wallet-balance{margin-top:18px;display:flex;align-items:baseline;gap:8px;position:relative;z-index:1}.wallet-balance strong{font-size:38px;letter-spacing:-.03em}.wallet-balance span{font-size:11px;opacity:.7}.wallet-goal{display:flex;justify-content:space-between;font-size:10px;opacity:.8;position:relative;z-index:1}.wallet-reward{margin-top:18px;border-top:1px solid rgba(255,255,255,.4);padding-top:13px;position:relative;z-index:1}.wallet-reward span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.wallet-reward strong{display:block;margin-top:4px;font-size:13px}.wallet-reward.ready{padding:12px 13px;border-radius:13px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.24)}.wallet-benefits{margin-top:22px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft)}.wallet-id-card{margin-top:22px;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 24px;background:linear-gradient(135deg,#fff,#f8faf9);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft)}.wallet-id-card h3{margin:5px 0}.wallet-id-card p{color:var(--muted);max-width:520px}.referral-code strong{color:var(--wallet-primary)}.wallet-footnote{text-align:center;color:var(--muted);font-size:11px;margin:18px 0 0}
.empty-state{border-style:dashed;background:linear-gradient(145deg,#fff,#fafcfb)}.empty-state h3{color:var(--ink)}.empty-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 12px;border-radius:14px;background:#edf6f1;color:var(--brand);font-size:20px}

/* Admin SaaS con mayor jerarquía */
.saas-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#153c2d,#1d6f50);color:#fff;border-radius:26px;padding:28px 30px;box-shadow:0 20px 50px rgba(19,64,45,.18);margin-bottom:20px;position:relative;overflow:hidden}.saas-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-120px;background:rgba(215,190,140,.14)}.saas-hero .eyebrow{color:#bce2d0}.saas-hero h2{font-size:30px;margin:5px 0 7px}.saas-hero p{margin:0;color:#cfe5da}.saas-hero-badge{position:relative;z-index:1;width:86px;height:86px;border-radius:24px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;text-align:center}.saas-hero-badge strong{font-size:26px}.saas-hero-badge span{font-size:10px;display:block;opacity:.7}.admin-tabs{background:#fff;border:1px solid var(--line);padding:5px;border-radius:16px;width:max-content;box-shadow:var(--shadow-soft)}.admin-tabs a{background:transparent;padding:9px 14px}.admin-tabs a.active{background:#183f30;color:#fff;box-shadow:0 6px 14px rgba(20,61,45,.15)}.saas-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.saas-panel{min-width:0}.plan-bars{display:grid;gap:14px}.plan-bar-head{display:flex;justify-content:space-between;font-size:12px}.plan-bar-track{height:8px;background:#edf2ef;border-radius:99px;overflow:hidden}.plan-bar-track span{display:block;height:100%;background:linear-gradient(90deg,#176b4c,#4a9676);border-radius:inherit}.activity-feed{display:grid;gap:2px}.activity-row{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #edf1ef}.activity-row:last-child{border-bottom:0}.activity-symbol{width:32px;height:32px;border-radius:10px;background:#edf5f1;display:grid;place-items:center;color:#176b4c;font-size:12px}.activity-row strong{display:block;font-size:12px}.activity-row small{color:var(--muted);font-size:10px}.health-list{display:grid;gap:10px}.health-item{display:flex;justify-content:space-between;gap:10px;padding:12px 13px;border-radius:13px;background:#f8faf9;border:1px solid #edf1ef}.health-item span{font-size:11px;color:var(--muted)}.health-item strong{font-size:12px}.admin-toolbar{background:#fff;border:1px solid var(--line);border-radius:17px;padding:11px;box-shadow:var(--shadow-soft)}

@media(max-width:1180px){.settings-layout,.program-builder-grid,.saas-grid{grid-template-columns:1fr}.sticky-preview{position:static}.program-gallery,.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.choice-grid,.choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.wallet-grid{grid-template-columns:1fr}.wallet-id-card{align-items:flex-start}.program-gallery,.reward-grid{grid-template-columns:1fr}.customer-hero{align-items:flex-start;flex-direction:column}.crm-facts{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.content{padding:20px 16px 42px}.page-intro,.wallet-header,.wallet-id-card{display:block}.page-intro h2{font-size:24px}.stat-pill{margin-top:15px;width:max-content}.wallet-page{margin:26px auto;padding:0 15px}.wallet-header h1{font-size:29px}.wallet-badges{margin-top:12px}.wallet-id-card .qr-shell{margin-top:16px}.customer-hero{padding:18px}.customer-hero .actions{margin-top:10px}.crm-facts{grid-template-columns:1fr}.choice-grid,.choice-grid.compact{grid-template-columns:1fr 1fr}.saas-hero{padding:22px}.saas-hero-badge{display:none}}
.business-hero{background:linear-gradient(135deg,#153c2d 0%,var(--business-primary) 100%)}.business-hero .btn.secondary{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.18);color:#fff}.onboarding-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.onboarding-step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;box-shadow:var(--shadow-soft);transition:.15s}.onboarding-step:hover{transform:translateY(-2px);border-color:#cadbd2}.step-number{width:32px;height:32px;border-radius:10px;background:#f0f4f2;display:grid;place-items:center;font-weight:900;color:#6e8177}.onboarding-step.done .step-number{background:#ddf3e7;color:#176b4c}.onboarding-step strong{font-size:12px}.onboarding-step p{margin:3px 0 0;font-size:10px;line-height:1.45;color:var(--muted)}.step-arrow{color:#9aaa9f}.dashboard-qr{display:flex;gap:18px;align-items:center}.flow-list{display:grid;gap:10px}.flow-list>div{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.flow-list span{width:28px;height:28px;border-radius:9px;background:#edf6f1;color:#176b4c;display:grid;place-items:center;font-size:11px;font-weight:900}.flow-list p{margin:4px 0;font-size:12px;color:var(--muted)}.flow-list strong{color:var(--ink)}@media(max-width:1180px){.onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.onboarding-grid{grid-template-columns:1fr}.dashboard-qr{align-items:flex-start;flex-direction:column}}
.reward-grid.single-column{grid-template-columns:1fr}.campaign-tabs .tab.active{background:#173f30;color:#fff}.tabs .tab{border:1px solid #e1e8e4;font-weight:750}.tabs .tab:hover{background:#e6f1eb}
