:root{--cream:#fef8d6;--green:#247924;--orange:#ff7e2e;--ink:#18351f;--line:#dfe6d9;--white:#fff}*{box-sizing:border-box}body,html{background:#f5f7f1}body{color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--green);color:#fff;flex-direction:column;height:100vh;padding:30px 22px;display:flex;position:sticky;top:0}.brand-mark{letter-spacing:-2px;margin:8px 10px 56px;font-size:32px;font-weight:950;line-height:.78}.brand-mark span{color:var(--orange)}.sidebar nav{gap:8px;display:grid}.nav-item{color:#dcebdc;border-radius:12px;padding:13px 14px;font-size:14px;font-weight:700;text-decoration:none}.nav-item.active{color:var(--green);background:var(--cream)}.sidebar-footer{color:#dcebdc;border-top:1px solid #ffffff32;margin-top:auto;padding:20px 8px 0;font-size:12px}.status-dot{background:#bde879;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.sidebar-footer button{color:#fff;background:0 0;border:0;margin-top:14px;padding:0;font-weight:700;display:block}.workspace{width:min(1180px,100vw - 230px);margin:0 auto;padding:42px 44px 120px}.topbar{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.eyebrow{color:var(--green);letter-spacing:1.6px;margin:0 0 12px;font-size:12px;font-weight:900}h1{letter-spacing:-1.5px;margin:0;font-size:40px;line-height:1.05}.subtitle{color:#647267;margin:10px 0 0}.selection-counter{background:var(--cream);width:108px;height:90px;color:var(--green);text-align:center;border-radius:20px;place-content:center;display:grid;box-shadow:0 8px 28px #1e4a2612}.selection-counter strong{font-size:29px}.selection-counter span{letter-spacing:1px;font-weight:800}.selection-counter span,.step-label{text-transform:uppercase;font-size:11px}.step-label{color:#69766b;letter-spacing:.8px;align-items:center;gap:8px;margin-top:28px;font-weight:900;display:flex}.step-label b{color:#fff;background:var(--orange);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.city-strip{gap:8px;margin:10px 0 4px;padding-bottom:4px;display:flex;overflow:auto}.city-strip button{border:1px solid var(--line);color:var(--green);white-space:nowrap;background:#fff;border-radius:999px;padding:10px 18px;font-weight:900}.city-strip button.active{color:#fff;border-color:var(--green);background:var(--green)}.supplier-strip{gap:10px;min-height:72px;margin:10px 0 20px;padding-bottom:4px;display:flex;overflow:auto}.supplier{text-align:left;border:1px solid var(--line);min-width:155px;color:var(--ink);background:#fff;border-radius:14px;padding:16px;font-weight:900}.supplier span{color:#879087;margin-bottom:5px;font-size:11px;display:block}.supplier.active{background:var(--green);color:#fff;border-color:var(--green)}.supplier.active span{color:#d9ead9}.price-list-strip{gap:10px;padding:4px 0 10px;display:flex;overflow:auto}.price-list-card{text-align:left;border:1px solid var(--line);min-width:210px;color:var(--ink);background:#fff;border-radius:13px;gap:5px;padding:14px 16px;display:grid;position:relative}.price-list-card b{font-size:13px}.price-list-card span{color:#778279;font-size:10px}.price-list-card.active{color:#fff;border-color:var(--green);background:var(--green);box-shadow:0 8px 20px #24792420}.price-list-card.active span{color:#d9ead9}.price-list-card i{background:var(--orange);color:#fff;letter-spacing:.5px;border-radius:6px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:950;position:absolute;top:8px;right:8px}.partner-versions{min-height:72px;margin:10px 0 20px}.partner-versions .price-list-card{padding-right:95px}.toolbar{align-items:end;gap:10px;margin-bottom:14px;display:flex}.search-field{color:#657267;text-transform:uppercase;letter-spacing:.8px;flex:1;gap:6px;font-size:11px;font-weight:800;display:grid}.search-field input{border:1px solid var(--line);width:100%;height:46px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:0 15px}.search-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #24792418}.outline-button{height:46px;color:var(--green);border-radius:12px;padding:0 16px;font-weight:800}.catalog-card,.outline-button{border:1px solid var(--line);background:#fff}.catalog-card{border-radius:18px;overflow:hidden;box-shadow:0 16px 45px #2148290a}.product-row,.table-head{grid-template-columns:minmax(280px,1.8fr) .55fr .45fr .6fr 70px;align-items:center;gap:18px;display:grid}.table-head{color:#819083;text-transform:uppercase;letter-spacing:.8px;background:#f7f9f5;padding:14px 20px;font-size:10px;font-weight:900}.product-row{border-top:1px solid #edf0ea;min-height:75px;padding:12px 20px;transition:all .18s}.product-row.selected,.product-row:hover{background:#fffdf0}.product-name{text-transform:uppercase;font-size:14px;font-weight:800}.product-name small{color:#909a91;margin-top:5px;font-size:10px;font-weight:500;display:block}.badges{align-items:center;gap:5px;min-height:26px;display:flex}.badges i{border-radius:9px;padding:7px 8px;font-size:9px;font-style:normal;font-weight:950}.vegan{border:1px solid var(--green);color:var(--green);background:var(--cream)}.hit{color:#fff;background:var(--orange)}.product-row input{appearance:none;border:2px solid #bbc5ba;border-radius:7px;justify-self:center;width:24px;height:24px}.product-row input:checked{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 5px #fff}.action-bar{color:#fff;background:#173c20;border-radius:18px;justify-content:space-between;align-items:center;width:min(980px,100vw - 290px);padding:14px 16px 14px 22px;display:flex;position:fixed;bottom:22px;left:calc(115px + 50vw);transform:translate(-50%);box-shadow:0 18px 50px #132b1870}.action-bar div{gap:3px;display:grid}.action-bar span{color:#b9ceb9;font-size:11px}.action-bar button{color:#fff;background:var(--orange);border:0;border-radius:12px;padding:14px 24px;font-weight:900}.action-bar button:disabled{opacity:.45;cursor:not-allowed}.empty-state{text-align:center;color:#78847a;padding:60px 20px}.login-page{background:var(--cream);grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-brand{background:var(--green);color:#fff;padding:70px 9vw;position:relative;overflow:hidden}.brand-mark.large{margin:0 0 70px;font-size:50px}.login-brand h1{max-width:600px;font-size:54px}.login-brand>p{color:#d7ead7;max-width:500px;font-size:18px}.mini-tag{background:var(--cream);width:280px;height:180px;color:var(--green);padding:25px;position:absolute;bottom:10%;right:8%;transform:rotate(-4deg);box-shadow:0 28px 60px #16331d70}.mini-tag b{font-size:25px;line-height:.9}.mini-tag strong{font-size:46px;position:absolute;bottom:24px;left:25px}.mini-tag span{bottom:31px;left:168px}.mini-tag i,.mini-tag span{font-weight:900;position:absolute}.mini-tag i{background:var(--orange);color:#fff;border-radius:50%;padding:14px 9px;font-size:10px;font-style:normal;top:25px;right:22px}.login-card{background:#fff;border-radius:24px;align-self:center;gap:18px;width:min(430px,100% - 40px);margin:auto;padding:40px;display:grid;box-shadow:0 25px 70px #2e4b3318}.login-card h2{margin:0 0 8px;font-size:31px}.login-card label{color:#536257;gap:7px;font-size:12px;font-weight:800;display:grid}.login-card input{border:1px solid var(--line);border-radius:11px;outline:none;height:49px;padding:0 13px}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #24792416}.role-switch{background:#f2f5ef;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.role-switch button{color:#68766a;background:0 0;border:0;border-radius:9px;padding:11px;font-weight:800}.role-switch button.active{color:var(--green);background:#fff;box-shadow:0 4px 15px #193c2112}.primary-button{background:var(--orange);color:#fff;border:0;border-radius:12px;padding:15px;font-weight:900}.login-card small{text-align:center;color:#8a958c}.form-error{color:#b43920;margin:0;font-size:12px;font-weight:700}.admin-shell{background:#f5f7f1;min-height:100vh}.admin-header{background:var(--green);color:#fff;grid-template-columns:180px 1fr auto;align-items:center;padding:25px 35px;display:grid}.admin-logo{color:#fff;font-size:22px;font-weight:950;text-decoration:none}.admin-logo span{color:var(--orange)}.admin-header h1{letter-spacing:-.5px;font-size:25px}.admin-header p{color:#cfe1cf;margin:4px 0 0;font-size:12px}.admin-header>a:last-child{color:#fff;font-size:12px;font-weight:800;text-decoration:none}.city-admin-bar{border-bottom:1px solid var(--line);background:#eef3eb;justify-content:space-between;align-items:center;gap:20px;max-width:1450px;min-height:70px;margin:auto;padding:12px 22px;display:flex}.city-tabs{gap:7px;display:flex;overflow:auto}.city-tabs button{border:1px solid var(--line);color:var(--green);white-space:nowrap;background:#fff;border-radius:999px;padding:9px 15px;font-weight:850}.city-tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.city-create{gap:7px;display:flex}.city-create input{border:1px solid var(--line);border-radius:9px;width:145px;padding:9px}.city-create button{background:var(--green);color:#fff;border:0;border-radius:9px;padding:9px 12px;font-weight:800}.city-create .danger-link{color:#a23624;background:0 0}.city-create .bulk-top-button{background:var(--orange);color:#fff;white-space:nowrap;cursor:pointer;border-radius:9px;align-items:center;padding:9px 14px;font-weight:900;display:flex;box-shadow:0 5px 14px #ff7e2e33}.city-create .bulk-top-button input{display:none}.city-create .bulk-top-button.disabled{opacity:.55;pointer-events:none}.admin-grid{grid-template-columns:250px 1fr;max-width:1450px;min-height:calc(100vh - 158px);margin:auto;display:grid}.admin-suppliers{border-right:1px solid var(--line);background:#fff;padding:28px 20px}.admin-content h2,.admin-suppliers h2{margin:0 0 18px;font-size:18px}.admin-suppliers>button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;padding:13px;font-weight:800;display:flex}.admin-suppliers>button.active{background:var(--cream);color:var(--green)}.admin-suppliers>button span{color:#8b958c}.add-supplier{gap:8px;margin-top:25px;display:grid}.add-supplier input,.admin-row input,.manual-form input{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:10px}.add-supplier button,.admin-row button,.manual-form button,.upload-button{background:var(--green);color:#fff;text-align:center;border:0;border-radius:9px;padding:11px;font-weight:800}.admin-content{min-width:0;padding:30px}.admin-actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-actions h2{margin:0}.admin-actions p{color:#819083;margin:4px 0 0;font-size:12px}.admin-action-buttons{gap:8px;display:flex}.danger-button{color:#a23624;background:#fff7f5;border:1px solid #e8b7ae;border-radius:9px;padding:10px 12px;font-weight:800}.upload-button input{display:none}.upload-button.disabled{opacity:.45;pointer-events:none}.notice{color:var(--green);background:#e5f3e5;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:800}.version-admin{border:1px solid var(--line);background:#eef3eb;border-radius:15px;margin:22px 0;padding:16px}.version-create{grid-template-columns:minmax(170px,1fr) minmax(220px,1.4fr) 170px 100px;align-items:end;gap:10px;margin-bottom:14px;display:grid}.version-create>div{align-self:center;gap:4px;display:grid}.version-create small{color:#758177}.version-create label,.version-settings label{color:#657267;text-transform:uppercase;gap:5px;font-size:10px;font-weight:850;display:grid}.version-create input,.version-settings input{border:1px solid var(--line);min-width:0;height:40px;color:var(--ink);background:#fff;border-radius:9px;padding:0 10px}.version-create button,.version-settings>button{background:var(--green);color:#fff;border:0;border-radius:9px;height:40px;padding:0 12px;font-weight:850}.version-settings{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:minmax(220px,1fr) 170px 190px 140px 130px;align-items:end;gap:9px;margin:20px 0 12px;padding:14px;display:grid}.version-settings .active-check{text-transform:none;flex-direction:row;align-items:center;gap:7px;height:40px;display:flex}.version-settings .active-check input{width:18px;height:18px}.version-settings .danger-button{color:#a23624;background:#fff7f5;border:1px solid #e8b7ae}.list-actions{margin-top:18px}.manual-form{grid-template-columns:130px 2fr 100px 100px 170px;gap:8px;margin:20px 0;display:grid}.admin-table{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.admin-row{border-top:1px solid #edf0ea;grid-template-columns:minmax(260px,2fr) 70px 90px 65px 55px 65px 132px;align-items:center;gap:8px;padding:9px 12px;display:grid}.admin-row.head{color:#78847a;text-transform:uppercase;background:#f6f8f4;border:0;font-size:10px;font-weight:900}.admin-row input[type=checkbox]{justify-self:center;width:20px;height:20px}.admin-row button{background:var(--orange);padding:9px}.row-actions{grid-template-columns:1fr 34px;gap:5px;display:grid}.row-actions .delete-icon{color:#a23624;background:#fff0ec;padding:6px;font-size:19px}@media (width<=820px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;height:auto;padding:18px;position:static}.brand-mark{margin:0 25px 0 0;font-size:21px}.sidebar nav{display:flex}.sidebar-footer{display:none}.workspace{width:100%;padding:28px 16px 120px}h1{font-size:31px}.selection-counter,.table-head{display:none}.product-row{grid-template-columns:1fr auto;gap:8px}.product-row>span:not(.product-name),.product-row>strong{grid-column:1}.product-row input{grid-area:1/2/5}.action-bar{width:auto;left:16px;right:16px;transform:none}.login-page{display:block}.login-brand{min-height:280px;padding:35px 25px}.brand-mark.large{margin-bottom:35px}.login-brand h1{font-size:34px}.mini-tag{display:none}.login-card{margin:30px auto}.admin-header{grid-template-columns:1fr auto}.admin-header>div{display:none}.city-admin-bar{display:grid}.city-create{flex-wrap:wrap}.city-create .bulk-top-button{order:3;justify-content:center;width:100%}.admin-grid{display:block}.admin-suppliers{border-right:0}.admin-content{padding:18px}.admin-actions{align-items:flex-start}.admin-action-buttons{flex-wrap:wrap;justify-content:flex-end}.version-create,.version-settings{grid-template-columns:1fr}.version-settings .active-check{height:auto}.manual-form{grid-template-columns:1fr 1fr}.manual-form .wide{grid-column:1/-1}.admin-table{overflow:auto}.admin-row{min-width:900px}}
