:root{font-family:Arial,sans-serif;color:#172b3b;background:#f3f6f9;font-size:16px;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:#172b3b;color:white;gap:16px}header strong{font-size:24px}header .test{margin-left:20px;color:#d4e2ef;font-size:14px}#connection{font-size:14px}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 70px)}nav{background:white;border-right:1px solid #d3dde6;padding:24px 12px}nav button{display:block;width:100%;text-align:left;margin:4px 0;border:0;background:transparent;padding:13px 14px}nav button.active{background:#dceafa;color:#124f8b;font-weight:bold}nav small{display:block;margin:24px 14px 10px;color:#51687b}main{padding:26px 32px;max-width:1400px;width:100%}h1{font-size:28px;margin:0 0 8px}h2{font-size:19px;margin:26px 0 12px}p{line-height:1.5}.muted{color:#51687b;font-size:14px}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.toolbar input{max-width:330px}.row{display:grid;grid-template-columns:minmax(220px,1fr) 105px minmax(180px,.8fr) auto;align-items:center;gap:16px;background:white;padding:17px 20px;border:1px solid #d3dde6;border-bottom:0}.row:last-child{border-bottom:1px solid #d3dde6;border-radius:0 0 7px 7px}.item-name{font-size:17px;font-weight:600;margin-bottom:6px}.row label{font-size:14px;color:#51687b;display:block}.row input{width:100%;margin-top:5px}input,textarea{font:inherit;background:white;border:1px solid #9caebf;border-radius:5px;padding:10px;min-height:44px;color:#172b3b}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #85b8ef;outline-offset:2px}input[type=number]{font-size:18px}button,.button{font:inherit;min-height:44px;cursor:pointer;border:1px solid #9caebf;border-radius:5px;background:white;padding:10px 16px;color:#172b3b;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.button:hover{background:#edf4fb}button.primary,.button.primary{background:#155b94;border-color:#155b94;color:white}button:disabled{opacity:.5;cursor:wait}.empty{background:white;border:1px dashed #aebdca;padding:35px;border-radius:8px}.empty p{margin:5px 0}.badge{font-size:13px;color:#825700}.error{color:#992e29;background:#fff0ee;padding:12px;border-radius:5px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}dialog{border:1px solid #bac9d6;border-radius:10px;max-width:620px;width:calc(100% - 32px);padding:28px;box-shadow:0 15px 80px #172b3b44}dialog::backdrop{background:#10263d66}dialog textarea{width:100%;min-height:180px}dialog h2{margin-top:0}pre{font:inherit;white-space:pre-wrap;background:#f0f5f9;border:1px solid #d3dde6;padding:20px;line-height:1.7;overflow-wrap:anywhere}.history{padding:20px;background:white;border:1px solid #d3dde6;border-radius:6px;margin-bottom:16px}.history h2{margin:0 0 8px}.history li{margin:15px 0;line-height:1.5}#toasts{position:fixed;bottom:20px;right:20px;max-width:450px;z-index:5}.toast{background:#172b3b;color:white;padding:14px 18px;border-radius:8px;box-shadow:0 4px 25px #0003;margin-top:8px;display:flex;align-items:center;gap:18px}.toast button{min-height:36px}.composer{max-width:700px}.conflict-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.conflict-grid p{overflow-wrap:anywhere}.pending{border-left:4px solid #b68015}.row .row-status{min-height:18px;margin-top:3px}.hidden{display:none}@media(max-width:800px){header{padding:16px}header .test{display:block;margin:6px 0 0}.layout{display:block}nav{display:flex;overflow-x:auto;gap:6px;padding:10px;position:sticky;top:0;z-index:2;border-bottom:1px solid #d3dde6}nav button{width:auto;white-space:nowrap;margin:0}nav small{display:none}main{padding:20px 14px}.row{grid-template-columns:1fr 90px;gap:10px;padding:14px}.row>label:nth-of-type(2){grid-column:1/-1}.row>.complete{grid-column:1/-1}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{max-width:none}h1{font-size:24px}#toasts{left:14px;right:14px;bottom:14px}.conflict-grid{grid-template-columns:1fr}}
[hidden]{display:none!important}form{background:white;border:1px solid #d3dde6;border-radius:8px;padding:16px;margin:12px 0}form label{display:block;margin:12px 0}form input:not([type=checkbox]),form select{width:100%;font:inherit;min-height:44px;padding:8px}form input[type=checkbox]{min-height:20px}dialog{max-height:90dvh;overflow:auto}header{padding-top:max(16px,env(safe-area-inset-top))}#toasts{bottom:max(14px,env(safe-area-inset-bottom))}

.row-status{color:#51687b;font-size:13px;min-width:70px}.row-status:empty{display:none}

.shopping-channel{margin-bottom:28px}.shopping-channel>h2{padding-bottom:10px;border-bottom:2px solid #9caebf}.grocery-group h3{font-size:16px;margin:20px 0 10px}.row:has(.complete){grid-template-columns:minmax(180px,1fr) 90px minmax(150px,.8fr) auto auto}@media(max-width:800px){.row:has(.complete){grid-template-columns:1fr 90px}}

.channel-actions{margin:0 0 16px}

.quantity-field>label{display:block;font-size:14px;color:#51687b;margin:0 0 5px}
.quantity-control{display:grid;grid-template-columns:44px minmax(52px,1fr) 44px;gap:4px;align-items:center}
.quantity-control button{min-width:44px;min-height:48px;padding:0;font-size:24px;touch-action:manipulation}
.quantity-control input{width:100%;min-width:0;min-height:48px;margin:0!important;text-align:center;padding:8px 2px;appearance:textfield;-moz-appearance:textfield}
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.row{grid-template-columns:minmax(180px,1fr) 156px minmax(150px,.8fr) auto}
.row:has(.complete){grid-template-columns:minmax(150px,1fr) 156px minmax(130px,.8fr) auto auto}
@media(max-width:800px){.row,.row:has(.complete){grid-template-columns:minmax(0,1fr) 148px}.row>label:has(input[data-field="note"]){grid-column:1/-1}}
@media(max-width:380px){.row,.row:has(.complete){grid-template-columns:1fr}.quantity-field{max-width:220px}}
