@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#14233D;--green:#10213C;--leaf:#13AB9A;--muted:#718095;--line:#DFE7EA;--cream:#FAFCFC;--shadow:0 18px 50px rgba(19,51,40,.07)}*{box-sizing:border-box}body{margin:0;background:#F7FAFA;color:var(--ink);font:15px/1.55 'DM Sans',sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.04em}h1{font-size:clamp(2.2rem,4.7vw,3.8rem);line-height:1.13}h2{font-size:1.35rem;margin-bottom:18px}h3{font-size:1.05rem}p{margin-top:8px}a{color:inherit;text-decoration:none}a:hover{opacity:.85}.wrap{max-width:1180px;margin:auto;padding-left:30px;padding-right:30px}main{min-height:calc(100vh - 155px);padding-top:46px;padding-bottom:85px}.top{background:#fff;border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:9px;font-size:28px;letter-spacing:-.065em;font-weight:800;font-family:Manrope,sans-serif}.brand img{width:37px;height:37px}.accent{color:#13AB9A}.top nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:13px;flex-wrap:wrap}.top nav a:hover,.link:hover{color:#138e85}.inline{display:inline}.link{border:0;background:none;font:inherit;color:inherit;cursor:pointer;font-weight:700}.footer{display:flex;justify-content:space-between;padding-top:20px;padding-bottom:32px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);gap:15px}.eyebrow{font-weight:800;letter-spacing:.18em;color:#109D91;font-size:11px;margin-bottom:14px}.heading{margin-bottom:30px}.heading .muted{margin-top:10px}.muted{color:var(--muted)}.small{font-size:12px}.panel{background:white;border:1px solid var(--line);border-radius:23px;padding:28px;box-shadow:var(--shadow);margin-bottom:24px}.panel.compact{margin-top:16px}.narrow{max-width:560px;margin-left:auto;margin-right:auto}label{display:block;font-weight:700;font-size:13px;margin-bottom:17px}input,select,textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border-radius:11px;border:1px solid #d4e0d9;font:inherit;background:#fff;color:var(--ink);outline:0}input:focus{border-color:#13AB9A;box-shadow:0 0 0 3px rgba(81,159,113,.12)}input[type=color]{width:100%;height:52px;padding:5px}input[type=file]{font-size:12px}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.35;font-size:12px;font-weight:500}.check input{width:16px;height:16px;margin:2px 0 0;flex:none}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:44px;gap:9px;padding:11px 20px;background:var(--green);border:1px solid var(--green);border-radius:11px;font:700 13px Manrope,sans-serif;color:#fff;cursor:pointer;text-align:center}.btn:hover{background:#26564b;color:#fff;opacity:1}.btn.ghost{background:#fff;border-color:#cddbd3;color:var(--green)}.btn.ghost:hover{background:#edf8f2}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.wide{width:100%;margin-top:4px}.btn.smallbtn{padding:6px 13px;min-height:40px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:22px 0}.actions.spread{margin-bottom:28px}.alert{padding:14px 18px;border-radius:11px;margin:0 0 19px;font-weight:600;font-size:13px}.alert.ok{background:#e5f9ec;color:#226a44}.alert.error{background:#fff0e9;color:#b64022}.alert.warn{background:#fff7de;color:#735516}.hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:35px;padding:43px 0 65px}.hero h1{font-size:clamp(3.2rem,6vw,5.8rem);line-height:1.04;letter-spacing:-.08em;max-width:750px}.hero h1 em{font-style:normal;color:#129E91}.hero p{color:#71837a;font-size:17px;max-width:520px;margin:23px 0}.pill{display:inline-block;background:#E8F7F5;color:#10766C;padding:8px 14px;border-radius:99px;font-weight:800;letter-spacing:.12em;font-size:10px;margin-bottom:22px}.hero-visual{background:radial-gradient(circle at top,#e0f6b7,#cfebe0);padding:30px;border-radius:40px;min-height:420px;display:grid;place-items:center;transform:rotate(2deg)}.mini-pass{background:linear-gradient(140deg,#173d37,#32665b);border-radius:22px;max-width:330px;width:100%;height:235px;box-shadow:0 27px 50px #285b5347;transform:rotate(-8deg);padding:25px;color:white;display:flex;flex-direction:column}.spacer-12{height:2px}.mock-label{font-weight:800;letter-spacing:.15em;font-size:10px}.mini-pass h2{font-size:25px;margin-top:17px;margin-bottom:0;color:#e5f4e6}.mini-pass p{margin:0;color:#a9c9b6;font-size:9px;letter-spacing:.2em}.big-points{margin-top:10px;font-size:32px;font-weight:800}.big-points small{font-size:11px}.card-lower{border-top:1px solid #729588;padding-top:10px;margin-top:auto;font-size:10px;display:flex;justify-content:space-between}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0}.tile{background:#fff;border:1px solid var(--line);border-radius:19px;padding:22px}.tile strong{display:block;font-size:28px;letter-spacing:-.05em}.tile p{font-size:12px;color:var(--muted);margin:3px 0 0}.section-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:45px 0 14px}.section-row h2{margin:0}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.restaurant-tile{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden}.restaurant-cover{padding:22px;min-height:118px;display:flex;align-items:flex-end;justify-content:space-between}.restaurant-cover span{font-size:36px}.restaurant-cover strong{font-size:18px}.restaurant-inner{padding:20px}.restaurant-inner p{font-size:13px;color:var(--muted)}.restaurant-inner span{color:#477960;font-weight:800;font-size:12px;display:inline-block;margin-top:16px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.loyal-card{color:var(--restaurant-text,#fff);background:var(--restaurant,#173d37);background-image:radial-gradient(circle at 100% 0,rgba(255,255,255,.2),transparent 55%);border-radius:23px;padding:24px;min-height:235px;max-width:435px;box-shadow:0 18px 30px #18362e28;display:flex;flex-direction:column;position:relative;overflow:hidden}.loyal-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.wallet-initial{height:38px;width:38px;border-radius:11px;background:#ffffff33;color:inherit;display:grid;place-items:center;font-weight:800;font-size:21px}.wallet-logo{max-width:130px;max-height:46px;object-fit:contain}.chip{font-size:10px;font-weight:800;border:1px solid currentColor;padding:5px 9px;border-radius:30px;letter-spacing:.1em}.loyal-name{font-size:27px;font-weight:800;letter-spacing:-.045em;margin-top:27px}.loyal-customer{font-size:12px;opacity:.8}.loyal-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end}.loyal-bottom small{font-size:9px;opacity:.8;letter-spacing:.1em;font-weight:700;display:block}.loyal-bottom strong{font-size:31px;line-height:1.3;display:block}.loyal-wave{font-size:33px;opacity:.8}.qrbox{width:180px;height:180px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:15px;margin:20px auto;max-width:100%}.qrbox svg{width:100%;height:100%}.qrbox.large{width:225px;height:225px}.copyfield{display:flex;gap:8px}.copyfield input{margin:0}.textlink{color:#377f61;font-weight:800}.lineitem{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.lineitem span{color:var(--muted);font-size:13px}.threeform{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px}.threeform label{margin:0}.colorline{display:grid;grid-template-columns:1fr 1fr;gap:17px}.enroll-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start;padding-top:40px}.enroll-layout h1{max-width:400px}.enroll-layout .muted{max-width:430px;margin-top:20px}.benefit{background:#e9f9df;border-radius:14px;display:inline-block;padding:11px 18px;margin-top:25px;font-weight:800;font-size:13px}.customer-layout{display:grid;grid-template-columns:1fr .85fr;gap:50px;align-items:start;max-width:1000px;margin:auto}.customer-layout .loyal-card{margin-top:25px}.customer-code{text-align:center}.member-code{font-weight:800;font-size:23px;letter-spacing:.14em}.customer-code .muted{font-size:13px}.reward-progress{margin-top:20px}.progress{height:9px;border-radius:30px;background:#e8eee9;overflow:hidden}.progress div{height:100%;background:#83b877;border-radius:30px}.reward-progress p{margin-top:14px}.searchrow{display:flex;gap:12px}.searchrow input{margin-top:0}.btnrow{max-width:435px;margin-top:15px}.spacer-12{height:12px}#camera-video{width:min(100%,420px);border-radius:15px;margin-top:15px}table{border-collapse:collapse;width:100%;font-size:13px}td,th{border-bottom:1px solid var(--line);text-align:left;padding:13px 10px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}hr{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:900px){.two-cols,.hero,.enroll-layout,.customer-layout{grid-template-columns:1fr}.threeform{grid-template-columns:1fr 1fr}.hero h1{font-size:4.3rem}.hero-visual{min-height:340px}.nav{height:auto;min-height:75px}.top nav{gap:12px}}@media(max-width:580px){.wrap{padding-left:16px;padding-right:16px}main{padding-top:28px;padding-bottom:60px}.nav{gap:7px}.brand{font-size:24px}.top nav{font-size:11px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stats-grid .tile:last-child{grid-column:1/-1}.tile{padding:15px}.tile strong{font-size:24px}.panel{padding:18px;border-radius:16px}.hero{padding:22px 0}.hero h1{font-size:3.2rem}.hero-visual{min-height:260px}.mini-pass{height:220px}.section-row{align-items:flex-start;flex-direction:column}.threeform,.colorline{grid-template-columns:1fr}.footer{flex-direction:column;gap:3px}.searchrow{flex-direction:column}.copyfield{flex-direction:column}.customer-layout{gap:18px}.loyal-card{min-height:230px}}

/* Nira v0.2 — SaaS dashboard */
.program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:20px 0}.program-tile{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px}.program-banner{min-height:95px;padding:19px;border-radius:14px;margin-bottom:14px;display:flex;flex-direction:column;justify-content:space-between}.program-tile h3{margin-bottom:4px}.program-tile .muted{font-size:12px}.program-tile a.btn{margin-top:14px;width:100%}.card-program-name{font-size:11px;letter-spacing:.13em;font-weight:800;opacity:.8;margin-top:6px}.program-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:28px}.program-picker a{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.program-picker strong{font-size:20px;display:block;padding:17px}.program-picker .muted{padding:0 17px 17px;display:block}.card-branding-label{font-size:9px;opacity:.75;text-transform:uppercase;letter-spacing:.08em}.badgetag{display:inline-block;font-size:11px;font-weight:800;border-radius:100px;background:#DCF8F3;color:#0B695F;padding:4px 10px}.primary-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
