/* Bunny Flash 2: shared bright mobile-first UI. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-section{margin:4px 0 24px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-stats .card{margin:0;padding:20px}.dashboard-stat{border-top:3px solid var(--yellow)}.dashboard-stat span{display:block;color:var(--muted);font-size:13px;line-height:1.5}.dashboard-stat strong{display:block;color:var(--blue);font-size:clamp(25px,3vw,34px);line-height:1.3;margin-top:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.dashboard-stats>.error{grid-column:1/-1}.hero-marketing>div{flex:1}.hero-marketing h2{max-width:650px}.hero-marketing p{max-width:620px}.hero-marketing .eyebrow{text-transform:none;letter-spacing:.4px}.auth-story>.eyebrow{text-transform:none;letter-spacing:.4px}
@media(max-width:767px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-stats .card{padding:17px 14px}.dashboard-stat strong{font-size:27px}.dashboard-stat span{font-size:12px}.hero.hero-marketing>img{display:none}.hero.hero-marketing h2{font-size:28px;max-width:none}.hero.hero-marketing p{max-width:none;font-size:14px}.hero.hero-marketing{padding:25px 22px}.hero.hero-marketing>div{width:100%}}
/* Navigation uses surfaces; content links retain an underline on hover. */
nav a:hover,.brand:hover,.notification-link:hover,.tool-card:hover{text-decoration:none}
.sidebar{overflow-y:auto}.sidebar nav{margin-top:22px}.sidebar nav a:hover{background:#f0f4fc;color:var(--blue)}.bottom-nav a:hover{background:#edf1fa;border-radius:13px}.bottom-nav a{min-height:46px}.tool-grid,.workspace-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.tool-card{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);min-width:0}.tool-card:hover{border-color:#b6c7f0;background:#f4f7ff}.tool-card strong{display:block;font-size:16px;overflow-wrap:anywhere}.tool-card small{display:block;font-size:12px;margin-top:5px}.tool-card>span:nth-child(2){min-width:0;flex:1}.tool-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;background:#fff2c5;color:var(--blue);border-radius:14px;font-size:23px}.tool-arrow{color:var(--blue)}.access-card{border-top:4px solid var(--yellow)}.access-badges{display:flex;gap:8px;flex-wrap:wrap}.access-card p{margin-bottom:0}.setup-guide ol{padding-left:24px;margin-bottom:0}.setup-guide li{padding:6px 0;line-height:1.6}.module-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.module-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--muted);text-align:center;font-weight:650;font-size:14px}.module-link:hover{background:#edf2ff;color:var(--blue)}.module-link.active{background:var(--blue);color:white;border-color:var(--blue)}.management-tools .actions{margin-top:12px}.management-tools h2{margin-bottom:6px}
@media(max-width:767px){.tool-grid,.workspace-shortcuts{grid-template-columns:1fr;gap:10px}.tool-card{padding:16px}.module-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-link{font-size:13px}.workspace-shortcuts .tool-card small{margin-top:3px}.workspace-shortcuts .tool-card{padding:13px 16px}}
:root{--blue:#2447a7;--deep:#183576;--yellow:#ffce3a;--ink:#17233b;--muted:#66748b;--bg:#f7f8fc;--line:#e6eaf3;--green:#087c56;--red:#b82839;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,.button{min-height:46px;padding:12px 18px;background:var(--blue);color:#fff;border:0;border-radius:14px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none;line-height:1.35}button:hover,.button:hover{background:var(--deep);text-decoration:none}button:disabled{opacity:.55;cursor:wait}.secondary{background:#edf1fa;color:var(--blue)}.secondary:hover{background:#dfe7f8}.yellow{background:var(--yellow);color:var(--ink)}.yellow:hover{background:#f5be1e}.danger{background:#fff0f1;color:var(--red)}.text-button{background:transparent;color:var(--blue);padding:8px}.whatsapp{background:#e5f7ef;color:#086848}.whatsapp:hover{background:#cceedd}input,select,textarea{width:100%;min-height:48px;border:1px solid #d8deea;border-radius:13px;background:white;color:var(--ink);padding:12px;font-size:16px}textarea{min-height:88px;resize:vertical}input[type=checkbox],input[type=radio]{width:20px;min-height:20px;accent-color:var(--blue);vertical-align:middle}input[type=file]{padding:9px}label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}label>input,label>select,label>textarea{display:block;margin-top:7px}select[multiple]{min-height:120px}:focus-visible{outline:3px solid #f0b91a;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(27px,4vw,40px);letter-spacing:-1.2px;line-height:1.16;margin:0 0 12px}h2{font-size:20px;letter-spacing:-.4px;margin:0 0 12px}h3{font-size:16px;margin:0 0 8px}p{line-height:1.6;margin:8px 0 14px}small,.muted{color:var(--muted);line-height:1.6}small{font-size:13px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.brand{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:22px;font-weight:850;letter-spacing:-1px}.brand img{width:46px;height:46px;object-fit:contain}.brand span span{color:var(--blue)}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:26px 20px;display:flex;flex-direction:column}.sidebar nav{margin-top:36px;display:grid;gap:5px}.sidebar nav a{padding:13px 14px;border-radius:13px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:12px}.sidebar nav a.active{background:#edf1ff;color:var(--blue)}.account{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.account strong{display:block;margin:10px 0}.workspace{margin-left:232px}.topbar{min-height:82px;max-width:1196px;margin:auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar .brand{display:none}.topbar-note{font-size:13px;color:var(--muted)}.topbar-actions{display:flex;gap:10px;align-items:center}.language-toggle{display:flex;padding:4px;border:1px solid var(--line);border-radius:14px;background:white;gap:3px;margin:0}.language-toggle button{min-height:34px;padding:7px 10px;background:transparent;color:var(--muted);border-radius:10px;font-size:12px}.language-toggle button.active{background:var(--blue);color:white}.notification-link{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--blue)}.notification-count{background:var(--yellow);color:var(--ink);border-radius:20px;min-width:18px;text-align:center;font-size:11px;padding:2px 4px}.nav-icon{width:21px;height:21px;flex:none}.bell-toggle{min-height:34px;padding:8px;font-size:11px;background:white;color:var(--blue);border:1px solid var(--line)}
main#app{max-width:1196px;margin:auto;padding:8px 32px 60px}.heading{margin:18px 0 26px}.heading p{color:var(--muted);max-width:680px}.hero{overflow:hidden;border-radius:28px;background:var(--blue);color:white;padding:30px;min-height:215px;display:flex;align-items:center;gap:25px;margin-bottom:26px}.hero h1{max-width:480px;font-size:clamp(30px,4vw,45px)}.hero p{color:#dce5ff;max-width:420px}.hero .eyebrow{color:var(--yellow)}.hero-art{width:210px;margin-left:auto;flex:none;filter:drop-shadow(0 12px 12px #152d7133)}.hero .button{margin-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 16px}.section-heading h2{margin:0}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 32px #1c37680a;margin-bottom:18px;min-width:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid>.card{margin:0}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0}.line>*{min-width:0}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.status{display:inline-flex;padding:6px 10px;background:#edf2ff;color:var(--blue);border-radius:9px;font-size:12px;font-weight:650;line-height:1.4}.status.green{background:#e3f6ed;color:var(--green)}.status.orange{background:#fff5d5;color:#77500a}.status.red{background:#fff0f1;color:var(--red)}.notice{padding:14px 16px;background:#fff7df;color:#745214;border-radius:14px;line-height:1.6;margin:14px 0}.notice.error{background:#fff0f1;color:var(--red)}.empty{text-align:center;padding:38px 20px;color:var(--muted)}.empty h2{color:var(--ink)}.loading-caption{color:var(--muted)}.skeleton{border-radius:15px;background:linear-gradient(100deg,#e9edf5 30%,#f5f7fc 50%,#e9edf5 70%);background-size:250%;animation:shimmer 1.4s infinite;height:150px;margin:15px 0}.skeleton-title{height:30px;width:45%}.request-progress{height:3px;position:fixed;top:0;left:0;right:0;background:var(--yellow);z-index:100;transform:scaleX(0);transform-origin:left}.request-progress.is-loading{animation:progress 1.5s infinite}.loading-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:var(--blue)}
.search-box{position:relative;margin:20px 0}.search-box input{padding-left:45px;background:white;border-color:var(--line);border-radius:17px}.search-box svg{position:absolute;left:15px;top:14px;color:var(--muted)}.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.store-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:white;color:var(--ink);display:block}.store-card:hover{text-decoration:none;border-color:#b6c7f0}.store-visual{height:155px;position:relative;background:#fff2c4;display:grid;place-items:center;overflow:hidden}.store-card:nth-child(3n+2) .store-visual{background:#e6f3e9}.store-card:nth-child(3n+3) .store-visual{background:#edf0ff}.store-visual img{width:100%;height:100%;object-fit:cover}.store-illustration{font-size:68px;line-height:1}.store-visual .status{position:absolute;top:12px;left:12px;background:white}.store-body{padding:19px}.store-body h3{font-size:18px}.store-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin:12px 0 0}.category-tabs,.filter-tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 12px}.category-tabs button,.filter-tabs button{white-space:nowrap;min-height:38px;padding:9px 15px;background:white;color:var(--muted);border:1px solid var(--line);font-size:13px}.category-tabs button.active,.filter-tabs button.active{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product-card{background:white;border:1px solid var(--line);border-radius:20px;padding:13px;min-width:0;display:flex;flex-direction:column}.product-visual{height:128px;background:#f8f4e9;border-radius:13px;display:grid;place-items:center;overflow:hidden;font-size:44px;margin-bottom:14px}.product-visual img{height:100%;width:100%;object-fit:contain;padding:8px}.product-card h3{font-size:15px;line-height:1.4;flex:1}.product-price{color:var(--blue);font-weight:750;font-size:16px}.round-button{width:38px;min-height:38px;padding:0;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:22px}.quantity-control{display:flex;gap:10px;align-items:center}.quantity-control button{width:34px;min-height:34px;padding:0;border-radius:10px;background:#eef2fa;color:var(--blue)}.quantity-control span{min-width:20px;text-align:center;font-weight:700}.cart-bar{position:fixed;bottom:22px;left:calc(232px + (100vw - 232px)/2);transform:translateX(-50%);width:min(560px,calc(100vw - 280px));z-index:20;background:var(--blue);color:white;box-shadow:0 10px 35px #173b9150;border-radius:18px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-bar button{background:var(--yellow);color:var(--ink);min-height:40px}.cart-bar small{color:#e0e7ff}.cart-items .line{border-bottom:1px solid var(--line)}.order-card{display:block;color:var(--ink)}.order-card:hover{text-decoration:none;border-color:#b9c9ee}.order-no{font-size:12px;color:var(--muted)}.order-total{font-weight:750;font-size:20px}.metric{font-size:30px;color:var(--blue);font-weight:750;margin:7px 0}.action-item{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.action-item small{display:block}.progress-steps{display:flex;gap:5px;list-style:none;padding:0;margin:22px 0}.progress-steps li{flex:1;font-size:11px;color:var(--muted);position:relative;padding-top:28px;text-align:center}.progress-steps li:before{content:'';position:absolute;top:5px;left:calc(50% - 8px);width:16px;height:16px;border:3px solid #dfe5f2;border-radius:50%;background:white;z-index:1}.progress-steps li:after{content:'';position:absolute;top:12px;left:50%;width:100%;height:3px;background:#e6eaf3}.progress-steps li:last-child:after{display:none}.progress-steps .done:before,.progress-steps .current:before{border-color:var(--blue);background:var(--blue)}.progress-steps .done:after{background:var(--blue)}.progress-steps .current{font-weight:750;color:var(--blue)}.timeline{list-style:none;padding:0}.timeline li{border-left:2px solid #dfe7f8;padding:0 0 18px 16px;font-size:14px}.timeline small{display:block}.tracking-banner{background:var(--blue);color:white;border-radius:18px;padding:20px}.tracking-banner small{color:#d9e3fc}.tracking-banner strong{display:block;font-size:27px;margin:6px 0}.map{height:300px;border-radius:18px;overflow:hidden;background:#edf1f8;margin-top:16px}.item-row{border-bottom:1px solid var(--line);padding:13px 0}.item-row:last-child{border:0}.item-row .row{grid-template-columns:1fr 1fr 1fr}.item-row label{margin-top:8px;font-size:12px}.total-line{border-top:1px solid var(--line);margin-top:10px;padding-top:18px;font-weight:750;font-size:21px}.proof-link{display:inline-block;margin:7px 12px 7px 0}.account-hero{display:flex;align-items:center;gap:16px}.profile-avatar{width:52px;height:52px;object-fit:cover;border-radius:50%}.profile-avatar-large{width:76px;height:76px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.passkey-item{padding:14px 0;border-bottom:1px solid var(--line)}.passkey-item small{display:block}details.card>summary{font-weight:700;cursor:pointer;min-height:28px}details>summary{cursor:pointer}table{width:100%;border-collapse:collapse}th,td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table-scroll{overflow:auto}.form-feedback{color:var(--red);margin:10px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;padding:14px 20px;border-radius:15px;max-width:calc(100vw - 32px);z-index:100}.bottom-nav{display:none}.mobile-menu{display:none}#connection{margin:0 20px}.modal{position:fixed;inset:0;background:#10203d66;z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}.modal-panel{width:min(620px,100%);max-height:90dvh;overflow:auto;background:white;border-radius:25px;padding:25px}.modal-panel .close{float:right}.save-dock{position:sticky;bottom:0;background:white;padding:14px 0;margin-top:14px;border-top:1px solid var(--line)}.auth{background:#fff8df;min-height:100dvh}.auth-layout{max-width:1080px;margin:auto;padding:60px 30px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;min-height:100dvh}.auth-story h1{font-size:clamp(36px,5vw,58px);margin-top:30px}.auth-story h1 span{color:var(--blue)}.auth-story>img{width:290px;margin:28px auto 0}.auth-card{padding:32px;border-radius:28px;background:white;box-shadow:0 20px 70px #997b1614;min-width:0}.auth-card .language-toggle{width:max-content;margin-left:auto;margin-bottom:25px}.auth-submit{width:100%;margin-top:24px}.password-field{position:relative}.password-field input{padding-right:80px}.password-toggle{position:absolute;right:4px;top:4px;min-height:40px;background:transparent;color:var(--blue);font-size:12px}.auth-divider{text-align:center;color:var(--muted);margin:20px 0}.passkey-button{width:100%}.auth-switch{text-align:center;font-size:14px;margin-top:24px}.auth-heading{font-size:25px}.form-section{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:1000px){.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{width:170px}.auth-layout{gap:35px}}
@media(max-width:767px){.sidebar{display:none}.workspace{margin-left:0}.topbar{padding:14px 18px;min-height:76px;background:white;flex-wrap:wrap;border-bottom:1px solid var(--line)}.topbar .brand{display:flex;font-size:21px}.topbar-note{display:none}.topbar-actions{margin-left:auto;gap:8px}.topbar .bell-toggle{min-height:28px;margin-left:auto;padding:4px 9px}.language-toggle button{padding:7px 9px}main#app{padding:18px 16px 115px}.heading{margin:4px 0 22px}.heading h1{font-size:29px}.hero{padding:24px 21px;min-height:205px;border-radius:24px;gap:0;margin-bottom:23px}.hero h1{font-size:30px;max-width:240px}.hero p{font-size:13px;max-width:210px;margin-bottom:10px}.hero-art{width:125px;margin-right:-14px;align-self:flex-end}.hero>div{position:relative;z-index:1}.hero .button{padding:10px 14px;font-size:13px}.hero .eyebrow{font-size:10px}.section-heading{margin:24px 0 14px}.section-heading h2{font-size:19px}.store-grid{gap:12px}.store-visual{height:116px}.store-illustration{font-size:48px}.store-body{padding:13px}.store-body h3{font-size:15px;margin-bottom:6px}.store-body p{font-size:12px;margin:0}.store-meta{gap:5px;font-size:11px;margin-top:8px}.store-card{border-radius:20px}.store-visual .status{font-size:10px;top:9px;left:9px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-visual{height:116px;font-size:40px}.product-card{padding:11px}.product-card h3{font-size:14px}.product-price{font-size:15px}.card{padding:19px;border-radius:20px;margin-bottom:14px}.grid{gap:12px}.row{gap:10px}.cart-bar{left:50%;bottom:87px;width:calc(100vw - 32px);padding:12px 14px;border-radius:17px}.cart-bar strong{font-size:15px}.bottom-nav{display:flex;position:fixed;left:12px;right:12px;bottom:10px;padding:8px 5px calc(8px + env(safe-area-inset-bottom));border:1px solid var(--line);background:#ffffffee;backdrop-filter:blur(12px);border-radius:21px;box-shadow:0 4px 30px #203e7017;z-index:30}.bottom-nav a{flex:1;display:flex;flex-direction:column;gap:5px;align-items:center;color:var(--muted);font-size:10px;padding:4px 1px}.bottom-nav a.active{color:var(--blue);font-weight:750}.bottom-nav a.active .nav-icon{background:var(--yellow);color:var(--ink);border-radius:10px;box-sizing:content-box;padding:5px;margin:-5px 0 0}.bottom-nav .notification-count{position:absolute;transform:translate(15px,-4px)}.account-grid{grid-template-columns:1fr;gap:0}.item-row .row{grid-template-columns:1fr 1fr}.item-row .row label:last-child{grid-column:1/-1}.progress-steps li{font-size:10px}.map{height:270px}.modal{padding:10px;align-items:flex-end}.modal-panel{border-radius:24px 24px 17px 17px;padding:22px;max-height:88dvh}#toast{bottom:90px;width:calc(100vw - 32px);text-align:center}.auth-layout{display:block;padding:24px 18px;min-height:100dvh}.auth-story h1{font-size:32px;margin:22px 0}.auth-story>img{display:none}.auth-story .brand{font-size:25px}.auth-card{padding:24px;border-radius:24px;margin:26px auto 0;max-width:480px}.auth-story{max-width:480px;margin:auto}.tracking-banner strong{font-size:25px}}
@media(max-width:360px){.hero-art{width:93px;opacity:.9}.hero h1{font-size:27px}.hero p{max-width:180px}.topbar .brand{font-size:19px}.topbar .brand img{width:36px;height:36px}.topbar-actions{gap:5px}.notification-link{width:34px;height:34px}.grid{grid-template-columns:1fr}.store-meta{display:block}.store-meta span{display:block;margin-top:4px}.product-price{font-size:14px}}
@keyframes shimmer{to{background-position:-250% 0}}@keyframes progress{0%{transform:scaleX(.05)}70%{transform:scaleX(.85)}100%{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.request-progress.is-loading{transform:scaleX(1)}}
@media print{.sidebar,.topbar,.bottom-nav,.actions,.cart-bar,#toast{display:none}.workspace{margin:0}main#app{padding:0}.card{box-shadow:none}}
/* Shared store UI components. */
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row>*{min-width:0}.row h2,.row h3{margin:0}.stack{display:grid;gap:14px}.stack label{margin:0}.search{display:flex;align-items:center;gap:12px;margin:20px 0;background:white;border:1px solid var(--line);border-radius:17px;padding:3px 14px}.search>span{font-size:27px;color:var(--blue)}.search input{border:0;background:transparent;padding:13px 0;min-width:0}.search:focus-within{outline:3px solid #ffce3a}.hero h2{font-size:clamp(28px,3vw,42px);line-height:1.14;margin:10px 0}.hero>img{width:210px;max-width:35%;height:auto;margin-left:auto;align-self:center}.yellow{background:var(--yellow);color:var(--ink)}.pill{font-size:12px;background:#eaf0ff;color:var(--blue);padding:7px 10px;border-radius:30px;white-space:nowrap}.store-card.card{padding:0}.store-art{height:150px;background:#fff1bc;position:relative;display:grid;place-items:center;overflow:hidden}.store-card:nth-child(3n+2) .store-art{background:#e7f4e9}.store-card:nth-child(3n+3) .store-art{background:#edf0ff}.store-art>span:not(.store-tag){font-size:65px}.store-art img{width:100%;height:100%;object-fit:cover}.store-tag{position:absolute;bottom:11px;left:11px;right:11px;width:max-content;max-width:calc(100% - 22px);font-size:11px;background:white;padding:7px 10px;border-radius:20px}.store-body p{color:var(--muted)}.round-arrow{display:grid;place-items:center;background:var(--yellow);border-radius:50%;width:34px;height:34px;flex:none}.category-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.chip{background:white;color:var(--muted);border:1px solid var(--line);min-height:38px;padding:8px 15px;white-space:nowrap}.chip.active{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.product-card.card{padding:13px;gap:0;margin:0}.product-art{height:135px;border-radius:14px;background:#faf6ec;display:grid;place-items:center;overflow:hidden;margin-bottom:13px}.product-art>span{font-size:52px}.product-art img{width:100%;height:100%;object-fit:contain;padding:8px}.product-card h3{font-size:16px;margin:0;flex:1}.product-card p{font-size:12px;color:var(--muted);margin:7px 0 12px}.product-card .row strong{color:var(--blue)}.add-product{border-radius:50%;background:var(--yellow);color:var(--ink);width:46px;min-height:46px;padding:0;font-size:20px;flex:none}.back-link{display:inline-block;margin:0 0 16px;color:var(--muted)}.order-grid,.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.order-card .status{max-width:55%;text-align:right}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;align-items:start}.line small{display:block;color:var(--muted);margin-top:5px}.line{border-bottom:1px solid var(--line)}.highlight{border-color:#edd685;background:#fffbed}.progress-steps li>span{display:none}.progress-steps li small{font-size:11px}.modal-overlay{position:fixed;inset:0;background:#10203d77;z-index:70;display:flex;align-items:center;justify-content:center;padding:22px}.modal.card{position:relative;inset:auto;background:white;display:block;width:min(650px,100%);max-height:90dvh;overflow-y:auto;padding:25px;border-radius:25px;margin:0;z-index:71}.modal-open{overflow:hidden}.icon-button{display:grid;place-items:center;width:46px;height:46px;padding:0;background:#edf2ff;color:var(--blue);font-size:25px}.cart-line{border-bottom:1px solid var(--line);padding:13px 0;display:grid;gap:10px}.cart-line>strong{font-size:17px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;padding:14px 20px;border-radius:15px;max-width:calc(100vw - 32px);z-index:100}.payment-qr{display:block;max-width:100%;width:280px;height:auto;object-fit:contain;background:white;padding:10px;margin:16px auto}.error{color:var(--red)}.check{display:flex;gap:10px;align-items:center}.check input{width:20px;min-height:20px}.management-tools .grid{grid-template-columns:repeat(2,minmax(0,1fr))}fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}details>summary{padding:14px 0;min-height:46px;font-weight:650}details form{margin-top:12px}.muted{color:var(--muted);font-size:12px}.empty-icon{font-size:30px;color:#cb9419}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e8ae0d;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:767px){.hero>img{width:110px;max-width:32%;margin-right:-12px;align-self:flex-end}.hero h2{font-size:27px}.hero p{max-width:210px}.store-art{height:115px}.store-art>span:not(.store-tag){font-size:45px}.store-tag{font-size:10px;padding:6px 8px}.store-body small{font-size:11px}.store-body .round-arrow{display:none}.product-art{height:112px}.product-art>span{font-size:43px}.product-card.card{padding:11px}.product-card h3{font-size:14px}.product-card .row{gap:5px}.product-card .row strong{font-size:14px}.add-product{width:44px;min-height:44px}.order-grid,.management-grid,.detail-grid{grid-template-columns:1fr}.row{flex-wrap:wrap}.hero .row{flex-wrap:nowrap}.detail-grid{gap:0}.modal-overlay{padding:10px;align-items:flex-end}.modal.card{padding:21px;border-radius:24px 24px 17px 17px;max-height:88dvh}.toast{bottom:90px;width:calc(100vw - 32px)}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heading h1{overflow-wrap:anywhere}.cart-bar{width:calc(100vw - 32px)}.progress-steps li small{font-size:10px}.management-tools .grid{grid-template-columns:1fr}}
@media(max-width:360px){.hero>img{width:85px;max-width:29%}.hero h2{font-size:24px}.hero p{max-width:175px}.hero{padding:22px 18px}.store-tag{font-size:9px}.store-body{padding:12px}.store-body h3{font-size:14px}}

.modal.card>.row:first-child{position:sticky;top:-25px;background:white;padding:12px 0;z-index:5;border-bottom:1px solid var(--line)}.store-card .store-body{flex:1}.store-card.card{display:flex;flex-direction:column}.hero h2{font-weight:760;letter-spacing:-.7px}.bell-toggle{width:42px;min-height:42px;padding:0;font-size:0;flex:none}.bell-toggle .nav-icon{width:21px;height:21px}.bell-toggle[aria-pressed=true]{background:var(--yellow);color:var(--ink)}@media(max-width:767px){.topbar .brand{font-size:19px;gap:5px}.topbar .brand img{width:36px;height:36px}.topbar{padding:14px 16px}.topbar-actions{gap:5px}.notification-link{width:34px}.bell-toggle{width:34px;min-height:44px}.topbar .bell-toggle{margin:0;padding:0;min-height:44px}.modal.card>.row:first-child{top:-21px}}@media(max-width:360px){.topbar .brand{font-size:16px}.topbar .brand img{width:30px;height:30px}.language-toggle button{padding:7px}.notification-link{width:30px}.topbar-actions{gap:3px}}

/* Spacing V6: shared rhythm, including actions that wrap onto another row. */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px}
.actions{gap:var(--space-3);align-items:center}
.actions>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
.card>:last-child,.notice>:last-child{margin-bottom:0}
.form-feedback:empty{display:none}
.stack .form-feedback{margin:0}
.stack>button[type=submit],.stack>button:not([type]){justify-self:start;max-width:100%}
.management-grid>.card,.order-grid>.card,.account-grid>.card,.detail-grid>.card{margin-bottom:0}
.management-card{display:flex;flex-direction:column}
.record-heading{align-items:flex-start}
.record-heading h3{flex:1;min-width:0;margin:0;line-height:1.5}
.record-heading .status{flex:none}
.record-info{margin-top:var(--space-3)}
.record-info p{margin:0}
.record-info>small{display:block;margin-top:var(--space-2)}
.record-info>small:first-child{margin-top:0}
.record-info>p+ p,.record-info>small+ p{margin-top:var(--space-3)}
.record-actions{margin-top:auto;padding-top:var(--space-4)}
.modal.card hr{border:0;border-top:1px solid var(--line);margin:var(--space-5) 0}
.auth-card>form:not(.language-toggle){margin-top:var(--space-4)}
.recovery-card{width:min(480px,calc(100% - 32px));margin:8vh auto}
.recovery-card>.brand,.error-card>.brand{margin-bottom:var(--space-5)}
.error-card{width:min(560px,calc(100% - 32px));margin:8vh auto}
.assistance-page{max-width:688px;margin:auto;padding:var(--space-5)}
.assistance-page>.language-toggle{width:max-content;margin:var(--space-4) 0 var(--space-5)}
.topbar-actions .notification-link,.topbar-actions .bell-toggle{width:44px;height:44px;min-height:44px;padding:0;flex:none;display:flex;align-items:center;justify-content:center;position:relative}
.topbar-actions .notification-link{border-radius:50%}
.topbar-actions .notification-count{position:absolute;right:-4px;top:-3px;line-height:1.4;pointer-events:none}
.topbar-actions .bell-toggle{border-radius:14px;font-size:inherit}
.topbar-actions .bell-toggle::after{content:none}
.topbar-actions{gap:var(--space-2)}
@media(max-width:767px){
 .detail-grid,.account-grid{gap:var(--space-4)}
 .actions{gap:var(--space-3)}
 .record-actions>button,.record-actions>.button{flex:1 1 130px}
 .stack>button[type=submit],.stack>button:not([type]){justify-self:stretch}
 .assistance-page{padding:var(--space-4)}
 .topbar .topbar-actions{gap:var(--space-2)}
 .topbar .brand{flex:none}
}

.card>form+form,.card>.actions+form{margin-top:var(--space-5)}
.card>.actions+small{display:block;margin-top:var(--space-3)}
#gps-feedback:empty{display:none}
.topbar-actions .bell-toggle:hover,.topbar-actions .notification-link:hover{background:#edf1fa;color:var(--blue)}
.topbar-actions .bell-toggle[aria-pressed=true]:hover{background:#f5be1e;color:var(--ink)}

/* Catalogue V7: store team lists and customer item cards share the same spacing. */
.product-toolbar .grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}
.product-toolbar label{margin:0}.product-toolbar .row{gap:12px;flex-wrap:wrap}
.product-record-list{display:grid;gap:12px}
.product-record.card{display:grid;grid-template-columns:64px minmax(0,1fr) 125px 145px;align-items:center;gap:16px;padding:16px;margin:0;border-radius:18px}
.product-record-image{width:64px;height:64px;display:grid;place-items:center;border-radius:12px;background:#fff7df;overflow:hidden;font-size:28px}
.product-record-image img{width:100%;height:100%;object-fit:contain;padding:4px}
.product-record-info{min-width:0}.product-record-info h3{line-height:1.5;margin:0 0 4px}
.product-record-info>small{display:block}.product-identifiers{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;color:var(--muted);font-size:12px}
.product-identifiers span{overflow-wrap:anywhere}.product-identifiers strong{font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}
.product-record-price{display:grid;justify-items:start;gap:8px}.product-record-price>strong{color:var(--blue);font-variant-numeric:tabular-nums}
.product-record-actions{margin:0}.product-record-actions button{width:100%}
.catalog-management>.heading{margin:4px 0 16px}.catalog-management>.heading h1{font-size:28px;margin-bottom:0}
.catalog-management>.heading p,.catalog-management>.setup-guide,.catalog-management .management-tools h2,.catalog-management #module-description{display:none}
.catalog-management .management-tools{padding:16px;margin-bottom:12px}.catalog-management .management-tools label{margin:0}
.catalog-management .module-nav{margin-bottom:12px}.catalog-management .search{margin:12px 0}
.catalog-management .management-tools .actions{margin-top:12px}.catalog-management .product-toolbar{padding:14px;margin-bottom:12px}
.catalog-management .product-toolbar .grid{margin-bottom:8px}.catalog-management .product-toolbar label{font-size:12px}
.category-chips{scroll-padding:8px}.catalog-count{font-size:13px;margin:4px 0 16px}
@media(max-width:1000px){.product-record.card{grid-template-columns:56px minmax(0,1fr) 110px}.product-record-image{width:56px;height:56px}.product-record-actions{grid-column:2/-1;justify-content:flex-end}.product-record-actions button{width:auto}}
@media(max-width:767px){.product-record.card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}.product-record-image{width:48px;height:48px;align-self:start}.product-record-info h3{font-size:14px}.product-identifiers{display:grid;gap:4px}.product-record-price{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.product-record-actions{grid-column:1/-1}.product-record-actions button{width:100%}.product-toolbar .grid{gap:12px}}

/* Store cards and delivery addresses: clear hierarchy for long content. */
.store-card .store-body{display:flex;flex-direction:column;gap:12px;padding:20px;min-width:0}
.store-body h3{margin:0;line-height:1.45;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.store-body .store-area{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.store-hours{padding:14px 0;border-top:1px solid var(--line);margin-top:auto}
.store-hours .eyebrow{font-size:11px;color:var(--muted);letter-spacing:.04em}
.store-hours dl{display:grid;gap:8px;margin:10px 0 0}.store-hours dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}
.store-hours dt{color:var(--muted);font-size:13px}.store-hours dd{margin:0;font-weight:650;font-size:13px;font-variant-numeric:tabular-nums}.store-hours p{margin:8px 0 0;font-size:13px}
.store-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:650;font-size:14px;color:var(--blue)}
.store-details{margin-bottom:16px}.store-details>summary{padding:0;display:flex;align-items:center}.store-details[open]>summary{margin-bottom:16px}.store-details .store-hours{margin:16px 0 8px}
.full-address{overflow-wrap:anywhere;white-space:pre-line;line-height:1.65}
.address-layout{display:grid;gap:24px}.address-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.address-list:empty{display:none}
.address-list>.address-card,.address-layout>.address-editor{margin:0;min-width:0}
.address-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.address-card-heading h3{margin:0;align-self:center;overflow-wrap:anywhere}.address-card-heading button{flex:none}
.address-recipient{display:grid;gap:4px;margin:16px 0 12px;overflow-wrap:anywhere}.address-recipient span{font-size:14px;color:var(--muted)}
.address-card .full-address{margin:0}.address-location{border-top:1px solid var(--line);margin-top:16px}.address-location summary{font-size:13px;color:var(--blue)}.address-location small{display:block;overflow-wrap:anywhere}
.address-editor{max-width:760px;width:100%;margin-inline:auto}.address-editor h2{margin:0 0 20px}
@media(max-width:767px){.store-grid{grid-template-columns:1fr}.store-card .store-body{padding:18px;gap:12px}.store-body h3{font-size:17px}.store-body .round-arrow{display:grid}.store-art{height:120px}.store-tag{font-size:11px}.address-list{grid-template-columns:1fr}.address-card-heading{gap:12px}.address-layout{gap:24px}}

.saved-cart-link{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 24px;color:var(--blue)}

.store-placeholder{width:64px;height:64px}.address-editor .pin{display:grid;gap:12px}.address-editor .pin>button{justify-self:start}

/* Integer cart controls, with a separate accessible remove action. */
.cart-item-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.cart-item-heading>strong{min-width:0;overflow-wrap:anywhere}
.cart-remove{flex:none;width:46px;height:46px;min-height:46px;padding:0;font-size:26px;line-height:1;color:#a82d35;background:#fff0f1}
.cart-quantity{display:flex;align-items:center;gap:10px;margin-top:6px}.cart-quantity button{width:46px;min-height:46px;padding:0;flex:none;font-size:22px;background:#edf1fa;color:var(--blue)}.cart-quantity input{width:88px;text-align:center;margin:0;appearance:textfield}.cart-quantity input::-webkit-inner-spin-button,.cart-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.time-field{padding:0;border:0;min-width:0;margin:0}.time-field legend{font-size:13px;font-weight:650;margin-bottom:7px}.time-selects{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.time-selects select{min-width:0;padding:12px 8px}

.topbar-actions{margin-left:auto;flex-shrink:0}
/* A lone shortcut and empty states occupy the entire content grid. */
.workspace-shortcuts>.tool-card:only-child,.order-grid>.empty,.product-grid>.empty,.store-grid>.empty,.management-grid>.empty{grid-column:1 / -1;width:100%;min-width:0}

/* Rider availability uses the shared card, actions and focus treatments. */
.rider-card{background:linear-gradient(120deg,#fff 55%,#f0f5ff);border-color:#dce5f7}
.rider-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.rider-card-heading h2{margin:0;font-size:18px}
.rider-card-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:14px;background:#fff1bd;color:var(--blue)}
.rider-card-icon svg{width:26px;height:26px}
.rider-presence-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.rider-presence-copy{min-width:0}.rider-presence-copy p{margin:8px 0 0;color:var(--muted);font-size:14px}
.rider-presence-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:99px;font-size:14px;font-weight:750}
.rider-presence-badge.is-online{background:#e3f5ec;color:#116345}.rider-presence-badge.is-offline{background:#edf1f8;color:#526078}
.rider-presence-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.rider-presence-row .actions{margin:0;flex:none}.rider-presence-row button{min-height:48px}
@media(max-width:480px){.rider-presence-row{align-items:stretch;flex-direction:column;gap:16px}.rider-presence-row .actions{display:flex}.rider-presence-row button{width:100%}.rider-card-heading h2{font-size:17px}}

/* UX17: consistent status, interaction and usable touch targets. */
:root{--motion-fast:150ms;--motion-dialog:200ms}
button,.button,.sidebar nav a,.bottom-nav a,.tool-card,.store-card{transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}
button:not(:disabled):active,.button:active{transform:translateY(1px)}
@media(hover:hover){.tool-card:hover,.store-card:hover{box-shadow:0 8px 24px #173b9110}}
.status.completed{background:#e2f5eb;color:#116345}.status.cancelled,.status.failed{background:#fff0f1;color:#a5293e}.status.waiting_customer_decision,.status.waiting_customer_approval,.status.receipt_uploaded{background:#fff2c7;color:#775100}.status.refunded{background:#edf0f5;color:#526078}
.status.ready_for_delivery,.status.nearby{background:#e3f4f2;color:#14635d}
.progress-steps [aria-current=step]{color:var(--blue);font-weight:750}.progress-steps [aria-current=step]:before{background:var(--yellow);border-color:var(--blue);box-shadow:0 0 0 4px #ffce3a25}
.language-toggle button,.category-chips .chip,.category-tabs button,.filter-tabs button{min-height:46px}.notification-link,.topbar .bell-toggle{min-width:46px;width:46px;min-height:46px}
.modal.card{animation:dialog-enter var(--motion-dialog) ease-out}.modal-overlay{animation:overlay-enter 150ms ease-out}
@keyframes dialog-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes overlay-enter{from{opacity:0}to{opacity:1}}
.cart-added{animation:cart-added 150ms ease-out}@keyframes cart-added{50%{transform:scale(1.08)}}
.status-changed{animation:status-changed 300ms ease-out}@keyframes status-changed{from{box-shadow:0 0 0 4px #ffce3a55}to{box-shadow:0 0 0 0 transparent}}
.toast{animation:toast-enter 160ms ease-out;left:calc(232px + (100vw - 232px)/2);margin:0;max-width:min(560px,calc(100vw - 280px))}
@keyframes toast-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
body.has-cart main#app{padding-bottom:150px}body.has-cart .toast{bottom:110px}
.discard-notice{position:sticky;top:0;z-index:8;border:1px solid #edc967;background:#fff9e8}.discard-notice .actions{margin-bottom:0}
.address-record-actions{margin:16px 0 0}.address-editor{scroll-margin-top:20px}.address-card-heading h3{min-width:0;flex:1}.address-card-heading{flex-wrap:wrap}
@media(max-width:767px){.toast{left:50%;max-width:calc(100vw - 32px);width:max-content}.topbar .brand{flex-shrink:0}.topbar-actions{flex-shrink:0}.topbar{gap:8px}body.has-cart main#app{padding-bottom:205px}body.has-cart .toast{bottom:170px}.language-toggle button{min-width:38px}.address-record-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.address-record-actions button{width:100%}}
@media(max-width:360px){.topbar .brand{font-size:15px}.topbar .brand img{width:26px;height:26px}.topbar-actions{gap:2px}.notification-link,.topbar .bell-toggle{min-width:46px;width:46px}.topbar{padding-inline:12px;gap:4px}.language-toggle{padding:2px;gap:0}.language-toggle button{padding:6px;min-width:32px}}
@media print{body.has-cart main#app{padding:0}}

/* UX18: separate complete sections as well as the cards inside their grids. */
#app>:is(.grid,.account-grid,.detail-grid,.store-grid,.product-grid,.order-grid,.management-grid):not(:empty){margin-bottom:var(--space-5)}
:where(#app,.detail-grid>div,.detail-grid>aside)>.card{margin-bottom:var(--space-5)}
.detail-grid>:is(div,aside)>.card:last-child{margin-bottom:0}
.account-grid{gap:var(--space-5)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.search:focus-within{outline:2px solid var(--blue);outline-offset:2px}.search input:focus-visible{outline:none}
.discard-notice{border-color:#ccdaf8;background:#f1f5ff;color:var(--deep)}

.card form:not(.stack):not([action])>button{margin-top:var(--space-3)}

/* Receipt reading and manual rider windows share the normal card rhythm. */
.receipt-ocr{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.receipt-ocr>summary{font-weight:650;color:var(--blue);padding:12px 0;min-height:46px}.receipt-ocr progress{width:100%;height:10px;margin-top:16px;accent-color:var(--blue)}.receipt-ocr textarea{min-height:180px;max-height:320px;font:14px/1.6 ui-monospace,monospace;white-space:pre-wrap}.receipt-ocr [data-ocr-output]{margin-top:16px}.receipt-ocr [data-ocr-feedback]{overflow-wrap:anywhere}
.rider-estimate-editor{margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}.rider-estimate-summary{padding:18px;background:#f1f5ff;border:1px solid #dde7fb;border-radius:16px;margin:16px 0}.rider-estimate-summary h3{margin:10px 0}.rider-estimate-summary p{margin:8px 0 0;font-size:13px;color:var(--muted)}

.receipt-ocr [data-ocr-feedback],.rider-estimate-editor .form-feedback{color:var(--muted)}.receipt-ocr [data-state=success],.rider-estimate-editor [data-state=success]{color:var(--green)}.receipt-ocr [data-state=error],.rider-estimate-editor [data-state=error]{color:var(--red)}
/* Categories20: one shared icon vocabulary for browsing and management. */
.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:20px 0 24px}
.category-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;background:var(--surface,#fff);color:var(--ink,#18243c);border:1px solid var(--border,#e0e6f0);border-radius:22px;min-width:0;box-shadow:0 4px 16px #18243c03;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.category-tile:hover{background:#fff;border-color:#adbce9;box-shadow:0 8px 24px #2447a70c;transform:translateY(-3px)}
.category-art{display:inline-flex;align-items:center;justify-content:center;background:var(--category-bg,#eef2ff);border-radius:23px;width:84px;height:84px;flex-shrink:0;color:#2447a7}
.category-art svg{width:64px;height:64px;display:block}
.category-name{font-size:15px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.category-tile small{font-size:12px;font-weight:400;color:#63718b}
.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 12px;flex-wrap:wrap}
.catalog-heading h2{margin:0}.catalog-heading p{margin:6px 0 0}.category-back{padding:0;min-height:46px;text-align:left;margin:0 0 4px}
#catalog-title:focus{outline:none}.product-art>.category-art{width:110px;height:110px;background:transparent}.product-art .category-art svg{width:88px;height:88px}
.category-picker{min-width:0;padding:16px;border:1px solid #dce3f2;border-radius:18px;margin:4px 0 12px}.category-picker legend{font-weight:700;padding:0 6px}
.category-icon-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:380px;overflow-y:auto;padding:3px;scroll-padding:8px;overscroll-behavior:contain}
.category-icon-option{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:flex-start;color:#18243c;background:#fff;padding:10px 5px;border:2px solid transparent;border-radius:16px;min-width:0;font-size:12px;line-height:1.3;font-weight:600;overflow-wrap:anywhere}
.category-icon-option:hover{background:#f5f7fc}.category-icon-option[aria-checked=true]{border-color:#2447a7;background:#edf2ff}.category-icon-option .category-art{width:54px;height:54px;border-radius:16px}.category-icon-option svg{width:44px;height:44px}
.management-card .record-heading>.category-art{width:56px;height:56px;border-radius:16px}.management-card .record-heading>.category-art svg{width:44px;height:44px}.management-card .record-heading:has(>.category-art) h3{flex:1;min-width:0}
@media(max-width:1000px){.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.category-tile{padding:14px 6px;border-radius:18px}.category-art{width:70px;height:70px;border-radius:20px}.category-art svg{width:56px;height:56px}.category-name{font-size:13px}.catalog-heading{gap:12px}.catalog-heading>.secondary{width:100%}.category-icon-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.category-picker{padding:10px}}
@media(max-width:350px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.category-tile{transition:none}.category-tile:hover{transform:none}}
/* Account21: explicit edit sessions and visible action controls. */
.account-edit-fields{border:0;padding:0;margin:0;min-width:0}.account-edit-fields .actions{margin:16px 0}.account-email-summary{overflow-wrap:anywhere;font-weight:600;color:var(--ink)}
a:hover{text-decoration:none}
:where(#app,.auth-card,.assistance-page) a:not(:where(.button,.brand,.store-card,.order-card,.tool-card,.module-link,.leaflet-container a)){
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border:1px solid #dbe3f3;border-radius:14px;background:#edf1fa;color:var(--blue);font-weight:650;text-decoration:none;line-height:1.4;max-width:100%;overflow-wrap:anywhere
}
:where(#app,.auth-card,.assistance-page) a:not(:where(.button,.brand,.store-card,.order-card,.tool-card,.module-link,.leaflet-container a)):hover{background:#dfe7f8;color:var(--blue);border-color:#becbef;text-decoration:none}
.text-button{background:#edf1fa;color:var(--blue);padding:12px 18px;min-height:46px}.text-button:hover{background:#dfe7f8;color:var(--blue)}
.back-link{margin-bottom:20px}.saved-cart-link{display:flex;align-items:center;justify-content:space-between;gap:16px}.saved-cart-link small{display:block;margin-top:4px}.saved-cart-link>.button{flex-shrink:0}.saved-cart-link strong{color:var(--ink)}
#app>.actions{margin-bottom:24px}#app>.back-link+.heading{margin-top:0}
@media(max-width:480px){.saved-cart-link{align-items:stretch;flex-direction:column}.saved-cart-link>.button{width:100%}}
.text-button.danger{background:#fff0f1;color:var(--red)}.text-button.danger:hover{background:#ffe1e6;color:var(--red)}
/* Every button variant owns its hover foreground and background. */
.password-toggle{background:#edf1fa}
.password-toggle:hover,.icon-button:hover,.cart-quantity button:hover,.quantity-control button:hover,.chip:not(.active):hover,.language-toggle button:not(.active):hover,.category-tabs button:not(.active):hover,.filter-tabs button:not(.active):hover{background:#dfe7f8;color:var(--blue)}
.add-product:hover,.round-button:hover,.chip.active:hover,.category-tabs button.active:hover,.filter-tabs button.active:hover{background:#f5be1e;color:var(--ink)}
.danger:hover{background:#ffe1e6;color:var(--red)}
/* Catalog23: compact editable product rows, shared across operations roles. */
.catalog-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compact-products{display:grid;gap:8px}.compact-product{display:grid;grid-template-columns:46px minmax(0,1fr) 170px 116px 46px;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;min-width:0}.compact-product-controls{display:contents}.compact-product-info{min-width:0}.compact-product-info h3{font-size:14px;line-height:1.4;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-product-info small{display:block;font-size:12px;overflow-wrap:anywhere;line-height:1.4}.catalog-review-note{color:#946000;display:-webkit-box!important;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px}.product-image-button{width:46px;height:46px;min-height:46px;padding:5px;overflow:hidden;border-radius:12px;background:#f3f5fc;color:var(--blue);border:1px solid #e1e7f2}.product-image-button:hover{background:#e8eefc;color:var(--blue)}.product-image-button img{width:100%;height:100%;object-fit:contain}.product-image-button svg,.compact-icon svg{width:23px;height:23px;flex:none}.compact-icon{width:46px;min-height:46px;padding:10px}.inline-price-form{display:grid;grid-template-columns:auto minmax(0,1fr) 46px;align-items:center;gap:4px;min-width:0;margin:0}.inline-price-form label{margin:0}.inline-price-form input{min-width:0;width:100%;min-height:46px;font-size:16px;padding:9px 6px}.inline-currency{font-size:12px;color:var(--muted)}.product-status-button{min-height:46px;gap:7px;padding:10px;font-size:12px;border:1px solid transparent;white-space:nowrap;background:#f0f3fa;color:#5b6780}.product-status-button.green{background:#e5f6ee;color:#126647}.product-status-button.orange{background:#fff2d8;color:#855600}.product-status-button:hover{background:#e0e7f5;color:#2447a7;border-color:#bccbef}.product-status-button.green:hover{background:#ccebdc;color:#0e593c}.product-status-button.orange:hover{background:#ffe8b9;color:#744b00}.status-dot{height:7px;width:7px;border-radius:50%;background:currentColor;flex:none}.compact-row-feedback{grid-column:1/-1;margin:0;font-size:12px;color:var(--red)}.compact-row-feedback:empty{display:none}.product-compact-head{display:grid;grid-template-columns:minmax(0,1fr) 170px 116px 46px;gap:12px;padding:0 12px;margin:0 0 8px;color:var(--muted);font-size:12px}.catalog-image-preview{max-height:220px;max-width:100%;object-fit:contain;border-radius:14px}.choose-quantity{font-size:12px;min-height:46px;padding:10px 12px}.cart-quantity.is-weighted input{max-width:none;width:100%}
@media(max-width:1000px){.compact-product{grid-template-columns:46px minmax(0,1fr) 46px;gap:10px}.compact-product-info h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.compact-product-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.compact-product>[data-edit]{grid-column:3;grid-row:1}.product-compact-head{display:none}}
@media(max-width:600px){.catalog-filter-grid{grid-template-columns:1fr}.compact-product{padding:10px;gap:8px}.product-status-button{min-width:95px}.compact-product-info small{font-size:11px}}
