*{box-sizing:border-box;margin:0;padding:0}body{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;background:#fff;color:#1a1a1a;font-size:14px}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit;font-size:14px}.btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;transition:opacity .2s,transform .1s;display:inline-flex;align-items:center;gap:6px}.btn:hover{opacity:.85}.btn:active{transform:scale(.97)}.btn-primary{background:#fce62f;color:#1a1a1a}.btn-outline{background:#fff;border:1.5px solid #ccc;color:#1a1a1a}.btn-danger{background:#e53e3e;color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:5px;font-size:13px;font-weight:600}.form-input{width:100%;padding:9px 12px;border:1.5px solid #ddd;border-radius:6px;font-size:14px;transition:border .2s}.form-input:focus{border-color:#fce62f}.error-msg{color:#e53e3e;font-size:12px;margin-top:5px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff 60%,#fffde0)}.login-box{background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000001f;padding:48px 40px;width:100%;max-width:420px}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-size:36px;font-weight:900;letter-spacing:4px;background:#fce62f;display:inline-block;padding:8px 24px;border-radius:8px}.login-logo p{margin-top:8px;color:#666;font-size:13px}.login-box .btn-primary{width:100%;padding:12px;font-size:15px;justify-content:center;margin-top:8px}.ec-header{background:#fce62f;padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000001a}.header-logo{font-size:22px;font-weight:900;letter-spacing:3px}.header-right{display:flex;align-items:center;gap:12px}.header-user{font-size:13px;font-weight:600}.cart-btn{position:relative;background:transparent;padding:6px;border-radius:8px}.cart-btn:hover{background:#00000014}.cart-badge{position:absolute;top:-4px;right:-4px;background:#e53e3e;color:#fff;border-radius:50%;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.btn-admin{background:#1a1a1a;color:#fce62f;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:700}.btn-logout{background:#0000001f;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600}.ec-body{display:flex;min-height:calc(100vh - 56px)}.ec-sidebar{width:220px;min-width:220px;background:#f9f9f9;border-right:1px solid #eee;padding:16px;overflow-y:auto}.ec-main{flex:1;padding:20px;overflow-y:auto}.sidebar-title{font-size:12px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;margin-top:16px}.sidebar-title:first-child{margin-top:0}.sidebar-section{margin-bottom:16px}.sidebar-list{list-style:none}.sidebar-list li{padding:7px 10px;border-radius:5px;cursor:pointer;font-size:13px;transition:background .15s}.sidebar-list li:hover{background:#efefef}.sidebar-list li.active{background:#fce62f;font-weight:700}.product-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.product-count{color:#888;font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.product-card{border:1px solid #eee;border-radius:10px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .1s;display:flex;flex-direction:column}.product-card:hover{box-shadow:0 4px 16px #00000014}.product-img{background:#f5f5f5;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:13px}.product-img img{width:100%;height:100%;object-fit:contain}.product-info{padding:12px;display:flex;flex-direction:column;gap:4px;flex:1}.product-name{font-weight:700;font-size:14px}.product-maker,.product-clubtype{color:#666;font-size:12px}.product-price{color:#1a1a1a;font-weight:700;font-size:16px;margin-top:auto}.product-price span{font-weight:400;font-size:11px;color:#888}.product-cart{margin-top:8px}.btn-cart{width:100%;justify-content:center;background:#fce62f;color:#1a1a1a;padding:9px;border-radius:6px;font-weight:700}.no-products{padding:60px 0;text-align:center;color:#888}.cart-overlay{position:fixed;inset:0;background:#00000059;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}.cart-overlay.open{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;top:0;right:0;width:380px;max-width:92vw;height:100vh;background:#fff;z-index:201;box-shadow:-4px 0 20px #0000001f;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s}.cart-drawer.open{transform:translate(0)}.cart-header{padding:16px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.cart-header h3{font-size:16px}.cart-body{flex:1;overflow-y:auto;padding:12px}.cart-empty{padding:60px 0;text-align:center;color:#888}.cart-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f2f2f2}.cart-item-info{flex:1;display:flex;flex-direction:column;gap:4px}.cart-item-name{font-weight:700;font-size:13px}.cart-item-unit{color:#888;font-size:11px}.cart-item-remarks{color:#555;font-size:11px;background:#f9f9f9;padding:4px 6px;border-radius:4px}.cart-item-subtotal{font-weight:700;font-size:13px;margin-top:2px}.cart-item-controls{display:flex;gap:6px;align-items:center;margin-top:4px}.qty-btn{width:26px;height:26px;border-radius:4px;border:1px solid #ddd;background:#fff;font-weight:700}.cart-item-qty{min-width:24px;text-align:center;font-weight:700}.cart-item-edit,.cart-remove{background:transparent;padding:4px}.cart-footer{border-top:1px solid #eee;padding:16px;display:flex;flex-direction:column;gap:10px}.cart-total{display:flex;justify-content:space-between;font-size:16px;font-weight:700}.modal-overlay{position:fixed;inset:0;background:#00000059;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:12px;padding:24px;max-width:420px;width:100%;box-shadow:0 10px 40px #0003}.modal h3{margin-bottom:12px;font-size:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1a1a1a;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:500}.toast.show{opacity:1}.admin-layout{display:flex;flex-direction:column;min-height:100vh;background:#f7f7f7}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#1a1a1a;color:#fce62f}.admin-header h2{font-size:18px;letter-spacing:2px}.admin-header button{background:#fce62f;color:#1a1a1a;padding:6px 14px;border-radius:6px;font-weight:700;font-size:13px}.admin-tabs{display:flex;gap:2px;padding:0 20px;background:#fff;border-bottom:1px solid #eee;overflow-x:auto}.admin-tab{padding:12px 16px;border:none;background:transparent;font-weight:600;font-size:13px;color:#666;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.admin-tab:hover{color:#1a1a1a}.admin-tab.active{color:#1a1a1a;border-bottom-color:#fce62f}.admin-main{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #0000000d}.stat-label{font-size:12px;color:#888;margin-bottom:6px}.stat-value{font-size:24px;font-weight:800;color:#1a1a1a}.panel{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #0000000d;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}.panel-head h3{font-size:16px}.panel-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:8px 10px;text-align:left;border-bottom:1px solid #eee}th{background:#f7f7f7;font-weight:700;font-size:12px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.status-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}.status-未対応{background:#fff4d4;color:#8a6d00}.status-対応中{background:#dbeafe;color:#1e40af}.status-完了{background:#d1fae5;color:#065f46}.status-キャンセル{background:#fee2e2;color:#991b1b}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#ccc;border-radius:22px;transition:.2s;cursor:pointer}.toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:#fce62f}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.modal-lg{max-width:600px}.modal-body{max-height:70vh;overflow-y:auto}.hidden{display:none!important}.text-center{text-align:center}.text-right{text-align:right}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.flex{display:flex}.gap-8{gap:8px}.gap-12{gap:12px}
