*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;background:#f1f5f9;color:#1e293b;min-height:100vh;font-size:14px}header{background:linear-gradient(135deg,#a89880,#8c7a6a);color:#fff;padding:4px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px hsla(28,14%,48%,.35)}.header-title{font-size:20px;font-weight:700;letter-spacing:.02em}.header-logo{height:80px;width:auto;object-fit:contain}.header-link{color:#fff;font-size:12px;font-weight:600;text-decoration:none;background:hsla(0,0%,100%,.18);padding:5px 12px;border-radius:6px;white-space:nowrap;letter-spacing:.02em}nav{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;overflow-x:auto;padding:0 16px;box-shadow:0 1px 3px rgba(0,0,0,.04)}nav button{padding:16px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:700;color:#94a3b8;white-space:nowrap;transition:color .15s,border-color .15s;letter-spacing:.01em}nav button:hover{color:#475569}nav button.active{color:#1e293b;border-bottom-color:#a89880}.nav-sep{width:1px;background:#e2e8f0;align-self:stretch;margin:10px 4px;flex-shrink:0}.sub-nav{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:0 24px;display:flex;gap:4px}.sub-nav button{padding:9px 16px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:13px;font-weight:600;color:#64748b;white-space:nowrap;transition:color .15s,border-color .15s}.sub-nav button:hover{color:#c8571b}.sub-nav button.active{color:#c8571b;border-bottom-color:#c8571b}main{padding:24px 20px;max-width:1400px;margin:0 auto}h2{font-size:14px;font-weight:700;margin-bottom:20px;color:#1e293b;letter-spacing:.02em;text-transform:uppercase}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);margin-bottom:16px}label{display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}input[type=number],input[type=text],select{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;margin-bottom:16px;color:#1e293b;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,select:focus{outline:none;border-color:#c8571b;box-shadow:0 0 0 3px rgba(200,87,27,.12)}.btn-primary{width:100%;padding:12px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s;box-shadow:0 2px 6px rgba(37,99,235,.3);letter-spacing:.02em}.btn-primary:hover{background:#1d4ed8;box-shadow:0 4px 12px rgba(37,99,235,.35);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed;transform:none}.btn-small{padding:5px 11px;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.btn-small:hover{background:#dbeafe}.btn-save{padding:5px 11px;background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.btn-save:hover{background:#dcfce7}.btn-cancel,.btn-delete{padding:5px 11px;background:#fff1f2;color:#be123c;border:1px solid #fecdd3;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.btn-cancel:hover,.btn-delete:hover{background:#ffe4e6}.loading{text-align:center;padding:48px;color:#94a3b8;font-size:14px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:9px 12px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid #e2e8f0;border-right:1px solid #e2e8f0;white-space:nowrap}th:last-child{border-right:none}td{padding:11px 12px;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;vertical-align:middle;color:#334155}td:last-child{border-right:none}tr:last-child td{border-bottom:none}tbody tr:nth-child(2n) td{background:#f8fafc}tbody tr:hover td{background:#fff7f0}.category-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;background:#f5ede8;color:#9a3412}.badge-肉・卵{background:#fee2e2;color:#991b1b}.badge-魚介{background:#dbeafe;color:#1d4ed8}.badge-米・野菜・果物{background:#bbf7d0;color:#14532d}.badge-調味料{background:#fef3c7;color:#92400e}.badge-缶詰{background:#f1f5f9;color:#475569}.badge-乾物{background:#fef9c3;color:#713f12}.badge-乳製品{background:#e0f2fe;color:#075985}.badge-容器・食器{background:#bae6fd;color:#0c4a6e}.badge-その他{background:#f1f5f9;color:#64748b}.badge-フード{background:#fef08a;color:#713f12}.badge-スープ{background:#fee2e2;color:#991b1b}.badge-おにぎり{background:#bae6fd;color:#0c4a6e}.badge-サラダ{background:#bbf7d0;color:#14532d}.badge-ドリンク{background:#fce7f3;color:#831843}.edit-input{padding:5px 8px;border:1.5px solid #c8571b;border-radius:6px;font-size:13px;background:#fff;margin-bottom:0}.edit-input:focus{outline:none;border-color:#c8571b;box-shadow:0 0 0 2px rgba(200,87,27,.12)}.dialog-compact{padding:18px}.dialog-compact h3{margin-bottom:10px}.dialog-compact input[type=number],.dialog-compact input[type=text],.dialog-compact select{padding:5px 10px;margin-bottom:0}.dialog-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{background:#fff;border-radius:16px;padding:28px;width:90%;max-width:640px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.2);position:relative}.dialog h3{font-size:15px;font-weight:700;color:#1e293b;margin-bottom:20px;padding-right:36px}.dialog-x{position:absolute;top:16px;right:16px;background:#f1f5f9;border:none;font-size:15px;color:#64748b;cursor:pointer;padding:5px 8px;border-radius:6px;line-height:1}.dialog-x:hover{background:#e2e8f0;color:#1e293b}.dialog ul{list-style:none;margin-bottom:20px}.dialog ul li{padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:14px;color:#334155}.dialog ul li:last-child{border-bottom:none}.dialog-close{width:100%;padding:10px;background:#f8fafc;color:#475569;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer}.dialog-close:hover{background:#e2e8f0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 24px;border-radius:10px;font-size:13px;font-weight:600;color:#fff;z-index:3000;max-width:90vw;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.18);animation:toastIn .25s ease}.toast-success{background:#16a34a}.toast-error{background:#dc2626}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:480px){main{padding:12px}.card{padding:16px}td,th{padding:8px;font-size:12px}.hide-mobile{display:none}header{padding:0 14px}}