@font-face{font-family:'DM Sans';src:url('fonts/dm-sans.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--bg:#f7f8f5;--ink:#223e35;--muted:#758079;--green:#24483e;--lime:#dbedb8;--line:#e4e8df;--white:#fff;--orange:#cf7d4e;--font:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9bbb73;outline-offset:3px}a{color:inherit}svg.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:34px 20px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:238px;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,var(--font);font-size:23px;font-weight:800;letter-spacing:-1px;padding:0 12px}.brand-mark{width:32px;height:32px;border-radius:11px;background:var(--green);color:var(--lime);display:grid;place-items:center;transform:rotate(-9deg)}.brand-mark svg{transform:rotate(9deg)}.workspace{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px 11px;margin:37px 0 29px}.avatar{background:#efe8dd;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#826b50}.workspace strong{font-size:12px;display:block}.workspace small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.workspace .chev{margin-left:auto;color:var(--muted)}.nav-label{text-transform:uppercase;letter-spacing:1.8px;font-size:9px;font-weight:700;color:#929b94;padding:0 14px;margin:0 0 13px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{background:none;display:flex;align-items:center;gap:13px;color:#79837c;padding:13px 14px;text-align:left;border-radius:9px;font-size:13px;font-weight:550}.nav button.active{background:#edf2e7;color:var(--green)}.nav button:hover{background:#f3f5f0}.nav button .dot{margin-left:auto;background:var(--green);width:6px;height:6px;border-radius:50%}.side-bottom{margin-top:auto}.side-note{background:#f6f7f2;border-radius:13px;padding:17px;margin-top:35px}.side-note .icon{color:#79915d}.side-note strong{display:block;margin:9px 0 6px;font-size:12px}.side-note p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.profile{display:flex;gap:10px;align-items:center;margin-top:22px;border-top:1px solid var(--line);padding:19px 8px 0}.profile .avatar{background:#e9efdf;font-weight:600}.profile strong{font-size:12px}.profile small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.main{grid-column:2;min-width:0}.topbar{height:81px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:#ffffff80}.breadcrumb{color:#889189;font-size:12px;display:flex;gap:10px;align-items:center}.breadcrumb b{color:#43584b;font-weight:500}.top-actions{display:flex;gap:12px;align-items:center}.badge{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.3px;padding:7px 11px;border:1px solid #dce6d2;border-radius:20px;background:#f0f5e9;color:#567344}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:#7e9f61}.icon-btn{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;width:35px;height:35px;color:var(--muted)}.content{max-width:1500px;margin:auto;padding:34px 42px 24px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:650;color:var(--muted);margin:0 0 9px}.heading h1{font-family:Manrope,var(--font);font-size:30px;letter-spacing:-1.2px;font-weight:650;margin:0 0 9px}.heading p{color:var(--muted);font-size:12px;margin:0;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:white;border:1px solid var(--green);border-radius:9px;padding:12px 17px;font-size:12px;font-weight:550;text-decoration:none;transition:transform .15s,background .15s}.btn:hover{background:#315b4e;transform:translateY(-1px)}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:#f2f5ed}.btn.soft{background:var(--lime);color:var(--ink);border-color:var(--lime)}.btn .icon{width:16px;height:16px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:10px}.period{display:flex;background:#eaf0e4;padding:4px;border-radius:9px;gap:3px}.period button{background:none;color:#78836e;border-radius:6px;padding:7px 11px;font-size:10px}.period button.selected{background:white;color:var(--ink);box-shadow:0 1px 4px #1b39200a}.date{color:#8b948c;font-size:11px;display:flex;align-items:center;gap:7px}.date svg{width:14px;height:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 19px 16px;position:relative}.metric:first-child{background:#edf2e6;border-color:#dce6d0}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#6e7c70;font-size:11px}.metric-icon{width:29px;height:29px;background:#f3f6ef;border-radius:8px;display:grid;place-items:center}.metric-icon .icon{width:16px;height:16px}.metric-value{font-family:Manrope,var(--font);font-size:31px;font-weight:650;letter-spacing:-1px;margin:14px 0 9px}.metric-foot{font-size:10px;color:#879181;line-height:1.5}.metric-foot strong{color:#5b7650;font-weight:500}.grid-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;min-width:0}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:23px}.panel h2{font-family:Manrope,var(--font);font-size:15px;font-weight:650;letter-spacing:-.3px;margin:0 0 7px}.panel-sub{color:#8a938b;font-size:11px;line-height:1.6;margin:0}.legend{display:flex;align-items:center;gap:7px;font-size:10px;color:#819076;white-space:nowrap;padding-top:3px}.legend span{width:7px;height:7px;background:#b9ce9b;border-radius:2px}.chart{height:210px;display:grid;grid-template-columns:24px 1fr;gap:10px;margin-top:28px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:25px;color:#9ba298;font-size:9px}.chart-plot{position:relative;display:flex;gap:7%;align-items:flex-end;padding:0 5% 25px;border-bottom:1px solid #e7ebe1;background:repeating-linear-gradient(to top,transparent,transparent calc(25% - 1px),#f1f3ee calc(25% - 1px),#f1f3ee 25%)}.bar-column{height:100%;flex:1;display:flex;align-items:flex-end;position:relative;justify-content:center}.bar{width:100%;max-width:39px;background:#dce7cc;border-radius:6px 6px 0 0;position:relative;min-height:3px;transition:height .4s}.bar-column:last-child .bar{background:var(--green)}.bar:hover{background:#adc68e}.bar span{opacity:0;position:absolute;top:-26px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:4px 7px;border-radius:5px;font-size:10px}.bar:hover span{opacity:1}.bar-label{position:absolute;bottom:-20px;font-size:9px;color:#939d90;white-space:nowrap}.chart-note{display:flex;gap:9px;align-items:center;padding:16px 0 0;color:#86917e;font-size:10px;line-height:1.5}.chart-note .icon{width:14px;height:14px}.card-panel{background:#f0f2eb;border-color:#e4e8da}.mini-label{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:#7c8973}.loyalty-card{background:var(--card-color,var(--green));color:#fff;border-radius:16px;padding:22px 24px;position:relative;overflow:hidden;box-shadow:0 13px 30px #24483e18}.loyalty-card:after{content:'';width:190px;height:190px;border:1px solid #ffffff0b;position:absolute;right:-90px;top:15px;border-radius:50%;box-shadow:0 0 0 30px #ffffff04,0 0 0 60px #ffffff03;pointer-events:none}.card-head{display:flex;justify-content:space-between;align-items:center}.card-brand{font-family:Georgia,serif;font-size:20px;letter-spacing:-.3px}.card-head .icon{width:25px;height:25px;color:var(--lime)}.card-tagline{color:#c1cfc3;font-size:9px;margin-top:5px;letter-spacing:.3px}.stamp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin:25px 0 20px}.stamp-dot{aspect-ratio:1;border:1px dashed #ffffff45;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#c5d3c3}.stamp-dot.filled{background:var(--lime);border-color:var(--lime);color:var(--green);transform:rotate(-10deg)}.stamp-dot .icon{width:21px;height:21px}.stamp-dot.reward{border-color:#dbe9bf;color:var(--lime)}.card-bottom{display:flex;align-items:flex-end;justify-content:space-between;font-size:10px;color:#d8e2d6}.card-bottom strong{font-size:18px;color:#fff;font-weight:500;display:block;margin-bottom:4px}.card-bottom small{font-size:8px;letter-spacing:1px;color:#b2c3b5}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:10px;color:#8b9681}.link-btn{background:none;padding:0;color:var(--green);font-size:11px;display:flex;align-items:center;gap:5px;font-weight:550}.link-btn svg{width:14px;height:14px}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:23px;margin-top:23px}.steps{display:flex;gap:16px}.step{flex:1}.step-number{width:28px;height:28px;display:grid;place-items:center;border:1px solid #dce5d1;border-radius:9px;color:#6f845d;background:#f5f8ef;font-size:11px;margin-bottom:12px}.step h3{font-size:11px;margin:0 0 7px;font-weight:550}.step p{font-size:10px;color:#8b9388;line-height:1.7;margin:0}.privacy-panel{background:#f0eee7;border-color:#e9e6dc;display:flex;gap:15px}.privacy-icon{border-radius:11px;background:#e5e4d8;padding:10px;height:40px;color:#7c826b}.privacy-panel h2{font-size:13px}.privacy-panel p{font-size:11px;color:#898c7f;line-height:1.8;margin:0 0 12px}.footer{display:flex;justify-content:space-between;gap:15px;margin-top:26px;color:#9aa195;font-size:10px;line-height:1.7}.footer button{font-size:10px;color:#8e9887;background:none;padding:0;text-decoration:underline}.demo-strip{display:flex;gap:8px;align-items:center;font-size:10px;color:#7a856f;margin-bottom:25px}.demo-strip .pill{font-size:9px;background:#e9ecdf;color:#647850;padding:4px 7px;border-radius:5px;font-weight:600;letter-spacing:.7px}.scan-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.scan-box{min-height:240px;border:1px dashed #cbd7c2;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f6f8f1;text-align:center;padding:24px;gap:13px;margin-bottom:22px}.scan-symbol{width:66px;height:66px;border-radius:18px;background:#e6eddc;display:grid;place-items:center}.scan-symbol svg{width:32px;height:32px}.scan-box h3{margin:0;font-size:16px}.scan-box p{color:var(--muted);font-size:12px;line-height:1.7;margin:0;max-width:280px}.field{display:block;margin-bottom:18px}.field span{display:block;font-size:11px;font-weight:550;margin-bottom:8px}.field input,.field select{width:100%;padding:12px 13px;border:1px solid #dce2d6;background:#fff;border-radius:8px;color:var(--ink)}.input-row{display:flex;gap:8px}.input-row input{min-width:0;flex:1}.hint{font-size:11px;color:var(--muted);line-height:1.7}.selected-card{border-top:1px solid var(--line);padding-top:22px}.selected-card .loyalty-card{margin-bottom:22px}.action-row{display:flex;gap:10px;flex-wrap:wrap}.action-row .btn{flex:1}.lookup-empty{text-align:center;padding:55px 15px;color:var(--muted)}.lookup-empty .icon{width:40px;height:40px;margin-bottom:15px}.lookup-empty h3{font-size:15px;color:var(--ink)}.balance-label{display:flex;justify-content:space-between;margin:20px 0;color:var(--muted);font-size:12px}.balance-label strong{color:var(--green)}.correction{margin-top:17px;font-size:11px;color:var(--muted);background:none;text-decoration:underline}.customer-view{max-width:470px;margin:0 auto}.customer-top{text-align:center;margin-bottom:24px}.customer-top h1{font-family:Manrope,var(--font);font-size:27px;letter-spacing:-1px}.customer-top p{color:var(--muted);font-size:12px;line-height:1.7}.phone{max-width:360px;background:#fff;border:7px solid #243b32;border-radius:38px;box-shadow:0 20px 70px #263d3214;padding:16px 15px 24px;margin:0 auto}.phone-notch{width:88px;height:21px;background:#243b32;border-radius:0 0 14px 14px;margin:-17px auto 24px}.phone-status{display:flex;justify-content:space-between;font-size:10px;margin:0 7px 18px}.phone .loyalty-card{padding:20px}.phone .stamp-grid{gap:9px}.phone .card-brand{font-size:18px}.qr-wrap{text-align:center;padding:20px 0 0}.qr-wrap svg{width:134px;height:134px;max-width:100%}.qr-wrap code{display:block;font-size:11px;margin-top:6px;color:#6c7d6b}.qr-wrap p{font-size:10px;color:var(--muted);margin:8px 0}.customer-actions{display:flex;gap:10px;justify-content:center;margin-top:23px}.customer-info{margin-top:24px;background:#edf2e7;border:1px solid #e0e8d7;padding:18px;border-radius:13px;display:flex;gap:12px}.customer-info p{margin:0;font-size:11px;line-height:1.8;color:#75816b}.customer-info .icon{width:17px;flex-shrink:0}.analytics-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.stat-definition{padding:15px 0;border-bottom:1px solid var(--line)}.stat-definition:last-child{border:0}.stat-definition strong{font-size:12px}.stat-definition p{font-size:11px;color:var(--muted);line-height:1.8;margin:7px 0 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.swatches{display:flex;gap:10px}.swatch{width:33px;height:33px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px var(--line)}.swatch.selected{box-shadow:0 0 0 2px #8b9c7d}.notice{padding:14px 16px;background:#f6f2e8;border:1px solid #eae0ce;border-radius:10px;font-size:11px;color:#91774e;line-height:1.8;margin:18px 0}.danger{color:#a3503b!important}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 5px;border-bottom:1px solid var(--line);font-size:11px}.table th{font-weight:500;color:var(--muted)}.table td:last-child{text-align:right}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#24483e;color:#fff;border:1px solid #ffffff30;padding:14px 22px;border-radius:12px;font-size:12px;z-index:100;box-shadow:0 8px 30px #0002;max-width:90%;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:19px;padding:29px;width:min(490px,calc(100% - 32px));color:var(--ink);box-shadow:0 30px 100px #0002}dialog::backdrop{background:#17352b70;backdrop-filter:blur(4px)}dialog h2{font-size:21px;font-family:Manrope,var(--font);letter-spacing:-.5px;margin:0 0 12px}dialog p,dialog li{color:var(--muted);font-size:12px;line-height:1.9}dialog .action-row{margin-top:23px}dialog video{width:100%;border-radius:10px;background:#172d25;max-height:280px}dialog .modal-close{float:right;background:none;color:var(--muted);padding:0}.mobile-brand{display:none}.onboarding{max-width:500px;margin:auto}.onboarding .panel{text-align:center;padding:35px}.onboarding h1{font-size:28px;font-family:Manrope,var(--font);letter-spacing:-1px}.onboarding p{font-size:12px;color:var(--muted);line-height:1.9}.onboarding .loyalty-card{text-align:left;margin:28px 0}.onboarding label{font-size:11px;line-height:1.8;display:flex;gap:8px;text-align:left;align-items:flex-start;margin-bottom:20px}.onboarding input{accent-color:var(--green);margin-top:5px}.error-inline{font-size:11px;color:#a3503b;margin-bottom:12px;line-height:1.7}
@media(min-width:1550px){.content{padding-top:44px}.chart{height:250px}.loyalty-card{padding:27px}.stamp-grid{gap:15px}}
@media(max-width:1200px){.sidebar{width:205px;padding:28px 14px 18px}.shell{grid-template-columns:205px 1fr}.brand{font-size:21px}.content{padding:28px}.topbar{padding:0 28px}.metrics{gap:10px}.metric{padding:16px 13px}.grid-main,.bottom-grid{grid-template-columns:1.2fr 1fr;gap:16px}.panel{padding:20px}.stamp-grid{gap:8px}.loyalty-card{padding:20px}.card-brand{font-size:18px}.steps{gap:10px}.metric-top{font-size:10px}.heading h1{font-size:27px}.date{display:none}}
@media(max-width:960px){.grid-main,.bottom-grid,.analytics-grid,.scan-layout,.settings-grid{grid-template-columns:1fr}.card-panel .loyalty-card{max-width:370px;margin:auto}.card-footer{max-width:370px;margin:18px auto 0}.metrics{grid-template-columns:repeat(2,1fr)}.heading{align-items:flex-start}.heading h1{font-size:25px}.top-actions .badge{display:none}.chart{height:230px}.steps{gap:20px}}
@media(max-width:650px){.shell{display:block;padding-bottom:76px}.sidebar{inset:auto 0 0;width:100%;height:67px;padding:0 5px;background:#fffffffa;backdrop-filter:blur(10px);border-top:1px solid var(--line);border-right:0}.sidebar>.brand,.workspace,.nav-label,.side-bottom{display:none}.nav{flex-direction:row;justify-content:space-around;height:100%;gap:0}.nav button{flex-direction:column;gap:4px;font-size:9px;padding:10px 9px;border-radius:0;flex:1;justify-content:center}.nav button.active{background:#edf2e7}.nav .dot{display:none}.nav .icon{width:19px;height:19px}.main{display:block}.topbar{height:65px;padding:0 20px}.mobile-brand{display:flex;font-size:20px;padding:0}.mobile-brand .brand-mark{width:27px;height:27px;border-radius:8px}.breadcrumb{display:none}.top-actions{gap:8px}.content{padding:25px 18px 15px}.heading{gap:12px;flex-wrap:wrap;margin-bottom:23px}.heading h1{font-size:26px}.heading p{max-width:250px;font-size:11px}.heading>.btn{padding:10px 13px;font-size:11px}.metrics{gap:10px;margin-bottom:17px}.metric{padding:15px}.metric-value{font-size:29px}.metric-foot{font-size:9px}.period button{font-size:10px;padding:7px 9px}.demo-strip{font-size:9px;align-items:flex-start;line-height:1.7;margin-bottom:20px}.grid-main,.bottom-grid{gap:17px}.panel{padding:20px}.panel-title{margin-bottom:17px}.chart{height:205px;margin-top:22px}.legend{font-size:9px}.steps{gap:16px}.privacy-panel{padding:20px}.footer{font-size:9px}.footer span{max-width:200px}#toast{left:50%;bottom:82px;min-width:240px;text-align:center}.phone{max-width:340px}.customer-top h1{font-size:24px}.action-row .btn{font-size:11px}.date{display:none}.scan-box{min-height:205px}.onboarding .panel{padding:24px}.analytics-grid{gap:17px}.heading .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.nfc-banner{display:flex;align-items:center;gap:12px;border:1px solid #dce6d0;background:#edf3e5;padding:13px 17px;border-radius:10px;font-size:11px;color:#637552;margin-bottom:23px;line-height:1.7}.nfc-banner .pill{font-size:9px;font-weight:700;letter-spacing:1px;white-space:nowrap}.staff-card{background:#24483e;color:#e2edca;border-radius:17px;padding:27px;min-height:225px;position:relative;overflow:hidden;box-shadow:0 14px 30px #24483e17}.staff-card:after{content:'';position:absolute;width:220px;height:220px;right:-100px;top:-40px;border:1px solid #dbe9bf20;border-radius:50%;box-shadow:0 0 0 25px #dbe9bf07,0 0 0 50px #dbe9bf05}.staff-card.blocked{filter:grayscale(1);opacity:.65}.staff-overline{font-size:9px;letter-spacing:2px}.staff-card-title{font-family:Georgia,serif;font-size:28px;line-height:1.2;margin:24px 0}.staff-card-bottom{display:flex;justify-content:space-between;font-size:11px}.nfc-status{display:flex;gap:9px;align-items:center;padding:17px 0;font-size:11px}.nfc-status>span:last-child{margin-left:auto;color:var(--muted)}.status-dot{width:7px;height:7px;background:#7f9c5e;border-radius:50%}.status-dot.off{background:#a65b46}.nfc-steps{border-top:1px solid var(--line);padding:20px 0 0}.nfc-steps>div{display:flex;gap:13px;margin-bottom:17px}.nfc-steps b{width:25px;height:25px;border:1px solid #dce6d0;border-radius:8px;display:grid;place-items:center;font-size:11px;flex-shrink:0}.nfc-steps span{font-size:11px;color:var(--muted);line-height:1.8}.nfc-steps strong{display:block;color:var(--ink);font-size:12px;font-weight:550}.nfc-customer-panel{background:#f0f2eb}.nfc-phone{min-height:430px;max-width:325px;padding-bottom:26px}.nfc-phone .btn{width:100%;font-size:11px;padding:11px;margin-top:10px}.nfc-idle{text-align:center;padding:40px 12px}.nfc-idle h3{font-family:Manrope,var(--font);font-size:20px;letter-spacing:-.7px}.nfc-idle p,.nfc-success p{color:var(--muted);font-size:12px;line-height:1.9}.nfc-idle small{display:block;color:#8a957e;font-size:10px;line-height:1.8;margin-top:24px}.nfc-rings{font-size:42px;color:#93ac73;letter-spacing:5px;font-weight:500;transform:rotate(-15deg);background:#edf3e3;border-radius:50%;width:95px;height:95px;display:grid;place-items:center;margin:auto}.ios-clock{text-align:center;font-size:60px;font-family:Manrope,var(--font);font-weight:600;letter-spacing:-3px;margin:33px 0 5px}.ios-date{text-align:center;color:#88967b;font-size:11px;margin-bottom:35px}.ios-notification{display:flex;gap:10px;text-align:left;background:#e9efdf;border:1px solid #dbe5cf;padding:16px 12px;border-radius:17px;width:100%;color:var(--ink)}.ios-notification strong{display:block;font-size:12px}.ios-notification small{display:block;font-size:11px;line-height:1.7;margin:5px 0}.ios-notification em{font-style:normal;font-size:10px;text-decoration:underline}.ios-nfc-symbol{font-size:18px;background:#24483e;color:#dbe9bf;padding:5px 7px;border-radius:8px;height:34px}.nfc-test-controls{max-width:325px;margin:24px auto 0}.nfc-test-controls .action-row{margin-top:10px}.nfc-test-controls .btn{font-size:10px;padding:10px}.nfc-success{text-align:center;padding:15px 0}.nfc-success>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#e9f0df;color:#5d7f45;font-size:24px;margin:auto}.nfc-success h3{font-size:20px;font-family:Manrope,var(--font);letter-spacing:-.5px;margin:15px 0 6px}.nfc-success p{font-size:11px}.nfc-link{display:flex;gap:12px;align-items:center;background:#f4f6ef;border:1px solid var(--line);border-radius:9px;padding:12px}.nfc-link code{font-size:11px;overflow-wrap:anywhere;flex:1}.nfc-link .btn{white-space:nowrap}.nfc-consent{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.8;color:var(--muted)}.nfc-consent input{accent-color:var(--green);margin-top:4px}.nfc-consent .link-btn{font-size:10px}
@media(max-width:650px){.nfc-banner{display:block;font-size:10px}.nfc-banner .pill{display:block;margin-bottom:4px}.nfc-link{flex-direction:column;align-items:stretch}.nfc-status{font-size:10px}.staff-card{padding:23px}.staff-card-title{font-size:27px}.nfc-phone{min-height:410px}}
.server-card{background:#24483e;color:#e5eed4;border-radius:15px;padding:25px;margin:22px 0}.server-card .eyebrow{color:#c3d0b8;display:block}.server-card>strong{display:block;font-size:50px;font-weight:500;letter-spacing:-2px;margin:20px 0}.server-card small{font-size:15px;letter-spacing:0}.server-card p{font-size:13px}.server-card code{font-size:10px;overflow-wrap:anywhere;color:#bbcdb8}.server-request{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:12px}.approval-code{font-family:monospace;font-size:21px;letter-spacing:3px}.server-totals{display:flex;gap:30px;margin:25px 0}.server-totals strong{font-size:29px;font-family:Manrope,Arial;display:block}.server-totals span{font-size:10px;color:var(--muted)}.server-approve{background:#f4f7ef;border:1px solid var(--line);padding:15px;border-radius:10px;margin:14px 0}.server-approve .server-request{padding-top:0;margin-bottom:16px}.server-approve .field{margin-bottom:12px}

.analytics-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.source-picker{display:flex;gap:3px;padding:4px;border:1px solid var(--line);background:white;border-radius:10px}.source-picker button{padding:10px 15px;border-radius:7px;background:transparent;color:var(--muted);font-size:12px}.source-picker button.selected{background:var(--green);color:white}.analytics-source{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:22px;line-height:1.7}.analytics-source strong{color:var(--green)}.analytics-range{font-size:11px;color:var(--muted)}.metric-comparison{font-size:10px;color:var(--green);padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.analytics-bars{height:230px;display:flex;gap:12px;margin:30px 0 20px}.analytics-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.analytics-count{color:var(--green);font-weight:600}.analytics-bar-track{flex:1;width:100%;display:flex;align-items:flex-end;background:#f4f7ef;border-radius:7px;overflow:hidden}.analytics-bar{width:100%;background:#c7dab0;border-radius:7px 7px 0 0}.analytics-column:last-child .analytics-bar{background:var(--green)}.return-panel{background:#f0f3e9}.return-value{font:600 65px Manrope,Arial;color:var(--green);letter-spacing:-3px;margin:25px 0 5px}.return-value small{font-size:26px;letter-spacing:0}.stock-panel{margin-top:23px;display:grid;grid-template-columns:1fr 1.2fr;gap:25px;align-items:center}.stock-values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stock-values strong{display:block;font:600 28px Manrope,Arial;margin-bottom:8px;color:var(--green)}.stock-values span{font-size:11px;color:var(--muted);line-height:1.6;display:block}.table-scroll{overflow-x:auto}.analytics-table{min-width:520px}.analytics-table td{font-variant-numeric:tabular-nums}.analytics-table th{line-height:1.7}.analytics-table tbody th{font-weight:400;color:var(--ink)}.analytics-table tfoot{font-weight:600;background:#f3f6ed}.analytics-method{margin-top:23px;font-size:12px;line-height:1.9}.analytics-method summary{cursor:pointer;font-weight:600}.analytics-method p{color:var(--muted)}.analytics-empty{text-align:center;padding:45px 25px;font-size:13px;line-height:1.8}.analytics-empty p{color:var(--muted);margin:16px auto;max-width:450px}.analytics-no-data{padding:18px;background:#edf2e7;border-radius:10px;margin-bottom:23px;font-size:12px;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8aa56c;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.analytics-table td:not(:first-child){text-align:right}.analytics-table thead th:not(:first-child){text-align:right}
.scenario-panel{margin-top:23px;display:flex;align-items:center;gap:25px;justify-content:space-between}.scenario-panel .btn{flex-shrink:0}.scenario-results{max-height:340px;overflow:auto;padding-left:23px;background:#f3f6ed;border-radius:10px;padding-top:10px;padding-bottom:10px}.scenario-results li{padding:5px 10px 5px 0;font-size:11px;line-height:1.7}.scenario-results .passed{color:#315c3d}.scenario-results .failed{color:#a3503b}dialog{max-height:90vh;overflow:auto}@media(max-width:650px){.scenario-panel{flex-direction:column;align-items:stretch}}
.internal-shell{max-width:1160px;margin:auto;padding:35px 25px 70px}.internal-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.internal-head h1{font-family:Manrope,Arial;font-size:30px;letter-spacing:-1px;margin:12px 0}.internal-head p{font-size:13px;color:var(--muted)}.internal-label{padding:10px 15px;border:1px solid #d3dfc8;border-radius:30px;background:#edf3e5;font-size:11px;white-space:nowrap}.internal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0}.internal-start{max-width:720px;margin:30px auto;padding:30px}.internal-start ol{padding-left:20px;margin:25px 0}.internal-start li{margin:10px 0}.internal-card-list{max-height:320px;overflow:auto}.internal-card-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:14px;padding:15px 10px;border-radius:8px;margin:5px 0;background:#f5f7f0;color:var(--ink);text-align:left}.internal-card-row.selected{box-shadow:inset 0 0 0 2px var(--green);background:#eaf0e2}.internal-card-row code{font-size:10px;overflow-wrap:anywhere}.internal-card-row strong{font-size:11px;white-space:nowrap}.internal-rule{border:0;border-top:1px solid var(--line);margin:25px 0}.internal-stats{margin-top:24px}.internal-shell h3{font-size:13px}.internal-shell .metrics{margin-top:25px;margin-bottom:10px}.internal-shell .server-card{margin-top:20px}.internal-shell .nfc-consent{font-size:11px}.internal-shell~#toast{left:50%}@media(max-width:650px){.internal-shell{padding:22px 16px 50px}.internal-head{align-items:flex-start;flex-direction:column;gap:5px}.internal-head h1{font-size:25px}.internal-toolbar{flex-wrap:wrap}.internal-shell .panel-title{flex-wrap:wrap}.internal-shell .scan-layout{gap:17px}}
.internal-bookings{max-height:440px;overflow:auto}.internal-booking{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.internal-booking strong{font-size:12px}.internal-booking code{font-size:10px;overflow-wrap:anywhere}.internal-booking .btn{flex-shrink:0}.internal-booking .hint{margin-bottom:4px}#internal-dialog code{overflow-wrap:anywhere}
@media(max-width:960px){.stock-panel{grid-template-columns:1fr}.analytics-range{display:none}}
@media(max-width:650px){.source-picker button{padding:9px 10px;font-size:11px}.analytics-controls .link-btn{font-size:10px}.analytics-source{font-size:10px}.analytics-bars{gap:7px;height:190px}.analytics-column{font-size:9px}.stock-values{gap:10px}.stock-values strong{font-size:25px}.stock-values span{font-size:10px}.return-value{font-size:55px}.analytics-method{font-size:11px}.metric-comparison{font-size:9px}}

