/* QRalto authenticated SaaS design system — loaded last by _Layout. */
:root{--saas-canvas:#f3f4ef;--saas-surface:#fff;--saas-surface-soft:#f8faf7;--saas-border:rgba(16,42,42,.12);--saas-border-strong:rgba(16,42,42,.2);--saas-shadow:0 14px 38px rgba(16,42,42,.065);--saas-shadow-raised:0 24px 65px rgba(16,42,42,.11);--saas-focus:0 0 0 4px rgba(53,116,102,.16);--saas-radius:18px}
.app-authenticated{background:var(--saas-canvas);text-rendering:optimizeLegibility}
.app-authenticated .site-header{height:72px;border-color:var(--saas-border);background:rgba(248,249,245,.92);box-shadow:0 1px 0 rgba(255,255,255,.75);backdrop-filter:blur(22px) saturate(140%)}
.app-authenticated .nav-shell{width:min(1380px,calc(100% - 40px))}
.app-authenticated .main-nav{gap:20px}.app-authenticated .main-nav>a:not(.button){position:relative;color:rgba(16,42,42,.68);font-size:12px;font-weight:760}.app-authenticated .main-nav>a.active:not(.button){color:var(--ink)}.app-authenticated .main-nav>a.active:not(.button):after{content:none}
.app-authenticated .app-page{min-height:calc(100vh - 72px);padding:46px 0 94px;background-color:var(--saas-canvas);background-image:radial-gradient(circle at 8% 2%,rgba(185,214,107,.12),transparent 28rem),radial-gradient(circle at 95% 12%,rgba(53,116,102,.075),transparent 30rem)}
.app-authenticated .shell.app-shell{width:min(1360px,calc(100% - 48px));max-width:1360px}
.app-authenticated .panel,.app-authenticated .stat-grid article{border-color:var(--saas-border);border-radius:var(--saas-radius);box-shadow:var(--saas-shadow)}
.app-authenticated .panel{background:rgba(255,255,255,.96)}
.app-authenticated .button{min-height:44px;padding-inline:18px;gap:10px;border-radius:11px;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.app-authenticated .button:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(16,42,42,.11)}.app-authenticated .button-primary{border-color:#9fb857;background:var(--lime);color:#102a2a}.app-authenticated .button-secondary{border-color:var(--saas-border-strong);background:#fff;color:var(--ink)}.app-authenticated .button-secondary:hover{color:var(--ink)}.app-authenticated .button-dark{background:var(--ink)}
.public-site .main-nav{gap:10px}.public-site .main-nav>a:not(.button){padding:9px 12px;border-radius:10px}.public-site .main-nav>a.active:not(.button){background:var(--mint);color:var(--ink);opacity:1}.public-site .main-nav>a.active:not(.button):hover{opacity:1}
.app-authenticated button:focus-visible,.app-authenticated a:focus-visible,.app-authenticated input:focus-visible,.app-authenticated textarea:focus-visible,.app-authenticated select:focus-visible,.app-authenticated summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;box-shadow:var(--saas-focus)}
.app-authenticated input:not([type=checkbox]):not([type=radio]):not([type=color]),.app-authenticated textarea,.app-authenticated select{border-color:var(--saas-border-strong);background:#fff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.app-authenticated input:hover,.app-authenticated textarea:hover,.app-authenticated select:hover{border-color:rgba(53,116,102,.42)}
.app-authenticated button:disabled,.app-authenticated [aria-disabled=true]{transform:none!important;box-shadow:none!important;cursor:not-allowed;opacity:.56}
.app-authenticated .app-heading{margin-bottom:26px}.app-authenticated .app-heading h1{font-size:clamp(34px,4vw,48px)}
.app-authenticated .state-pill{border:1px solid var(--saas-border);font-weight:800}
.app-authenticated .table-scroll{overflow:auto;border:1px solid var(--saas-border);border-radius:14px}.app-authenticated table{border-collapse:collapse;width:100%}.app-authenticated th{padding:12px 15px;background:var(--saas-surface-soft);color:rgba(16,42,42,.56);font-size:10px;letter-spacing:.07em;text-align:left;text-transform:uppercase}.app-authenticated td{padding:14px 15px;border-top:1px solid var(--saas-border);font-size:12px}

/* Dashboard measurement clarity */
.audience-method-note{margin:0 0 12px;padding:11px 12px;border:1px solid rgba(53,116,102,.12);border-radius:10px;background:#f5f8f4;color:rgba(16,42,42,.62);font-size:10px;line-height:1.55}.audience-method-note strong{display:block;margin-bottom:2px;color:var(--ink);font-size:10px}
.geo-coverage{display:grid;gap:8px;margin-top:20px;padding:13px 14px;border:1px solid rgba(53,116,102,.14);border-radius:12px;background:#f7faf6}.geo-coverage>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.geo-coverage span{color:rgba(16,42,42,.58);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.geo-coverage strong{font-size:12px}.geo-coverage>i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#e4e8e2}.geo-coverage>i>b{display:block;width:var(--geo-coverage);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--lime))}.geo-coverage small{color:rgba(16,42,42,.57);font-size:10px;line-height:1.5}.geo-empty--compact{min-height:235px}.geo-empty code{padding:2px 5px;border-radius:5px;background:#edf1eb;color:var(--ink);font-size:.9em}

/* Digital Menu progress and live editor */
.menu-build-progress{grid-template-columns:repeat(8,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--saas-border);border-radius:16px;background:#fff;box-shadow:var(--saas-shadow)}
.menu-build-progress>a,.menu-build-progress>span{min-width:0;min-height:76px;padding:11px;border:0;border-right:1px solid var(--saas-border);border-radius:0;background:transparent}.menu-build-progress>*:last-child{border-right:0}.menu-build-progress strong{font-size:.72rem}.menu-build-progress small{font-size:.61rem}.menu-build-progress .is-current{background:linear-gradient(145deg,#f3f8f5,#eaf3ee);box-shadow:inset 0 -3px 0 var(--green)}.menu-build-progress .is-complete{background:#fbfcfa}.menu-build-progress .is-complete:hover{background:#f2f7f3}
.menu-editor-layout{grid-template-columns:minmax(0,1.5fr) minmax(340px,.7fr);gap:22px}.menu-editor-preview{top:90px}.menu-editor-section{box-shadow:var(--saas-shadow)}.menu-editor-section>summary{min-height:76px}.menu-new-item-form{position:relative;border:1px solid rgba(53,116,102,.35);background:linear-gradient(150deg,#fbfdfb,#f2f7f4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.menu-new-item-heading small{display:inline-flex;align-items:center;gap:7px}.live-preview-dot{width:8px;height:8px;border-radius:50%;background:#3b8b65;box-shadow:0 0 0 5px rgba(59,139,101,.12);animation:livePreviewPulse 1.8s ease-in-out infinite}
.menu-phone-editor{width:min(100%,390px)}.menu-phone-editor .menu-phone-screen{min-height:600px}.menu-phone-screen>[data-menu-preview-items]{display:grid}.menu-preview-draft[hidden]{display:none}.menu-preview-draft{position:relative;margin-top:4px;padding:14px 0!important;border-top:1px dashed var(--menu-accent)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--menu-accent) 7%,transparent),transparent)}.menu-preview-draft:after{position:absolute;top:-9px;right:0;padding:2px 6px;border-radius:999px;background:var(--menu-accent);color:#fff;content:attr(data-preview-status);font-size:.52rem;font-weight:800;letter-spacing:.03em}.menu-preview-draft-image{width:52px;height:52px;flex:0 0 52px;overflow:hidden;border-radius:10px}.menu-preview-draft-image img{width:100%;height:100%;object-fit:cover}.menu-preview-draft-body{min-width:0;flex:1}.menu-preview-draft-price{display:grid;justify-items:end;align-content:start;gap:3px}.menu-preview-draft-price del{color:#8a918e;font-size:.62rem}.menu-preview-draft.is-hidden-item,.menu-preview-draft.is-outside-schedule{opacity:.56}.menu-preview-tags{display:block;margin-top:6px;color:var(--green);font-size:.58rem;font-weight:800}.menu-preview-allergens{display:block;margin-top:4px;color:#89644f;font-size:.56rem;line-height:1.3}.menu-phone-screen nav .is-previewing{border-color:var(--menu-accent);box-shadow:inset 0 0 0 1px var(--menu-accent)}
.menu-public-url{box-shadow:var(--saas-shadow)}
@keyframes livePreviewPulse{50%{opacity:.45;transform:scale(.8)}}

/* Referral acquisition and reward center */
.referral-page{overflow:hidden}.referral-page .app-shell{display:grid;gap:18px}.referral-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;min-height:330px;padding:44px;overflow:hidden;background:var(--ink)!important;color:#fff!important}.referral-hero:before{position:absolute;right:-140px;bottom:-220px;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02);content:""}.referral-hero .section-number{color:var(--lime)}.referral-hero h1{max-width:720px;margin:8px 0 18px;font-size:clamp(42px,5vw,68px);line-height:.93;letter-spacing:-.06em}.referral-hero h1 em{color:var(--lime);font-family:Georgia,serif;font-weight:400}.referral-hero p{max-width:700px;color:rgba(255,255,255,.68);font-size:15px}.referral-reward-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.referral-reward-pills span{padding:8px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.06);font-size:11px}.referral-reward-pills b{color:var(--lime)}.referral-orbit{position:relative;z-index:1;display:grid;width:230px;height:230px;margin:auto;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:inset 0 0 55px rgba(185,214,107,.09)}.referral-orbit:before{position:absolute;width:140px;height:140px;border:1px dashed rgba(185,214,107,.34);border-radius:50%;content:"";animation:referralSpin 16s linear infinite}.referral-orbit span,.referral-orbit b{position:absolute;display:grid;width:58px;height:58px;place-items:center;border-radius:16px;background:#fff;color:var(--ink);font-size:10px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.referral-orbit span{top:14px;left:8px}.referral-orbit b{right:4px;bottom:18px}.referral-orbit i{position:relative;z-index:1;color:var(--lime);font-size:30px;font-style:normal;font-weight:900;letter-spacing:-.05em}
.referral-share{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:32px;align-items:center;padding:28px}.referral-share h2{margin:4px 0 7px;font-size:26px}.referral-share p{margin:0;color:rgba(16,42,42,.58);font-size:12px}.referral-link-box{padding:18px;border:1px solid var(--saas-border);border-radius:15px;background:var(--saas-surface-soft)}.referral-link-box label{display:block;margin-bottom:7px;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.referral-link-box>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.referral-link-box input{min-width:0;height:44px;padding:0 12px;border:1px solid var(--saas-border-strong);border-radius:10px;background:#fff;color:#45605a;font-size:11px}.referral-link-box small{display:block;margin-top:9px;color:rgba(16,42,42,.56)}
.referral-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.referral-metrics article{position:relative;padding:22px;overflow:hidden}.referral-metrics article>span{color:rgba(16,42,42,.56);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.referral-metrics strong{display:block;margin:7px 0 1px;font-size:34px;letter-spacing:-.05em}.referral-metrics small{color:rgba(16,42,42,.5);font-size:10px}.referral-credit{background:linear-gradient(135deg,#fff,#eff7df)!important}.referral-credit:after{position:absolute;right:-25px;bottom:-35px;width:110px;height:110px;border-radius:50%;background:rgba(185,214,107,.28);content:""}
.referral-activity{padding:0;overflow:hidden}.referral-activity>header{display:flex;justify-content:space-between;align-items:center;padding:23px 25px}.referral-activity h2{margin:2px 0 0;font-size:25px}.referral-review-note{padding:6px 9px;border-radius:999px;background:#fff2db;color:#845b19;font-size:9px;font-weight:800}.referral-table{min-width:640px}.referral-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3ef;color:#4d665e;font-size:9px;font-weight:850}.referral-status--rewarded{background:#e8f5e9;color:#2e6b43}.referral-status--reviewrequired{background:#fff1db;color:#805817}.referral-empty{display:grid;justify-items:center;padding:50px 25px 56px;text-align:center;border-top:1px solid var(--saas-border)}.referral-empty>span{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:var(--mint);color:var(--green);font-size:23px}.referral-empty h3{margin:15px 0 4px}.referral-empty p{max-width:560px;margin:0;color:rgba(16,42,42,.58);font-size:12px}.referral-terms{display:flex;gap:10px;align-items:flex-start;padding:4px 6px;color:rgba(16,42,42,.58);font-size:10px}.referral-terms strong{flex:none;color:var(--ink)}
.referral-invite-banner{display:flex;gap:11px;align-items:center;margin:4px 0 12px;padding:13px;border:1px solid rgba(53,116,102,.2);border-radius:12px;background:#eff7f1}.referral-invite-banner>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:var(--green);color:#fff}.referral-invite-banner strong,.referral-invite-banner small{display:block}.referral-invite-banner strong{font-size:12px}.referral-invite-banner small{color:rgba(16,42,42,.58);font-size:9px}
@keyframes referralSpin{to{transform:rotate(360deg)}}

@media(max-width:1180px){.menu-build-progress{grid-template-columns:repeat(8,minmax(145px,1fr));overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.menu-build-progress::-webkit-scrollbar{display:none}.menu-build-progress>*{scroll-snap-align:start}.app-authenticated .main-nav{gap:13px}.app-authenticated .main-nav>a:not(.button){font-size:11px}}
@media(max-width:980px){.dashboard-audience>.audience-method-note{grid-column:1/-1}.menu-editor-layout{grid-template-columns:1fr}.menu-editor-preview{position:relative;top:auto}.referral-hero{grid-template-columns:1fr}.referral-orbit{position:absolute;right:-45px;bottom:-55px;opacity:.5}.referral-hero-copy{position:relative;z-index:2}.referral-share{grid-template-columns:1fr}}
@media(max-width:720px){.app-authenticated .shell.app-shell{width:min(100% - 26px,1360px)}.app-authenticated .app-page{padding:28px 0 70px}.menu-editor-heading{gap:18px}.menu-editor-status .button{width:100%}.menu-editor-status form{width:100%}.menu-build-progress{margin-inline:-13px;border-right:0;border-left:0;border-radius:0}.menu-new-item-form{margin-inline:10px;padding:17px}.menu-new-item-heading{align-items:flex-start;flex-direction:column}.menu-phone-editor{max-width:355px}.referral-hero{min-height:390px;padding:30px 24px}.referral-hero h1{font-size:45px}.referral-reward-pills{align-items:flex-start;flex-direction:column}.referral-orbit{right:-95px;bottom:-75px}.referral-share{padding:22px}.referral-link-box>div{grid-template-columns:1fr 1fr}.referral-link-box input{grid-column:1/-1}.referral-metrics{grid-template-columns:1fr}.referral-terms{flex-direction:column}.referral-activity>header{align-items:flex-start;flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){.live-preview-dot,.referral-orbit:before{animation:none}.app-authenticated *{scroll-behavior:auto!important}}
