/* Balance Delivery — shared identity and responsive components. */
:root{--balance-ink:#183b2c;--balance-green:#187c56;--balance-lime:#d7f28b;--brand:#187c56;--accent:#187c56;--bg:#f6f7f2;--panel:#fff;--text:#183b2c;--ink:#183b2c;--muted:#65756b;--line:#dfe7dd;--good:#187c56;--hot:#187c56;--soft:#edf4eb;--warm:#edf4eb;--danger:#b63333}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,"Segoe UI",Arial,sans-serif!important;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:inherit!important;letter-spacing:-.035em;line-height:1.16}button,input,select,textarea{font:inherit}button,a{transition:background .16s,color .16s,box-shadow .16s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #84ba67!important;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.6}button,input,select,textarea{min-height:44px}input[type=checkbox],input[type=radio]{min-height:18px;width:18px;height:18px;accent-color:#187c56}::selection{background:#d7f28b;color:#123c2f}
.brand img[src*="balance-mark"],img[src*="balance-mark"]{object-fit:contain;filter:none!important}.brand img[src*="balance-mark"]{width:48px!important;height:48px!important;flex-shrink:0}.brand strong{font-size:1.35rem!important;line-height:1.12!important;letter-spacing:-.04em!important;text-shadow:none!important}.brand{gap:12px!important}.panel,.metric,.card{box-shadow:0 5px 20px #14322406!important}.panel h2{font-size:1.35rem}.metric strong{font-size:.82rem;letter-spacing:.015em}.metric>div{font-variant-numeric:tabular-nums}.metric{border-radius:18px!important}.item{border:1px solid #e2eadf;background:#f5f8f2!important}.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}
.balance-lockup{display:flex;align-items:center;gap:12px;color:#123c2f;text-decoration:none}.balance-lockup img{width:49px;height:49px}.balance-lockup>span{font-size:30px;font-weight:800;letter-spacing:-1.5px;line-height:1}.balance-lockup small{display:block;font-size:9px;letter-spacing:4.4px;margin-top:6px;margin-left:2px;font-weight:700}.balance-button{display:inline-flex;gap:20px;align-items:center;justify-content:center;padding:15px 22px;border:0;border-radius:13px;background:#187c56;color:white;font-weight:700;text-decoration:none;cursor:pointer}.balance-button:hover{background:#125f43}.balance-button span{margin-left:auto}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1.7px;font-weight:750;color:#53774e}.status-dot{height:7px;width:7px;display:inline-block;background:#187c56;border-radius:50%}
body[data-balance-page=discovery]{margin:0;background:#f6f7f2;color:#163d2c}.balance-home{width:min(1240px,calc(100% - 64px));margin:auto}.home-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4d6}.home-header nav{display:flex;gap:32px;align-items:center}.home-header nav a{font-size:14px;font-weight:650;color:#244e39;text-decoration:none}.home-login{border:1px solid #cddbcc;padding:13px 20px;border-radius:12px}.home-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:center;padding:55px 0 86px}.home-story h1{font-size:clamp(48px,5.6vw,76px);font-weight:760;letter-spacing:-4px;line-height:1.04;margin:23px 0}.home-story h1 em{font-style:normal;color:#187c56}.home-story>p{font-size:17px;line-height:1.65;color:#66766a}.home-proof{display:flex;gap:20px;margin-top:28px}.home-proof span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:650;color:#516653}.home-proof b{display:grid;place-items:center;width:24px;height:24px;border:1px solid #dce6d3;border-radius:50%;font-size:10px;color:#187c56}.home-visual{height:445px;position:relative;border-radius:130px 24px 24px 24px;overflow:hidden;background:#123c2f}.home-food{width:100%;height:100%;object-fit:cover;object-position:center 27%;transform:scale(1.15)}.food-label{position:absolute;top:28px;right:24px;color:white;font-size:9px;letter-spacing:1.2px;font-weight:700;text-shadow:0 2px 6px #000}.food-caption{position:absolute;bottom:20px;left:20px;right:20px;background:#f6f7f2f5;border-radius:17px;display:flex;align-items:center;gap:13px;padding:17px}.food-caption strong{display:block;font-size:15px}.food-caption span:not(.food-icon){display:block;font-size:12px;color:#74806f;margin-top:4px}.food-icon{display:grid;place-items:center;background:#d7f28b;border-radius:12px;width:44px;height:44px;font-size:23px;color:#123c2f}.location-card{position:relative;display:grid;grid-template-columns:240px 1fr;gap:32px;padding:32px 36px;background:#fff;border:1px solid #dce5d8;border-radius:22px;margin-top:-35px;box-shadow:0 15px 50px #163d2c09}.location-intro h2{font-size:25px;letter-spacing:-1px;margin:10px 0}.location-intro p{font-size:12px;color:#6b786a;line-height:1.6;max-width:210px;margin:0}.location-form{display:flex;flex-direction:column;justify-content:center}.location-fields{display:grid;grid-template-columns:.65fr 1fr 1.3fr;gap:12px;align-items:end}.location-fields label{font-size:12px;font-weight:700;display:grid;gap:8px}.location-fields select{width:100%;padding:14px 10px;background:#f7f9f4;border:1px solid #dce6d7;border-radius:12px;font-size:13px;color:#29422e;height:50px}.location-fields button{font-size:12px;height:50px;white-space:nowrap;padding:12px 16px}.location-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:19px}.balance-check{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.location-bottom p{font-size:10px;color:#788576;max-width:280px}.home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:65px 10px}.feature-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #d9e5d3;border-radius:13px;font-size:25px;color:#187c56}.home-features h3{font-size:17px;margin:18px 0 9px}.home-features p{font-size:13px;line-height:1.7;color:#6c7d70;max-width:300px}.home-app{background:#123c2f;color:white;border-radius:26px;padding:45px 55px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.home-app .eyebrow{color:#d7f28b}.home-app h2{font-size:40px;letter-spacing:-2px;margin:16px 0}.home-app p{font-size:14px;color:#bfd0bf;line-height:1.7;max-width:360px}.home-app .balance-button{background:#d7f28b;color:#123c2f;font-size:13px;margin:12px 0}.home-text-link{display:block;color:#cad8c6;font-size:11px;margin-top:6px}.app-preview{background:#f6f7f2;border-radius:26px;padding:26px;color:#163d2c;box-shadow:18px 18px 0 #ffffff0c;transform:none;min-width:0}.app-preview-head{display:flex;gap:10px;align-items:center}.app-preview-head img{width:40px}.app-preview-head span{font-size:23px;font-weight:750;letter-spacing:-1px}.app-preview-head small{display:block;font-size:8px;letter-spacing:3px}.app-preview-notice{display:flex;align-items:center;gap:13px;padding:20px 14px;background:white;border:1px solid #dce6d7;margin:25px 0 20px;border-radius:15px}.app-preview-notice>span{color:#187c56}.app-preview-notice strong{font-size:13px}.app-preview-notice p{font-size:11px;margin:6px 0 0;color:#6e7e70;line-height:1.4}.app-preview>a{font-size:12px;color:#187c56;text-decoration:none;font-weight:700}.home-footer{display:flex;gap:30px;align-items:center;padding:45px 0}.home-footer .balance-lockup{transform:scale(.75);transform-origin:left center}.home-footer p{font-size:12px;color:#7a867b}.home-footer>div{display:flex;gap:22px;margin-left:auto}.home-footer>div a{font-size:11px;color:#536a54;text-decoration:none}
body[data-balance-page=auth_portal]{background:radial-gradient(ellipse at 0 0,#e0ecd4,transparent 55%),#f6f7f2;padding:32px 18px}.card .brand img{width:60px!important;height:60px!important}.card .brand strong{font-size:24px!important}.card .brand{margin-bottom:30px}.card label{color:#4b6252}.card .links a{color:#187c56;font-size:13px}.card>h1{font-size:23px}.card>p{font-size:14px;line-height:1.6}
body[data-balance-page=saas_admin]{background:#f6f7f2;padding-left:225px}.balance-admin-rail{position:fixed;inset:0 auto 0 0;width:225px;padding:30px 17px;background:#123c2f;color:white;z-index:70;display:flex;flex-direction:column}.balance-admin-rail .balance-lockup{color:white;margin-bottom:35px}.balance-admin-rail .balance-lockup>span{font-size:25px}.balance-admin-rail .balance-lockup img{width:42px}.balance-admin-rail small.rail-label{font-size:9px;letter-spacing:2px;color:#94b7a4;margin:18px 13px 10px}.balance-admin-rail nav{display:grid;gap:4px}.balance-admin-rail button,.balance-admin-rail nav a{width:100%;padding:12px 13px;text-align:left;color:#c9dbcb;border:0;border-radius:11px;background:transparent;text-decoration:none;font-size:12px;font-weight:600;margin:0}.balance-admin-rail button:hover,.balance-admin-rail nav a:hover,.balance-admin-rail button.active{color:#d7f28b;background:#ffffff0e}.balance-admin-rail .rail-footer{margin-top:auto;font-size:11px;padding:16px;color:#92b19c;border-top:1px solid #ffffff15}.balance-admin-rail .rail-footer a{color:#d7f28b}.balance-admin-greeting{margin:0 0 20px;font-size:11px;color:#768c7a}.balance-admin-greeting span{float:right}.balance-workspace-hero{display:flex;align-items:center;justify-content:space-between;background:#123c2f;color:white;border-radius:22px;padding:28px 32px;margin:20px 0 25px;gap:20px}.balance-workspace-hero h2{font-size:30px;margin:9px 0}.balance-workspace-hero p{font-size:13px;color:#c7d8c7;margin:0}.balance-workspace-hero .eyebrow{color:#d7f28b}.balance-workspace-hero a,.balance-workspace-hero button{width:auto;background:#d7f28b;color:#123c2f;border:0;border-radius:12px;padding:13px 20px;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.balance-quick-actions{display:flex;gap:10px;margin:0 0 25px;flex-wrap:wrap}.balance-quick-actions button,.balance-quick-actions a{width:auto;padding:12px 16px;border:1px solid #dce7d5;background:white;color:#2d5e43;border-radius:12px;text-decoration:none;font-size:12px;font-weight:650;margin:0}body[data-balance-page=saas_admin]>.wrap{width:calc(100% - 56px);max-width:1380px;padding-top:30px}body[data-balance-page=saas_admin] .hero{background:transparent;border:0;box-shadow:none;padding:0 0 18px}body[data-balance-page=saas_admin] .hero h1{font-size:30px}body[data-balance-page=saas_admin] .hero p{font-size:13px;max-width:580px;line-height:1.6}body[data-balance-page=saas_admin] .hero-actions a{font-size:11px;padding:10px 13px}body[data-balance-page=saas_admin] .metrics{grid-template-columns:repeat(4,1fr)}body[data-balance-page=saas_admin] .menu-card{box-shadow:none;border-radius:17px;min-height:128px;padding:22px;background:white}body[data-balance-page=saas_admin] .menu-card:before{content:'↗';float:right;color:#54875c;font-size:20px}body[data-balance-page=saas_admin] .menu-card:hover{border-color:#9fbe91;background:#fafff4}body[data-balance-page=saas_admin] .menu-card span{font-size:15px;margin:0 0 12px}body[data-balance-page=saas_admin] .menu-card small{font-size:12px;line-height:1.6;max-width:230px}
body[data-balance-page=restaurant_backoffice] .topbar{background:#123c2f;box-shadow:none}body[data-balance-page=restaurant_backoffice] .topbar-inner{max-width:1440px;width:calc(100% - 40px);flex-wrap:wrap;padding:16px 0;gap:16px}body[data-balance-page=restaurant_backoffice] .brandmark{background:transparent;width:44px;height:44px}body[data-balance-page=restaurant_backoffice] .brandmark img{width:44px;height:44px}body[data-balance-page=restaurant_backoffice] .tabs{flex-wrap:wrap;gap:4px}body[data-balance-page=restaurant_backoffice] .tabs button,body[data-balance-page=restaurant_backoffice] .tabs a{font-size:11px;padding:9px 12px;border-radius:9px}body[data-balance-page=restaurant_backoffice] .tabs .active{background:#d7f28b;color:#123c2f}body[data-balance-page=restaurant_backoffice] .wrap{max-width:1440px;width:calc(100% - 40px)}body[data-balance-page=restaurant_backoffice] .metrics{grid-template-columns:repeat(4,1fr)}body[data-balance-page=restaurant_backoffice] .orders-menu-card{font-size:15px;font-weight:650;border-radius:17px;min-height:86px;border-color:#dfe7dd}body[data-balance-page=restaurant_backoffice] .metric{border-top:3px solid #b2d694}
body[data-balance-page=discovery_results_v2]{background:#f6f7f2}body[data-balance-page=discovery_results_v2] .app{max-width:1180px}body[data-balance-page=discovery_results_v2] .topbar{background:#123c2f;border-radius:0 0 25px 25px;min-height:170px;padding:24px 28px;margin-bottom:35px}body[data-balance-page=discovery_results_v2] .stores{grid-template-columns:1fr 1fr}body[data-balance-page=discovery_results_v2] .store{border-radius:18px;box-shadow:none;grid-template-columns:70px 1fr}body[data-balance-page=discovery_results_v2] .store-logo{width:70px;height:70px}body[data-balance-page=discovery_results_v2] .store h3{font-size:17px}body[data-balance-page=discovery_results_v2] .store p{font-size:12px}body[data-balance-page=discovery_results_v2] .store-meta{font-size:11px}body[data-balance-page=discovery_results_v2] .store-rating{grid-column:2;text-align:left;font-size:11px}body[data-balance-page=discovery_results_v2] .store-rating strong{display:inline;font-size:12px;margin-right:7px}.balance-filters{display:flex;gap:10px;flex-wrap:wrap;padding:0 18px 20px}.balance-filters input{flex:1;min-width:160px;padding:13px 16px;border:1px solid #dce7d5;border-radius:12px}.balance-filters select{padding:12px;border:1px solid #dce7d5;border-radius:12px;background:white;color:#34533a}.balance-filters label{display:flex;align-items:center;gap:6px;font-size:12px}
body[data-balance-page=restaurant_public_flow] .topbar{background:#123c2f}body[data-balance-page=restaurant_public_flow] .hero{padding-top:36px;padding-bottom:45px}body[data-balance-page=restaurant_public_flow] .brand strong{font-size:21px!important}body[data-balance-page=restaurant_public_flow] .step.active{background:#e8f4df;border-color:#93bb77}body[data-balance-page=restaurant_public_flow] .product{border-radius:17px}body[data-balance-page=restaurant_public_flow] .sidebar{position:sticky;top:100px}body[data-balance-page=customer_dashboard_v2] .top,body[data-balance-page=customer_order_detail] .top{background:#123c2f}body[data-balance-page=customer_dashboard_v2] .card{border-radius:19px}
.balance-notification-launch{position:fixed;right:22px;bottom:92px;width:52px!important;height:52px;min-height:52px;display:grid;place-items:center;background:#123c2f!important;color:#d7f28b!important;border:1px solid #739464!important;border-radius:50%!important;box-shadow:0 5px 25px #123c2f40;z-index:95;margin:0;padding:0!important;cursor:pointer}.balance-notification-launch svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.balance-notification-count{position:absolute;right:-3px;top:-4px;background:#d7f28b;color:#123c2f;border:2px solid #f6f7f2;min-width:22px;border-radius:20px;padding:2px 4px;font-size:10px;font-weight:800}.balance-notification-panel{position:fixed;right:22px;bottom:152px;width:min(380px,calc(100vw - 24px));max-height:70vh;overflow:auto;border:1px solid #dce7d5;border-radius:22px;background:white;color:#183b2c;box-shadow:0 20px 80px #123c2f30;z-index:96;padding:22px;text-align:left}.balance-notification-panel[hidden]{display:none!important}.balance-notification-panel h2{font-size:21px;margin:0 0 6px}.balance-notification-panel p{font-size:12px;color:#6d7f6e;line-height:1.5}.balance-notification-panel button{width:auto;padding:9px 12px;border-radius:10px;font-size:11px;background:#187c56;color:white;border:0;margin:5px 5px 5px 0}.balance-notification-panel label{display:flex;align-items:center;gap:8px;font-size:12px;margin:9px 0}.balance-notification-item{display:block;padding:14px;border:1px solid #e4eadf;border-radius:14px;margin-top:9px;text-decoration:none;color:#244d33;background:#fafcf7}.balance-notification-item.unread{border-left:3px solid #187c56;background:#f1f8e9}.balance-notification-item strong{display:block;font-size:12px}.balance-notification-item p{margin:6px 0;font-size:11px}.balance-notification-item small{font-size:9px;color:#80907d}.balance-toast{position:fixed;right:22px;top:22px;max-width:350px;background:#123c2f;color:white;padding:18px 22px;border-radius:16px;box-shadow:0 10px 40px #123c2f35;z-index:300;line-height:1.5;font-size:13px}.balance-toast[hidden]{display:none}
@media(max-width:1100px){.home-hero{gap:25px}.home-proof{gap:10px}.location-card{grid-template-columns:190px 1fr;padding:25px}.location-fields{grid-template-columns:1fr 1fr}.location-fields button{grid-column:1/-1}.home-app{gap:35px}.balance-admin-rail{width:190px}body[data-balance-page=saas_admin]{padding-left:190px}body[data-balance-page=saas_admin] .metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.balance-home{width:calc(100% - 32px)}.home-header{height:85px}.balance-lockup img{width:39px;height:39px}.balance-lockup>span{font-size:25px}.balance-lockup small{font-size:7px;letter-spacing:3.7px}.home-header nav{gap:10px}.home-header nav a{font-size:11px}.home-header nav a:first-child{display:none}.home-login{padding:11px}.home-hero{grid-template-columns:1fr;padding:35px 0 45px;gap:26px}.home-story h1{font-size:54px;letter-spacing:-3px;margin:20px 0}.home-story>p{font-size:14px}.home-visual{height:290px;border-radius:70px 20px 20px 20px}.home-food{object-position:center 26%}.home-proof{margin-top:20px;gap:13px;flex-wrap:wrap}.home-proof span{font-size:9px}.food-label{font-size:8px}.food-caption{bottom:14px;left:14px;right:14px;padding:13px}.location-card{grid-template-columns:1fr;margin-top:0;padding:23px;gap:20px}.location-intro h2 br{display:none}.location-intro p{max-width:none}.location-fields{grid-template-columns:1fr 1fr}.location-bottom{display:block}.location-bottom p{margin-top:12px}.home-features{grid-template-columns:1fr;gap:25px;padding:40px 10px}.home-features article{padding-left:60px;position:relative}.home-features .feature-icon{position:absolute;left:0;top:4px}.home-features h3{margin-top:0}.home-features p{max-width:none}.home-app{grid-template-columns:1fr;padding:28px;gap:24px}.home-app h2{font-size:34px}.app-preview{padding:20px}.home-footer{flex-wrap:wrap;padding:25px 0;gap:5px}.home-footer>div{margin:10px 0;width:100%}.home-footer p{font-size:10px}.balance-admin-rail{position:relative;width:auto;padding:17px;height:auto}.balance-admin-rail .balance-lockup{margin:0 0 15px}.balance-admin-rail nav{grid-template-columns:repeat(3,1fr);gap:3px}.balance-admin-rail button,.balance-admin-rail nav a{font-size:10px;padding:10px 5px}.balance-admin-rail .rail-label,.balance-admin-rail .rail-footer{display:none!important}body[data-balance-page=saas_admin]{padding-left:0}body[data-balance-page=saas_admin]>.wrap{width:calc(100% - 28px);padding-top:22px}.balance-workspace-hero{padding:23px;display:block}.balance-workspace-hero h2{font-size:26px}.balance-workspace-hero button,.balance-workspace-hero a{display:inline-flex;margin-top:18px}.balance-admin-greeting span{float:none;display:block;margin-top:6px}body[data-balance-page=restaurant_backoffice] .metrics{grid-template-columns:repeat(2,1fr)}body[data-balance-page=restaurant_backoffice] .topbar-inner{width:calc(100% - 24px)}body[data-balance-page=restaurant_backoffice] .wrap{width:calc(100% - 24px)}body[data-balance-page=discovery_results_v2] .stores{grid-template-columns:1fr}body[data-balance-page=discovery_results_v2] .topbar{padding:20px 16px}.balance-notification-launch{right:14px;bottom:94px}.balance-notification-panel{right:12px;bottom:154px}.balance-toast{left:16px;right:16px;max-width:none}body[data-balance-page=restaurant_public_flow] .sidebar{position:static}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.balance-filters label input[type=checkbox]{flex:none;min-width:0;width:17px;height:17px;padding:0}.balance-filters input[type=search]{max-width:100%}
@media(max-width:760px){.location-intro h2 br{display:initial}}
