:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;color:#243b36;background:#f5f5ef;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:46px;border:1px solid #c8d1c9;background:white;color:#284b41;border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:600}button:hover{background:#e5eee7}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b77930;outline-offset:3px}.primary,button.selected{background:#244e40;color:white;border-color:#244e40}.primary:hover,button.selected:hover{background:#163c2f;color:white}a,a:visited{color:#235e54;text-underline-offset:4px}.preview{background:#eee7d9;padding:10px 28px;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.preview label{display:flex;align-items:center;gap:10px}.preview select{padding:5px}header{padding:24px 32px;background:#fff;border-bottom:1px solid #dce0d7;display:flex;align-items:center;gap:35px;flex-wrap:wrap}.brand{font-family:Georgia,serif;letter-spacing:2px;font-size:23px}.brand span{display:block;font:12px sans-serif;letter-spacing:2px;margin-top:6px}nav{display:flex;flex-wrap:wrap;gap:6px}nav button{border:0;background:transparent}main{max-width:1400px;margin:auto;padding:34px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:30px;margin:0 0 10px;line-height:1.5}h2{font-size:21px;margin:0;overflow-wrap:anywhere}.eyebrow{font-size:11px;letter-spacing:2px;color:#64796b;margin:0 0 7px}p{line-height:1.65}#description,footer{color:#65746c;font-size:14px}.summary{display:flex;gap:14px;margin:25px 0;flex-wrap:wrap}.stat{border:1px solid #dce0d7;border-radius:12px;padding:18px 24px;background:#fff;min-width:160px;flex:1}.stat strong{display:block;font-size:28px;margin-top:6px}.stat span{font-size:13px;color:#65746c}.toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:24px 0}.toolbar label{font-size:13px;font-weight:600}.toolbar .search{flex:1;min-width:200px}input,select,textarea{display:block;width:100%;padding:11px 12px;background:#fff;border:1px solid #bccac0;border-radius:7px;color:#243b36;margin-top:5px;min-height:46px}.toolbar select{max-width:290px}#count{font-size:13px;min-width:80px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid #d9dfd7;border-radius:12px;background:#fff;padding:23px;display:flex;flex-direction:column;min-width:0}.category{font-size:12px;color:#738176;margin:0 0 6px}.card h2{font-size:18px;min-height:54px}.bottles{display:flex;gap:9px;flex-wrap:wrap;align-items:end;min-height:54px;margin:13px 0}.bottle{width:20px;height:38px;border:2px solid #73897a;border-radius:5px 5px 4px 4px;position:relative;background:#eaf0e8;margin-top:9px}.bottle:before{content:'';position:absolute;width:8px;height:10px;left:4px;top:-10px;border:2px solid #73897a;border-bottom:0;border-radius:2px 2px 0 0;background:inherit}.bottle.open{background:#315c47;border-color:#315c47}.bottle.open:before{border-color:#315c47}.counts{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;margin:12px 0}.counts b{font-size:21px;margin-left:5px}.muted{color:#728075;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}.actions button{flex:1;padding:8px;font-size:14px}.tag{display:inline-block;background:#edf3ec;color:#315c47;border-radius:5px;padding:4px 8px;font-size:12px}.warning{background:#faf0dc;color:#815d23}.row{padding:22px;background:white;border:1px solid #d9dfd7;border-radius:10px;margin-bottom:12px;display:flex;justify-content:space-between;gap:20px;align-items:center}.row h2{font-size:17px}.row p{margin:8px 0;font-size:14px;overflow-wrap:anywhere}.row button{flex-shrink:0}.empty{background:white;padding:50px;text-align:center;border-radius:12px}.notice{background:#e4eee3;padding:12px;border-radius:8px}footer{margin-top:40px;border-top:1px solid #d9dfd7;padding-top:22px;line-height:1.9}dialog{max-width:560px;width:calc(100% - 28px);max-height:90vh;overflow:auto;border:0;border-radius:14px;padding:25px;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#152a2366}.dialoghead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}#fields label{display:block;margin:16px 0;font-size:14px}#form .primary{width:100%;margin-top:14px}#formError{color:#a12828}.check{display:flex!important;gap:10px;align-items:center}.check input{width:22px;min-height:22px;margin:0}#fields select[multiple]{height:230px}.hidden,[hidden]{display:none!important}@media(max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}header{gap:20px}}@media(max-width:600px){main{padding:24px 16px}header{padding:20px 16px}nav{gap:4px}nav button{padding:8px 10px;font-size:14px}.preview{padding:10px 16px}.heading{align-items:start;flex-direction:column;gap:8px}h1{font-size:25px}.summary{gap:8px}.stat{padding:14px;min-width:85px}.stat strong{font-size:24px}.grid{grid-template-columns:1fr}.card h2{min-height:0}.toolbar{align-items:stretch;gap:10px}.toolbar label{width:100%}.toolbar select{max-width:none}.toolbar #count{margin:0}.row{flex-direction:column;align-items:stretch;gap:10px}.row .actions{padding-top:0}.card{padding:20px}.heading button{min-height:44px}.bottles{margin-top:20px}}
.preview label{white-space:nowrap}.stat span{white-space:nowrap}@media(max-width:600px){.preview{padding:8px 16px;font-size:11px;gap:6px}.preview select{min-height:34px;font-size:13px}.preview label{margin-left:auto}header{padding:14px 16px;gap:12px}.brand{font-size:21px}.brand span{font-size:11px}nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}nav button{font-size:13px;padding:7px 5px;min-height:40px}main{padding-top:20px}.eyebrow{display:none}.heading{gap:0}h1{font-size:24px;margin-bottom:6px}#description{margin:4px 0 8px}.summary{margin:16px 0}.stat{padding:10px;min-width:80px}.stat span{font-size:11px}.toolbar{margin:16px 0}.toolbar .search{min-width:0}.toolbar label{font-size:12px}.toolbar input,.toolbar select{min-height:42px;padding:8px 10px}.toolbar #count{font-size:12px}#notice:empty{display:none}.notice{font-size:13px;margin:8px 0;padding:8px}}
.quantity{white-space:nowrap}

/* 商品を探すジャンルと、業務を切り替えるメインナビを分離 */
.genres{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:7px 0 13px;border-bottom:1px solid #d9dfd7;margin:24px 0 0;scrollbar-width:thin}
.genres button{flex:0 0 auto;border:1px solid transparent;border-radius:30px;white-space:nowrap;background:transparent;font-size:14px;padding:10px 16px}
.genres button.active{background:#244e40;color:#fff}.genres button:hover{background:#dde7de;color:#244e40}.genres button.active:hover{background:#163c2f;color:white}.genres span{margin-left:8px;font-size:11px;opacity:.75}
.product-head{display:flex;gap:17px;align-items:center;min-height:140px}.product-head>div:last-child{flex:1;min-width:0}.product-photo{width:90px;height:140px;flex:0 0 90px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fafaf7;border-radius:9px;overflow:hidden;padding:6px}.product-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.product-photo small{font-size:10px;color:#849086;margin-top:12px}.placeholder-bottle{display:block;width:28px;height:65px;background:#e1e6df;border-radius:8px 8px 4px 4px;position:relative;margin-top:12px}.placeholder-bottle:before{content:'';position:absolute;width:12px;height:20px;background:#e1e6df;left:8px;top:-15px;border-radius:3px}.supplier{font-size:11px;color:#77877b;margin:9px 0 0}.card h2{min-height:0;line-height:1.6;font-size:17px}.card{padding:20px}.counts{gap:0;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;margin:10px 0 0;padding:13px 0}.counts>span{flex:1;display:flex;align-items:center;gap:5px;font-size:12px}.counts>span+span{border-left:1px solid #e0e6de;padding-left:16px}.counts b{font-size:25px;margin-left:auto}.counts small{font-size:11px;color:#6d7d70;margin-right:12px}.dot{width:8px;height:8px;border:1px solid #6e8877;border-radius:50%}.dot.opened{background:#315c47}.bottles{margin:17px 0 5px;min-height:43px}.bottle{width:16px;height:30px}.bottle:before{width:6px;height:8px;left:3px;top:-8px}.card>.muted{margin:10px 0 0}.actions{padding-top:13px}.stat{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}.stat strong{margin:0}.summary{margin:20px 0}.toolbar{margin:18px 0}.search input{max-width:600px}
@media(max-width:600px){.genres{display:flex;grid-template-columns:none;width:100%;margin-top:16px;padding-bottom:10px;gap:3px}.genres button{font-size:13px;padding:8px 13px;min-height:42px}.genres span{margin-left:5px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 110px}.toolbar label{width:auto}.toolbar #count{grid-column:1/-1}.stat{display:block;padding:10px}.stat strong{margin-top:3px}.card{padding:17px}.product-head{min-height:125px}.product-photo{height:125px;width:82px;flex-basis:82px}.product-head h2{font-size:17px}.counts>span{font-size:13px}.counts small{margin-right:16px}.counts b{font-size:26px}}
@media(min-width:601px){.preview{padding:6px 28px}.preview select{min-height:32px}header{padding:15px 32px}main{padding-top:22px}.heading h1{font-size:26px;margin-bottom:4px}#description{margin:4px 0}.summary{margin:16px 0}.stat{padding:9px 18px}.stat strong{font-size:24px}.genres{margin-top:12px;padding-bottom:8px}.toolbar{margin:12px 0}.toolbar input,.toolbar select{min-height:42px;padding:8px 12px}}
.login{max-width:460px;margin:8vh auto;background:#fff;border:1px solid #d9dfd7;border-radius:16px;padding:28px}.login .brand{margin-bottom:32px}.login label{display:block;margin:20px 0}.login button{width:100%;min-height:48px}.login input{font-size:16px}.login p{font-size:14px}.login #error{color:#a12828}.account-name{font-weight:600}.app-alert{padding:16px;background:#faf0dc;border-radius:10px;margin:12px 0}.row .account-actions{display:flex;gap:8px;flex-wrap:wrap}.shift-day{margin:16px 0;padding:16px;background:white;border:1px solid #d9dfd7;border-radius:10px}.shift-person{display:flex;justify-content:space-between;gap:10px;margin:10px 0;font-size:14px}@media(max-width:600px){.login{margin:20px 14px;padding:24px}.row button{min-height:48px}dialog input,dialog select,dialog textarea{font-size:16px}#userbar{gap:8px;font-size:12px}}

@media(max-width:600px){.empty{padding:40px 20px}}

.check input{flex:0 0 22px;height:22px}
